powerpipe query

List, view, and run Powerpipe queries. You can run named queries or any arbitrary SQL.

Usage

powerpipe query list [args]
powerpipe query show query_name [args]
powerpipe query run query_name [args]
powerpipe query run "select * from my_table" [args]

Sub-Commands

CommandDescription
listList queries from the current mod and its direct dependents.
runRun a query from the current mod or its direct dependents.
showShow details of a query from the current mod or its direct dependents.

powerpipe query list

List queries from the current mod and its direct dependents.

Examples

List queries:

powerpipe query list

List all queries in JSON format:

powerpipe query list --output json

List queries using settings from a workspace:

powerpipe query list --workspace my_workspace

powerpipe query show

Show details of a query from the current mod or its direct dependents.

Examples

Show details of a single query in the current mod:

powerpipe query show ec2_instance_in_vpc
# or
powerpipe query show query.ec2_instance_in_vpc

Show details of a single query in a direct dependency mod:

powerpipe query show aws_compliance.query.ec2_instance_in_vpc

Show details of a query in JSON format:

powerpipe query show ec2_instance_in_vpc --output json

Show details of a query using settings from a workspace:

powerpipe query show ec2_instance_in_vpc -workspace my_workspace

powerpipe query run

Run a query from the current mod or its direct dependents.

Arguments

FlagDescription
--arg string=stringSpecify the value for a query param. Multiple --arg arguments may be passed.
--databaseDEPRECATED - See Setting the Database for the new syntax. Sets the database that Powerpipe will connect to. This defaults to the local Steampipe database, but can be any PostgreSQL, MySQL, DuckDB, or SQLite database.
--export stringExport query output to a file. You may export multiple output formats for a single query run by entering multiple --export arguments. If a file path is specified as an argument, its type will be inferred by the suffix. Supported export formats are csv, line, json,pps (snapshot), pretty, plain.
--header stringSpecify whether to include column headers in csv output/export (default true).
--inputEnable/Disable interactive prompts for missing variables. To disable prompts and fail on missing variables, use --input=false. This is useful when running from scripts. (default true)
--mod-installSpecify whether to install mod dependencies before running the query (default true)
--output stringSelect the console output format. Defaults to text. Possible values are csv, line, json,pps (snapshot), pretty, plain.
--pipes-hostSets the Turbot Pipes host used when connecting to Turbot Pipes workspaces. See PIPES_HOST for details.
--pipes-tokenSets the Turbot Pipes authentication token used when connecting to Turbot Pipes workspaces. See PIPES_TOKEN for details.
--progressEnable or disable progress information. By default, progress information is shown - set --progress=false to hide the progress bar.
--query-timeout intThe query timeout, in seconds. The default is 300.
--search-path stringsSet a comma-separated list of connections to use as a custom search path for the query run.
--search-path-prefix stringsSet a comma-separated list of connections to use as a prefix to the current search path for the query run.
--separator stringA single character to use as a separator string for csv output (defaults to ,)
--shareCreate snapshot in Turbot Pipes with anyone_with_link visibility.
--snapshotCreate snapshot in Turbot Pipes with the default (workspace) visibility.
--snapshot-location stringThe location to write snapshots - either a local file path or a Turbot Pipes workspace
--snapshot-tag string=stringSpecify tags to set on the snapshot. Multiple --snapshot-tag arguments may be passed.
--snapshot-title string=stringThe title to give a snapshot when uploading to Turbot Pipes.
--timingTurn on the query timer.
--var string=stringSpecify the value of a variable. Multiple --var arguments may be passed.
--var-file stringsSpecify a .ppvar file containing variable values.

Examples

Run a named query:

powerpipe query run ec2_instance_in_vpc
# or
powerpipe query run query.ec2_instance_in_vpc

Run an ad-hoc query:

powerpipe query run "select * from aws_account"

Run a query and return CSV:

powerpipe query run "select * from aws_account" --output csv

Run a query and export results to a CSV file:

powerpipe query run "select * from aws_account" --export csv

Run a query and export results to a CSV file with a specific name:

powerpipe query run ec2_instance_in_vpc --export myfile.csv

Run a query and export results in multiple formats:

powerpipe query run "select * from aws_account" --export results.csv --export results.json

Run a named query and pass arguments:

powerpipe query run check_vpc --arg vpc_ids='["vpc-12345678","vpc-22222222"]' --arg account_id='012345678901'

Run an ad-hoc query and create a snapshot file:

powerpipe query run "select * from aws_account" --export my_snap.pps
# or
powerpipe query run "select * from aws_account" --output pps > my_snap.pps

Run a query against a pipes workspace:

powerpipe query run ec2_instance_in_vpc --workspace acme/anvils

Run a query and upload a snapshot with workspace visibility in your user workspace.

powerpipe query run ec2_instance_in_vpc --snapshot

Run a query and upload a snapshot with anyone_with_link visibility in your default workspace.

powerpipe query run "select * from aws_account" --share

Run a query and upload a snapshot with anyone_with_link visibility to a specific workspace.

powerpipe query run ec2_instance_in_vpc --share --snapshot-location vandelay-industries/latex

Run a query, upload a snapshot with workspace visibility in your user workspace, and tag the snapshot:

powerpipe query run ec2_instance_in_vpc --snapshot --snapshot-tag env=local

Run a query with a specific search_path:

powerpipe query run "select * from aws_s3_bucket" --search-path="aws_dmi,github,slack"

Run a query with a specific search_path_prefix:

powerpipe query run "select * from aws_s3_bucket" --search-path-prefix="aws_dmi"