def _render_bundle_del_commands(self, want, have): """The command generator for delete commands w.r.t bundles :rtype: A list :returns: the commands necessary to update member interfaces """ commands = [] if not want: want = {"name": have["name"]} want_copy = deepcopy(want) have_copy = deepcopy(have) want_copy.pop("members", []) have_copy.pop("members", []) to_delete = dict_delete(have_copy, remove_empties(want_copy)) if to_delete: for key, value in iteritems( flatten_dict(remove_empties(to_delete)), ): commands.append( self._compute_commands(key=key, value=value, remove=True), ) return commands
def _purge_attribs(self, intf): """ The command generator for purging attributes :rtype: A list :returns: the commands necessary to purge attributes """ commands = [] have_copy = deepcopy(intf) members = have_copy.pop("members", []) to_delete = dict_delete(have_copy, remove_empties({"name": have_copy["name"]})) if to_delete: for key, value in iteritems(flatten_dict( remove_empties(to_delete))): commands.append( self._compute_commands(key=key, value=value, remove=True)) if commands: pad_commands(commands, intf["name"]) if members: members = param_list_to_dict(deepcopy(members), unique_key="member") for key in members: member_cmd = ["no bundle id"] pad_commands(member_cmd, key) commands.extend(member_cmd) return commands
def _state_deleted(self, want, have): """ The command generator when state is deleted :rtype: A list :returns: the commands necessary to remove the current configuration of the provided objects """ commands = [] for key, value in iteritems( flatten_dict(dict_delete(have, remove_empties(want)))): cmd = self._compute_commands(key, value, remove=True) if cmd: commands.append(cmd) return commands
def _state_deleted(want, have): """ The command generator when state is deleted :rtype: A list :returns: the commands necessary to remove the current configuration of the provided objects """ commands = [] for key, value in iteritems(flatten_dict(dict_delete(have, remove_empties(want)))): commands.append(Lacp_interfaces._compute_commands(key, value, remove=True)) if commands: pad_commands(commands, have['name']) return commands