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
172 173 174 |
# File 'lib/cm.rb', line 172 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.
206 207 208 209 210 211 212 213 214 |
# File 'lib/cm.rb', line 206 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.
195 196 197 198 199 200 201 202 203 |
# File 'lib/cm.rb', line 195 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.
177 178 179 180 181 182 |
# File 'lib/cm.rb', line 177 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.
185 186 187 188 189 190 |
# File 'lib/cm.rb', line 185 def list_zone(name) zones = @cm.list_zones(:name => name) unless zones.nil? return zones[:zone][0] if zones[:count] > 0 end end |