def _publish(self, pub_msg):
        stack = self.stack.value
        pub_data = pub_msg['return']
        # only publish to available minions by intersecting sets

        minions = (self.availables.value &
                   set((remote.name for remote in list(stack.remotes.values())
                            if remote.kind in [kinds.applKinds.minion,
                                               kinds.applKinds.syndic])))
        for minion in minions:
            uid = self.stack.value.fetchUidByName(minion)
            if uid:
                route = {
                        'dst': (minion, None, 'fun'),
                        'src': (self.stack.value.local.name, None, None)}
                msg = {'route': route, 'pub': pub_data['pub']}
                self.stack.value.message(msg, uid)
Validates update parameters.
dataset/ETHPy150Open saltstack/salt/salt/daemons/flo/core.py/SaltRaetPublisher._publish--crossover with--dataset/ETHPy150Open openstack/group-based-policy-automation/gbpautomation/heat/engine/resources/gbpresource.py/GBPResource.validate_properties