Module: Fhcap::ProvidersHelper
- Included in:
- Route53Helper, S3Helper, 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
35 36 37 38 |
# File 'lib/fhcap/providers_helper.rb', line 35 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 25 |
# File 'lib/fhcap/providers_helper.rb', line 21 def provider_config(id) provider_type, provider_id = id.split(':') return {} if provider_type == 'ssh' providers_config[provider_type.to_sym][provider_id.to_sym] end |
#provider_credentials(id) ⇒ Object
27 28 29 |
# File 'lib/fhcap/providers_helper.rb', line 27 def provider_credentials(id) provider_config(id)[:credentials] end |
#provider_for(domain) ⇒ Object
50 51 52 53 54 55 56 57 58 |
# File 'lib/fhcap/providers_helper.rb', line 50 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
40 41 42 43 44 45 46 47 48 |
# File 'lib/fhcap/providers_helper.rb', line 40 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
31 32 33 |
# File 'lib/fhcap/providers_helper.rb', line 31 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 |