code: def _populate(self, json):
          
          from .volume import Volume
  
          DerivedBase._populate(self, json)
  
          devices = {}
          for device_index, device in json['devices'].items():
              if not device:
                  devices[device_index] = None
                  continue
  
              dev = None
              if 'disk_id' in device and device['disk_id']: # this is a disk
                  dev = Disk.make_instance(device['disk_id'], self._client,
                          parent_id=self.linode_id)
              else:
                  dev = Volume.make_instance(device['volume_id'], self._client,
                          parent_id=self.linode_id)
              devices[device_index] = dev
  
          self._set('devices', MappedObject(**devices))
docs: Map devices more nicely while populating.