diff options
-rw-r--r-- | cloudinit/handlers/__init__.py | 2 | ||||
-rw-r--r-- | cloudinit/handlers/cloud_config.py | 9 |
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) |