The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Setup::Unix::Group - Setup Unix group (existence)

VERSION

version 0.06

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]

Setup Unix group (existence).

On do, will create Unix group if not already exists.

On undo, will delete Unix group previously created.

On redo, will recreate the Unix group with the same GID.

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 65534)

    When creating new group, specify maximum GID.

  • name* => str

    Group name.

SEE ALSO

Setup::Unix::User.

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.