summaryrefslogtreecommitdiff
path: root/cloudinit/handlers
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2013-07-24 11:04:56 -0400
committerScott Moser <smoser@ubuntu.com>2013-07-24 11:04:56 -0400
commit243df010c49de52be0ca9159e15378bb335b1163 (patch)
tree27e13f381a1771ec191f145e0368f24de8ca244c /cloudinit/handlers
parent82397d79f1c0618f25eab6e28e65b1e59a98603a (diff)
downloadcloud-init-git-243df010c49de52be0ca9159e15378bb335b1163.tar.gz
change 'json-patch' to 'cloud-config-jsonp'
Diffstat (limited to 'cloudinit/handlers')
-rw-r--r--cloudinit/handlers/__init__.py2
-rw-r--r--cloudinit/handlers/cloud_config.py9
2 files changed, 6 insertions, 5 deletions
diff --git a/cloudinit/handlers/__init__.py b/cloudinit/handlers/__init__.py
index 4c7c9295..2ddc75f4 100644
--- a/cloudinit/handlers/__init__.py
+++ b/cloudinit/handlers/__init__.py
@@ -62,7 +62,7 @@ INCLUSION_TYPES_MAP = {
'#part-handler': 'text/part-handler',
'#cloud-boothook': 'text/cloud-boothook',
'#cloud-config-archive': 'text/cloud-config-archive',
- '#json-patch': 'application/json-patch+json',
+ '#cloud-config-jsonp': 'text/cloud-config-jsonp',
}
# Sorted longest first
diff --git a/cloudinit/handlers/cloud_config.py b/cloudinit/handlers/cloud_config.py
index 0f080e66..8bbc904d 100644
--- a/cloudinit/handlers/cloud_config.py
+++ b/cloudinit/handlers/cloud_config.py
@@ -54,8 +54,9 @@ DEF_MERGERS = mergers.string_extract_mergers('dict(replace)+list()+str()')
CLOUD_PREFIX = "#cloud-config"
# The file header -> content types this module will handle.
+CC_JSONP_PRE = "#cloud-config-jsonp"
CC_TYPES = {
- '#json-patch': handlers.type_from_starts_with("#json-patch"),
+ CC_JSONP_PRE: handlers.type_from_starts_with(CC_JSONP_PRE),
'#cloud-config': handlers.type_from_starts_with("#cloud-config"),
}
@@ -116,12 +117,12 @@ class CloudConfigPartHandler(handlers.Handler):
def _merge_patch(self, payload):
payload = payload.lstrip()
- if payload.lower().startswith("#json-patch"):
+ if payload.lower().startswith(CC_JSONP_PRE):
# JSON doesn't handle comments in this manner, so ensure that
# if we started with this 'type' that we remove it before
# attempting to load it as json (which the jsonpatch library will
# attempt to do).
- payload = payload[len("#json-patch"):]
+ payload = payload[CC_JSONP_PRE:]
patch = jsonpatch.JsonPatch.from_string(payload)
LOG.debug("Merging by applying json patch %s", patch)
self.cloud_buf = patch.apply(self.cloud_buf, in_place=False)
@@ -149,7 +150,7 @@ class CloudConfigPartHandler(handlers.Handler):
# First time through, merge with an empty dict...
if self.cloud_buf is None or not self.file_names:
self.cloud_buf = {}
- if ctype == CC_TYPES['#json-patch']:
+ if ctype == CC_TYPES[CC_JSONP_PRE]:
self._merge_patch(payload)
else:
self._merge_part(payload, headers)