def build_vm(self, vm): return otypes.Vm( comment=vm.get('comment'), memory=convert_to_bytes( vm.get('memory') ) if vm.get('memory') else None, memory_policy=otypes.MemoryPolicy( guaranteed=convert_to_bytes(vm.get('memory_guaranteed')), max=convert_to_bytes(vm.get('memory_max')), ) if any(( vm.get('memory_guaranteed'), vm.get('memory_max') )) else None, initialization=self.get_initialization(vm), display=otypes.Display( smartcard_enabled=vm.get('smartcard_enabled') ) if vm.get('smartcard_enabled') is not None else None, sso=( otypes.Sso( methods=[otypes.Method(id=otypes.SsoMethod.GUEST_AGENT)] if vm.get('sso') else [] ) ) if vm.get('sso') is not None else None, time_zone=otypes.TimeZone( name=vm.get('timezone'), ) if vm.get('timezone') else None, )
def build_entity(self): return otypes.Template( id=self._module.params['id'], name=self._module.params['name'], cluster=otypes.Cluster( name=self._module.params['cluster'] ) if self._module.params['cluster'] else None, vm=otypes.Vm( name=self._module.params['vm'] ) if self._module.params['vm'] else None, description=self._module.params['description'], cpu_profile=otypes.CpuProfile( id=search_by_name( self._connection.system_service().cpu_profiles_service(), self._module.params['cpu_profile'], ).id ) if self._module.params['cpu_profile'] else None, display=otypes.Display( smartcard_enabled=self.param('smartcard_enabled') ) if self.param('smartcard_enabled') is not None else None, os=otypes.OperatingSystem( type=self.param('operating_system'), ) if self.param('operating_system') else None, memory=convert_to_bytes( self.param('memory') ) if self.param('memory') else None, soundcard_enabled=self.param('soundcard_enabled'), usb=( otypes.Usb(enabled=self.param('usb_support')) ) if self.param('usb_support') is not None else None, sso=( otypes.Sso( methods=[otypes.Method(id=otypes.SsoMethod.GUEST_AGENT)] if self.param('sso') else [] ) ) if self.param('sso') is not None else None, time_zone=otypes.TimeZone( name=self.param('timezone'), ) if self.param('timezone') else None, version=otypes.TemplateVersion( base_template=self._get_base_template(), version_name=self.param('version').get('name'), ) if self.param('version') else None, memory_policy=otypes.MemoryPolicy( guaranteed=convert_to_bytes(self.param('memory_guaranteed')), ballooning=self.param('ballooning_enabled'), max=convert_to_bytes(self.param('memory_max')), ) if any(( self.param('memory_guaranteed'), self.param('ballooning_enabled'), self.param('memory_max') )) else None, io=otypes.Io( threads=self.param('io_threads'), ) if self.param('io_threads') is not None else None, initialization=self.get_initialization(), )
def test_sso_method_id_is_attribute(): """ Test that writing an SSL object with one method writes the method identifier as the 'id' attribute. """ sso = types.Sso(methods=[types.Method(id=types.SsoMethod.GUEST_AGENT)]) buf = make_buffer() writer = XmlWriter(buf, indent=True) SsoWriter.write_one(sso, writer) writer.flush() assert_equals( decode_buffer(buf), '<sso>\n' + ' <methods>\n' + ' <method id="guest_agent"/>\n' + ' </methods>\n' + '</sso>\n')