NAME

Cog::Globus::RSL - Perl extension for generating Globus RSL strings.


DESCRIPTION

Module for the creation and manipulation of Globus RSL strings.


SYNOPSIS

  use Cog::Globus::RSL;


EXAMPLES

  use Cog::Globus::RSL;       
  ###Create an RSL string
  my $myRSL = Cog::Globus::RSL->new();
  $myRSL->addAttribute('count','1');
  $myRSL->addAttribute('executable','/bin/ls');
  $myRSL->addAttribute('arguments','-l');
  $rsl_string = $myRSL->toString();


AUTHORS

Maytal Dahan, maytal@tacc.utexas.edu Catherine Mills, cmills@sdsc.edu Stephen Mock, mock@sdsc.edu


SUBROUTINES

new()

        Description/Usage:
        Unsed to instantiate an RSL object.
                $myrsl = Cog::Globus::RSL->new();
        Required Arguments:
                none
        Returns: a Cog::Globus::RSL object or undef

loadRSLAttributes()

        Description/Usage:
        Internal subroutine to load the possible RSL atts into an internal hash.
        
                $self->loadRSLAttributes();
        Required Arguments:
                none, works on the $self object
        Returns:
                nothing.
        Side Effect - loads rsl attributes into $self->{'rslatt'} hash

checkAttribute()

        Description/Usage:
        Internal sub to check whether an attribute is actually part of the rsl language
                $self->checkAttribute('myattribute');
        Required Arguments:
                -the RSL attribute you would like to check
        Returns:
                undef if not an RSL attribute
                a true value if so

getAttribute()

        Description/Usage:
        Used to get the value of a particular attribute from your RSL object
                $myrsl = Cog::Globus::RSL->new();
                $myrsl->addAttribute('executable','/bin/ls');
                ##what was that I just set again?
                $exe_att = $myrsl->getAttribute('executable');
        Required Arguments:
                -the attribute name you wish to check
        Returns: 
                -the attribute you requested
                or
                -undef if that attribute does not exist, is not set,
                 or is not part of RSL

generateRSL()

        Description/Usage:
        Internal subroutine to put the RSL string together and store into the RSL object
                
                $self->generateRSL();
        Required Arguments:
                none...but must be called on the RSL object.
        Returns:
                nothing

toString()

        Description/Usage:
        Used to return the generated rsl string
                $myrsl = Cog::Globus::RSL->new();
                $myrsl->addAttribute('executable','/bin/ls');
                $myrsl->addAttribute('arguments','-als');
                $myrsl->addAttribute('foo','bar');
                $rsl_string = $myrsl->toString();
        Required Arguments:
                none
        Returns:
                -the rsl string

getRSL()

        Description/Usage:
        Returns the rsl stored in the rsl object.
        This is meant for internal use...you should use toString to
        get the rsl.
                $myrsl = Cog::Globus::RSL->new();
                $myrsl->addAttribute('executable','/bin/ls');
                $myrsl->addAttribute('arguments','-als');
                $myrsl->addAttribute('foo','bar');
                $myrsl->generateRSL();
                $RSL = $myrsl->getRSL();
        Required Arguments:
                none
        Returns:
                -the rsl string

setRSL()

        Description/Usage:
        Used to set the rsl string within the rsl object
        Mostly meant for internal use, but could be used if
        you already have an RSL string and need to create a new
        RSL object.
                $rsl_string = "...your previous rsl...";
                $myrsl = Cog::Globus::RSL->new();
                $myrsl->setRSL($rsl_string);
        Required Arguments:
                -the rsl string you want to set
        Returns:
                nothing

clearRSL()

        Description/Usage:
        Used to clear out the values in the RSL object
                $myrsl = Cog::Globus::RSL->new();
                $myrsl->addAttribute('executable','/bin/ls');
                $myrsl->addAttribute('arguments','-als');
                $myrsl->addAttribute('foo','bar');
                ##oops, I made a mistake, nuke it.
                $myrsl->clearRSL();
        Required Arguments:
                none
        Returns:
                nothing

addAttribute()

        Description/Usage:
        Used to set an attribute in an RSL string.
        The attribute must be part of the rsl language.
                $myrsl = Cog::Globus::RSL->new();
                $myrsl->addAttribute('executable','/bin/ls');
                $myrsl->addAttribute('arguments','-als');
                $myrsl->addAttribute('foo','bar');
                $rsl_string = $myrsl->toString();
        Required Arguments:
                -the attribute
                -the value for the attribute
        Returns:
                -the value of the attribute set
                or
                -undef if it could not be set

deleteAttribute()

        Description/Usage:
        Used to delete an attribute in an RSL string.
        The attribute must be part of the rsl language.
                $myrsl = Cog::Globus::RSL->new();
                $myrsl->addAttribute('executable','/bin/ls');
                $myrsl->addAttribute('arguments','-als');
                $myrsl->deleteAttribute('arguments');
                $rsl_string = $myrsl->toString();
        Required Arguments:
                -the attribute
        Returns:
                -the value of the attribute set
                or
                -undef if it could not be set


SEE ALSO

Cog::lib::Cog::Globus::Job, Cog::lib::Cog::Globus::RSL, Cog::lib::Cog::Globus::Run, Cog::lib::Cog::Globus::URLCopy, Cog::lib::Cog::MDS::Search, Cog::lib::Cog::Security::Cacl, Cog::lib::Cog::Security::Myproxy, Cog::lib::Cog::Security::Proxy, Cog::src::Config, CogUtil::lib::CogUtil::Log, CogUtil::lib::CogUtil::UnixRun, Gridport::lib::Gridport::Authentication, Gridport::lib::Gridport::FileTransfer, Gridport::lib::Gridport::Job, Gridport::lib::Gridport::ProxyForward, Gridport::lib::Gridport::SRB, NWS::lib::NWS, SRB::lib::SRB