Class: Fog::Compute::Google::Image
- Inherits:
-
Model
- Object
- Model
- Fog::Compute::Google::Image
- Defined in:
- lib/fog/google/models/compute/image.rb
Constant Summary collapse
- READY_STATE =
"READY"
Instance Method Summary collapse
- #destroy(async = true) ⇒ Object
- #preferred_kernel ⇒ Object
- #preferred_kernel=(args) ⇒ Object
- #ready? ⇒ Boolean
- #reload ⇒ Object
- #resource_url ⇒ Object
- #save ⇒ Object
Instance Method Details
#destroy(async = true) ⇒ Object
49 50 51 52 53 54 55 56 |
# File 'lib/fog/google/models/compute/image.rb', line 49 def destroy(async=true) data = service.delete_image(name) operation = Fog::Compute::Google::Operations.new(:service => service).get(data.body['name']) unless async operation.wait_for { ready? } end operation end |
#preferred_kernel ⇒ Object
38 39 40 41 |
# File 'lib/fog/google/models/compute/image.rb', line 38 def preferred_kernel Fog::Logger.deprecation("preferred_kernel is no longer used [light_black](#{caller.first})[/]") nil end |
#preferred_kernel=(args) ⇒ Object
34 35 36 |
# File 'lib/fog/google/models/compute/image.rb', line 34 def preferred_kernel=(args) Fog::Logger.deprecation("preferred_kernel= is no longer used [light_black](#{caller.first})[/]") end |
#ready? ⇒ Boolean
45 46 47 |
# File 'lib/fog/google/models/compute/image.rb', line 45 def ready? self.status == READY_STATE end |
#reload ⇒ Object
58 59 60 61 62 63 64 65 66 |
# File 'lib/fog/google/models/compute/image.rb', line 58 def reload requires :name self.project = self.service.project data = service.get_image(name, self.project).body self.merge_attributes(data) self end |
#resource_url ⇒ Object
83 84 85 |
# File 'lib/fog/google/models/compute/image.rb', line 83 def resource_url "#{self.project}/global/images/#{name}" end |
#save ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/fog/google/models/compute/image.rb', line 68 def save requires :name requires :raw_disk = { 'rawDisk' => raw_disk, 'description' => description, } data = service.insert_image(name, ) operation = Fog::Compute::Google::Operations.new(:service => service).get(data.body['name']) operation.wait_for { !pending? } reload end |