Add ability to get only output of the action or other property

Bug #2055287 reported by Bartosz Woronicz
22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Canonical Juju
Triaged
Wishlist
Unassigned

Bug Description

Currently to get the output of command it is complicated to get it. You have for instance parse json

$ juju run vault/leader get-root-ca
Running operation 336 with 1 task
  - task 337 on unit-vault-1

Waiting for task 337...
output: |-
  -----BEGIN CERTIFICATE-----
  MIIDazCCAlOgAwIBAgIUeX/iqC14v+d/Tqk/8DqWrWlDlEgwDQYJKoZIhvcNAQEL
  BQAwPTE7MDkGA1UEAxMyVmF1bHQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkg
  KGNoYXJtLXBraS1sb2NhbCkwHhcNMjQwMjI3MTIwMTA2WhcNMzQwMjI0MTEwMTM2
  WjA9MTswOQYDVQQDEzJWYXVsdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAo
  Y2hhcm0tcGtpLWxvY2FsKTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
  AMU5n/2GkxnZlF+EzeX0ZvWUZNVcacWjjIB9794fHV3HjEtnqJDcmawDk2+Q05zU
  78LbFuOR9Sb9kGV6TE1Yl7Cwiv6qvz8LM/Qj3xy2N28oVTq6RfslW7MwA8N208qq
  znqVE/nNU4GpRslhc/I+lIRaQqFrOKTIJ4q6GBntZPbj631MR41bdRS7dUlxR/wU
  bkIOqsdxivK9D1PrTl1NL1hUD1qFoUQiWJKIGPCkj4SiLsfsh+Oq1rDu2kMVY1gW
  jlivSo5R9LSTl6LtN13PgEWc4TQ06eaR6lTWLAO2ewpbl6SOASGDc0ZJThn+GiFZ
  gh2VUS/V5mZR88JwZBNn7wMCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
  EwEB/wQFMAMBAf8wHQYDVR0OBBYEFEwQQdWaLe/qQ6Ru5ouUa5TRhAwyMB8GA1Ud
  IwQYMBaAFEwQQdWaLe/qQ6Ru5ouUa5TRhAwyMA0GCSqGSIb3DQEBCwUAA4IBAQCl
  ebiYAWBhWxHZ53luKnnk4sVsRexU2yqdiSVMnHTPQ9p303/Nzfdjj8ff9gY5jYlo
  rb7Hfw6iRLcBjKngLt2BSiWz0+lKA+njHiQEEvQHVWUw0RFX2Vr3sDD7n0RtYUyq
  Y9f/c7zq0rXOQJNJG6Q2Po31aTGsOJzXBFvtoVh5fi1K176VZ5CjYYooHbcTQNF5
  9NW2QQVlIrZj/Ah+SV9+oWipWGm6gdZI/tyK7LbLBERaj8LUbIACQzRh6Ud1/E+B
  oVPioft48bWVJujxS6djx3j7bjgWB+l3eTmc89IzOGQ9ddgJ7C1aEEW1hOb84lMA
  Fmv3nzC3P4wqLgRAPeRC
  -----END CERTIFICATE-----

none
active
active
active
none

When you use -o for output there are other things like stdout

$ juju run vault/leader get-root-ca -o cert
Running operation 344 with 1 task
  - task 345 on unit-vault-1

Waiting for task 345...
$ cat cert
output: |-
  -----BEGIN CERTIFICATE-----
  MIIDazCCAlOgAwIBAgIUeX/iqC14v+d/Tqk/8DqWrWlDlEgwDQYJKoZIhvcNAQEL
  BQAwPTE7MDkGA1UEAxMyVmF1bHQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkg
  KGNoYXJtLXBraS1sb2NhbCkwHhcNMjQwMjI3MTIwMTA2WhcNMzQwMjI0MTEwMTM2
  WjA9MTswOQYDVQQDEzJWYXVsdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAo
  Y2hhcm0tcGtpLWxvY2FsKTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
  AMU5n/2GkxnZlF+EzeX0ZvWUZNVcacWjjIB9794fHV3HjEtnqJDcmawDk2+Q05zU
  78LbFuOR9Sb9kGV6TE1Yl7Cwiv6qvz8LM/Qj3xy2N28oVTq6RfslW7MwA8N208qq
  znqVE/nNU4GpRslhc/I+lIRaQqFrOKTIJ4q6GBntZPbj631MR41bdRS7dUlxR/wU
  bkIOqsdxivK9D1PrTl1NL1hUD1qFoUQiWJKIGPCkj4SiLsfsh+Oq1rDu2kMVY1gW
  jlivSo5R9LSTl6LtN13PgEWc4TQ06eaR6lTWLAO2ewpbl6SOASGDc0ZJThn+GiFZ
  gh2VUS/V5mZR88JwZBNn7wMCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
  EwEB/wQFMAMBAf8wHQYDVR0OBBYEFEwQQdWaLe/qQ6Ru5ouUa5TRhAwyMB8GA1Ud
  IwQYMBaAFEwQQdWaLe/qQ6Ru5ouUa5TRhAwyMA0GCSqGSIb3DQEBCwUAA4IBAQCl
  ebiYAWBhWxHZ53luKnnk4sVsRexU2yqdiSVMnHTPQ9p303/Nzfdjj8ff9gY5jYlo
  rb7Hfw6iRLcBjKngLt2BSiWz0+lKA+njHiQEEvQHVWUw0RFX2Vr3sDD7n0RtYUyq
  Y9f/c7zq0rXOQJNJG6Q2Po31aTGsOJzXBFvtoVh5fi1K176VZ5CjYYooHbcTQNF5
  9NW2QQVlIrZj/Ah+SV9+oWipWGm6gdZI/tyK7LbLBERaj8LUbIACQzRh6Ud1/E+B
  oVPioft48bWVJujxS6djx3j7bjgWB+l3eTmc89IzOGQ9ddgJ7C1aEEW1hOb84lMA
  Fmv3nzC3P4wqLgRAPeRC
  -----END CERTIFICATE-----

none
active
active
active
none

To get the certificate here you would need to do somethign like this:
$ juju run vault/leader --format=json get-root-ca
Running operation 340 with 1 task
  - task 341 on unit-vault-1

Waiting for task 341...
{"vault/1":{"id":"341","results":{"output":"-----BEGIN CERTIFICATE-----\nMIIDazCCAlOgAwIBAgIUeX/iqC14v+d/Tqk/8DqWrWlDlEgwDQYJKoZIhvcNAQEL\nBQAwPTE7MDkGA1UEAxMyVmF1bHQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkg\nKGNoYXJtLXBraS1sb2NhbCkwHhcNMjQwMjI3MTIwMTA2WhcNMzQwMjI0MTEwMTM2\nWjA9MTswOQYDVQQDEzJWYXVsdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAo\nY2hhcm0tcGtpLWxvY2FsKTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAMU5n/2GkxnZlF+EzeX0ZvWUZNVcacWjjIB9794fHV3HjEtnqJDcmawDk2+Q05zU\n78LbFuOR9Sb9kGV6TE1Yl7Cwiv6qvz8LM/Qj3xy2N28oVTq6RfslW7MwA8N208qq\nznqVE/nNU4GpRslhc/I+lIRaQqFrOKTIJ4q6GBntZPbj631MR41bdRS7dUlxR/wU\nbkIOqsdxivK9D1PrTl1NL1hUD1qFoUQiWJKIGPCkj4SiLsfsh+Oq1rDu2kMVY1gW\njlivSo5R9LSTl6LtN13PgEWc4TQ06eaR6lTWLAO2ewpbl6SOASGDc0ZJThn+GiFZ\ngh2VUS/V5mZR88JwZBNn7wMCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud\nEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEwQQdWaLe/qQ6Ru5ouUa5TRhAwyMB8GA1Ud\nIwQYMBaAFEwQQdWaLe/qQ6Ru5ouUa5TRhAwyMA0GCSqGSIb3DQEBCwUAA4IBAQCl\nebiYAWBhWxHZ53luKnnk4sVsRexU2yqdiSVMnHTPQ9p303/Nzfdjj8ff9gY5jYlo\nrb7Hfw6iRLcBjKngLt2BSiWz0+lKA+njHiQEEvQHVWUw0RFX2Vr3sDD7n0RtYUyq\nY9f/c7zq0rXOQJNJG6Q2Po31aTGsOJzXBFvtoVh5fi1K176VZ5CjYYooHbcTQNF5\n9NW2QQVlIrZj/Ah+SV9+oWipWGm6gdZI/tyK7LbLBERaj8LUbIACQzRh6Ud1/E+B\noVPioft48bWVJujxS6djx3j7bjgWB+l3eTmc89IzOGQ9ddgJ7C1aEEW1hOb84lMA\nFmv3nzC3P4wqLgRAPeRC\n-----END CERTIFICATE-----","return-code":0,"stdout":"none\nactive\nactive\nactive\nnone\n"},"status":"completed","timing":{"completed":"2024-02-28 11:59:15 +0000 UTC","enqueued":"2024-02-28 11:59:09 +0000 UTC","started":"2024-02-28 11:59:10 +0000 UTC"},"unit":"vault/1"}}

And finally:

$ juju run vault/leader --format=json get-root-ca |jq -r '.. | ."output"? | select(. != null)'
Running operation 338 with 1 task
  - task 339 on unit-vault-1

Waiting for task 339...
-----BEGIN CERTIFICATE-----
MIIDazCCAlOgAwIBAgIUeX/iqC14v+d/Tqk/8DqWrWlDlEgwDQYJKoZIhvcNAQEL
BQAwPTE7MDkGA1UEAxMyVmF1bHQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkg
KGNoYXJtLXBraS1sb2NhbCkwHhcNMjQwMjI3MTIwMTA2WhcNMzQwMjI0MTEwMTM2
WjA9MTswOQYDVQQDEzJWYXVsdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAo
Y2hhcm0tcGtpLWxvY2FsKTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AMU5n/2GkxnZlF+EzeX0ZvWUZNVcacWjjIB9794fHV3HjEtnqJDcmawDk2+Q05zU
78LbFuOR9Sb9kGV6TE1Yl7Cwiv6qvz8LM/Qj3xy2N28oVTq6RfslW7MwA8N208qq
znqVE/nNU4GpRslhc/I+lIRaQqFrOKTIJ4q6GBntZPbj631MR41bdRS7dUlxR/wU
bkIOqsdxivK9D1PrTl1NL1hUD1qFoUQiWJKIGPCkj4SiLsfsh+Oq1rDu2kMVY1gW
jlivSo5R9LSTl6LtN13PgEWc4TQ06eaR6lTWLAO2ewpbl6SOASGDc0ZJThn+GiFZ
gh2VUS/V5mZR88JwZBNn7wMCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
EwEB/wQFMAMBAf8wHQYDVR0OBBYEFEwQQdWaLe/qQ6Ru5ouUa5TRhAwyMB8GA1Ud
IwQYMBaAFEwQQdWaLe/qQ6Ru5ouUa5TRhAwyMA0GCSqGSIb3DQEBCwUAA4IBAQCl
ebiYAWBhWxHZ53luKnnk4sVsRexU2yqdiSVMnHTPQ9p303/Nzfdjj8ff9gY5jYlo
rb7Hfw6iRLcBjKngLt2BSiWz0+lKA+njHiQEEvQHVWUw0RFX2Vr3sDD7n0RtYUyq
Y9f/c7zq0rXOQJNJG6Q2Po31aTGsOJzXBFvtoVh5fi1K176VZ5CjYYooHbcTQNF5
9NW2QQVlIrZj/Ah+SV9+oWipWGm6gdZI/tyK7LbLBERaj8LUbIACQzRh6Ud1/E+B
oVPioft48bWVJujxS6djx3j7bjgWB+l3eTmc89IzOGQ9ddgJ7C1aEEW1hOb84lMA
Fmv3nzC3P4wqLgRAPeRC

maybe there should an argument that show only the unit output, either way you ryun only agains one unit ?

Changed in juju:
status: New → Triaged
importance: Undecided → Wishlist
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.