# # Write various file types # # NOTE: on trusty 'file' has an output formatting error for binary files and # has 2 spaces in 'LSB executable', which causes a failure here # # NOTE: the binary data can be any binary data, not only executables # and can be generated via the base 64 command as such: # $ base64 < hello > hello.txt # the opposite is running: # $ base64 -d < hello.txt > hello # required_features: - no_file_fmt_e cloud_config: | #cloud-config write_files: - encoding: b64 content: CiMgVGhpcyBmaWxlIGNvbnRyb2xzIHRoZSBzdGF0ZSBvZiBTRUxpbnV4 owner: root:root path: /root/file_b64 permissions: '0644' - content: | # My new /root/file_text SMBDOPTIONS="-D" path: /root/file_text - content: !!binary | /Z/xrHR4WINT0UNoKPQKbuovp6+Js+JK path: /root/file_binary permissions: '0555' - encoding: gzip content: !!binary | H4sIAIDb/U8C/1NW1E/KzNMvzuBKTc7IV8hIzcnJVyjPL8pJ4QIA6N+MVxsAAAA= path: /root/file_gzip permissions: '0755' collect_scripts: file_b64: | #!/bin/bash file /root/file_b64 file_text: | #!/bin/bash file /root/file_text file_binary: | #!/bin/bash for hasher in md5sum sha256sum; do $hasher