Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Rex::Commands::Gather(User Contributed Perl DocumentatRex::Commands::Gather(3)

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 modify
       anything.

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();
	};

       Aliased by operating_system().

   operating_system
       Alias for 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 (or other	Mandriva followers)
	  }
	};

   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.

   is_arch
	task "foo", "server1", sub {
	  if(is_arch) {
	    # do something on a	arch system
	  }
	};

perl v5.24.1			  2016-07-16	      Rex::Commands::Gather(3)

NAME | DESCRIPTION | SYNOPSIS | EXPORTED FUNCTIONS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Rex::Commands::Gather&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help