class Fog::Compute::Google::ResourceView
Constants
- RUNNING_STATE
Public Instance Methods
add_resources(resources)
click to toggle source
# File lib/fog/google/models/compute/resource_view.rb, line 77 def add_resources resources resources = [resources] unless resources.class == Array resources.map { |resource| resource.class == String ? resource : resource.self_link } if @zone then service.add_zone_view_resources(self, resources, @zone) end if @region then service.add_region_view_resources(self, reources, @region) end reload end
destroy(async=false)
click to toggle source
# File lib/fog/google/models/compute/resource_view.rb, line 55 def destroy(async=false) requires :name # parse the self link to get the zone or region selflink = self.self_link.split('/') if selflink[7]=='regions' then operation = service.delete_region_view(name, selflink[8]) end if selflink[7]== 'zones' then operation= service.delete_zone_view(name, selflink[8]) end if not async # wait until "DONE" to ensure the operation doesn't fail, raises # exception on error Fog.wait_for do operation.body == nil end end operation end
ready?()
click to toggle source
# File lib/fog/google/models/compute/resource_view.rb, line 89 def ready? begin if @zone then service.get_zone_view(self.name, @zone) end if @region then service.get_region_view(self.name, @region) end true rescue Fog::Errors::NotFound false end end
reload()
click to toggle source
# File lib/fog/google/models/compute/resource_view.rb, line 99 def reload requires :name return unless data = begin collection.get(name, region, zone) rescue Excon::Errors::SocketError nil end new_attributes = data.attributes merge_attributes(new_attributes) self end
save()
click to toggle source
# File lib/fog/google/models/compute/resource_view.rb, line 22 def save requires :name labels ||= [] members ||= [] if region then options = { 'description' => description, 'labels' => labels, 'lastModified' => last_modified, 'members' => members, 'numMembers' => num_members } @region = region data = service.insert_region_view(name, region, options).body operation = service.get_region_view(data['resource']['name'],nil, @region).body end if zone then options = { 'description' => description, 'labels' => labels, 'lastModified' => last_modified, 'members' => members, 'numMembers' => num_members } @zone = zone data = service.insert_zone_view(name, zone, options).body operation = service.get_zone_view(data['resource']['name'], @zone).body end reload end