Module: Fhcap::ProvidersHelper
- Included in:
- Route53Helper, Tasks::TaskBase, ThorBase
- Defined in:
- lib/fhcap/providers_helper.rb
Instance Method Summary collapse
- #provider_availability_zones(id, region) ⇒ Object
- #provider_config(id) ⇒ Object
- #provider_credentials(id) ⇒ Object
- #provider_for(domain) ⇒ Object
- #provider_names ⇒ Object
- #provider_names_for(service) ⇒ Object
- #provider_regions(id) ⇒ Object
- #provider_type(id) ⇒ Object
- #providers_config ⇒ Object
Instance Method Details
#provider_availability_zones(id, region) ⇒ Object
34 35 36 37 |
# File 'lib/fhcap/providers_helper.rb', line 34 def provider_availability_zones(id, region) return [] unless region && provider_regions(id)[region.to_sym] provider_regions(id)[region.to_sym][:availability_zones] || [] end |
#provider_config(id) ⇒ Object
21 22 23 24 |
# File 'lib/fhcap/providers_helper.rb', line 21 def provider_config(id) provider_type, provider_id = id.split(':') providers_config[provider_type.to_sym][provider_id.to_sym] end |
#provider_credentials(id) ⇒ Object
26 27 28 |
# File 'lib/fhcap/providers_helper.rb', line 26 def provider_credentials(id) provider_config(id)[:credentials] end |
#provider_for(domain) ⇒ Object
49 50 51 52 53 54 55 56 57 |
# File 'lib/fhcap/providers_helper.rb', line 49 def provider_for(domain) providers_config.collect do |provider, cfg| cfg.reject do |id, pcfg| !pcfg[:provides] || !pcfg[:provides].include?('dns') || !pcfg[:domains].include?(domain) end.collect do |id, pcfg| "#{provider}:#{id}" end end.flatten.first end |
#provider_names ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/fhcap/providers_helper.rb', line 8 def provider_names providers_config.collect do |provider, cfg| cfg.collect do |id, pcfg| "#{provider}:#{id}" end end.flatten end |
#provider_names_for(service) ⇒ Object
39 40 41 42 43 44 45 46 47 |
# File 'lib/fhcap/providers_helper.rb', line 39 def provider_names_for(service) providers_config.collect do |provider, cfg| cfg.reject do |id, pcfg| !pcfg[:provides] || !pcfg[:provides].include?(service) end.collect do |id, pcfg| "#{provider}:#{id}" end end.flatten end |
#provider_regions(id) ⇒ Object
30 31 32 |
# File 'lib/fhcap/providers_helper.rb', line 30 def provider_regions(id) provider_config(id)[:regions] || {} end |
#provider_type(id) ⇒ Object
16 17 18 19 |
# File 'lib/fhcap/providers_helper.rb', line 16 def provider_type(id) provider_type, provider_id = id.split(':') provider_type end |
#providers_config ⇒ Object
4 5 6 |
# File 'lib/fhcap/providers_helper.rb', line 4 def providers_config config.exists? && config[:providers] ? config[:providers] : {} end |