use base 'FS::part_export';
use vars qw( %info );
use String::ShellQuote;
+use Net::OpenSSH;
#tie my %options, 'Tie::IxHash';
#;
sub _export_insert {
my($self, $svc_acct) = (shift, shift);
- eval "use Net::OpenSSH;";
- return $@ if $@;
open my $def_in, '<', '/dev/null' or die "unable to open /dev/null";
my $ssh = Net::OpenSSH->new( $self->machine,
default_stdin_fh => $def_in );
+ #capture2 and return STDERR, its probably useful if there's a problem
my $private_key = $ssh->capture(
{ 'stdin_data' => $svc_acct->_password. "\n" },
'/usr/local/bin/merchant_create', map $svc_acct->$_, qw( username finger )
'';
}
-sub _export_delete {
- #my( $self, $svc_x ) = (shift, shift);
+#well, we're just going to disable them for now, but there you go
+sub _export_delete { shift->merchant_disable(@_) }
- #well, we're just going to disable them for now, but there you go
+sub _export_suspend { shift->merchant_disable(@_) }
- eval "use Net::OpenSSH;";
- return $@ if $@;
+sub _export_unsuspend { shift->merchant_enable(@_) }
+
+sub merchant_disable {
+ my( $self, $svc_acct ) = (shift, shift);
open my $def_in, '<', '/dev/null' or die "unable to open /dev/null";
my $ssh = Net::OpenSSH->new( $self->machine,
default_stdin_fh => $def_in );
- my $private_key = $ssh->run(
+ #capture2 and return STDERR, its probably useful if there's a problem
+ my $unused_output = $ssh->capture(
'/usr/local/bin/merchant_disable', map $svc_acct->$_, qw( username )
);
return $ssh->error if $ssh->error;
}
+sub merchant_enable {
+ my( $self, $svc_acct ) = (shift, shift);
+
+ open my $def_in, '<', '/dev/null' or die "unable to open /dev/null";
+ my $ssh = Net::OpenSSH->new( $self->machine,
+ default_stdin_fh => $def_in );
+
+ #capture2 and return STDERR, its probably useful if there's a problem
+ my $unused_output = $ssh->capture(
+ '/usr/local/bin/merchant_enable', map $svc_acct->$_, qw( username )
+ );
+ return $ssh->error if $ssh->error;
+
+ '';
+
+}
+
1;