@@ -52,7 +52,6 @@ def int_lit(self, args: List) -> int:
5252 def expr_term (self , args : List ) -> Any :
5353 args = self .strip_new_line_tokens (args )
5454
55- #
5655 if args [0 ] == "true" :
5756 return True
5857 if args [0 ] == "false" :
@@ -140,7 +139,7 @@ def provider_function_call(self, args: List) -> str:
140139 return f"{ provider_func } ({ args_str } )"
141140
142141 def arguments (self , args : List ) -> List :
143- return args
142+ return self . process_nulls ( args )
144143
145144 @v_args (meta = True )
146145 def block (self , meta : Meta , args : List ) -> Dict :
@@ -170,16 +169,19 @@ def attribute(self, args: List) -> Attribute:
170169
171170 def conditional (self , args : List ) -> str :
172171 args = self .strip_new_line_tokens (args )
172+ args = self .process_nulls (args )
173173 return f"{ args [0 ]} ? { args [1 ]} : { args [2 ]} "
174174
175175 def binary_op (self , args : List ) -> str :
176176 return " " .join ([self .to_tf_inline (arg ) for arg in args ])
177177
178178 def unary_op (self , args : List ) -> str :
179+ args = self .process_nulls (args )
179180 return "" .join ([self .to_tf_inline (arg ) for arg in args ])
180181
181182 def binary_term (self , args : List ) -> str :
182183 args = self .strip_new_line_tokens (args )
184+ args = self .process_nulls (args )
183185 return " " .join ([self .to_tf_inline (arg ) for arg in args ])
184186
185187 def body (self , args : List ) -> Dict [str , List ]:
@@ -337,6 +339,9 @@ def process_escape_sequences(self, value: str) -> str:
337339 # for now, but this method can be extended in the future
338340 return value
339341
342+ def process_nulls (self , args : List ) -> List :
343+ return ["null" if arg is None else arg for arg in args ]
344+
340345 def to_tf_inline (self , value : Any ) -> str :
341346 """
342347 Converts complex objects (e.g.) dicts to an "inline" HCL syntax
0 commit comments