marvin_refactor: register is the real create

createTemplateCmd does a template of a VM
while
registerTemplateCmd does the actual creation of the template in CS
This commit is contained in:
Prasanna Santhanam 2013-04-21 12:15:07 +05:30
parent b862772e46
commit a8f7364127
2 changed files with 15 additions and 13 deletions

View File

@ -41,25 +41,21 @@ class Template(CloudStackEntity.CloudStackEntity):
return template
@classmethod
def create(cls, apiclient, factory, **kwargs):
def template_of_vm(self, apiclient, name, displaytext, ostypeid, **kwargs):
cmd = createTemplate.createTemplateCmd()
[setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in factory.__dict__.iteritems()]
cmd.id = self.id
cmd.name = name
cmd.displaytext = displaytext
cmd.ostypeid = ostypeid
[setattr(cmd, key, value) for key,value in kwargs.iteritems()]
template = apiclient.createTemplate(cmd)
return Template(template.__dict__)
def register(self, apiclient, name, format, url, hypervisor, zoneid, displaytext, ostypeid, **kwargs):
@classmethod
def create(self, apiclient, factory, **kwargs):
cmd = registerTemplate.registerTemplateCmd()
cmd.id = self.id
cmd.displaytext = displaytext
cmd.format = format
cmd.hypervisor = hypervisor
cmd.name = name
cmd.ostypeid = ostypeid
cmd.url = url
cmd.zoneid = zoneid
[setattr(cmd, factoryKey, factoryValue) for factoryKey, factoryValue in factory.__dict__.iteritems()]
[setattr(cmd, key, value) for key,value in kwargs.iteritems()]
template = apiclient.registerTemplate(cmd)
return template

View File

@ -22,11 +22,17 @@ class TemplateFactory(CloudStackBaseFactory):
FACTORY_FOR = Template.Template
displaytext = None
name = None
displaytext = None
format = None
url = None
hypervisor = None
zoneid = None
ostypeid = None
class DefaultBuiltInTemplateFactory(TemplateFactory):
ostype = 'CentOS 5.3 (64-bit)'
displaytext = 'CentOS 5.3 (64-bit)'
name = 'CentOS 5.3 (64-bit)'
format = 'VHD'
hypervisor = 'XenServer'