docs: def _map_vm_structure(self, vm):
          '''
          Vm unification
          :arg vm: object
          :returns object
          '''
          ip = self._extract_ips(vm['addresses'])
          created = datetime.strptime(vm['created'], '%Y-%m-%dT%H:%M:%SZ')
          flavor = self.flavors_map.get(vm['flavor'].get('id'))
          image = self.images_map.get(vm['image'].get('id'))
          timed_shutdown_at = vm.get('metadata', {}).get('iaas_timed_shutdown')
          timed_shutdown_at = int(timed_shutdown_at) if timed_shutdown_at else None
          state = self._map_vm_status(vm['status'], timed_shutdown_at)
          iaasvm = Vm(self, vm['id'], vm['name'], ip, created, state=state, metadata=vm['metadata'], tags=vm.get('tags', []), flavor=flavor,
                      image=image, timed_shutdown_at=timed_shutdown_at)
          return iaasvm