【问题标题】:Check if Array exists in OPA检查OPA中是否存在Array
【发布时间】:2023-01-24 02:14:08
【问题描述】:

我正在努力编写一个应该检查数组元素但数组本身是可选的策略。

{
  "load_balancer":[{
     "target_group_arn":true
     }]
 }
     
deny[message] {
 message := "Target ARN is missing"
 lb:= [rule | rule:= input.load_balancer[_] ; rule.target_group_arn ]
 ????
}

我不确定我该如何继续。如果我简单地说 count(lb) > 0 ,当数组未定义时,它是一个空数组。当每个 load_balancer 都有 target_group_arn 时,空数组也是可能的。

我应该如何进行?

谢谢

【问题讨论】:

    标签: opa


    【解决方案1】:

    我能够解决它。谢谢。

    package play
    
    import future.keywords.in
    
    deny[message] {
        not input.load_balancer
    
        message := "load balancer list missing from input"
    }
    
    deny[message] {
        
        some l in input.load_balancer
        not l.target_group_arn
        
        message := "load balancer list item missing arn"
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-18
      • 1970-01-01
      • 2013-12-08
      • 1970-01-01
      • 2019-07-19
      • 2017-11-20
      • 2016-11-19
      • 1970-01-01
      相关资源
      最近更新 更多