Metabrik-Repository

 view release on metacpan or  search on metacpan

lib/Metabrik/System/Freebsd/Ezjail.pm  view on Meta::CPAN

   my $cmd = "ezjail-admin create $jail_name $ip_address";

   return $self->sudo_system($cmd);
}

sub backup {
   my $self = shift;
   my ($jail_name) = @_;

   $self->brik_help_run_undef_arg('backup', $jail_name) or return;
   my $ref = $self->brik_help_run_invalid_arg('backup', $jail_name, 'ARRAY', 'SCALAR')
      or return;

   if ($ref eq 'ARRAY') {
      for my $jail (@$jail_name) {
         my $cmd = "ezjail-admin archive -f $jail";
         $self->sudo_system($cmd);
      }
      return 1;
   }

   my $cmd = "ezjail-admin archive -f $jail_name";

   return $self->sudo_system($cmd);
}

sub restore {
   my $self = shift;
   my ($jail_name, $ip_address, $archive_tar_gz) = @_;

   $self->brik_help_run_undef_arg('restore', $jail_name) or return;
   $self->brik_help_run_undef_arg('restore', $ip_address) or return;
   $self->brik_help_run_undef_arg('restore', $archive_tar_gz) or return;

   my $cmd = "ezjail-admin create -a $archive_tar_gz $jail_name $ip_address";

   return $self->sudo_system($cmd);
}

sub delete {
   my $self = shift;
   my ($jail_name) = @_;

   $self->brik_help_run_undef_arg('delete', $jail_name) or return;
   my $ref = $self->brik_help_run_invalid_arg('delete', $jail_name, 'ARRAY', 'SCALAR')
      or return;

   if (ref($jail_name) eq 'ARRAY') {
      for my $jail (@$jail_name) {
         my $cmd = "ezjail-admin delete -fw $jail";
         $self->sudo_system($cmd);
      }
      return 1;
   }

   my $cmd = "ezjail-admin delete -fw $jail_name";

   return $self->sudo_system($cmd);
}

sub update {
   my $self = shift;

   my $cmd = "ezjail-admin update -u";

   return $self->sudo_system($cmd);
}

sub console {
   my $self = shift;
   my ($jail_name) = @_;

   my $cmd = "ezjail-admin console $jail_name";

   return $self->sudo_system($cmd);
}

1;

__END__

=head1 NAME

Metabrik::System::Freebsd::Ezjail - system::freebsd::ezjail Brik

=head1 COPYRIGHT AND LICENSE

Copyright (c) 2014-2022, Patrice E<lt>GomoRE<gt> Auffret

You may distribute this module under the terms of The BSD 3-Clause License.
See LICENSE file in the source distribution archive.

=head1 AUTHOR

Patrice E<lt>GomoRE<gt> Auffret

=cut



( run in 1.117 second using v1.01-cache-2.11-cpan-39bf76dae61 )