Example #1
0
    def _populate(self, json):
        """
        Map devices more nicely while populating.
        """
        # needed here to avoid circular imports
        from .volume import Volume  # pylint: disable=import-outside-toplevel

        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))
    def _populate(self, json):
        """
        Map devices more nicely while populating.
        """
        # needed here to avoid circular imports
        from .volume import Volume  # pylint: disable=import-outside-toplevel

        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))

        interfaces = []
        if "interfaces" in json:
            interfaces = [
                ConfigInterface(c["purpose"],
                                label=c["label"],
                                ipam_address=c["ipam_address"])
                for c in json["interfaces"]
            ]

        self._set("interfaces", interfaces)
Example #3
0
    def _populate(self, json):
        """
        Map devices more nicely while populating.
        """
        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))