Currently, write_files does not create parent directories, and runcmd cannot be used here, since those scripts run after the files have been written. The only solution is to create the files in an existing directory, such as /root or /tmp, and then move those files using runcmd, but this is cumbersome when there are many files, even if they are small.
With this change, nuageinit now creates the parent directories for each file using the path field, which mimics the same behavior as in cloud-init.
Permissions and ownership can also be configured using runcmd.