{"formatVersion":"1","kind":"dock_integration","slug":"bigquery","title":"BigQuery","summary":"Import a Harbor-safe BigQuery starter set for dataset inventory, SQL query execution, and job inspection.","description":"A Dock-hosted BigQuery starter integration for Harbor. Importing it creates a local http_api port shell plus a Harbor-safe BigQuery action set that uses Harbor's Action Model for project-scoped inputs and cautious SQL execution.","version":"0.1.0","publisher":{"slug":"google","name":"Google","websiteUrl":"https://docs.cloud.google.com/bigquery/docs/reference/rest"},"category":"Data","tags":["google","bigquery","data","analytics","sql"],"compatibility":{"harborNode":">=0.1.0","notes":"Requires local operator-configured auth after import. Templates use location-based inputs such as input.path, input.query, and input.body at execution time."},"requiredPlan":"community","portTemplates":[{"kind":"http_api","label":"BigQuery API","description":"BigQuery API connection managed locally through Harbor.","baseUrl":"https://bigquery.googleapis.com/","authMode":"header_token","authHeaderName":"Authorization","authTokenPrefix":"Bearer"}],"actionTemplates":[{"slug":"list-datasets","label":"List Datasets","description":"List datasets in a specific Google Cloud project using typed path and pagination inputs.","method":"GET","path":"/bigquery/v2/projects/{projectId}/datasets","inputs":{"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Google Cloud project ID that owns the datasets."},{"name":"maxResults","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000},"default":50,"description":"Maximum number of datasets to return."},{"name":"pageToken","in":"query","schema":{"type":"string"},"description":"Continuation token from a previous dataset list response."},{"name":"all","in":"query","schema":{"type":"boolean"},"description":"Whether to include hidden datasets."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-dataset","label":"Get Dataset","description":"Fetch metadata for a specific BigQuery dataset using explicit project and dataset identifiers.","method":"GET","path":"/bigquery/v2/projects/{projectId}/datasets/{datasetId}","inputs":{"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Google Cloud project ID that owns the dataset."},{"name":"datasetId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"BigQuery dataset ID."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"create-dataset","label":"Create Dataset","description":"Create a BigQuery dataset using explicit project identifiers and a bounded JSON request body.","method":"POST","path":"/bigquery/v2/projects/{projectId}/datasets","inputs":{"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Google Cloud project ID that will own the dataset."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"update-dataset","label":"Update Dataset","description":"Update a BigQuery dataset using explicit project and dataset identifiers with a bounded JSON request body.","method":"PUT","path":"/bigquery/v2/projects/{projectId}/datasets/{datasetId}","inputs":{"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Google Cloud project ID that owns the dataset."},{"name":"datasetId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"BigQuery dataset ID."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"delete-dataset","label":"Delete Dataset","description":"Delete a BigQuery dataset using explicit project and dataset identifiers.","method":"DELETE","path":"/bigquery/v2/projects/{projectId}/datasets/{datasetId}","inputs":{"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Google Cloud project ID that owns the dataset."},{"name":"datasetId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"BigQuery dataset ID."},{"name":"deleteContents","in":"query","schema":{"type":"boolean"},"description":"Whether to delete tables contained in the dataset."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"list-tables","label":"List Tables","description":"List tables in a specific BigQuery dataset using typed path and pagination inputs.","method":"GET","path":"/bigquery/v2/projects/{projectId}/datasets/{datasetId}/tables","inputs":{"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Google Cloud project ID that owns the dataset."},{"name":"datasetId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"BigQuery dataset ID."},{"name":"maxResults","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000},"default":50,"description":"Maximum number of tables to return."},{"name":"pageToken","in":"query","schema":{"type":"string"},"description":"Continuation token from a previous tables list response."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"create-table","label":"Create Table","description":"Create a BigQuery table using explicit project and dataset identifiers with a bounded JSON request body.","method":"POST","path":"/bigquery/v2/projects/{projectId}/datasets/{datasetId}/tables","inputs":{"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Google Cloud project ID that owns the dataset."},{"name":"datasetId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"BigQuery dataset ID."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"get-table","label":"Get Table","description":"Fetch metadata for a specific BigQuery table using explicit project, dataset, and table identifiers.","method":"GET","path":"/bigquery/v2/projects/{projectId}/datasets/{datasetId}/tables/{tableId}","inputs":{"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Google Cloud project ID that owns the table."},{"name":"datasetId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"BigQuery dataset ID."},{"name":"tableId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"BigQuery table ID."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"update-table","label":"Update Table","description":"Update a BigQuery table using explicit project, dataset, and table identifiers with a bounded JSON request body.","method":"PUT","path":"/bigquery/v2/projects/{projectId}/datasets/{datasetId}/tables/{tableId}","inputs":{"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Google Cloud project ID that owns the table."},{"name":"datasetId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"BigQuery dataset ID."},{"name":"tableId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"BigQuery table ID."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"delete-table","label":"Delete Table","description":"Delete a BigQuery table using explicit project, dataset, and table identifiers.","method":"DELETE","path":"/bigquery/v2/projects/{projectId}/datasets/{datasetId}/tables/{tableId}","inputs":{"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Google Cloud project ID that owns the table."},{"name":"datasetId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"BigQuery dataset ID."},{"name":"tableId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"BigQuery table ID."}]},"approvalMode":"require_approval","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"list-tabledata","label":"List Table Data","description":"Read rows from a BigQuery table using explicit project, dataset, and table identifiers with typed pagination controls.","method":"GET","path":"/bigquery/v2/projects/{projectId}/datasets/{datasetId}/tables/{tableId}/data","inputs":{"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Google Cloud project ID that owns the table."},{"name":"datasetId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"BigQuery dataset ID."},{"name":"tableId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"BigQuery table ID."},{"name":"maxResults","in":"query","schema":{"type":"integer","minimum":1,"maximum":100000},"description":"Maximum number of rows to return."},{"name":"pageToken","in":"query","schema":{"type":"string"},"description":"Continuation token from a previous tabledata response."},{"name":"startIndex","in":"query","schema":{"type":"string"},"description":"Zero-based row offset as a string."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"insert-all","label":"Insert All Rows","description":"Insert JSON rows into a BigQuery table using explicit project, dataset, and table identifiers with a bounded JSON request body.","method":"POST","path":"/bigquery/v2/projects/{projectId}/datasets/{datasetId}/tables/{tableId}/insertAll","inputs":{"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Google Cloud project ID that owns the table."},{"name":"datasetId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"BigQuery dataset ID."},{"name":"tableId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"BigQuery table ID."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"run-query","label":"Run Query","description":"Run a BigQuery SQL query synchronously using a bounded JSON request body for the target project.","method":"POST","path":"/bigquery/v2/projects/{projectId}/queries","inputs":{"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Google Cloud project ID that will execute the query."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"get-job","label":"Get Job","description":"Fetch metadata and status for a specific BigQuery job using typed project, job, and optional location inputs.","method":"GET","path":"/bigquery/v2/projects/{projectId}/jobs/{jobId}","inputs":{"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Google Cloud project ID that owns the job."},{"name":"jobId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"BigQuery job ID."},{"name":"location","in":"query","schema":{"type":"string","minLength":1},"description":"Job location such as US, EU, or a regional location when required by BigQuery."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-query-results","label":"Get Query Results","description":"Fetch BigQuery query results for a specific completed job using explicit project and job identifiers.","method":"GET","path":"/bigquery/v2/projects/{projectId}/queries/{jobId}","inputs":{"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Google Cloud project ID that owns the query job."},{"name":"jobId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"BigQuery query job ID."},{"name":"location","in":"query","schema":{"type":"string","minLength":1},"description":"Job location such as US, EU, or a regional location when required by BigQuery."},{"name":"maxResults","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000},"description":"Maximum number of result rows to return."},{"name":"pageToken","in":"query","schema":{"type":"string"},"description":"Continuation token from a previous query results response."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"create-job","label":"Create Job","description":"Create a BigQuery job such as load, extract, copy, or query using a bounded JSON request body.","method":"POST","path":"/bigquery/v2/projects/{projectId}/jobs","inputs":{"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Google Cloud project ID that will own the job."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"}],"workflowTemplates":[{"slug":"project-query-check","title":"Project Query Check","summary":"Future workflow template for running a reviewed SQL check and then inspecting the resulting job."}],"helpText":"Import to Harbor, configure local auth, then use the starter BigQuery actions with explicit project and job IDs. Keep run-query on approval unless your local policy explicitly allows operator-reviewed SQL execution.","installNotes":"Dock shares only safe metadata. Hidden auth must be configured locally inside Harbor after import. BigQuery actions use input.path for project and job identifiers, input.query for optional location and pagination values, and input.body for the SQL query request payload."}