Tessell data-pipeline API

The data-pipeline API from Tessell — 14 operation(s) for data-pipeline.

OpenAPI Specification

tessell-data-pipeline-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Tessell APIs activity-center data-pipeline API
  contact:
    email: support@tessell.com
    name: Tessell Inc
    url: https://www.tessell.com
  description: Tessell API Documentation
  termsOfService: https://www.tessell.com/terms
  version: '1.0'
servers:
- url: '{server}'
  variables:
    server:
      default: console.tessell.com
tags:
- name: data-pipeline
paths:
  /data-pipelines:
    get:
      description: Get details of all the data pipelines
      tags:
      - data-pipeline
      operationId: getDataPipelines
      parameters:
      - name: statuses
        description: Filter pipeline based on its status
        in: query
        style: form
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/DataPipelineStatus'
      - $ref: '#/components/parameters/cloudQuery'
      - $ref: '#/components/parameters/subscriptionNameQuery'
      - $ref: '#/components/parameters/dbEngineTypesQuery'
      - $ref: '#/components/parameters/cloudRegion'
      - $ref: '#/components/parameters/vpcQuery'
      - name: load-instances-cr
        description: Boolean to indicate if instances' compute resource id need to be fetched
        in: query
        required: false
        schema:
          type: boolean
          default: false
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/pageOffset'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataPipelinesResponse'
          description: OK
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    post:
      tags:
      - data-pipeline
      operationId: createDataPipeline
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataPipelinePayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskSummary'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      parameters:
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
  /data-pipelines/{id}:
    get:
      tags:
      - data-pipeline
      operationId: getDataPipeline
      parameters:
      - $ref: '#/components/parameters/id'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataPipeline'
          description: OK
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    delete:
      tags:
      - data-pipeline
      operationId: deleteDataPipeline
      parameters:
      - $ref: '#/components/parameters/id'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskSummary'
        '204':
          description: No Content
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /data-pipelines/{id}/resume:
    patch:
      tags:
      - data-pipeline
      operationId: startDataPipeline
      parameters:
      - $ref: '#/components/parameters/id'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskSummary'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /data-pipelines/{id}/pause:
    patch:
      tags:
      - data-pipeline
      operationId: pauseDataPipeline
      parameters:
      - $ref: '#/components/parameters/id'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskSummary'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /data-pipelines/{id}/db-services/{dp-db-service-id}/db-schema:
    get:
      tags:
      - data-pipeline
      operationId: getDataPipelineServiceDatabaseSchema
      parameters:
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/dpDbServiceIdRequired'
        description: Unique identity representing the DB Service Data Pipeline mapping
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataPipelineDbServiceSchema'
          description: OK
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /data-pipelines/{id}/db-services/{dp-db-service-id}:
    description: Detach Tessell DB Service from the Data Pipeline.
    delete:
      tags:
      - data-pipeline
      operationId: detachDbServiceFromDataPipeline
      parameters:
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/dpDbServiceIdRequired'
        description: Unique identity representing the DB Service Data Pipeline mapping
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskSummary'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /data-pipelines/{id}/db-services/{dp-db-service-id}/resume:
    description: Start Data Pipeline's DB Service Change Data Capture Operations.
    patch:
      tags:
      - data-pipeline
      operationId: startDataPipelineDbServiceOperations
      parameters:
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/dpDbServiceIdRequired'
        description: Unique idenity representing the DB Service, not the service id.
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskSummary'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /data-pipelines/{id}/db-services/{dp-db-service-id}/pause:
    description: Pause Data Pipeline's DB Service Change Data Capture Operations.
    patch:
      tags:
      - data-pipeline
      operationId: pauseDataPipelineDbServiceOperations
      parameters:
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/dpDbServiceIdRequired'
        description: Unique idenity representing the DB Service, not the service id.
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskSummary'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /data-pipelines/db-services/{service-id}/publish-data:
    post:
      tags:
      - data-pipeline
      operationId: publishServiceToDataPipeline
      parameters:
      - $ref: '#/components/parameters/service-id'
        description: Tessell DB Service Id
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceDataPipelinePublishPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskSummary'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /data-pipelines/{id}/events/create/track:
    get:
      tags:
      - data-pipeline
      summary: Track the progress of the ongoing data pipeline creation operation
      description: Track the progress of the ongoing data pipeline creation operation
      operationId: trackDataPipelineCreation
      parameters:
      - $ref: '#/components/parameters/id'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateDataPipelineTrackingDetails'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /data-pipelines/db-services/{dp-db-service-id}/events/track:
    get:
      tags:
      - data-pipeline
      summary: Track the progress of the ongoing data pipeline DB service operation
      operationId: trackDpDbServiceOperation
      parameters:
      - $ref: '#/components/parameters/dpDbServiceIdRequired'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DpDbSvcTrackingDetails'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /data-pipelines/{id}/metrics/event-hub:
    get:
      tags:
      - data-pipeline
      summary: Returns the metrics data for Azure Event Hub Namespace
      operationId: getPipelineAzureEventHubMetrics
      parameters:
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/start-time-in-query-required'
      - $ref: '#/components/parameters/end-time-in-query-required'
      - $ref: '#/components/parameters/step-in-query-required'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: The list of EventHub metrics
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AzureEventHubMonitoringChart'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /data-pipelines/{id}/eligible-db-services:
    get:
      tags:
      - data-pipeline
      summary: Returns the list of eligible DB services for the Data Pipeline
      operationId: getEligibleDbServicesForPipeline
      parameters:
      - $ref: '#/components/parameters/id'
      - name: load-db-instances
        description: Load the instances that are part of the DB Service
        in: query
        style: form
        required: false
        schema:
          type: boolean
          default: true
      - name: load-db-databases
        description: Load the databases that are part of the DB Service
        in: query
        style: form
        required: false
        schema:
          type: boolean
          default: false
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/pageOffset'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TessellServicesResponse'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /data-pipelines/db-services/{id}/eligible-pipelines:
    get:
      tags:
      - data-pipeline
      summary: Returns the list of eligible Data Pipelines for the DB Service
      operationId: getEligiblePipelinesForDbService
      parameters:
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/pageOffset'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataPipelinesResponse'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    TessellServiceInstanceRole:
      type: string
      description: DB Service instance role
      enum:
      - primary
      - read_only_replica
      - failover_replica
      - dr
    AzureEventHubMonitoringChart:
      type: object
      properties:
        entityId:
          type: string
          format: uuid
          description: Event Hub Namespace ID
        title:
          type: string
          description: The title of the chart
        entityType:
          type: string
          enum:
          - AZURE_EVENT_HUB
        xlabel:
          type: string
          description: The label of x-axis
        ylabel:
          type: string
          description: The label of y-axis
        unit:
          type: string
          description: The unit of the metric
        metrics:
          type: array
          description: Array of Metrics in the chart
          items:
            $ref: '#/components/schemas/TessellMonitoringMetricsDTO'
    ApiError:
      type: object
      description: Common error response object for non 2xx responses
      properties:
        code:
          type: string
          description: Status code for the error response
        message:
          type: string
          description: Error message for API response
        resolution:
          type: string
        timestamp:
          type: string
          format: date-time
        contextId:
          type: string
          description: ContextId of API request
        sessionId:
          type: string
          description: SessionId of API request
        tessellErrorCode:
          type: string
          description: Unique error code specific to Tessell
    DataPipelineInfraResource:
      type: object
      properties:
        name:
          type: string
        resourceType:
          type: string
    commonYearlySchedule:
      allOf:
      - $ref: '#/components/schemas/DatesForEachMonth'
      - type: object
        properties:
          months:
            type: array
            uniqueItems: true
            items:
              $ref: '#/components/schemas/Month'
              x-enum: true
    TessellServiceClonedFromInfo:
      title: TessellServiceClonedFromInfo
      type: object
      x-computed: true
      description: If the DB Service is created as a clone from some other DB Service, this section describes the parent DB Service and cloning details
      properties:
        cloneType:
          $ref: '#/components/schemas/DBServiceCloneType'
        contentType:
          $ref: '#/components/schemas/BackupType'
        tessellServiceId:
          type: string
          format: uuid
          description: The DB Service ID using which this DB Service clone is created
        availabilityMachineId:
          type: string
          format: uuid
          description: The Availability Machine ID using which this DB Service clone is created
        tessellService:
          type: string
          minLength: 1
          maxLength: 128
          description: The DB Service name using which this DB Service clone is created
        availabilityMachine:
          type: string
          minLength: 1
          maxLength: 128
          description: The Availability Machine name using which this DB Service clone is created
        snapshotName:
          type: string
          minLength: 1
          maxLength: 128
          description: The snapshot using which this DB Service clone is created
        snapshotId:
          type: string
          format: uuid
          description: The snapshot ID using which this DB Service clone is created
        snapshotTime:
          type: string
          format: date-time
          description: DB Service snapshot capture time
        pitrTime:
          type: string
          description: If the database was created using a Point-In-Time mechanism, it specifies the timestamp in UTC
        maximumRecoverability:
          type: boolean
          default: false
          description: If the service was created using a maximum recoverability from the parent service
        storageProvider:
          $ref: '#/components/schemas/StorageProviderType'
        isHpc:
          type: boolean
          description: Specifies whether the parent DB Service was using High Performance Compute (HPC)
        sourceType:
          description: The source type of the clone - SNAPSHOT for disk snapshot based clone, NATIVE_BACKUP for native backup based clone
          allOf:
          - $ref: '#/components/schemas/CloneSourceType'
    AzureNetAppCapacityPoolServiceLevel:
      type: string
      enum:
      - Standard
      - Premium
      - Ultra
      x-enum-varnames:
      - STANDARD
      - PREMIUM
      - ULTRA
    apiResponse:
      example:
        metadata:
          pagination:
            pageOffset: 0
            pageSize: 6
          records: 1
          timeZone: timeZone
        response: '{}'
      properties:
        metadata:
          $ref: '#/components/schemas/apiMetadata'
        response:
          type: object
      title: ApiResponse
      type: object
    TessellServiceStatus:
      type: string
      description: The current status of the DB Service
      enum:
      - CREATING
      - FAILED
      - READY
      - STOPPING
      - STOPPED
      - DEGRADED
      - HEALING
      - DOWN
      - STARTING
      - DELETING
      - SWITCHOVER
      - REBUILDING
      - PATCHING
      - PATCH_FAILED
      - UPDATING
      - UNDER_MAINTENANCE
      - REFRESHING
      - RESTORING
      - RESTORE_FAILED
    WeekDay:
      description: Week Days
      type: string
      enum:
      - Sunday
      - Monday
      - Tuesday
      - Wednesday
      - Thursday
      - Friday
      - Saturday
      x-enum-varnames:
      - Sunday
      - Monday
      - Tuesday
      - Wednesday
      - Thursday
      - Friday
      - Saturday
    EntityAclSharingInfo:
      title: EntityAclSharingInfo
      description: Tessell Entity ACL Sharing Info
      properties:
        users:
          type: array
          items:
            $ref: '#/components/schemas/EntityUserAclSharingInfo'
    TessellServiceSqlServerEngineConfig:
      title: TessellServiceSqlServerEngineConfig
      type: object
      nullable: true
      properties:
        parameterProfileId:
          type: string
          format: uuid
          description: The parameter profile ID for the database
        adDomainId:
          type: string
          format: uuid
          description: Active Directory Domain ID
        serviceAccountUser:
          type: string
        agentServiceAccountUser:
          type: string
        instanceName:
          $ref: '#/components/schemas/SqlServerInstanceName'
    TessellServiceDatabaseConnectString:
      title: TessellServiceDatabaseConnectString
      type: object
      x-computed: true
      properties:
        connectDescriptor:
          type: string
          x-computed: true
        masterUser:
          type: string
          x-computed: true
        endpoint:
          type: string
          x-computed: true
        servicePort:
          type: string
          x-computed: true
    AwsInfraConfig:
      type: object
      title: AwsInfraConfig
      properties:
        awsCpuOptions:
          type: object
          title: AwsCpuOptions
          properties:
            vcpus:
              type: integer
              format: int32
              minimum: 0
              description: Number of vcpus for aws cpu options
    PerfInsightsStatus:
      title: PerfInsightsStatus
      type: string
      description: Perf insights status of a Service Instance
      enum:
      - ENABLED
      - ENABLING
      - DISABLED
      - DISABLING
      - FAILED_ENABLE
      - FAILED_DISABLE
    tessellServiceTopology:
      type: string
      description: DB Service topology. This would specify whether the DB Service is single-node, or multi-node.
      enum:
      - single_instance
      - high_availability
    SourceConfigPayload:
      type: object
      required:
      - dbEngine
      - region
      - vpc
      - privateSubnet
      - computeType
      properties:
        dbEngine:
          $ref: '#/components/schemas/databaseEngineType'
        region:
          description: The region in which the Data Pipeline is to be provisioned
          type: string
        vpc:
          description: The VPC for compute to be used for provisioning the Data Pipeline
          type: string
        privateSubnet:
          description: The private subnet for compute to be used for provisioning the Data Pipeline
          type: string
        computeType:
          description: Tessell compute shape to be used for provisioning the compute resources
          type: string
        numOfInstances:
          description: Number of compute resources to provision
          type: integer
          format: int32
          minimum: 1
          maximum: 4
    ScheduleInfo:
      type: object
      properties:
        backupStartTime:
          $ref: '#/components/schemas/TimeFormat'
        dailySchedule:
          $ref: '#/components/schemas/DailySchedule'
        weeklySchedule:
          $ref: '#/components/schemas/WeeklySchedule'
        monthlySchedule:
          $ref: '#/components/schemas/MonthlySchedule'
        yearlySchedule:
          $ref: '#/components/schemas/YearlySchedule'
    DatabaseConfiguration:
      title: DatabaseConfiguration
      type: object
      nullable: true
      properties:
        oracleConfig:
          $ref: '#/components/schemas/OracleDatabaseConfig'
        postgresqlConfig:
          $ref: '#/components/schemas/PostgresqlDatabaseConfig'
        mySqlConfig:
          $ref: '#/components/schemas/MySqlDatabaseConfig'
        sqlServerConfig:
          $ref: '#/components/schemas/SqlServerDatabaseConfig'
        mongodbConfig:
          $ref: '#/components/schemas/MongodbDatabaseConfig'
        milvusConfig:
          $ref: '#/components/schemas/MilvusDatabaseConfig'
    WeeklySchedule:
      type: object
      properties:
        days:
          description: Days in a week to retain weekly backups for
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/WeekDay'
            x-enum: true
    TessellServiceConnectString:
      title: TessellServiceConnectString
      type: object
      description: DB Service connect string info
      properties:
        type:
          $ref: '#/components/schemas/ConnectStringType'
        usageType:
          $ref: '#/components/schemas/ConnectStringUsageType'
        connectDescriptor:
          type: string
          description: The connection description for the DB Service
        endpoint:
          type: string
          description: The connection end point for the DB Service
        masterUser:
          type: string
          description: The master user name for the DB Service
        servicePort:
          type: integer
          format: int32
          minimum: 0
          description: The connection port for the DB Service
    RefreshServiceInfo:
      type: object
      description: Service refresh details
      properties:
        contentType:
          $ref: '#/components/schemas/BackupType'
        snapshotName:
          type: string
        snapshotTime:
          description: Time at which snapshot is created.
          type: string
          format: date-time
        pitr:
          type: string
        scriptInfo:
          $ref: '#/components/schemas/PrePostScriptInfo'
        scheduleId:
          description: If refreshed using schedule then schedule id, else null
          type: string
          format: uuid
        lastSuccessfulRefreshTime:
          description: Time at which refresh would be successfully completed.
          type: string
          format: date-time
    MongodbDatabaseConfig:
      title: MongodbDatabaseConfig
      type: object
      nullable: true
      properties:
        parameterProfileId:
          type: string
          format: uuid
          description: The parameter profile ID for the database
    InstanceExadataComputeConfig:
      type: object
      required:
      - infrastructureId
      - infrastructureName
      - vmClusterId
      - vmClusterName
      - vcpus
      - memory
      properties:
        infrastructureId:
          type: string
          format: uuid
        infrastructureName:
          type: string
        vmClusterId:
          type: string
          format: uuid
        vmClusterName:
          type: string
        vcpus:
          type: integer
        memory:
          type: integer
          format: int64
    PrePostScriptInfo:
      type: object
      properties:
        preScriptInfo:
          type: array
          items:
            $ref: '#/components/schemas/ScriptInfo'
        postScriptInfo:
          type: array
          items:
            $ref: '#/components/schemas/ScriptInfo'
    DataPipeline:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Tessell generated data pipeline identifier
        name:
          type: string
        description:
          type: string
        status:
          $ref: '#/components/schemas/DataPipelineStatus'
        cloud:
          type: string
        subscription:
          type: string
        contextInfo:
          $ref: '#/components/schemas/ContextInfo'
        tags:
          type: array
          items:
            $ref: '#/components/schemas/TessellTag'
        msgLayer:
          $ref: '#/components/schemas/DataPipelineInfraResource'
        sourceAdapter:
          $ref: '#/components/schemas/DataPipelineSourceAdapter'
        sinkAdapter:
          $ref: '#/components/schemas/DataPipelineSinkAdapter'
        createdBy:
          type: string
        dateCreated:
          type: string
          format: date-time
        dateModified:
          type: string
          format: date-time
    ServiceAzureNetAppConfig:
      type: object
      properties:
        serviceLevel:
          $ref: '#/components/schemas/AzureNetAppCapacityPoolServiceLevel'
    TessellServicesResponse:
      title: TessellServicesResponse
      allOf:
      - $ref: '#/components/schemas/apiResponse'
      - type: object
        properties:
          response:
            type: array
            items:
              $ref: '#/components/schemas/TessellServiceDTO'
    TessellResourceUpdateInfo:
      title: TessellResourceUpdateInfo
      description: In progress update information for a Tessell Resource
      properties:
        updateType:
          x-computed: true
          type: string
          description: Type of the update
        referenceId:
          x-computed: true
          type: string
          format: uuid
          description: The reference-id of the update request
        submittedAt:
          x-computed: true
          type: string
          format: date-time
          description: Timestamp when the resource update was requested
        updateInfo:
          x-computed: true
          type: object
          description: The specific details for a Tessell resource that are being updated
          additionalProperties: {}
    TessellServiceDeletionConfig:
      title: TessellServiceDeletionConfig
      description: If the DB Service is to be deleted, this config would be honoured if no preference is provided during deleting the service
      x-patchable: true
      properties:
        retainAvailabilityMachine:
          type: boolean
          default: false
          x-patchable: true
          description: If specified as true, the associated Availability Machine (snapshots, sanitized-snapshots, logs) would be retained
    DataPipelineSinkAdapter:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/DataPipelineSinkAdapterType'
        sinks:
          type: array
          items:
            $ref: '#/components/schemas/DataPipelineInfraResource'
    DataPipelinePayload:
      type: object
      required:
      - name
      - cloud
      - subscription
      - sourceConfig
      - sinkConfig
      - executionOutput
      properties:
        name:
          description: Data Pipeline name
          type: string
        description:
          description: Data Pipeline description
          type: string
        cloud:
          $ref: '#/components/schemas/cloudType'
        subscription:
          type: string
          description: Tessell Subscription in which the Data Pipeline is to be created
        sourceConfig:
          $ref: '#/components/schemas/SourceConfigPayload'
        sinkConfig:
          $ref: '#/components/schemas/SinkConfigPayload'
        sinkAdapterConfig:
          $ref: '#/components/schemas/SinkAdapterConfig'
        skipRollback:
          description: Internal flag to indicate if VMs to be rolled back in case of provision failure
          type: boolean
         

# --- truncated at 32 KB (109 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tessell/refs/heads/main/openapi/tessell-data-pipeline-api-openapi.yml