AWSのCloudFormationテンプレートをjqを使用して、特定のkeyのvalueを取得したいです。
Cfnの特徴で、Resources内に、複数のkey(下記の例では「MyEC2Instance1」と「MyEC2Instance2」)
名でリソースを定義しているのですが、このように、検索対象の構造はほぼ決定しているものの、途中で可変Key名が登場する場合にjqで検索することは可能でしょうか
cat sample.json | jq .Resources..Type
例えばなどを用いて、下記のサンプルのjsonから
"AWS::EC2::Instance" "AWS::EC2::Instance"
のような結果を取得したいです。
[sample.json] { "AWSTemplateFormatVersion": "2010-09-09", "Description": "A sample template", "Resources": { "MyEC2Instance1": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": "ami-0ff8a91507f77f867", "InstanceType": "t2.micro", "KeyName": "testkey", "BlockDeviceMappings": [ { "DeviceName": "/dev/sdm", "Ebs": { "VolumeType": "io1", "Iops": 200, "DeleteOnTermination": false, "VolumeSize": 20 } } ] } }, "MyEC2Instance2": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": "ami-0ff8a91507f77f867", "InstanceType": "t2.micro", "KeyName": "testkey", "BlockDeviceMappings": [ { "DeviceName": "/dev/sdm", "Ebs": { "VolumeType": "io1", "Iops": 200, "DeleteOnTermination": false, "VolumeSize": 20 } } ] } } } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。