mirror of
https://github.com/OpenNebula/one.git
synced 2025-04-01 06:50:25 +03:00
parent
2f02f9b4ce
commit
2661e199af
@ -384,6 +384,9 @@ module OpenNebula
|
||||
return rc
|
||||
end
|
||||
|
||||
# add registration time, as the template is new
|
||||
body['registration_time'] = Integer(Time.now)
|
||||
|
||||
# update the template with the new body
|
||||
doc.update(body.to_json)
|
||||
|
||||
@ -391,6 +394,31 @@ module OpenNebula
|
||||
new_id
|
||||
end
|
||||
|
||||
# Clones a service template
|
||||
#
|
||||
# @param name [Stirng] New name
|
||||
#
|
||||
# @return [Integer] New template ID
|
||||
def clone(name)
|
||||
new_id = super
|
||||
|
||||
doc = OpenNebula::ServiceTemplate.new_with_id(new_id, @client)
|
||||
rc = doc.info
|
||||
|
||||
return rc if OpenNebula.is_error?(rc)
|
||||
|
||||
body = JSON.parse(doc["TEMPLATE/#{TEMPLATE_TAG}"])
|
||||
|
||||
# add registration time, as the template is new
|
||||
body['registration_time'] = Integer(Time.now)
|
||||
|
||||
# update the template with the new body
|
||||
DocumentJSON.instance_method(:update).bind(doc).call(body.to_json)
|
||||
|
||||
# return the new document ID
|
||||
new_id
|
||||
end
|
||||
|
||||
# Replaces the raw template contents
|
||||
#
|
||||
# @param template [String] New template contents, in the form KEY = VAL
|
||||
|
Loading…
x
Reference in New Issue
Block a user