GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  REX::TASK (3)

.ds Aq ’

NAME

Rex::Task - The Task Object

CONTENTS

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->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:
o SSH: connect to the remote server using Net::SSH2
o OpenSSH: connect to the remote server using Net::OpenSSH
o Local: runs locally (without any connections)
o HTTP: uses experimental HTTP connection
o HTTPS: uses experimental HTTPS connection
o 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, CW$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, CW$hook)

This method is used internally to execute the specified hooks.

set_auth($key, CW$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, CW%options)

Run the task on $server, with %options.

modify_task($task, CW$key => CW$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.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 REX::TASK (3) 2016-03-07

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.