Sha256: c8a0f69fad7d1a370139b059c834ed4f7709a9fb44ffee4e6cc20090cbca09c6
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 KB
Contents
# frozen_string_literal: true require_relative 'base' require_relative 'actions' module RSpec module Terraform module Helpers class Plan < Base include Actions::Validate include Actions::Clean include Actions::Init include Actions::Plan include Actions::Show include Actions::Remove def execute(overrides = {}, &) parameters = resolve_parameters(overrides, &) validate(parameters) clean(parameters) init(parameters) plan_file = plan(parameters) plan_contents = show(parameters, plan_file) remove(parameters, plan_file) parse(plan_contents) end private def required_parameters(execution_mode) { in_place: [:configuration_directory], isolated: %i[source_directory configuration_directory] }[execution_mode] || [] end def parse(plan_contents) RubyTerraform::Models::Plan.new( JSON.parse(plan_contents, symbolize_names: true) ) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rspec-terraform-0.5.0.pre.9 | lib/rspec/terraform/helpers/plan.rb |