Class: Manifold::API::TerraformGenerator
- Inherits:
-
Object
- Object
- Manifold::API::TerraformGenerator
- Defined in:
- lib/manifold/api/workspace.rb
Overview
Handles terraform configuration generation
Instance Attribute Summary collapse
-
#manifold_config ⇒ Object
Returns the value of attribute manifold_config.
Instance Method Summary collapse
- #generate(path) ⇒ Object
-
#initialize(name, vectors, vector_service, manifold_yaml) ⇒ TerraformGenerator
constructor
A new instance of TerraformGenerator.
Constructor Details
#initialize(name, vectors, vector_service, manifold_yaml) ⇒ TerraformGenerator
Returns a new instance of TerraformGenerator.
9 10 11 12 13 14 |
# File 'lib/manifold/api/workspace.rb', line 9 def initialize(name, vectors, vector_service, manifold_yaml) @name = name @vectors = vectors @vector_service = vector_service @manifold_yaml = manifold_yaml end |
Instance Attribute Details
#manifold_config ⇒ Object
Returns the value of attribute manifold_config.
7 8 9 |
# File 'lib/manifold/api/workspace.rb', line 7 def manifold_config @manifold_config end |
Instance Method Details
#generate(path) ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/manifold/api/workspace.rb', line 16 def generate(path) config = Terraform::WorkspaceConfiguration.new(@name) @vectors.each do |vector| vector_config = @vector_service.load_vector_config(vector) config.add_vector(vector_config) end config.dimensions_config = @manifold_yaml["dimensions"]&.fetch("merge", nil) if @manifold_yaml["dimensions"] config.manifold_config = @manifold_yaml config.write(path) end |