Sha256: 76a84f0a40d1c695f435752774e05f3702547921d4cf6eb576c1622bd71d0aa6

Contents?: true

Size: 1.09 KB

Versions: 38

Compression:

Stored size: 1.09 KB

Contents

class Terraspace::Builder
  class Allow
    def initialize(mod)
      @mod = mod
    end

    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

    def env_allowed?
      return true unless config.allow.envs
      config.allow.envs.include?(Terraspace.env)
    end

    def region_allowed?
      return true unless config.allow.regions
      config.allow.regions.include?(current_region)
    end

    def current_region
      expander = Terraspace::Compiler::Expander.autodetect(@mod).expander
      expander.region
    end

    def config
      Terraspace.config
    end
  end
end

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
terraspace-1.0.4 lib/terraspace/builder/allow.rb
terraspace-1.0.3 lib/terraspace/builder/allow.rb
terraspace-1.0.2 lib/terraspace/builder/allow.rb
terraspace-1.0.1 lib/terraspace/builder/allow.rb
terraspace-1.0.0 lib/terraspace/builder/allow.rb
terraspace-0.7.2 lib/terraspace/builder/allow.rb
terraspace-0.7.1 lib/terraspace/builder/allow.rb
terraspace-0.7.0 lib/terraspace/builder/allow.rb
terraspace-0.6.23 lib/terraspace/builder/allow.rb
terraspace-0.6.22 lib/terraspace/builder/allow.rb
terraspace-0.6.21 lib/terraspace/builder/allow.rb
terraspace-0.6.20 lib/terraspace/builder/allow.rb
terraspace-0.6.19 lib/terraspace/builder/allow.rb
terraspace-0.6.18 lib/terraspace/builder/allow.rb
terraspace-0.6.17 lib/terraspace/builder/allow.rb
terraspace-0.6.16 lib/terraspace/builder/allow.rb
terraspace-0.6.15 lib/terraspace/builder/allow.rb
terraspace-0.6.13 lib/terraspace/builder/allow.rb
terraspace-0.6.12 lib/terraspace/builder/allow.rb
terraspace-0.6.11 lib/terraspace/builder/allow.rb