summaryrefslogtreecommitdiff
path: root/cloudinit/mergers/str.py
diff options
context:
space:
mode:
Diffstat (limited to 'cloudinit/mergers/str.py')
-rw-r--r--cloudinit/mergers/str.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/cloudinit/mergers/str.py b/cloudinit/mergers/str.py
index 7c3fa585..14bc46ec 100644
--- a/cloudinit/mergers/str.py
+++ b/cloudinit/mergers/str.py
@@ -18,11 +18,17 @@
class Merger(object):
- def __init__(self, merger):
- pass
+ def __init__(self, merger, opts):
+ self._append = 'append' in opts
def _on_unicode(self, value, merge_with):
return self._on_str(value, merge_with)
def _on_str(self, value, merge_with):
- return value
+ if not self._append:
+ return value
+ else:
+ if isinstance(value, (unicode)):
+ return value + unicode(merge_with)
+ else:
+ return value + str(merge_with)