def _data_node()

in curator/actions/shrink.py [0:0]


    def _data_node(self, node_id):
        roles = node_roles(self.client, node_id)
        name = node_id_to_name(self.client, node_id)
        is_data_node = False
        for role in roles:
            if role in DATA_NODE_ROLES:
                is_data_node = True
                break  # At least one data node role type qualifies
        if not is_data_node:
            self.loggit.info('Skipping node "%s": non-data node', name)
            return False
        if 'master' in roles and not self.node_filters['permit_masters']:
            self.loggit.info('Skipping node "%s": master node', name)
            return False
        if 'master' in roles and self.node_filters['permit_masters']:
            msg = (
                f'Not skipping node "{name}" which is a master node (not recommended)'
                f', but permit_masters is True'
            )
            self.loggit.warning(msg)
            return True
        # Implied else: It does have a qualifying data role and is not a master node
        return True