NAME
Setup::Unix::Group - Make sure a Unix group exists
VERSION
version 0.01
SYNOPSIS
use Setup::Unix::Group 'setup_unix_group';
# simple usage (doesn't save undo data)
my $res = setup_unix_group name => 'foo';
die unless $res->[0] == 200 || $res->[0] == 304;
# perform setup and save undo data (undo data should be serializable)
$res = setup_unix_group ..., -undo_action => 'do';
die unless $res->[0] == 200 || $res->[0] == 304;
my $undo_data = $res->[3]{undo_data};
# perform undo
$res = setup_unix_group ..., -undo_action => "undo", -undo_data=>$undo_data;
die unless $res->[0] == 200 || $res->[0] == 304;
DESCRIPTION
This module provides one function: setup_unix_group.
This module is part of the Setup modules family.
This module uses Log::Any logging framework.
This module's functions have Sub::Spec specs.
THE SETUP MODULES FAMILY
I use the Setup::
namespace for the Setup modules family. See Setup::File
for more details on the goals, characteristics, and implementation of Setup modules family.
FUNCTIONS
None are exported by default, but they are exportable.
setup_unix_group(%args) -> [STATUS_CODE, ERR_MSG, RESULT]
Makes sure a Unix group exists.
On do, will create Unix group if not already exists.
On undo, will delete Unix group previously created.
Returns a 3-element arrayref. STATUS_CODE is 200 on success, or an error code between 3xx-5xx (just like in HTTP). ERR_MSG is a string containing error message, RESULT is the actual result.
This function supports undo operation. See Sub::Spec::Clause::features for details on how to perform do/undo/redo.
This function supports dry-run (simulation) mode. To run in dry-run mode, add argument -dry_run
=> 1.
Arguments (*
denotes required arguments):
min_new_gid => int (default
1
)When creating new group, specify minimum GID.
name* => str
Group name.
SEE ALSO
Other modules in Setup:: namespace.
AUTHOR
Steven Haryanto <stevenharyanto@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Steven Haryanto.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.