Class: Fog::Compute::Google::GlobalAddress
- Inherits:
-
Model
- Object
- Model
- Fog::Compute::Google::GlobalAddress
- Defined in:
- lib/fog/compute/google/models/global_address.rb
Overview
Represents an Address resource
Constant Summary collapse
- IN_USE_STATE =
"IN_USE".freeze
- RESERVED_STATE =
"RESERVED".freeze
Instance Method Summary collapse
- #destroy(async = true) ⇒ Object
- #in_use? ⇒ Boolean
- #reload ⇒ Object
- #save ⇒ Object
- #server ⇒ Object
- #server=(server) ⇒ Object
Instance Method Details
#destroy(async = true) ⇒ Object
43 44 45 46 47 48 49 50 |
# File 'lib/fog/compute/google/models/global_address.rb', line 43 def destroy(async = true) requires :identity data = service.delete_global_address(identity) operation = Fog::Compute::Google::Operations.new(:service => service).get(data.body["name"], nil) operation.wait_for { ready? } unless async operation end |
#in_use? ⇒ Boolean
60 61 62 |
# File 'lib/fog/compute/google/models/global_address.rb', line 60 def in_use? status == IN_USE_STATE end |
#reload ⇒ Object
52 53 54 55 56 57 58 |
# File 'lib/fog/compute/google/models/global_address.rb', line 52 def reload requires :identity data = collection.get(identity) merge_attributes(data.attributes) self end |
#save ⇒ Object
34 35 36 37 38 39 40 41 |
# File 'lib/fog/compute/google/models/global_address.rb', line 34 def save requires :identity data = service.insert_global_address(identity, attributes) operation = Fog::Compute::Google::Operations.new(:service => service).get(data.body["name"], nil) operation.wait_for { !pending? } reload end |
#server ⇒ Object
23 24 25 26 27 |
# File 'lib/fog/compute/google/models/global_address.rb', line 23 def server return nil if !in_use? || users.nil? || users.empty? service.servers.get(users.first.split("/")[-1]) end |
#server=(server) ⇒ Object
29 30 31 32 |
# File 'lib/fog/compute/google/models/global_address.rb', line 29 def server=(server) requires :identity server ? associate(server) : disassociate end |