27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# File 'lib/legion/cli/admin/purge_topology.rb', line 27
def purge
out = formatter
out.('Legion AMQP Topology Migration: v2.0 → v3.0')
out.spacer
legacy = find_legacy_topology
if legacy[:exchanges].empty? && legacy[:queues].empty?
out.success('No legacy topology found. Already on v3.0 or never had v2.0 topology.')
return
end
if options[:json]
perform_deletion(legacy) if options[:execute]
out.json({ legacy: legacy, deleted: options[:execute] })
return
end
report_legacy(out, legacy)
if options[:execute]
perform_deletion(legacy)
out.success("Deleted #{legacy[:exchanges].size} exchange(s) and #{legacy[:queues].size} queue(s)")
else
out.warn('Dry-run mode — pass --execute to delete legacy topology')
end
rescue Legion::CLI::Error => e
formatter.error(e.message)
exit(1)
end
|