def blocks(self): """Return all blocks supported by this WTP.""" pool = ResourcePool() # Update the pool with all the available ResourseBlocks for block in self.supports: pool.append(block) return pool
def blocks(self): """Return all ResourseBlocks in this Tenant.""" # Initialize the Resource Pool pool = ResourcePool() # Update the pool with all the available ResourseBlocks for wtp in self.wtps(): for block in wtp.supports: pool.append(block) return pool
def wtp(self, wtp): """Assigns LVAP to new wtp.""" # Initialize the Resource Pool pool = ResourcePool() # Update the pool with all the available ResourseBlocks for block in wtp.blocks.values(): pool.append(block) # Filter blocks so we are sure to go to the same interface and band blocks = pool.filter_by_channel(self.blocks[0].channel) \ .filter_by_band(self.blocks[0].band) \ .first() self.blocks = blocks
def put(self, *args, **kwargs): """Modify the LVAP Args: [0], the project id (mandatory) [1]: the lvap address (mandatory) Example URLs: PUT /api/v1/projects/52313ecb-9d00-4b7d-b873-b55d3d9ada26/lvaps/ 60:F4:45:D0:3B:FC { "version": "1.0", "wtp": "04:F0:21:09:F9:AA" } """ project_id = uuid.UUID(args[0]) project = self.service.projects[project_id] lvap = project.lvaps[EtherAddress(args[0])] if "blocks" in kwargs: addr = EtherAddress(kwargs['wtp']) wtp = self.service.devices[addr] pool = ResourcePool() for block_id in kwargs["blocks"]: pool.append(wtp.blocks[block_id]) lvap.blocks = pool elif "wtp" in kwargs: wtp = self.service.devices[EtherAddress(kwargs['wtp'])] lvap.wtp = wtp if "encap" in kwargs: encap = EtherAddress(kwargs["encap"]) lvap.encap = encap
def put(self, *args, **kwargs): """Modify the LVAP Args: [0]: the lvap address (mandatory) Example URLs: PUT /api/v1/lvaps/60:F4:45:D0:3B:FC { "version": "1.0", "wtp": "04:F0:21:09:F9:AA" } """ lvap = self.service.lvaps[EtherAddress(args[0])] if "blocks" in kwargs: addr = EtherAddress(kwargs['wtp']) wtp = self.service.devices[addr] pool = ResourcePool() for block_id in kwargs["blocks"]: pool.append(wtp.blocks[block_id]) lvap.blocks = pool elif "wtp" in kwargs: wtp = self.service.devices[EtherAddress(kwargs['wtp'])] lvap.wtp = wtp if "encap" in kwargs: encap = EtherAddress(kwargs["encap"]) lvap.encap = encap