1616import yaml
1717from deepmerge import Merger
1818
19- from .interpolation import InterpolationResolver , InterpolationValidator , SecretResolver
19+ from .interpolation import InterpolationResolver , InterpolationValidator , SecretResolver , DictIterator , replace_parent_working_directory
2020from .python_compat import iteritems , primitive_types , PY3
2121from .remote_state import S3TerraformRemoteStateRetriever
2222
@@ -168,6 +168,15 @@ def merge_yamls(values, yaml_content):
168168 else :
169169 values [key ] = value
170170
171+ @staticmethod
172+ def resolve_simple_interpolations (data , current_yaml_file ):
173+
174+ directory = os .path .dirname (current_yaml_file )
175+ directory = os .path .join (os .getcwd (), directory )
176+
177+ looper = DictIterator ()
178+ looper .loop_all_items (data , lambda value : replace_parent_working_directory (value , directory ))
179+
171180 def generate_hierarchy (self ):
172181 """
173182 the method will go through the hierarchy of directories and create an ordered list of directories to be used
@@ -189,6 +198,7 @@ def process_hierarchy(self):
189198 for yaml_file in yaml_files :
190199 yaml_content = self .yaml_get_content (yaml_file )
191200 self .merge_yamls (merged_values , yaml_content )
201+ self .resolve_simple_interpolations (merged_values , yaml_file )
192202 self .generated_data = merged_values
193203
194204 def get_values_from_dir_path (self ):
0 commit comments