Sha256: 73e8e1b893ec6c8ceb0a720a26b0039fb4804b966b89cd1628356a9a61d601e2
Contents?: true
Size: 1.42 KB
Versions: 11
Compression:
Stored size: 1.42 KB
Contents
module Fog module Compute class Google class TargetInstances < Fog::Collection model Fog::Compute::Google::TargetInstance def all(zone: nil, filter: nil, max_results: nil, order_by: nil, page_token: nil) opts = { :filter => filter, :max_results => max_results, :order_by => order_by, :page_token => page_token } if zone data = service.list_target_instances(zone, **opts).to_h[:items] || [] else data = [] service.list_aggregated_target_instances(**opts).items.each_value do |scoped_list| unless scoped_list.nil? || scoped_list.target_instances.nil? data += scoped_list.target_instances.map(&:to_h) end end end load(data) end def get(identity, zone = nil) if zone target_instance = service.get_target_instance(target_instance, zone).to_h return new(target_instance) elsif identity response = all(:filter => "name eq #{identity}", :max_results => 1) target_instance = response.first unless response.empty? return target_instance end rescue ::Google::Apis::ClientError => e raise e unless e.status_code == 404 nil end end end end end
Version data entries
11 entries across 11 versions & 1 rubygems