NAME
Rex::Commands::Gather - Hardware and Information gathering
DESCRIPTION
With this module you can gather hardware and software information.
All these functions will not be reported. These functions don't change things.
SYNOPSIS
operating_system_is("SuSE");
EXPORTED FUNCTIONS
- get_operating_system
-
Will return the current operating system name.
task "get-os", "server01", sub { say get_operating_system(); };
- get_system_information
-
Will return a hash of all system information. These Information will be also used by the template function.
- dump_system_information
-
This function dumps all known system information on stdout.
- operating_system_is($string)
-
Will return 1 if the operating system is $string.
task "is_it_suse", "server01", sub { if( operating_system_is("SuSE") ) { say "This is a SuSE system."; } };
- operating_system_version()
-
Will return the os release number as an integer. For example, it will convert 5.10 to 510, 10.04 to 1004 or 6.0.3 to 603.
task "prepare", "server01", sub { if( operating_system_version() >= 510 ) { say "OS Release is higher or equal to 510"; } };
- operating_system_release()
-
Will return the os release number as is.
- network_interfaces
-
Return an HashRef of all the networkinterfaces and their configuration.
task "get_network_information", "server01", sub { my $net_info = network_interfaces(); };
You can iterate over the devices as follow
my $net_info = network_interfaces(); for my $dev ( keys %{ $net_info } ) { say "$dev has the ip: " . $net_info->{$dev}->{"ip"} . " and the netmask: " . $net_info->{$dev}->{"netmask"}; }
- memory
-
Return an HashRef of all memory information.
task "get_memory_information", "server01", sub { my $memory = memory(); say "Total: " . $memory->{"total"}; say "Free: " . $memory->{"free"}; say "Used: " . $memory->{"used"}; say "Cached: " . $memory->{"cached"}; say "Buffers: " . $memory->{"buffers"}; };
- is_freebsd
-
Returns true if the target system is a FreeBSD.
task "foo", "server1", "server2", sub { if(is_freebsd) { say "This is a freebsd system..."; } else { say "This is not a freebsd system..."; } };
- is_redhat
-
task "foo", "server1", sub { if(is_redhat) { # do something on a redhat system (like RHEL, Fedora, CentOS, Scientific Linux } };
- is_fedora
-
task "foo", "server1", sub { if(is_fedora) { # do something on a fedora system } };
- is_suse
-
task "foo", "server1", sub { if(is_suse) { # do something on a suse system } };
- is_mageia
-
task "foo", "server1", sub { if(is_mageia) { # do something on a mageia system } };
- is_debian
-
task "foo", "server1", sub { if(is_debian) { # do something on a debian system } };
- is_alt
-
task "foo", "server1", sub { if(is_alt) { # do something on a ALT Linux system } };
- is_netbsd
-
Returns true if the target system is a NetBSD.
task "foo", "server1", "server2", sub { if(is_netbsd) { say "This is a netbsd system..."; } else { say "This is not a netbsd system..."; } };
- is_openbsd
-
Returns true if the target system is an OpenBSD.
task "foo", "server1", "server2", sub { if(is_openbsd) { say "This is an openbsd system..."; } else { say "This is not an openbsd system..."; } };
- is_linux
-
Returns true if the target system is a Linux System.
task "prepare", "server1", "server2", sub { if(is_linux) { say "This is a linux system..."; } else { say "This is not a linux system..."; } };
- is_bsd
-
Returns true if the target system is a BSD System.
task "prepare", "server1", "server2", sub { if(is_bsd) { say "This is a BSD system..."; } else { say "This is not a BSD system..."; } };
- is_solaris
-
Returns true if the target system is a Solaris System.
task "prepare", "server1", "server2", sub { if(is_solaris) { say "This is a Solaris system..."; } else { say "This is not a Solaris system..."; } };
- is_windows
-
Returns true if the target system is a Windows System.
- is_openwrt
-
Returns true if the target system is an OpenWrt System.
- is_gentoo
-
Returns true if the target system is a Gentoo System.