turbot / powerpipe

Powerpipe: Dashboards for DevOps. Visualize cloud configurations. Assess security posture against a massive library of benchmarks. Build custom dashboards with code.
https://powerpipe.io/
GNU Affero General Public License v3.0
228 stars 16 forks source link

passing `--arg` not working for query run #114

Closed pskrbasu closed 6 months ago

pskrbasu commented 6 months ago

In net-insights mod:

Running powerpipe query run "query.dns_parent_report(domain_name_input => \"steampipe.io\")" works, but

Running powerpipe query run net_insights.query.dns_parent_report --arg domain_name_input=steampipe.io FAILS.

kaidaguerre commented 6 months ago

Running a named query with no args doesnt work:

  query "list_vpcs" {
    sql = <<-EOQ
      select
        title,
        vpc_id,
        region,
        account_id
      from
        aws_vpc
    EOQ
  }

passing args by index doesn't work when no params defined:

query "list_vpcs" {
  sql = <<-EOQ
    select
      title,
      vpc_id,
      region,
      account_id
    from
      aws_vpc
    where
      region = any($1)
  EOQ
}``

passing args by index doesn't work when params are defined:

```hcl
query "list_vpcs" {
  sql = <<-EOQ
    select
      title,
      vpc_id,
      region,
      account_id
    from
      aws_vpc
    where
      region = any($1)
  EOQ

  param "region" {}

}

powerpipe query run list_vpcs --arg '1=["us-east-1"]'
Error: failed to resolve args for custom.table.results: region

$ powerpipe query run list_vpcs --arg 1='["us-east-1"]'
Error: failed to resolve args for custom.table.results: region```
kaidaguerre commented 6 months ago

Running a named query with no args doesnt work:

  query "list_vpcs" {
    sql = <<-EOQ
      select
        title,
        vpc_id,
        region,
        account_id
      from
        aws_vpc
    EOQ
  }

passing args by index doesn't work when no params defined:

query "list_vpcs" {
  sql = <<-EOQ
    select
      title,
      vpc_id,
      region,
      account_id
    from
      aws_vpc
    where
      region = any($1)
  EOQ
}```

passing args by index doesn't work when params are defined:

```hcl
query "list_vpcs" {
  sql = <<-EOQ
    select
      title,
      vpc_id,
      region,
      account_id
    from
      aws_vpc
    where
      region = any($1)
  EOQ

  param "region" {}

}

powerpipe query run list_vpcs --arg '1=["us-east-1"]'
Error: failed to resolve args for custom.table.results: region

$ powerpipe query run list_vpcs --arg 1='["us-east-1"]'
Error: failed to resolve args for custom.table.results: region```