Google Cloud Data Fusion API

The Cloud Data Fusion API provides programmatic access to create, manage, and monitor Data Fusion instances and pipelines. It allows you to provision instances, configure environments, and manage the lifecycle of data integration pipelines within Google Cloud Platform.

OpenAPI Specification

google-cloud-data-fusion-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google Cloud Data Fusion API
  description: >-
    The Cloud Data Fusion API provides programmatic access to create, manage, and
    monitor Data Fusion instances on Google Cloud Platform. It supports instance
    lifecycle management, namespace operations, and pipeline configuration.
  version: v1
  contact:
    name: Google Cloud
    url: https://cloud.google.com/data-fusion
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
externalDocs:
  description: Google Cloud Data Fusion Documentation
  url: https://cloud.google.com/data-fusion/docs/reference/rest
servers:
  - url: https://datafusion.googleapis.com/v1
    description: Google Cloud Data Fusion API v1
security:
  - oauth2: []
tags:
  - name: Instances
    description: Operations for managing Data Fusion instances
  - name: Locations
    description: Available locations for Data Fusion
  - name: Operations
    description: Long-running operation management
paths:
  /projects/{projectId}/locations:
    get:
      operationId: listLocations
      summary: Google Cloud Data Fusion List available locations
      description: Lists available locations for the given project.
      tags:
        - Locations
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
          description: The project ID.
        - name: pageSize
          in: query
          schema:
            type: integer
          description: Maximum number of results to return.
        - name: pageToken
          in: query
          schema:
            type: string
          description: Page token for pagination.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListLocationsResponse'
  /projects/{projectId}/locations/{location}/instances:
    get:
      operationId: listInstances
      summary: Google Cloud Data Fusion List Data Fusion instances
      description: Lists Data Fusion instances in the specified project and location.
      tags:
        - Instances
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
          description: The project ID.
        - name: location
          in: path
          required: true
          schema:
            type: string
          description: The location (region).
        - name: pageSize
          in: query
          schema:
            type: integer
          description: Maximum number of instances to return.
        - name: pageToken
          in: query
          schema:
            type: string
          description: Page token for pagination.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListInstancesResponse'
    post:
      operationId: createInstance
      summary: Google Cloud Data Fusion Create a Data Fusion instance
      description: Creates a new Data Fusion instance in the specified project and location.
      tags:
        - Instances
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
        - name: location
          in: path
          required: true
          schema:
            type: string
        - name: instanceId
          in: query
          required: true
          schema:
            type: string
          description: The name of the instance to create.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Instance'
      responses:
        '200':
          description: Successful response with long-running operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
  /projects/{projectId}/locations/{location}/instances/{instanceId}:
    get:
      operationId: getInstance
      summary: Google Cloud Data Fusion Get a Data Fusion instance
      description: Gets details of a single Data Fusion instance.
      tags:
        - Instances
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
        - name: location
          in: path
          required: true
          schema:
            type: string
        - name: instanceId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Instance'
    patch:
      operationId: updateInstance
      summary: Google Cloud Data Fusion Update a Data Fusion instance
      description: Updates a single Data Fusion instance.
      tags:
        - Instances
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
        - name: location
          in: path
          required: true
          schema:
            type: string
        - name: instanceId
          in: path
          required: true
          schema:
            type: string
        - name: updateMask
          in: query
          schema:
            type: string
          description: Field mask for update.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Instance'
      responses:
        '200':
          description: Successful response with long-running operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
    delete:
      operationId: deleteInstance
      summary: Google Cloud Data Fusion Delete a Data Fusion instance
      description: Deletes a single Data Fusion instance.
      tags:
        - Instances
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
        - name: location
          in: path
          required: true
          schema:
            type: string
        - name: instanceId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response with long-running operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
  /projects/{projectId}/locations/{location}/instances/{instanceId}:restart:
    post:
      operationId: restartInstance
      summary: Google Cloud Data Fusion Restart a Data Fusion instance
      description: Restarts a single Data Fusion instance.
      tags:
        - Instances
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
        - name: location
          in: path
          required: true
          schema:
            type: string
        - name: instanceId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response with long-running operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
  /projects/{projectId}/locations/{location}/operations:
    get:
      operationId: listOperations
      summary: Google Cloud Data Fusion List operations
      description: Lists operations for the specified project and location.
      tags:
        - Operations
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
        - name: location
          in: path
          required: true
          schema:
            type: string
        - name: pageSize
          in: query
          schema:
            type: integer
        - name: pageToken
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOperationsResponse'
  /projects/{projectId}/locations/{location}/operations/{operationId}:
    get:
      operationId: getOperation
      summary: Google Cloud Data Fusion Get an operation
      description: Gets the latest state of a long-running operation.
      tags:
        - Operations
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
        - name: location
          in: path
          required: true
          schema:
            type: string
        - name: operationId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/cloud-platform: Full access to Google Cloud Platform
  schemas:
    Instance:
      type: object
      properties:
        name:
          type: string
          description: Output only. The name of this instance.
        description:
          type: string
          description: A description of this instance.
        type:
          type: string
          enum:
            - BASIC
            - ENTERPRISE
            - DEVELOPER
          description: Instance type.
        enableStackdriverLogging:
          type: boolean
          description: Option to enable Stackdriver Logging.
        enableStackdriverMonitoring:
          type: boolean
          description: Option to enable Stackdriver Monitoring.
        privateInstance:
          type: boolean
          description: Specifies whether the Data Fusion instance should be private.
        networkConfig:
          type: object
          properties:
            network:
              type: string
            ipAllocation:
              type: string
        labels:
          type: object
          additionalProperties:
            type: string
        options:
          type: object
          additionalProperties:
            type: string
        createTime:
          type: string
          format: date-time
          description: Output only. The time the instance was created.
        updateTime:
          type: string
          format: date-time
          description: Output only. The time the instance was last updated.
        state:
          type: string
          enum:
            - STATE_UNSPECIFIED
            - CREATING
            - ACTIVE
            - FAILED
            - DELETING
            - UPGRADING
            - RESTARTING
            - UPDATING
            - AUTO_UPDATING
            - AUTO_UPGRADING
            - DISABLED
          description: Output only. The current state of this Data Fusion instance.
        serviceEndpoint:
          type: string
          description: Output only. Endpoint on which the Data Fusion UI is accessible.
        zone:
          type: string
          description: Name of the zone in which the Data Fusion instance will be created.
        version:
          type: string
          description: Current version of Data Fusion.
        serviceAccount:
          type: string
          description: Output only. Deprecated. Use tenant_project_id instead.
        displayName:
          type: string
          description: Display name for an instance.
        apiEndpoint:
          type: string
          description: Output only. Endpoint on which the REST APIs is accessible.
    ListInstancesResponse:
      type: object
      properties:
        instances:
          type: array
          items:
            $ref: '#/components/schemas/Instance'
        nextPageToken:
          type: string
        unreachable:
          type: array
          items:
            type: string
    Operation:
      type: object
      properties:
        name:
          type: string
        metadata:
          type: object
        done:
          type: boolean
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
        response:
          type: object
    ListOperationsResponse:
      type: object
      properties:
        operations:
          type: array
          items:
            $ref: '#/components/schemas/Operation'
        nextPageToken:
          type: string
    ListLocationsResponse:
      type: object
      properties:
        locations:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              locationId:
                type: string
        nextPageToken:
          type: string