Module: GClouder::Resources::Region
- Includes:
- Config::CLIArgs, Config::Project, Helpers, Logging, Local
- Defined in:
- lib/gclouder/resources.rb
Class Method Summary collapse
Methods included from Local
Methods included from Config::CLIArgs
check, #cli_args, cli_args, included, load, valid_resources
Methods included from Config::Project
Methods included from Helpers
#hash_to_args, included, #module_exists?, #to_arg, #to_deep_merge_hash, #valid_json?
Methods included from Logging
#add, #bad, #change, #debug, #error, #fatal, #good, included, #info, log, loggers, #remove, report, #resource_state, setup, #warn, #warning
Class Method Details
.instances(path: []) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/gclouder/resources.rb', line 43 def self.instances(path: []) return {} unless project.key?("regions") data = project["regions"].each_with_object({}) do |(region, region_config), instances| instances[region] ||= [] data = get_section(region_config, path, silent: true) data.each do |instance| if GClouder::Config::Defaults.section?(path) defaults = to_deep_merge_hash(GClouder::Config::Defaults.section(path)) instance = defaults.deep_merge(instance) end instances[region] << instance end end data.delete_if { |_k, v| v.empty? } end |