今回はawscliでよく使うfilters/query/outputオプションについてです。
■filtersオプションについて
awscliコマンドの出力結果を束で絞り込みます。
「束」と記載しているのは、
AWSリソースが複数存在する場合(例えば、VPCが2つ存在する場合)には、
filtersオプションを利用すると、2つのうちの1つの情報がまとめて(CidrBlockやVpcId、IsDefault等のすべての情報が)出力されます。
例えば、以下の通りVPCが2つ存在するとします。(CidrBlockが区切りの最初です。)
この際、2つ目のVPC(CidrBlockが10.0.0.0/16)のみを出力させるには、
以下の通り実行します。
※見やすいように改行してます。
結果は以下の通り、10.0.0.0/16のVPC情報が出力されました。
ただ、例えばですが、10.0.0.0/16のみを取得したい場合もあるかと思います。
※文字列としてCIDR情報を変数に格納したい、等
その場合には、queryオプションを使います。
■queryオプションについて
awscliコマンドのうち、特定項目のみを出力します。
CIDR情報のみを出力したい時には、以下コマンドを実行します。
上記の通り、VPCが2つあるときにはCIDR情報が2つ表示されます。
そのため、特定のVPCにおけるCIDR情報を出力させたい場合には、filterオプションも利用します。
ただ、このままだと[]部分とダブルクォーテーションが邪魔なので、
こういうときにはoutputオプションを使います。
■outputオプションについて
filter/queryオプションの結果形式を変更することができます。
以下の通りoutput=textを指定するとテキスト情報として取得することができます。
なので、以下の通り変数(ここでは、CIDR変数としました)に格納することもできます。
以上です。