#
# 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 </root/file_binary && break
    done
  file_gzip: |
    #!/bin/bash
    file /root/file_gzip

# vi: ts=4 expandtab
