class Terraspace::Builder::Allow

Public Class Methods

new(mod) click to toggle source
# File lib/terraspace/builder/allow.rb, line 3
def initialize(mod)
  @mod = mod
end

Public Instance Methods

check!() click to toggle source
# File lib/terraspace/builder/allow.rb, line 7
def check!
  messages = []
  unless env_allowed?
    messages << "This env is not allowed to be used: TS_ENV=#{Terraspace.env}"
    messages << "Allowed envs: #{config.allow.envs.join(', ')}"
  end
  unless region_allowed?
    messages << "This region is not allowed to be used: Detected current region=#{current_region}"
    messages << "Allowed regions: #{config.allow.regions.join(', ')}"
  end
  unless messages.empty?
    puts "ERROR: The configs do not allow this.".color(:red)
    puts messages
    exit 1
  end
end
config() click to toggle source
# File lib/terraspace/builder/allow.rb, line 39
def config
  Terraspace.config
end
current_region() click to toggle source
# File lib/terraspace/builder/allow.rb, line 34
def current_region
  expander = Terraspace::Compiler::Expander.autodetect(@mod).expander
  expander.region
end
env_allowed?() click to toggle source
# File lib/terraspace/builder/allow.rb, line 24
def env_allowed?
  return true unless config.allow.envs
  config.allow.envs.include?(Terraspace.env)
end
region_allowed?() click to toggle source
# File lib/terraspace/builder/allow.rb, line 29
def region_allowed?
  return true unless config.allow.regions
  config.allow.regions.include?(current_region)
end