modules/mu/config/schema_helpers.rb in cloud-mu-3.1.5 vs modules/mu/config/schema_helpers.rb in cloud-mu-3.1.6
- old
+ new
@@ -274,18 +274,23 @@
if schema_chunk["properties"]["creation_style"].nil? or
schema_chunk["properties"]["creation_style"] != "existing"
schema_chunk["properties"].each_pair { |key, subschema|
shortclass = if conf_chunk[key]
- shortclass, _cfg_name, _cfg_plural, _classname = MU::Cloud.getResourceNames(key)
+ shortclass, _cfg_name, _cfg_plural, _classname = MU::Cloud.getResourceNames(key, false)
shortclass
else
nil
end
new_val = applySchemaDefaults(conf_chunk[key], subschema, depth+1, conf_chunk, type: shortclass).dup
-
- conf_chunk[key] = Marshal.load(Marshal.dump(new_val)) if !new_val.nil?
+ if !new_val.nil?
+ begin
+ conf_chunk[key] = Marshal.load(Marshal.dump(new_val))
+ rescue TypeError
+ conf_chunk[key] = new_val.clone
+ end
+ end
}
end
elsif schema_chunk["type"] == "array" and conf_chunk.kind_of?(Array)
conf_chunk.map! { |item|
# If we're working on a resource type, go get implementation-specific