diff --git a/cloud-init-vm.yaml.tftpl b/cloud-init-vm.yaml.tftpl index e0a25a9..0738456 100644 --- a/cloud-init-vm.yaml.tftpl +++ b/cloud-init-vm.yaml.tftpl @@ -11,7 +11,12 @@ packages: users: %{ for u in each.value.extra_users } - name: ${u.name} - groups: [${join(", ", u.groups)}] + groups: +%{ if length(u.groups) > 0 } +%{ for g in u.groups } + - ${g} +%{ endfor } +%{ endif } shell: /bin/bash sudo: ALL=(ALL) NOPASSWD:ALL %{ endfor } @@ -19,7 +24,7 @@ users: chpasswd: list: %{ for u in each.value.extra_users } - ${u.name}:${u.password} + - ${u.name}:${u.password} %{ endfor } expire: false %{ endif } diff --git a/merge_yaml.py b/merge_yaml.py index a7c1d81..dc1f033 100644 --- a/merge_yaml.py +++ b/merge_yaml.py @@ -40,8 +40,16 @@ def main(): raise e - merged = deep_merge_yaml(yaml1, yaml2) - print(json.dumps({"merged_yaml": yaml.dump(merged, sort_keys=False)})) + merged = deep_merge_yaml(yaml1, yaml2) + print(json.dumps({ + "merged_yaml": yaml.dump( + merged, + sort_keys=False, + default_flow_style=False, + indent=2 + ) + })) + if __name__ == "__main__": main()