diff options
Diffstat (limited to 'cloudinit/config/cc_write_files.py')
-rw-r--r-- | cloudinit/config/cc_write_files.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/cloudinit/config/cc_write_files.py b/cloudinit/config/cc_write_files.py index b1096b9b..b5956bda 100644 --- a/cloudinit/config/cc_write_files.py +++ b/cloudinit/config/cc_write_files.py @@ -16,6 +16,48 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. +""" +Write Files +----------- +**Summary:** write arbitrary files + +Write out arbitrary content to files, optionally setting permissions. Content +can be specified in plain text or binary. Data encoded with either base64 or +binary gzip data can be specified and will be decoded before being written. + +.. note:: + if multiline data is provided, care should be taken to ensure that it + follows yaml formatting standargs. to specify binary data, use the yaml + option ``!!binary`` + +**Internal name:** ``cc_write_files`` + +**Module frequency:** per instance + +**Supported distros:** all + +**Config keys**:: + + write_files: + - encoding: b64 + content: CiMgVGhpcyBmaWxlIGNvbnRyb2xzIHRoZSBzdGF0ZSBvZiBTRUxpbnV4... + owner: root:root + path: /etc/sysconfig/selinux + permissions: '0644' + - content: | + # My new /etc/sysconfig/samba file + + SMDBOPTIONS="-D" + path: /etc/sysconfig/samba + - content: !!binary | + f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAAwARAAAAAAABAAAAAAAAAAJAVAAAAAA + AEAAHgAdAAYAAAAFAAAAQAAAAAAAAABAAEAAAAAAAEAAQAAAAAAAwAEAAAAAAA + AAAAAAAAAwAAAAQAAAAAAgAAAAAAAAACQAAAAAAAAAJAAAAAAAAcAAAAAAAAAB + ... + path: /bin/arch + permissions: '0555' +""" + import base64 import os import six |