自由気ままに書いちゃおう

好きなことをつらつらと・・・

【AWS】awscliのfilters/query/outputオプションについて

今回はawscliでよく使うfilters/query/outputオプションについてです。

■filtersオプションについて

awscliコマンドの出力結果を束で絞り込みます。
「束」と記載しているのは、
AWSリソースが複数存在する場合(例えば、VPCが2つ存在する場合)には、
filtersオプションを利用すると、2つのうちの1つの情報がまとめて(CidrBlockやVpcId、IsDefault等のすべての情報が)出力されます。

例えば、以下の通りVPCが2つ存在するとします。(CidrBlockが区切りの最初です。)

f:id:guri2o1667:20210812101631p:plain


この際、2つ目のVPC(CidrBlockが10.0.0.0/16)のみを出力させるには、
以下の通り実行します。
※見やすいように改行してます。

f:id:guri2o1667:20210812134147p:plain

結果は以下の通り、10.0.0.0/16のVPC情報が出力されました。

f:id:guri2o1667:20210812134256p:plain

 

ただ、例えばですが、10.0.0.0/16のみを取得したい場合もあるかと思います。
※文字列としてCIDR情報を変数に格納したい、等

その場合には、queryオプションを使います。

■queryオプションについて

awscliコマンドのうち、特定項目のみを出力します。
CIDR情報のみを出力したい時には、以下コマンドを実行します。

f:id:guri2o1667:20210812110902p:plain

上記の通り、VPCが2つあるときにはCIDR情報が2つ表示されます。
そのため、特定のVPCにおけるCIDR情報を出力させたい場合には、filterオプションも利用します。

f:id:guri2o1667:20210812134355p:plain

 

ただ、このままだと[]部分とダブルクォーテーションが邪魔なので、
こういうときにはoutputオプションを使います。

■outputオプションについて

filter/queryオプションの結果形式を変更することができます。
以下の通りoutput=textを指定するとテキスト情報として取得することができます。

f:id:guri2o1667:20210812134551p:plain

なので、以下の通り変数(ここでは、CIDR変数としました)に格納することもできます。

f:id:guri2o1667:20210812134648p:plain




以上です。