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