我正在嘗試編寫一個JQ過濾器,用於根據資源屬性從AWS cloudformation模板中過濾特定資源。使用JQ過濾cloudformation堆棧資源
例如,從以下的(縮短)cloudformation模板開始時:
{
"Resources": {
"vpc001": {
"Type": "AWS::EC2::VPC",
"Properties": {
"CidrBlock": "10.1.0.0/16",
"InstanceTenancy": "default",
"EnableDnsSupport": "true",
"EnableDnsHostnames": "true"
}
},
"ig001": {
"Type": "AWS::EC2::InternetGateway",
"Properties": {
"Tags": [
{
"Key": "Name",
"Value": "ig001"
}
]
}
}
}
}
我想構建JQ-濾波器使我能夠濾除基於(一個或多個)的特定資源的屬性字段。
例如:
用於type = 「AWS :: EC2 :: InternetGateway」 過濾時結果應該是
{
"Resources": {
"ig001": {
"Type": "AWS::EC2::InternetGateway",
"Properties": {
"Tags": [
{
"Key": "Name",
"Value": "ig001"
}
]
}
}
}
}
另外一個好處是能夠在「或過濾器'是價值的組合。 因爲這樣的「AWS :: EC2 :: InternetGateway」或「AWS :: EC2 :: VPC」過濾器應該產生原始文檔。
任何建議或見解將不勝感激。
Tx!
嘿!好答案!我在問自己如何產生像你展示的產出,並保持合理的複雜性。意思是保持數據結構不變,只是過濾。我真的很喜歡jq,但是恕我直言,它在很多現實世界的問題上變得複雜。 – hek2mgl
@ hek2mgl - 謝謝! jq當然有改進的餘地。爲什麼不參加https://github.com/stedolan/jq/issues的某些討論,特別是https://github.com/stedolan/jq/issues/1035? – peak
@peak:偉大的通用解決方案,我的問題!仍然在努力把握JQ的全部潛力,但這對我有很大的幫助。 –