Пример #1
0
    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
Пример #2
0
    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)
Пример #3
0
 def set_cidr(self, cidr):
     if self.cidr == None:
         self.free_addresses = [_CIDR(cidr)]
     self.cidr = _CIDR(cidr)
Пример #4
0
 def set_cidr(self, cidr):
     if self.cidr == None:
         self.free_addresses = [_CIDR(cidr)]
     self.cidr = _CIDR(cidr)
     return True