in rostran/providers/terraform/template_blocks.py [0:0]
def render(self, indent=0):
space = " " * indent
indent += 2
labels = " ".join(str(label) for label in self.labels)
label_space = " " if self.labels else ""
newline = ""
args = ""
if self.arguments:
newline = "\n" if self.arguments else ""
indent_spacing = " " * indent
block_args = []
comment_args = []
json_args = []
common_args = []
specific_args = []
for name, value in self.arguments.items():
if self.block_type == "resource" and name == "count":
specific_args.append(f"{indent_spacing}{name} = {value.render(indent)}")
continue
if isinstance(value, Block):
block_args.append(value.render(indent))
elif isinstance(value, CommentType):
comment_args.append(value.render(indent))
elif isinstance(value, JsonType):
json_args.append(f"{indent_spacing}{name} = {value.render(indent)}")
elif isinstance(value, TerraformType):
common_args.append(f"{indent_spacing}{name} = {value.render(indent)}")
else:
common_args.append(f"{indent_spacing}{name} = {value}")
all_args = specific_args + comment_args + common_args + json_args + block_args
args = "\n".join(all_args)
return f"{space}{self.block_type}{label_space}{labels} {{{newline}{args}{newline}{space}}}"