Class: CloudMonkey::CMHelper
- Inherits:
-
Object
- Object
- CloudMonkey::CMHelper
- Defined in:
- lib/cm.rb
Overview
For functions that require execution of many commands, or for unwrapping lists that Cloudmonkey returns.
Instance Method Summary collapse
-
#delete_network_service_provider(name, iface_id) ⇒ Object
Delete a network service provider by name and physical network ID.
-
#enable_custom_vrouter_provider(provider, iface_id, zone_id) ⇒ Object
Enable a custom virtual router-derived network service provider.
-
#initialize(cm) ⇒ CMHelper
constructor
cm is a CMClient.
-
#list_physical_network(name) ⇒ Object
Return a single network by name.
-
#list_zone(name) ⇒ Object
Return a single zone by name.
Constructor Details
#initialize(cm) ⇒ CMHelper
cm is a CMClient
179 180 181 |
# File 'lib/cm.rb', line 179 def initialize(cm) @cm = cm end |
Instance Method Details
#delete_network_service_provider(name, iface_id) ⇒ Object
Delete a network service provider by name and physical network ID.
213 214 215 216 217 218 219 220 221 |
# File 'lib/cm.rb', line 213 def delete_network_service_provider(name, iface_id) nsps = @cm.list_networkserviceproviders(:name => name, :phsyicalnetworkid => iface_id) if nsps[:count] > 0 nsp = nsps[:networkserviceprovider][0] @cm.delete_networkserviceprovider(:id => nsp[:id]) else return false end end |
#enable_custom_vrouter_provider(provider, iface_id, zone_id) ⇒ Object
Enable a custom virtual router-derived network service provider. The provider will provide everything a VirtualRouter provides, but using itself instead of the regular VirtualRouter.
202 203 204 205 206 207 208 209 210 |
# File 'lib/cm.rb', line 202 def enable_custom_vrouter_provider(provider, iface_id, zone_id) nsp = @cm.add_networkserviceprovider(:name => provider, :physicalnetworkid => iface_id) nsp = nsp[:networkserviceprovider] element = @cm.create_virtualrouterelement(:nspid => nsp[:id])[:virtualrouterelement] @cm.configure_virtualrouterelement(:enabled => true, :id => element[:id]) new_nsp = @cm.update_networkserviceprovider(:state => 'Enabled', :id => nsp[:id]) return new_nsp[:networkserviceprovider] end |
#list_physical_network(name) ⇒ Object
Return a single network by name.
184 185 186 187 188 189 |
# File 'lib/cm.rb', line 184 def list_physical_network(name) networks = @cm.list_physicalnetworks(:name => name) unless networks.nil? return networks[:physicalnetwork][0] if networks[:count] > 0 end end |
#list_zone(name) ⇒ Object
Return a single zone by name.
192 193 194 195 196 197 |
# File 'lib/cm.rb', line 192 def list_zone(name) zones = @cm.list_zones(:name => name) unless zones.nil? return zones[:zone][0] if zones[:count] > 0 end end |