Sha256: 6863da71dfc45b9503aeca8e8ed629fb5e1fe1be44b8b359b9beb2ff2ae79935
Contents?: true
Size: 1.28 KB
Versions: 15
Compression:
Stored size: 1.28 KB
Contents
module Fog module Compute class Google class DiskTypes < Fog::Collection model Fog::Compute::Google::DiskType 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_disk_types(zone, opts).items else data = [] service.list_aggregated_disk_types(opts).items.each_value do |scoped_lst| data.concat(scoped_lst.disk_types) if scoped_lst && scoped_lst.disk_types end end load(data.map(&:to_h)) end def get(identity, zone = nil) response = nil if zone response = service.get_disk_type(identity, zone).to_h else disk_types = all(:filter => "name eq .*#{identity}") response = disk_types.first.attributes unless disk_types.empty? end return nil if response.nil? new(response) rescue ::Google::Apis::ClientError => e raise e unless e.status_code == 404 nil end end end end end
Version data entries
15 entries across 15 versions & 1 rubygems