I want to delete all the snapshot with no expiry date

i want to delete all the snapshot with no expiry date. one way is to delete them one by one with lxc delete command
but it will take a lot of time, is there any other way by which we can delete them all in once

You could do it all with the API, effectively pulling /1.0/instances?recursion=3 and then parsing the output to figure out what’s expired, then feed that to lxc delete or the API to destroy them.

But a simpler way to get a list you can iterate on would likely be to poke the DB directly:

lxd sql global "SELECT instances.name, instances_snapshots.name FROM instances_snapshots JOIN instances ON instances.id=instances_snapshots.instance_id WHERE instances_snapshots.expiry_date IS NULL"

Once you get the list of instances, then do a loop of lxc delete.