def add_vlan_to_domain_by_id(self, name=None, folder='Common', route_domain_id=0): """ Add VLANs to Domain """ folder = str(folder).replace('/', '') existing_vlans = self.get_vlans_in_domain_by_id( folder=folder, route_domain_id=route_domain_id) route_domain = self.get_domain_by_id(folder=folder, route_domain_id=route_domain_id) if not route_domain: raise exceptions.RouteUpdateException( "Cannot get route domain %s" % route_domain_id) if name not in existing_vlans: existing_vlans.append(name) vlans = dict() vlans['vlans'] = existing_vlans request_url = self.bigip.icr_url + '/net/route-domain/' request_url += '~' + folder + '~' + route_domain['name'] response = self.bigip.icr_session.patch( request_url, data=json.dumps(vlans), timeout=const.CONNECTION_TIMEOUT) if response.status_code < 400: return True else: Log.error('route-domain', response.text) raise exceptions.RouteUpdateException(response.text) return False
def set_strict_state(self, name=None, folder='Common', state='disabled'): """ Route domain strict attribute """ if name: folder = str(folder).replace('/', '') request_url = self.bigip.icr_url + '/net/route-domain/' request_url += '~' + folder + '~' + name payload = dict() payload['strict'] = state response = self.bigip.icr_session.patch( request_url, data=json.dumps(payload), timeout=const.CONNECTION_TIMEOUT) if response.status_code < 400: return True else: Log.error('route', response.text) raise exceptions.RouteUpdateException(response.text) return False
def remove_vlan_from_domain(self, name=None, folder='Common'): folder = str(folder).replace('/', '') existing_vlans = self._get_vlans_in_domain(folder) if name in existing_vlans: existing_vlans.remove(name) vlans = dict() vlans['vlans'] = existing_vlans request_url = self.bigip.icr_url + '/net/route-domain/' request_url += '~' + folder + '~' + folder response = self.bigip.icr_session.put( request_url, data=json.dumps(vlans), timeout=const.CONNECTION_TIMEOUT) if response.status_code < 400: return True else: Log.error('route-domain', response.text) raise exceptions.RouteUpdateException(response.text) return False