Class: Bosh::Providers::BaseProvider
- Inherits:
-
Object
- Object
- Bosh::Providers::BaseProvider
- Defined in:
- lib/bosh/providers/base_provider.rb
Instance Attribute Summary collapse
-
#fog_compute ⇒ Object
readonly
Returns the value of attribute fog_compute.
Instance Method Summary collapse
- #create_key_pair(key_pair_name) ⇒ Object
- #delete_key_pair_if_exists(key_pair_name) ⇒ Object
-
#extract_port_definition(port_defn) ⇒ Object
Any of the following
port_defn
can be used: { ssh: 22, http: { ports: (80..82) }, mosh: { protocol: “udp”, ports: (60000..60050) } mosh: { protocol: “rdp”, ports: (3398..3398), ip_range: “196.212.12.34/32” } } In this example, * TCP 22 will be opened for ssh from any ip_range, * TCP ports 80, 81, 82 for http from any ip_range, * UDP 60000 -> 60050 for mosh from any ip_range and * TCP 3398 for RDP from ip range: 96.212.12.34/32. -
#initialize(fog_compute) ⇒ BaseProvider
constructor
A new instance of BaseProvider.
Constructor Details
#initialize(fog_compute) ⇒ BaseProvider
Returns a new instance of BaseProvider.
8 9 10 |
# File 'lib/bosh/providers/base_provider.rb', line 8 def initialize(fog_compute) @fog_compute = fog_compute end |
Instance Attribute Details
#fog_compute ⇒ Object (readonly)
Returns the value of attribute fog_compute.
6 7 8 |
# File 'lib/bosh/providers/base_provider.rb', line 6 def fog_compute @fog_compute end |
Instance Method Details
#create_key_pair(key_pair_name) ⇒ Object
12 13 14 |
# File 'lib/bosh/providers/base_provider.rb', line 12 def create_key_pair(key_pair_name) fog_compute.key_pairs.create(:name => key_pair_name) end |
#delete_key_pair_if_exists(key_pair_name) ⇒ Object
16 17 18 19 20 |
# File 'lib/bosh/providers/base_provider.rb', line 16 def delete_key_pair_if_exists(key_pair_name) if fog_key_pair = fog_compute.key_pairs.get(key_pair_name) fog_key_pair.destroy end end |
#extract_port_definition(port_defn) ⇒ Object
Any of the following port_defn
can be used: {
ssh: 22,
http: { ports: (80..82) },
mosh: { protocol: "udp", ports: (60000..60050) }
mosh: { protocol: "rdp", ports: (3398..3398), ip_range: "196.212.12.34/32" }
} In this example,
* TCP 22 will be opened for ssh from any ip_range,
* TCP ports 80, 81, 82 for http from any ip_range,
* UDP 60000 -> 60050 for mosh from any ip_range and
* TCP 3398 for RDP from ip range: 96.212.12.34/32
34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/bosh/providers/base_provider.rb', line 34 def extract_port_definition(port_defn) protocol = "tcp" ip_range = "0.0.0.0/0" if port_defn.is_a? Integer port_range = (port_defn..port_defn) elsif port_defn.is_a? Range port_range = port_defn elsif port_defn.is_a? Hash protocol = port_defn[:protocol] if port_defn[:protocol] port_range = port_defn[:ports] if port_defn[:ports] ip_range = port_defn[:ip_range] if port_defn[:ip_range] end [protocol, port_range, ip_range] end |