查找未分配的弹性 IP
Find unassigned Elastic IPs
我正在尝试使用 Fog 查找所有未分配的弹性 IP,但 Fog::Compute::AWS::Addresses
中的过滤似乎不允许您过滤空值。
例如,
ips = Fog::Compute.new(credentials).addresses.all('domain' => 'vpc', 'instance-id' => '')
returns 一个空数组,但是
ips = Fog::Compute.new(credentials).addresses.all('domain' => 'vpc').find_all {|eip| eip.server.nil? }
结果在我正在寻找的列表中。但是,我们有大量的弹性IP,后一种方法非常慢。
有什么方法可以在 Fog 中过滤空值吗?或者也许是一种更有效的方式来梳理结果以获得我正在寻找的列表?
我找不到我的问题的确切答案,但我找到了一种更快的方法来完成我的任务。 eip.server
将触发 Fog 尝试查找服务器资源,因此如果您可以使用 eip.server_id
来获得更快的结果。即,
ips = Fog::Compute.new(credentials).addresses.all('domain' => 'vpc').find_all {|eip| eip.server_id.nil? }
我正在尝试使用 Fog 查找所有未分配的弹性 IP,但 Fog::Compute::AWS::Addresses
中的过滤似乎不允许您过滤空值。
例如,
ips = Fog::Compute.new(credentials).addresses.all('domain' => 'vpc', 'instance-id' => '')
returns 一个空数组,但是
ips = Fog::Compute.new(credentials).addresses.all('domain' => 'vpc').find_all {|eip| eip.server.nil? }
结果在我正在寻找的列表中。但是,我们有大量的弹性IP,后一种方法非常慢。
有什么方法可以在 Fog 中过滤空值吗?或者也许是一种更有效的方式来梳理结果以获得我正在寻找的列表?
我找不到我的问题的确切答案,但我找到了一种更快的方法来完成我的任务。 eip.server
将触发 Fog 尝试查找服务器资源,因此如果您可以使用 eip.server_id
来获得更快的结果。即,
ips = Fog::Compute.new(credentials).addresses.all('domain' => 'vpc').find_all {|eip| eip.server_id.nil? }