table of contents
Rex::Task(3pm) | User Contributed Perl Documentation | Rex::Task(3pm) |
NAME¶
Rex::Task - The Task Object
DESCRIPTION¶
The Task Object. Typically you only need this class if you want to manipulate tasks after their initial creation.
SYNOPSIS¶
use Rex::Task; # create a new task my $task = Rex::Task->new( name => 'testtask' ); $task->set_server('remoteserver'); $task->set_code( sub { say 'Hello'; } ); $task->modify( 'no_ssh', 1 ); # retrieve an existing task use Rex::TaskList; my $existing_task = Rex::TaskList->create->get_task('my_task');
METHODS¶
new¶
This is the constructor.
$task = Rex::Task->new( func => sub { some_code_here }, server => [ @server ], desc => $description, no_ssh => $no_ssh, hidden => $hidden, auth => { user => $user, password => $password, private_key => $private_key, public_key => $public_key, }, before => [sub {}, sub {}, ...], after => [sub {}, sub {}, ...], around => [sub {}, sub {}, ...], before_task_start => [sub {}, sub {}, ...], after_task_finished => [sub {}, sub {}, ...], name => $task_name, executor => Rex::Interface::Executor->create, opts => {key1 => val1, key2 => val2, ...}, args => [arg1, arg2, ...], );
connection¶
Returns the current connection object.
executor¶
Returns the current executor object.
hidden¶
Returns true if the task is hidden. (Should not be displayed on ,,rex -T''.)
server¶
Returns the servers on which the task should be executed as an ArrayRef.
set_server(@server)¶
With this method you can set new servers on which the task should be executed on.
delete_server¶
Delete every server registered to the task.
current_server¶
Returns the current server on which the tasks gets executed right now.
desc¶
Returns the description of a task.
set_desc($description)¶
Set the description of a task.
is_remote¶
Returns true (1) if the task will be executed remotely.
is_local¶
Returns true (1) if the task gets executed on the local host.
is_http¶
Returns true (1) if the task gets executed over http protocol.
is_https¶
Returns true (1) if the task gets executed over https protocol.
is_openssh¶
Returns true (1) if the task gets executed with openssh.
want_connect¶
Returns true (1) if the task will establish a connection to a remote system.
get_connection_type¶
This method tries to guess the right connection type for the task and returns it.
Current return values are below:
- SSH: connect to the remote server using Net::SSH2
- OpenSSH: connect to the remote server using Net::OpenSSH
- Local: runs locally (without any connections)
- HTTP: uses experimental HTTP connection
- HTTPS: uses experimental HTTPS connection
- Fake: populate the connection properties, but do not connect
So you can use this type to iterate over a list of remote hosts, but don't let rex build a connection. For example if you want to use Sys::Virt or other modules.
modify($key, $value)¶
With this method you can modify values of the task.
rethink_connection¶
Deletes current connection object.
user¶
Returns the username the task will use.
set_user($user)¶
Set the username of a task.
password¶
Returns the password that will be used.
set_password($password)¶
Set the password of the task.
name¶
Returns the name of the task.
code¶
Returns the code of the task.
set_code(\&code_ref)¶
Set the code of the task.
run_hook($server, $hook)¶
This method is used internally to execute the specified hooks.
set_auth($key, $value)¶
Set the authentication of the task.
$task->set_auth("user", "foo"); $task->set_auth("password", "bar");
merge_auth($server)¶
Merges the authentication information from $server into the task. Tasks authentication information have precedence.
get_sudo_password¶
Returns the sudo password.
parallelism¶
Get the parallelism count of a task.
set_parallelism($count)¶
Set the parallelism of the task.
connect($server)¶
Initiate the connection to $server.
disconnect¶
Disconnect from the current connection.
get_data¶
Dump task data.
run($server, %options)¶
Run the task on $server, with %options.
modify_task($task, $key => $value)¶
Modify $task, by setting $key to $value.
is_task¶
Returns true(1) if the passed object is a task.
get_tasks¶
Returns list of tasks.
get_desc¶
Returns description of task.
exit_on_connect_fail¶
Returns true if rex should exit on connect failure.
set_exit_on_connect_fail¶
Sets if rex should exit on connect failure.
get_args¶
Returns arguments of task.
get_opts¶
Returns options of task.
set_args¶
Sets arguments for task.
set_opt¶
Sets an option for task.
set_opts¶
Sets options for task.
clone¶
Clones a task.
2023-03-06 | perl v5.36.0 |