#!/usr/local/bin/perl
#
# $Header: /cvsroot/arsperl/ARSperl/example/del_all.pl,v 1.5 1998/09/14 17:39:29 jcmurphy Exp $
#
# NAME
# del_all.pl [server] [user] [password] [pattern]
#
# DESCRIPTION
# delete all ars objects (*all*!) that match "pattern".
# be careful!! if you want to delete "HD:.*" items BE SURE
# to use "^HD:.*" as the pattern.
#
# BACKUP ALL OBJECTS BEFORE USING THIS SCRIPT!
#
# AUTHOR
# jeff murphy
use ARS;
if($#ARGV != 3) {
print "Usage: $0 [server] [user] [pwd] [pattern]\n";
print $#ARGV."\n";
exit 0;
}
($c = ars_Login(shift, shift, shift)) ||
die "Login: $ars_errstr";
$pat = shift;
print "Fetching..\n";
print "\tActiveLinks .. ";
@al = ars_GetListActiveLink($c);
print $#al." found.\n";
print "\tAdminExtensions .. ";
@ae = ars_GetListAdminExtension($c);
print $#ae." found.\n";
print "\tCharMenus .. ";
@cm = ars_GetListCharMenu($c);
print $#cm." found.\n";
print "\tEscalations .. ";
@es = ars_GetListEscalation($c);
print $#es." found.\n";
print "\tFilters .. ";
@fi = ars_GetListFilter($c);
print $#fi." found.\n";
print "\tSchemas .. ";
@sc = ars_GetListSchema($c, 0, 1024);
print $#sc." found.\n";
print "Sleeping for 5 seconds. control-c to abort!\n";
sleep(5);
print "\nDeleting Activelinks:\n";
foreach (@al) {
if($_ =~ /$pat/) {
print "\t$_\n";
ars_DeleteActiveLink($c, $_) || die "$ars_errstr";
}
}
print "\nDeleting AdminExtensions:\n";
foreach (@ae) {
if($_ =~ /$pat/) {
print "\t$_\n";
ars_DeleteAdminExtension($c, $_) || die "$ars_errstr";
}
}
print "\nDeleting CharMenus:\n";
foreach (@cm) {
if($_ =~ /$pat/) {
print "\t$_\n";
ars_DeleteCharMenu($c, $_) || die "$ars_errstr";
}
}
print "\nDeleting Escalations:\n";
foreach (@es) {
if($_ =~ /$pat/) {
print "\t$_\n";
ars_DeleteEscalation($c, $_) || die "$ars_errstr";
}
}
print "\nDeleting Filters:\n";
foreach (@fi) {
if($_ =~ /$pat/) {
print "\t$_\n";
ars_DeleteFilter($c, $_) || die "$ars_errstr";
}
}
print "\nDeleting Schemas:\n";
foreach (@sc) {
if($_ =~ /$pat/) {
print "\t$_\n";
ars_DeleteSchema($c, $_, 2) || die "$ars_errstr";
}
}
ars_Logoff($c);