def from_datastruct(self,seed_data): self.name = self.load_item(seed_data, 'name') self.cidr = _CIDR(self.load_item(seed_data, 'cidr')) self.address = _IP(self.load_item(seed_data, 'address', self.cidr[0])) self.gateway = _IP(self.load_item(seed_data, 'gateway', self.cidr[-2])) self.broadcast = _IP(self.load_item(seed_data, 'broadcast', self.cidr[-1])) self.nameservers = [_IP(i) for i in self.load_item(seed_data, 'nameservers', [])] self.reserved = [_CIDR(c) for c in self.load_item(seed_data, 'reserved', [])] self.used_addresses = self.load_item(seed_data, 'used_addresses', {}) self.free_addresses = [_CIDR(c) for c in self.load_item(seed_data, 'free_addresses', [])] self.comment = self.load_item(seed_data, 'comment', '') return self
def run(self): if self.args and "find" in self.args: items = self.api.find_network(return_list=True, no_errors=True, **self.options.__dict__) for x in items: print x.name return True obj = self.object_manipulator_start(self.api.new_network,self.api.networks) if obj is None: return True if self.matches_args(self.args,["dumpvars"]): return self.object_manipulator_finish(obj, self.api.profiles, self.options) if self.options.cidr is not None: obj.set_cidr(self.options.cidr) elif self.matches_args(self.args, ['add']): raise CX(_("cidr is required")) if self.options.address is not None: obj.set_address(self.options.address) elif self.matches_args(self.args, ["add"]): obj.set_address(obj.cidr[0]) if self.options.broadcast is not None: obj.set_broadcast(self.options.broadcast) elif self.matches_args(self.args, ["add"]): obj.set_broadcast(_CIDR(self.options.cidr)[-1]) if self.options.gateway is not None: obj.set_gateway(self.options.gateway) elif self.matches_args(self.args, ["add"]): obj.set_gateway(_CIDR(self.options.cidr)[-2]) if self.options.ns is not None: obj.set_nameservers(self.options.ns) if self.options.reserved is not None: obj.set_reserved(self.options.reserved) if self.options.owners is not None: obj.set_owners(self.options.owners) if self.options.comment is not None: obj.set_comment(self.options.comment) return self.object_manipulator_finish(obj, self.api.networks, self.options)
def set_cidr(self, cidr): if self.cidr == None: self.free_addresses = [_CIDR(cidr)] self.cidr = _CIDR(cidr)
def set_cidr(self, cidr): if self.cidr == None: self.free_addresses = [_CIDR(cidr)] self.cidr = _CIDR(cidr) return True