com.dtolabs.rundeck.core.cli.jobs
Class JobsTool

java.lang.Object
  extended by com.dtolabs.rundeck.core.cli.BaseTool
      extended by com.dtolabs.rundeck.core.cli.jobs.JobsTool
All Implemented Interfaces:
CLITool, CLIToolLogger, ILoadJobsRequest, IStoredJobsQuery, BaseLogger

public class JobsTool
extends BaseTool
implements IStoredJobsQuery, ILoadJobsRequest

JobsTool commandline tool (rd-jobs), which provides actions for listing stored jobs from the server, and loading XML definitions to the server. Server communication happens through the CentralDispatcher server layer.

'list' action: list stored jobs matching query input, or all jobs if no query options are provided. Optionally write the XML content to a file indicated with the -f/--file option.

'load' action: load XML content from a file indicated with -f/--file option to the server, listing the server's response about success/failure/skipped status for each Job defined. Behavior when duplicate jobs already exist on the server can be specified using the


Nested Class Summary
static class JobsTool.Actions
          Enumeration of available actions
 
Field Summary
static java.lang.String ACTION_LIST
          list action identifier
static java.lang.String ACTION_LOAD
          load action identifier
static java.lang.String ACTION_PURGE
          purge action identifier
static java.lang.String DUPLICATE_OPTION
          short option string for load option: duplicate
static java.lang.String DUPLICATE_OPTION_LONG
          long option string for load option: duplicate
static java.lang.String FILE_OPTION
          short option string for file input/output path
static java.lang.String FILE_OPTION_LONG
          long option string for file input/output path
static java.lang.String FORMAT_OPTION
          short option string for load option: format
static java.lang.String FORMAT_OPTION_LONG
          long option string for load option: format
static java.lang.String GROUP_OPTION
          short option string for query parameter: group
static java.lang.String GROUP_OPTION_LONG
          long option string for query parameter: group
static java.lang.String IDLIST_OPTION
          short option string for query parameter: idlist
static java.lang.String IDLIST_OPTION_LONG
          long option string for query parameter: idlist
static org.apache.log4j.Logger log4j
          log4j
static java.lang.String NAME_OPTION
          short option string for query parameter: name
static java.lang.String NAME_OPTION_LONG
          long option string for query parameter: name
static java.lang.String PROJECT_OPTION
          short option string for query parameter: project
static java.lang.String PROJECT_OPTION_LONG
          long option string for query parameter: project
static java.lang.String REMOVE_UUID_OPTION_LONG
          long option to remove UUIDs when importing jobs
static java.lang.String REMOVE_UUID_OPTION_SHORT
          long option to remove UUIDs when importing jobs
static java.lang.String VERBOSE_OPTION
          short option string for verbose
static java.lang.String VERBOSE_OPTION_LONG
          long option string for verbose
 
Constructor Summary
JobsTool()
          Create QueueTool with default Framework instances located by the system rdeck.base property.
JobsTool(CLIToolLogger logger)
          Create QueueTool specifying the logger
JobsTool(Framework framework)
          Create QueueTool specifying the framework
JobsTool(Framework framework, CLIToolLogger logger)
          Create QueueTool with the framework.
 
Method Summary
 void debug(java.lang.String message)
          Logs debug message via implementation specific log facility
 void error(java.lang.String output)
          Logs error message via implementation specific log facility
 JobsTool.Actions getAction()
          Get action
 java.io.File getArgFile()
          Return file argument
 java.lang.String getArgGroup()
          Return group option value
 java.lang.String getArgIdlist()
          Return idlist option value
 java.lang.String getArgName()
          Get Name for use with list action
 java.lang.String getArgProject()
          Return project option value
 StoredJobsRequestDuplicateOption getDuplicateOption()
          Return option used for duplicates
 java.lang.String getGroupMatch()
          Return match string for group name
 java.lang.String getHelpString()
          Return the help string used when -h option is specified.
 java.lang.String getIdlist()
          Return ID list string, a comma-separated list of IDs.
 java.lang.String getNameMatch()
          Return match string for job name
 java.lang.String getProject()
          Return project name for imported jobs, optional
 java.lang.String getProjectFilter()
          Return match string for project name
 StoredJobsRequestUUIDOption getUUIDOption()
          Return option used for preserving UUIDs
protected  void go()
          Call the action
 boolean isArgVerbose()
          Return verbose
protected  boolean isUseHelpOption()
          Return true if the -h/--help option should be added to the options automatically.
 void log(java.lang.String output)
          Logs message via implementation specific log facility
static void main(java.lang.String[] args)
          Creates an instance and executes BaseTool.run(String[]).
 org.apache.commons.cli.CommandLine parseArgs(java.lang.String[] args)
          Reads the argument vector and constructs a CommandLine object containing params
 void setAction(JobsTool.Actions action)
          Set action
 void setArgFile(java.io.File argFile)
          Set the file argument
 void setArgGroup(java.lang.String argGroup)
          Set group option value
 void setArgIdlist(java.lang.String argIdlist)
          Set idlist option value
 void setArgName(java.lang.String argName)
          Set name for use with list action
 void setArgProject(java.lang.String argProject)
          Set project option value
 void setArgVerbose(boolean argVerbose)
          Set verbose
 void verbose(java.lang.String message)
          Logs verbose message via implementation specific log facility
 void warn(java.lang.String output)
          Logs warning message via implementation specific log facility
 
Methods inherited from class com.dtolabs.rundeck.core.cli.BaseTool
addToolOptions, exit, getCommandLine, getOptions, help, initOptions, run, setShouldExit, validateOptions
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log4j

public static final org.apache.log4j.Logger log4j
log4j


ACTION_LIST

public static final java.lang.String ACTION_LIST
list action identifier

See Also:
Constant Field Values

ACTION_LOAD

public static final java.lang.String ACTION_LOAD
load action identifier

See Also:
Constant Field Values

ACTION_PURGE

public static final java.lang.String ACTION_PURGE
purge action identifier

See Also:
Constant Field Values

GROUP_OPTION

public static final java.lang.String GROUP_OPTION
short option string for query parameter: group

See Also:
Constant Field Values

NAME_OPTION

public static final java.lang.String NAME_OPTION
short option string for query parameter: name

See Also:
Constant Field Values

IDLIST_OPTION

public static final java.lang.String IDLIST_OPTION
short option string for query parameter: idlist

See Also:
Constant Field Values

FILE_OPTION

public static final java.lang.String FILE_OPTION
short option string for file input/output path

See Also:
Constant Field Values

VERBOSE_OPTION

public static final java.lang.String VERBOSE_OPTION
short option string for verbose

See Also:
Constant Field Values

NAME_OPTION_LONG

public static final java.lang.String NAME_OPTION_LONG
long option string for query parameter: name

See Also:
Constant Field Values

GROUP_OPTION_LONG

public static final java.lang.String GROUP_OPTION_LONG
long option string for query parameter: group

See Also:
Constant Field Values

IDLIST_OPTION_LONG

public static final java.lang.String IDLIST_OPTION_LONG
long option string for query parameter: idlist

See Also:
Constant Field Values

FILE_OPTION_LONG

public static final java.lang.String FILE_OPTION_LONG
long option string for file input/output path

See Also:
Constant Field Values

VERBOSE_OPTION_LONG

public static final java.lang.String VERBOSE_OPTION_LONG
long option string for verbose

See Also:
Constant Field Values

PROJECT_OPTION

public static final java.lang.String PROJECT_OPTION
short option string for query parameter: project

See Also:
Constant Field Values

PROJECT_OPTION_LONG

public static final java.lang.String PROJECT_OPTION_LONG
long option string for query parameter: project

See Also:
Constant Field Values

DUPLICATE_OPTION

public static final java.lang.String DUPLICATE_OPTION
short option string for load option: duplicate

See Also:
Constant Field Values

DUPLICATE_OPTION_LONG

public static final java.lang.String DUPLICATE_OPTION_LONG
long option string for load option: duplicate

See Also:
Constant Field Values

REMOVE_UUID_OPTION_SHORT

public static final java.lang.String REMOVE_UUID_OPTION_SHORT
long option to remove UUIDs when importing jobs

See Also:
Constant Field Values

REMOVE_UUID_OPTION_LONG

public static final java.lang.String REMOVE_UUID_OPTION_LONG
long option to remove UUIDs when importing jobs

See Also:
Constant Field Values

FORMAT_OPTION

public static final java.lang.String FORMAT_OPTION
short option string for load option: format

See Also:
Constant Field Values

FORMAT_OPTION_LONG

public static final java.lang.String FORMAT_OPTION_LONG
long option string for load option: format

See Also:
Constant Field Values
Constructor Detail

JobsTool

public JobsTool()
Create QueueTool with default Framework instances located by the system rdeck.base property.


JobsTool

public JobsTool(CLIToolLogger logger)
Create QueueTool specifying the logger

Parameters:
logger - the logger

JobsTool

public JobsTool(Framework framework)
Create QueueTool specifying the framework

Parameters:
framework - framework

JobsTool

public JobsTool(Framework framework,
                CLIToolLogger logger)
Create QueueTool with the framework.

Parameters:
framework - the framework
logger - the logger
Method Detail

getAction

public JobsTool.Actions getAction()
Get action

Returns:
action

setAction

public void setAction(JobsTool.Actions action)
Set action

Parameters:
action - the action

getArgName

public java.lang.String getArgName()
Get Name for use with list action

Returns:
name argument

setArgName

public void setArgName(java.lang.String argName)
Set name for use with list action

Parameters:
argName - job ID

isArgVerbose

public boolean isArgVerbose()
Return verbose

Returns:
is verbose

setArgVerbose

public void setArgVerbose(boolean argVerbose)
Set verbose

Parameters:
argVerbose - is verbose

getNameMatch

public java.lang.String getNameMatch()
Description copied from interface: IStoredJobsQuery
Return match string for job name

Specified by:
getNameMatch in interface IStoredJobsQuery
Returns:
match string

getGroupMatch

public java.lang.String getGroupMatch()
Description copied from interface: IStoredJobsQuery
Return match string for group name

Specified by:
getGroupMatch in interface IStoredJobsQuery
Returns:
match string

getIdlist

public java.lang.String getIdlist()
Description copied from interface: IStoredJobsQuery
Return ID list string, a comma-separated list of IDs. This is used to explicitly request Jobs by ID rather than via matching properties.

Specified by:
getIdlist in interface IStoredJobsQuery
Returns:
id list string

getProjectFilter

public java.lang.String getProjectFilter()
Description copied from interface: IStoredJobsQuery
Return match string for project name

Specified by:
getProjectFilter in interface IStoredJobsQuery
Returns:
match string

getArgFile

public java.io.File getArgFile()
Return file argument

Returns:
file argument

setArgFile

public void setArgFile(java.io.File argFile)
Set the file argument

Parameters:
argFile - file for output or input depending on the action

getDuplicateOption

public StoredJobsRequestDuplicateOption getDuplicateOption()
Description copied from interface: ILoadJobsRequest
Return option used for duplicates

Specified by:
getDuplicateOption in interface ILoadJobsRequest
Returns:
duplicate option

getProject

public java.lang.String getProject()
Description copied from interface: ILoadJobsRequest
Return project name for imported jobs, optional

Specified by:
getProject in interface ILoadJobsRequest
Returns:
project name or null

getUUIDOption

public StoredJobsRequestUUIDOption getUUIDOption()
Description copied from interface: ILoadJobsRequest
Return option used for preserving UUIDs

Specified by:
getUUIDOption in interface ILoadJobsRequest
Returns:
option

getArgGroup

public java.lang.String getArgGroup()
Return group option value

Returns:
option value

setArgGroup

public void setArgGroup(java.lang.String argGroup)
Set group option value

Parameters:
argGroup - group value

getArgIdlist

public java.lang.String getArgIdlist()
Return idlist option value

Returns:
option value

setArgIdlist

public void setArgIdlist(java.lang.String argIdlist)
Set idlist option value

Parameters:
argIdlist - group value

getArgProject

public java.lang.String getArgProject()
Return project option value

Returns:
option value

setArgProject

public void setArgProject(java.lang.String argProject)
Set project option value

Parameters:
argProject - group value

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
Creates an instance and executes BaseTool.run(String[]).

Parameters:
args - command line arg vector
Throws:
java.lang.Exception - action error

isUseHelpOption

protected boolean isUseHelpOption()
Description copied from class: BaseTool
Return true if the -h/--help option should be added to the options automatically.

Specified by:
isUseHelpOption in class BaseTool
Returns:

parseArgs

public org.apache.commons.cli.CommandLine parseArgs(java.lang.String[] args)
                                             throws CLIToolOptionsException
Reads the argument vector and constructs a CommandLine object containing params

Specified by:
parseArgs in interface CLITool
Overrides:
parseArgs in class BaseTool
Parameters:
args - the cli arg vector
Returns:
a new instance of CommandLine
Throws:
CLIToolOptionsException - if arguments are incorrect

go

protected void go()
           throws JobsToolException,
                  CLIToolOptionsException
Call the action

Specified by:
go in class BaseTool
Throws:
JobsToolException - if an error occurs
CLIToolOptionsException

getHelpString

public java.lang.String getHelpString()
Description copied from class: BaseTool
Return the help string used when -h option is specified.

Specified by:
getHelpString in class BaseTool
Returns:

log

public void log(java.lang.String output)
Description copied from interface: BaseLogger
Logs message via implementation specific log facility

Specified by:
log in interface BaseLogger
Parameters:
output - message to log

error

public void error(java.lang.String output)
Description copied from interface: BaseLogger
Logs error message via implementation specific log facility

Specified by:
error in interface BaseLogger
Parameters:
output - message to log

warn

public void warn(java.lang.String output)
Description copied from interface: BaseLogger
Logs warning message via implementation specific log facility

Specified by:
warn in interface BaseLogger
Parameters:
output - message to log

verbose

public void verbose(java.lang.String message)
Logs verbose message via implementation specific log facility

Specified by:
verbose in interface BaseLogger
Parameters:
message - message to log

debug

public void debug(java.lang.String message)
Description copied from interface: BaseLogger
Logs debug message via implementation specific log facility

Specified by:
debug in interface BaseLogger
Parameters:
message - message to log