Mass delete device objects?

Dan Morphis dan at milkcarton.com
Mon Nov 7 18:47:16 EST 2016


With a little bit of scripting, this would be trivial to do. You could use
perl, php, python, or bash with awk, or even jq
<https://stedolan.github.io/jq/>.

Here is something I whipped together that can easily be modified to delete
all tasks/devices/presets/files. It requires jq. If you want to change the
script to perform the work instead of echoing the command to the console,
delete the echo on line 28

#!/usr/bin/env bash

SERVER=192.168.7.80
COLLECTION=devices
DATA=`curl http://${SERVER}:7557/${COLLECTION}?projection=_id | jq -r '.[]._id'`

urlencode() {
    # urlencode <string>
    old_lc_collate=$LC_COLLATE
    LC_COLLATE=C

    local length="${#1}"
    for (( i = 0; i < length; i++ )); do
        local c="${1:i:1}"
        case $c in
            [a-zA-Z0-9.~_-]) printf "$c" ;;
            *) printf '%%%02X' "'$c" ;;
        esac
    done

    LC_COLLATE=$old_lc_collate
}

#echo $DATA

for id in $DATA; do
    i=$( urlencode $id )
    echo curl "http://${SERVER}:7557/${COLLECTION}/${i}" -X DELETE
done



On Sat, Nov 5, 2016 at 12:37 PM, Kris Germann <kgermann at portal.net.co>
wrote:

> Thank you,
>
> To be clear, this means I need to run:
>
> root at config:/opt/genieacs# curl -i 'http://localhost:7557/devices/XXXX'
> -X DELETE
>
> Where XXXX is the unique device_id for each of the devices in my ACS - is
> there any way I can make this a little easier, I have a few instances with
> 80 - 5000 devices in each.
>
> Kris
>
> On Nov 1, 2016, at 3:49 PM, Oliver Kraitschy <okraits at arcor.de> wrote:
>
> Hello Kris,
>
> you have to iterate over all devices and send a delete request for each one
> of them.
>
> You can use the API for that:
>
> https://github.com/zaidka/genieacs/wiki/API-Reference
>
> Or you can do it more easily with the python API:
>
> https://github.com/TDT-GmbH/python-genieacs
>
> Greetings,
> Oliver
>
> On Tue, Nov 01, 2016 at 12:24:41PM -0400, Kris Germann wrote:
>
> I find myself in the unique position of having tested too many devices, so
> I
> have about 110 devices I need to delete...
>
> Is there a 'destroy all' function I could incorporate?
>
>
> _______________________________________________
> Users mailing list
> Users at lists.genieacs.com
> http://lists.genieacs.com/mailman/listinfo/users
>
>
> _______________________________________________
> Users mailing list
> Users at lists.genieacs.com
> http://lists.genieacs.com/mailman/listinfo/users
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.genieacs.com
> http://lists.genieacs.com/mailman/listinfo/users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genieacs.com/pipermail/users/attachments/20161107/e723e1d6/attachment.html>


More information about the Users mailing list