Class: Fog::Compute::VirtualBox::NATRedirect
- Defined in:
- lib/rackspace-fog/virtual_box/models/compute/nat_redirect.rb
Instance Attribute Summary collapse
-
#machine ⇒ Object
Returns the value of attribute machine.
-
#nat_engine ⇒ Object
Returns the value of attribute nat_engine.
Attributes inherited from Model
Instance Method Summary collapse
- #destroy ⇒ Object
-
#initialize(attributes = {}) ⇒ NATRedirect
constructor
A new instance of NATRedirect.
- #protocol=(new_protocol) ⇒ Object
- #save ⇒ Object
Methods inherited from Model
#inspect, #reload, #symbolize_keys, #to_json, #wait_for
Methods included from Attributes::ClassMethods
#_load, #aliases, #attribute, #attributes, #identity, #ignore_attributes, #ignored_attributes
Methods included from Attributes::InstanceMethods
#_dump, #attributes, #dup, #identity, #identity=, #merge_attributes, #new_record?, #requires, #requires_one
Constructor Details
#initialize(attributes = {}) ⇒ NATRedirect
Returns a new instance of NATRedirect.
31 32 33 34 35 36 37 |
# File 'lib/rackspace-fog/virtual_box/models/compute/nat_redirect.rb', line 31 def initialize(attributes = {}) self.name = '' self.protocol = :tcp self.host_ip = '' self.guest_ip = '' super end |
Instance Attribute Details
#machine ⇒ Object
Returns the value of attribute machine.
18 19 20 |
# File 'lib/rackspace-fog/virtual_box/models/compute/nat_redirect.rb', line 18 def machine @machine end |
#nat_engine ⇒ Object
Returns the value of attribute nat_engine.
18 19 20 |
# File 'lib/rackspace-fog/virtual_box/models/compute/nat_redirect.rb', line 18 def nat_engine @nat_engine end |
Instance Method Details
#destroy ⇒ Object
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/rackspace-fog/virtual_box/models/compute/nat_redirect.rb', line 20 def destroy requires :nat_engine, :name with_session do |session| raw_network_adapter = session.machine.get_network_adapter(nat_engine.network_adapter.slot) raw_nat_engine = raw_network_adapter.nat_driver raw_nat_engine.remove_redirect(name) session.machine.save_settings end true end |
#protocol=(new_protocol) ⇒ Object
40 41 42 43 44 45 46 47 48 49 |
# File 'lib/rackspace-fog/virtual_box/models/compute/nat_redirect.rb', line 40 def protocol=(new_protocol) attributes[:protocol] = case new_protocol when '0' :udp when '1' :tcp else new_protocol end end |
#save ⇒ Object
51 52 53 54 55 56 57 58 59 60 |
# File 'lib/rackspace-fog/virtual_box/models/compute/nat_redirect.rb', line 51 def save requires :nat_engine, :name, :protocol, :host_ip, :host_port, :guest_ip, :guest_port with_session do |session| raw_network_adapter = session.machine.get_network_adapter(nat_engine.network_adapter.slot) raw_nat_engine = raw_network_adapter.nat_driver raw_nat_engine.add_redirect(name, protocol, host_ip, host_port, guest_ip, guest_port) session.machine.save_settings end true end |