やりたいこと
IBM Cloudのクラシック・インフラストラクチャーに関するユーザ一情報をbash環境で取得したい。
具体的には以下コマンドで表示される全ユーザがアクセス可能なハードウェア情報を表示させる。
ibmcloud sl user list
環境情報
$ ibmcloud --version C:\Program Files\IBM\Cloud\bin\ibmcloud.exe version 1.4.0...
やり方
ibmcloud loginコマンドでアカウントにログイン後に以下ワンライナーを押下すると
$ ibmcloud sl user list --output JSON | jq ".[].id" | xargs -I arg ibmcloud sl user detail arg --hardware
以下の情報が全ユーザ分出力される。
ID XX ユーザー名 XX 名前 XX E メール XX OpenID XX アドレス XX 会社 XX 作成 XX 電話番号 XX 親ユーザー XX 状況 XX PPTP VPN XX SSL VPN XX ... ID 名前 CPU メモリー ディスク 作成 専用アクセスID ホスト名 1 次パブリック IP 1 次プライベート IP 作成 ...
以下、補足です。
補足
IBM Cloudのクラシック・インフラストラクチャー環境に関するユーザ一覧は以下で取得できます。
$ ibmcloud sl user list id username email displayName X X X XX ...
同コマンドはJSON形式で出力できるので以下でID情報だけを一覧にし
$ ibmcloud sl user list --output JSON | jq ".[].id"
xargsにデータを行ごとに渡すことで反復処理させています。
今回はhardwareとしましたがオプションを変更すれば欲しい一連の情報が取得可能です。
$ ibmcloud sl user detail --help 名前: detail - ユーザーの詳細... オプション: --keys ユーザー API キーを表示します --permissions このユーザーに割り当てられた許可を表示します。 マスター・ユーザーの許可は表示しません --hardware このユーザーがアクセスできるハードウェアを表示します --virtual このユーザーがアクセスできる仮想ゲストを表示します --logins このユーザーの過去 24 時間のログイン履歴を表示します --events このユーザーの監査ログを表示します
以上、ご参考ください。