[英]Using JQ to delete blocks from CloudFormation.template.json
我正在使用 jq(在 bash 上)從 json 模板中刪除塊。 通過使用 CloudFormation 模板中的“類型”元素,我目前正在刪除 50% 的內容:
jq '(del(.Resources | .[] | select(.Type=="AWS::CodePipeline::Pipeline")))' $fileName > newTemplate1.json
我還需要在 Type 塊之前刪除包含“cdkpipelinePipeline”的所有資源:
{ "developcdkpipelinePipeline": {
"Type": "AWS::CodePipeline::Pipeline",
"Properties": {
"RoleArn": {
"Fn::GetAtt": [
"developcdkpipelinePipelineRole",
"Arn"
]
}
}
},
"developcdkpipelinePipelineRole": {
"Type": "AWS::IAM::Role",
"Properties": {
"AssumeRolePolicyDocument": {
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": "codepipeline.amazonaws.com"
}
}
],
"Version": "2012-10-17"
},
"Tags": [
{
"Key": "Application",
"Value": "develop"
}
]
},
"DependsOn": [
"AuroraNestedStackAuroraNestedStackResource"
],
"Metadata": {
"aws:cdk:path": "develop-cicd-stack/develop-cdkpipeline/Pipeline/Role/Resource"
}
}
},
...
您對如何實現這一目標有任何線索嗎? 我基本上希望從我的模板中刪除這兩個塊。
謝謝你
您可以在管道中使用以下 jq 片段:
with_entries( select(.key|contains("cdkpipelinePipeline")|not) )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.