Amazon.EC2.Model.Filter 逆向搜索
Amazon.EC2.Model.Filter inverse search
我正在尝试获取所有 不 在名为 Name 的标签的值中包含单词 "public" 的 NACL。
我在这个页面上看到 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html 可以执行反向搜索。
但是,我尝试的一切都失败了。
例如,
我声明对象和标签:
$inverseNameFilter = new-object Amazon.EC2.Model.Filter
$inverseNameFilter.name = 'tag:Name'
然后这些是我收到的结果,对于我尝试过的各种方法:
$inverseNameFilter.Value = '!public'
(Get-EC2NetworkAcl -region $region -filter $inverseNameFilter).count
结果:0
$inverseNameFilter.Value = '!*public*'
(Get-EC2NetworkAcl -region $region -filter $inverseNameFilter).count
结果:0
$inverseNameFilter.Value = '*public*'
(Get-EC2NetworkAcl -region $region -filter $inverseNameFilter).count
结果:3
(所以显然有三个名称标签包含 public 的 NACL)
(Get-EC2NetworkAcl -region $region).count
结果:18
(所以这个地区显然有18个NACL)
如何进行逆向搜索以找到不包含单词 "public" 的 15 个 NACL?
看起来过滤器实际上并不支持否定(参见 Mathias R. Jessen 的评论)
但是,我找到了一种使用此 PowerShell 过滤而不是 AWS 过滤来排除结果的方法。这意味着处理发生在客户端而不是 AWS,但给了我足够的结果:
(Get-EC2NetworkAcl -region $region | Where-Object -FilterScript { ([string]$_.tags.Value) -notmatch "public"}).count
15
我正在尝试获取所有 不 在名为 Name 的标签的值中包含单词 "public" 的 NACL。
我在这个页面上看到 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html 可以执行反向搜索。
但是,我尝试的一切都失败了。
例如, 我声明对象和标签:
$inverseNameFilter = new-object Amazon.EC2.Model.Filter
$inverseNameFilter.name = 'tag:Name'
然后这些是我收到的结果,对于我尝试过的各种方法:
$inverseNameFilter.Value = '!public'
(Get-EC2NetworkAcl -region $region -filter $inverseNameFilter).count
结果:0
$inverseNameFilter.Value = '!*public*'
(Get-EC2NetworkAcl -region $region -filter $inverseNameFilter).count
结果:0
$inverseNameFilter.Value = '*public*'
(Get-EC2NetworkAcl -region $region -filter $inverseNameFilter).count
结果:3 (所以显然有三个名称标签包含 public 的 NACL)
(Get-EC2NetworkAcl -region $region).count
结果:18 (所以这个地区显然有18个NACL)
如何进行逆向搜索以找到不包含单词 "public" 的 15 个 NACL?
看起来过滤器实际上并不支持否定(参见 Mathias R. Jessen 的评论)
但是,我找到了一种使用此 PowerShell 过滤而不是 AWS 过滤来排除结果的方法。这意味着处理发生在客户端而不是 AWS,但给了我足够的结果:
(Get-EC2NetworkAcl -region $region | Where-Object -FilterScript { ([string]$_.tags.Value) -notmatch "public"}).count
15