def take_action(self, args):
        input_entity = self.create_acl_entity_from_args(
            self.app.client_manager.key_manager.acls, args)

        server_entity = self.app.client_manager.key_manager.acls.get(
            input_entity.entity_ref)

        for input_acl in input_entity.operation_acls:
            server_acl = server_entity.get(input_acl.operation_type)
            if server_acl:
                if input_acl.project_access is not None:
                    server_acl.project_access = input_acl.project_access
                # if input data has users, then remove matching one
                # from server acl users
                if input_acl.users is not None:
                    acl_users = server_acl.users
                    acl_users = set(acl_users).difference(input_acl.users)
                    del server_acl.users[:]
                    server_acl.users = acl_users

        server_entity.submit()  # apply changes to server
        server_entity.load_acls_data()

        return self.get_acls_as_lister(server_entity)
Remove users from a secret or a container ACL defined in Barbican
dataset/ETHPy150Open openstack/python-barbicanclient/barbicanclient/barbican_cli/acls.py/RemoveACLUsers.take_action