From ab8cc37094d9273b84bcac29f5b17ec0bb5d5986 Mon Sep 17 00:00:00 2001 From: Vincent Behar Date: Sun, 31 Jul 2011 23:18:32 +0200 Subject: [PATCH] Wagon: Deploying site to repository --- apidocs/allclasses-frame.html | 8 +- apidocs/allclasses-noframe.html | 8 +- apidocs/constant-values.html | 10 +- apidocs/deprecated-list.html | 6 +- apidocs/help-doc.html | 6 +- apidocs/index-all.html | 30 +- apidocs/index.html | 4 +- apidocs/org/rundeck/api/FileType.html | 6 +- .../org/rundeck/api/NodeFiltersBuilder.html | 6 +- apidocs/org/rundeck/api/OptionsBuilder.html | 6 +- ...kApiException.RundeckApiAuthException.html | 290 ++ ...ApiException.RundeckApiLoginException.html | 23 +- ...ApiException.RundeckApiTokenException.html | 286 ++ .../org/rundeck/api/RundeckApiException.html | 30 +- apidocs/org/rundeck/api/RundeckClient.html | 456 +- .../org/rundeck/api/class-use/FileType.html | 6 +- .../api/class-use/NodeFiltersBuilder.html | 6 +- .../rundeck/api/class-use/OptionsBuilder.html | 6 +- ...kApiException.RundeckApiAuthException.html | 189 + ...ApiException.RundeckApiLoginException.html | 6 +- ...ApiException.RundeckApiTokenException.html | 1123 +++++ .../api/class-use/RundeckApiException.html | 24 +- .../rundeck/api/class-use/RundeckClient.html | 6 +- .../api/domain/RundeckAbort.AbortStatus.html | 6 +- .../org/rundeck/api/domain/RundeckAbort.html | 6 +- .../api/domain/RundeckEvent.EventStatus.html | 6 +- .../api/domain/RundeckEvent.NodeSummary.html | 6 +- .../org/rundeck/api/domain/RundeckEvent.html | 6 +- .../RundeckExecution.ExecutionStatus.html | 6 +- .../rundeck/api/domain/RundeckExecution.html | 6 +- .../rundeck/api/domain/RundeckHistory.html | 6 +- .../org/rundeck/api/domain/RundeckJob.html | 6 +- .../api/domain/RundeckJobsImportMethod.html | 6 +- .../api/domain/RundeckJobsImportResult.html | 6 +- .../org/rundeck/api/domain/RundeckNode.html | 6 +- .../rundeck/api/domain/RundeckProject.html | 6 +- .../rundeck/api/domain/RundeckSystemInfo.html | 6 +- .../class-use/RundeckAbort.AbortStatus.html | 6 +- .../api/domain/class-use/RundeckAbort.html | 6 +- .../class-use/RundeckEvent.EventStatus.html | 6 +- .../class-use/RundeckEvent.NodeSummary.html | 6 +- .../api/domain/class-use/RundeckEvent.html | 6 +- .../RundeckExecution.ExecutionStatus.html | 6 +- .../domain/class-use/RundeckExecution.html | 6 +- .../api/domain/class-use/RundeckHistory.html | 6 +- .../api/domain/class-use/RundeckJob.html | 6 +- .../class-use/RundeckJobsImportMethod.html | 6 +- .../class-use/RundeckJobsImportResult.html | 6 +- .../api/domain/class-use/RundeckNode.html | 6 +- .../api/domain/class-use/RundeckProject.html | 6 +- .../domain/class-use/RundeckSystemInfo.html | 6 +- .../org/rundeck/api/domain/package-frame.html | 4 +- .../rundeck/api/domain/package-summary.html | 6 +- .../org/rundeck/api/domain/package-tree.html | 6 +- .../org/rundeck/api/domain/package-use.html | 6 +- apidocs/org/rundeck/api/package-frame.html | 10 +- apidocs/org/rundeck/api/package-summary.html | 16 +- apidocs/org/rundeck/api/package-tree.html | 10 +- apidocs/org/rundeck/api/package-use.html | 20 +- .../org/rundeck/api/parser/AbortParser.html | 6 +- .../org/rundeck/api/parser/EventParser.html | 6 +- .../rundeck/api/parser/ExecutionParser.html | 6 +- .../org/rundeck/api/parser/HistoryParser.html | 6 +- apidocs/org/rundeck/api/parser/JobParser.html | 6 +- .../api/parser/JobsImportResultParser.html | 6 +- .../org/rundeck/api/parser/ListParser.html | 6 +- .../org/rundeck/api/parser/NodeParser.html | 6 +- .../org/rundeck/api/parser/ParserHelper.html | 6 +- .../org/rundeck/api/parser/ProjectParser.html | 6 +- .../org/rundeck/api/parser/StringParser.html | 6 +- .../rundeck/api/parser/SystemInfoParser.html | 6 +- .../org/rundeck/api/parser/XmlNodeParser.html | 6 +- .../api/parser/class-use/AbortParser.html | 6 +- .../api/parser/class-use/EventParser.html | 6 +- .../api/parser/class-use/ExecutionParser.html | 6 +- .../api/parser/class-use/HistoryParser.html | 6 +- .../api/parser/class-use/JobParser.html | 6 +- .../class-use/JobsImportResultParser.html | 6 +- .../api/parser/class-use/ListParser.html | 6 +- .../api/parser/class-use/NodeParser.html | 6 +- .../api/parser/class-use/ParserHelper.html | 6 +- .../api/parser/class-use/ProjectParser.html | 6 +- .../api/parser/class-use/StringParser.html | 6 +- .../parser/class-use/SystemInfoParser.html | 6 +- .../api/parser/class-use/XmlNodeParser.html | 6 +- .../org/rundeck/api/parser/package-frame.html | 4 +- .../rundeck/api/parser/package-summary.html | 6 +- .../org/rundeck/api/parser/package-tree.html | 6 +- .../org/rundeck/api/parser/package-use.html | 6 +- apidocs/org/rundeck/api/util/AssertUtil.html | 6 +- .../org/rundeck/api/util/ParametersUtil.html | 6 +- .../api/util/class-use/AssertUtil.html | 6 +- .../api/util/class-use/ParametersUtil.html | 6 +- .../org/rundeck/api/util/package-frame.html | 4 +- .../org/rundeck/api/util/package-summary.html | 6 +- .../org/rundeck/api/util/package-tree.html | 6 +- apidocs/org/rundeck/api/util/package-use.html | 6 +- apidocs/overview-frame.html | 4 +- apidocs/overview-summary.html | 8 +- apidocs/overview-tree.html | 10 +- apidocs/serialized-form.html | 51 +- changes-report.html | 10 +- cpd.html | 8 +- cpd.xml | 8 +- dependencies.html | 22 +- dependency-updates-report.html | 8 +- distribution-management.html | 8 +- download.html | 8 +- faq.html | 8 +- findbugs.html | 10 +- groovy.html | 8 +- index.html | 8 +- integration.html | 8 +- issue-tracking.html | 8 +- jruby.html | 8 +- jython.html | 8 +- license.html | 8 +- mail-lists.html | 8 +- plugin-updates-report.html | 8 +- pmd.html | 8 +- pmd.xml | 2 +- project-info.html | 8 +- project-reports.html | 8 +- project-summary.html | 10 +- property-updates-report.html | 8 +- scripting.html | 8 +- source-repository.html | 8 +- status.html | 10 +- taglist.html | 8 +- team-list.html | 8 +- testapidocs/allclasses-frame.html | 4 +- testapidocs/allclasses-noframe.html | 4 +- testapidocs/constant-values.html | 6 +- testapidocs/deprecated-list.html | 6 +- testapidocs/help-doc.html | 6 +- testapidocs/index-all.html | 6 +- testapidocs/index.html | 4 +- .../rundeck/api/parser/AbortParserTest.html | 6 +- .../rundeck/api/parser/EventParserTest.html | 6 +- .../api/parser/ExecutionParserTest.html | 6 +- .../rundeck/api/parser/HistoryParserTest.html | 6 +- .../org/rundeck/api/parser/JobParserTest.html | 6 +- .../parser/JobsImportResultParserTest.html | 6 +- .../rundeck/api/parser/ListParserTest.html | 6 +- .../rundeck/api/parser/NodeParserTest.html | 6 +- .../rundeck/api/parser/ParserHelperTest.html | 6 +- .../rundeck/api/parser/ProjectParserTest.html | 6 +- .../rundeck/api/parser/StringParserTest.html | 6 +- .../api/parser/SystemInfoParserTest.html | 6 +- .../api/parser/class-use/AbortParserTest.html | 6 +- .../api/parser/class-use/EventParserTest.html | 6 +- .../parser/class-use/ExecutionParserTest.html | 6 +- .../parser/class-use/HistoryParserTest.html | 6 +- .../api/parser/class-use/JobParserTest.html | 6 +- .../class-use/JobsImportResultParserTest.html | 6 +- .../api/parser/class-use/ListParserTest.html | 6 +- .../api/parser/class-use/NodeParserTest.html | 6 +- .../parser/class-use/ParserHelperTest.html | 6 +- .../parser/class-use/ProjectParserTest.html | 6 +- .../parser/class-use/StringParserTest.html | 6 +- .../class-use/SystemInfoParserTest.html | 6 +- .../org/rundeck/api/parser/package-frame.html | 4 +- .../rundeck/api/parser/package-summary.html | 6 +- .../org/rundeck/api/parser/package-tree.html | 6 +- .../org/rundeck/api/parser/package-use.html | 6 +- .../rundeck/api/util/ParametersUtilTest.html | 6 +- .../util/class-use/ParametersUtilTest.html | 6 +- .../org/rundeck/api/util/package-frame.html | 4 +- .../org/rundeck/api/util/package-summary.html | 6 +- .../org/rundeck/api/util/package-tree.html | 6 +- .../org/rundeck/api/util/package-use.html | 6 +- testapidocs/overview-frame.html | 4 +- testapidocs/overview-summary.html | 8 +- testapidocs/overview-tree.html | 6 +- xref-test/index.html | 2 +- .../org/rundeck/api/parser/package-frame.html | 2 +- .../rundeck/api/parser/package-summary.html | 2 +- .../org/rundeck/api/util/package-frame.html | 2 +- .../org/rundeck/api/util/package-summary.html | 2 +- xref-test/overview-frame.html | 2 +- xref-test/overview-summary.html | 4 +- xref/allclasses-frame.html | 6 + xref/index.html | 2 +- xref/org/rundeck/api/ApiCall.html | 710 +-- xref/org/rundeck/api/RundeckApiException.html | 67 +- xref/org/rundeck/api/RundeckClient.html | 4485 +++++++++-------- .../org/rundeck/api/domain/package-frame.html | 2 +- .../rundeck/api/domain/package-summary.html | 2 +- xref/org/rundeck/api/package-frame.html | 8 +- xref/org/rundeck/api/package-summary.html | 12 +- .../org/rundeck/api/parser/package-frame.html | 2 +- .../rundeck/api/parser/package-summary.html | 2 +- xref/org/rundeck/api/util/package-frame.html | 2 +- .../org/rundeck/api/util/package-summary.html | 2 +- xref/overview-frame.html | 2 +- xref/overview-summary.html | 4 +- 196 files changed, 5779 insertions(+), 3131 deletions(-) create mode 100644 apidocs/org/rundeck/api/RundeckApiException.RundeckApiAuthException.html create mode 100644 apidocs/org/rundeck/api/RundeckApiException.RundeckApiTokenException.html create mode 100644 apidocs/org/rundeck/api/class-use/RundeckApiException.RundeckApiAuthException.html create mode 100644 apidocs/org/rundeck/api/class-use/RundeckApiException.RundeckApiTokenException.html diff --git a/apidocs/allclasses-frame.html b/apidocs/allclasses-frame.html index 5ba36b8..75cd874 100644 --- a/apidocs/allclasses-frame.html +++ b/apidocs/allclasses-frame.html @@ -2,10 +2,10 @@ - + -All Classes (RunDeck API - Java Client 1.2 API) +All Classes (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -58,8 +58,12 @@ All Classes (RunDeck API - Java Client 1.2 API)
RundeckApiException
+RundeckApiException.RundeckApiAuthException +
RundeckApiException.RundeckApiLoginException
+RundeckApiException.RundeckApiTokenException +
RundeckClient
RundeckEvent diff --git a/apidocs/allclasses-noframe.html b/apidocs/allclasses-noframe.html index 988dfda..ebecb79 100644 --- a/apidocs/allclasses-noframe.html +++ b/apidocs/allclasses-noframe.html @@ -2,10 +2,10 @@ - + -All Classes (RunDeck API - Java Client 1.2 API) +All Classes (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -58,8 +58,12 @@ All Classes (RunDeck API - Java Client 1.2 API)
RundeckApiException
+RundeckApiException.RundeckApiAuthException +
RundeckApiException.RundeckApiLoginException
+RundeckApiException.RundeckApiTokenException +
RundeckClient
RundeckEvent diff --git a/apidocs/constant-values.html b/apidocs/constant-values.html index d075e75..2e3d41f 100644 --- a/apidocs/constant-values.html +++ b/apidocs/constant-values.html @@ -2,10 +2,10 @@ - + -Constant Field Values (RunDeck API - Java Client 1.2 API) +Constant Field Values (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Constant Field Values (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Constant Field Values (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Constant Field Values (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } @@ -107,13 +107,13 @@ org.rundeck.* public static final transient String API_ENDPOINT -"/api/1" +"/api/2" public static final transient int API_VERSION -1 +2 diff --git a/apidocs/deprecated-list.html b/apidocs/deprecated-list.html index 1a86a18..caaf6cb 100644 --- a/apidocs/deprecated-list.html +++ b/apidocs/deprecated-list.html @@ -2,10 +2,10 @@ - + -Deprecated List (RunDeck API - Java Client 1.2 API) +Deprecated List (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Deprecated List (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Deprecated List (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Deprecated List (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/help-doc.html b/apidocs/help-doc.html index e5b4e20..23603cd 100644 --- a/apidocs/help-doc.html +++ b/apidocs/help-doc.html @@ -2,10 +2,10 @@ - + -API Help (RunDeck API - Java Client 1.2 API) +API Help (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ API Help (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="API Help (RunDeck API - Java Client 1.2 API)"; + parent.document.title="API Help (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/index-all.html b/apidocs/index-all.html index a02b732..d3ce127 100644 --- a/apidocs/index-all.html +++ b/apidocs/index-all.html @@ -2,10 +2,10 @@ - + -Index (RunDeck API - Java Client 1.2 API) +Index (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Index (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Index (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Index (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } @@ -566,6 +566,9 @@ Method in class org.rundeck.api.domain.getTitle() - Method in class org.rundeck.api.domain.RundeckEvent
  +
getToken() - +Method in class org.rundeck.api.RundeckClient +
 
getTotal() - Method in class org.rundeck.api.domain.RundeckEvent.NodeSummary
  @@ -885,15 +888,32 @@ Constructor for exception org.rundeck.api.RundeckApiException(String, Throwable) - Constructor for exception org.rundeck.api.RundeckApiException
  -
RundeckApiException.RundeckApiLoginException - Exception in org.rundeck.api
Specific login-related error
RundeckApiException.RundeckApiLoginException(String) - +
RundeckApiException.RundeckApiAuthException - Exception in org.rundeck.api
Specific authentication-related error (either login or token).
RundeckApiException.RundeckApiAuthException(String) - +Constructor for exception org.rundeck.api.RundeckApiException.RundeckApiAuthException +
  +
RundeckApiException.RundeckApiAuthException(String, Throwable) - +Constructor for exception org.rundeck.api.RundeckApiException.RundeckApiAuthException +
  +
RundeckApiException.RundeckApiLoginException - Exception in org.rundeck.api
Specific authentication-related error (in case of login-based authentication)
RundeckApiException.RundeckApiLoginException(String) - Constructor for exception org.rundeck.api.RundeckApiException.RundeckApiLoginException
 
RundeckApiException.RundeckApiLoginException(String, Throwable) - Constructor for exception org.rundeck.api.RundeckApiException.RundeckApiLoginException
  +
RundeckApiException.RundeckApiTokenException - Exception in org.rundeck.api
Specific authentication-related error (in case of token-based authentication)
RundeckApiException.RundeckApiTokenException(String) - +Constructor for exception org.rundeck.api.RundeckApiException.RundeckApiTokenException +
  +
RundeckApiException.RundeckApiTokenException(String, Throwable) - +Constructor for exception org.rundeck.api.RundeckApiException.RundeckApiTokenException +
 
RundeckClient - Class in org.rundeck.api
Main entry point to talk to a RunDeck instance.
RundeckClient(String, String, String) - Constructor for class org.rundeck.api.RundeckClient -
Instantiate a new RundeckClient for the RunDeck instance at the given url +
Instantiate a new RundeckClient for the RunDeck instance at the given url, using login-based + authentication. +
RundeckClient(String, String) - +Constructor for class org.rundeck.api.RundeckClient +
Instantiate a new RundeckClient for the RunDeck instance at the given url, using token-based + authentication.
RundeckEvent - Class in org.rundeck.api.domain
Represents a RunDeck event
RundeckEvent() - Constructor for class org.rundeck.api.domain.RundeckEvent
  diff --git a/apidocs/index.html b/apidocs/index.html index 9a91583..079134b 100644 --- a/apidocs/index.html +++ b/apidocs/index.html @@ -2,10 +2,10 @@ - + -RunDeck API - Java Client 1.2 API +RunDeck API - Java Client 2.0-SNAPSHOT API diff --git a/apidocs/org/rundeck/api/NodeFiltersBuilder.html b/apidocs/org/rundeck/api/NodeFiltersBuilder.html index e81c6f7..b8588d0 100644 --- a/apidocs/org/rundeck/api/NodeFiltersBuilder.html +++ b/apidocs/org/rundeck/api/NodeFiltersBuilder.html @@ -2,10 +2,10 @@ - + -NodeFiltersBuilder (RunDeck API - Java Client 1.2 API) +NodeFiltersBuilder (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ NodeFiltersBuilder (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="NodeFiltersBuilder (RunDeck API - Java Client 1.2 API)"; + parent.document.title="NodeFiltersBuilder (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/OptionsBuilder.html b/apidocs/org/rundeck/api/OptionsBuilder.html index 5d9f997..6990544 100644 --- a/apidocs/org/rundeck/api/OptionsBuilder.html +++ b/apidocs/org/rundeck/api/OptionsBuilder.html @@ -2,10 +2,10 @@ - + -OptionsBuilder (RunDeck API - Java Client 1.2 API) +OptionsBuilder (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ OptionsBuilder (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="OptionsBuilder (RunDeck API - Java Client 1.2 API)"; + parent.document.title="OptionsBuilder (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/RundeckApiException.RundeckApiAuthException.html b/apidocs/org/rundeck/api/RundeckApiException.RundeckApiAuthException.html new file mode 100644 index 0000000..8e9641f --- /dev/null +++ b/apidocs/org/rundeck/api/RundeckApiException.RundeckApiAuthException.html @@ -0,0 +1,290 @@ + + + + + + + +RundeckApiException.RundeckApiAuthException (RunDeck API - Java Client 2.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.rundeck.api +
+Class RundeckApiException.RundeckApiAuthException

+
+java.lang.Object
+  extended by java.lang.Throwable
+      extended by java.lang.Exception
+          extended by java.lang.RuntimeException
+              extended by org.rundeck.api.RundeckApiException
+                  extended by org.rundeck.api.RundeckApiException.RundeckApiAuthException
+
+
+
All Implemented Interfaces:
Serializable
+
+
+
Direct Known Subclasses:
RundeckApiException.RundeckApiLoginException, RundeckApiException.RundeckApiTokenException
+
+
+
Enclosing class:
RundeckApiException
+
+
+
+
public static class RundeckApiException.RundeckApiAuthException
extends RundeckApiException
+ + +

+Specific authentication-related error (either login or token). +

+ +

+

+
See Also:
RundeckApiException.RundeckApiLoginException, +RundeckApiException.RundeckApiTokenException, +Serialized Form
+
+ +

+ + + + + + + +
+Nested Class Summary
+ + + + + + + +
Nested classes/interfaces inherited from class org.rundeck.api.RundeckApiException
RundeckApiException.RundeckApiAuthException, RundeckApiException.RundeckApiLoginException, RundeckApiException.RundeckApiTokenException
+  + + + + + + + + + + + + + + +
+Constructor Summary
RundeckApiException.RundeckApiAuthException(String message) + +
+           
RundeckApiException.RundeckApiAuthException(String message, + Throwable cause) + +
+           
+  + + + + + + + +
+Method Summary
+ + + + + + + +
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+RundeckApiException.RundeckApiAuthException

+
+public RundeckApiException.RundeckApiAuthException(String message)
+
+
+
+ +

+RundeckApiException.RundeckApiAuthException

+
+public RundeckApiException.RundeckApiAuthException(String message,
+                                                   Throwable cause)
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2011. All Rights Reserved. + + diff --git a/apidocs/org/rundeck/api/RundeckApiException.RundeckApiLoginException.html b/apidocs/org/rundeck/api/RundeckApiException.RundeckApiLoginException.html index 3130156..db04aab 100644 --- a/apidocs/org/rundeck/api/RundeckApiException.RundeckApiLoginException.html +++ b/apidocs/org/rundeck/api/RundeckApiException.RundeckApiLoginException.html @@ -2,10 +2,10 @@ - + -RundeckApiException.RundeckApiLoginException (RunDeck API - Java Client 1.2 API) +RundeckApiException.RundeckApiLoginException (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ RundeckApiException.RundeckApiLoginException (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RundeckApiException.RundeckApiLoginException (RunDeck API - Java Client 1.2 API)"; + parent.document.title="RundeckApiException.RundeckApiLoginException (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } @@ -56,8 +56,8 @@ function windowTitle() PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -98,7 +98,8 @@ Class RundeckApiException.RundeckApiLoginException extended by java.lang.Exception extended by java.lang.RuntimeException extended by org.rundeck.api.RundeckApiException - extended by org.rundeck.api.RundeckApiException.RundeckApiLoginException + extended by org.rundeck.api.RundeckApiException.RundeckApiAuthException + extended by org.rundeck.api.RundeckApiException.RundeckApiLoginException
All Implemented Interfaces:
Serializable
@@ -108,11 +109,11 @@ Class RundeckApiException.RundeckApiLoginException

-
public static class RundeckApiException.RundeckApiLoginException
extends RundeckApiException
+
public static class RundeckApiException.RundeckApiLoginException
extends RundeckApiException.RundeckApiAuthException

-Specific login-related error +Specific authentication-related error (in case of login-based authentication)

@@ -136,7 +137,7 @@ Specific login-related error Nested classes/interfaces inherited from class org.rundeck.api.RundeckApiException -RundeckApiException.RundeckApiLoginException +RundeckApiException.RundeckApiAuthException, RundeckApiException.RundeckApiLoginException, RundeckApiException.RundeckApiTokenException   @@ -250,8 +251,8 @@ public RundeckApiException.RundeckApiLoginException(PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   diff --git a/apidocs/org/rundeck/api/RundeckApiException.RundeckApiTokenException.html b/apidocs/org/rundeck/api/RundeckApiException.RundeckApiTokenException.html new file mode 100644 index 0000000..a9d52af --- /dev/null +++ b/apidocs/org/rundeck/api/RundeckApiException.RundeckApiTokenException.html @@ -0,0 +1,286 @@ + + + + + + + +RundeckApiException.RundeckApiTokenException (RunDeck API - Java Client 2.0-SNAPSHOT API) + + + + + + + + + + + + +


+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.rundeck.api +
+Class RundeckApiException.RundeckApiTokenException

+
+java.lang.Object
+  extended by java.lang.Throwable
+      extended by java.lang.Exception
+          extended by java.lang.RuntimeException
+              extended by org.rundeck.api.RundeckApiException
+                  extended by org.rundeck.api.RundeckApiException.RundeckApiAuthException
+                      extended by org.rundeck.api.RundeckApiException.RundeckApiTokenException
+
+
+
All Implemented Interfaces:
Serializable
+
+
+
Enclosing class:
RundeckApiException
+
+
+
+
public static class RundeckApiException.RundeckApiTokenException
extends RundeckApiException.RundeckApiAuthException
+ + +

+Specific authentication-related error (in case of token-based authentication) +

+ +

+

+
See Also:
Serialized Form
+
+ +

+ + + + + + + +
+Nested Class Summary
+ + + + + + + +
Nested classes/interfaces inherited from class org.rundeck.api.RundeckApiException
RundeckApiException.RundeckApiAuthException, RundeckApiException.RundeckApiLoginException, RundeckApiException.RundeckApiTokenException
+  + + + + + + + + + + + + + + +
+Constructor Summary
RundeckApiException.RundeckApiTokenException(String message) + +
+           
RundeckApiException.RundeckApiTokenException(String message, + Throwable cause) + +
+           
+  + + + + + + + +
+Method Summary
+ + + + + + + +
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+RundeckApiException.RundeckApiTokenException

+
+public RundeckApiException.RundeckApiTokenException(String message)
+
+
+
+ +

+RundeckApiException.RundeckApiTokenException

+
+public RundeckApiException.RundeckApiTokenException(String message,
+                                                    Throwable cause)
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2011. All Rights Reserved. + + diff --git a/apidocs/org/rundeck/api/RundeckApiException.html b/apidocs/org/rundeck/api/RundeckApiException.html index 517f5fa..69f32ac 100644 --- a/apidocs/org/rundeck/api/RundeckApiException.html +++ b/apidocs/org/rundeck/api/RundeckApiException.html @@ -2,10 +2,10 @@ - + -RundeckApiException (RunDeck API - Java Client 1.2 API) +RundeckApiException (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ RundeckApiException (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RundeckApiException (RunDeck API - Java Client 1.2 API)"; + parent.document.title="RundeckApiException (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } @@ -57,7 +57,7 @@ function windowTitle()  PREV CLASS  - NEXT CLASSNEXT CLASS
FRAMES    NO FRAMES   @@ -103,7 +103,7 @@ Class RundeckApiException
All Implemented Interfaces:
Serializable
-
Direct Known Subclasses:
RundeckApiException.RundeckApiLoginException
+
Direct Known Subclasses:
RundeckApiException.RundeckApiAuthException

@@ -133,10 +133,26 @@ A generic (unchecked) exception when using the RunDeck API static class +RundeckApiException.RundeckApiAuthException + +
+          Specific authentication-related error (either login or token). + + + +static class RundeckApiException.RundeckApiLoginException
-          Specific login-related error +          Specific authentication-related error (in case of login-based authentication) + + + +static class +RundeckApiException.RundeckApiTokenException + +
+          Specific authentication-related error (in case of token-based authentication)   @@ -250,7 +266,7 @@ public RundeckApiException(  PREV CLASS  - NEXT CLASSNEXT CLASS
FRAMES    NO FRAMES   diff --git a/apidocs/org/rundeck/api/RundeckClient.html b/apidocs/org/rundeck/api/RundeckClient.html index 713060f..c9a9cc9 100644 --- a/apidocs/org/rundeck/api/RundeckClient.html +++ b/apidocs/org/rundeck/api/RundeckClient.html @@ -2,10 +2,10 @@ - + -RundeckClient (RunDeck API - Java Client 1.2 API) +RundeckClient (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ RundeckClient (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RundeckClient (RunDeck API - Java Client 1.2 API)"; + parent.document.title="RundeckClient (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } @@ -56,7 +56,7 @@ function windowTitle() PREV CLASS  + PREV CLASS   NEXT CLASS FRAMES   @@ -106,10 +106,17 @@ Class RundeckClient

Main entry point to talk to a RunDeck instance.
+ You have 2 methods for authentication : login-based or token-based. If you want to use the first, you need to provide + both a "login" and a "password". Otherwise, just provide a "token" (also called "auth-token"). See the RunDeck + documentation for generating such a token.
+
Usage :

+ // using login-based authentication :
  RundeckClient rundeck = new RundeckClient("http://localhost:4440", "admin", "admin");
+ // or for a token-based authentication :
+ RundeckClient rundeck = new RundeckClient("http://localhost:4440", "PDDNKo5VE29kpk4prOUDr2rsKdRkEvsD");
  
  List<RundeckProject> projects = rundeck.getProjects();
  
@@ -168,12 +175,21 @@ Main entry point to talk to a RunDeck instance.
Constructor Summary
+RundeckClient(String url, + String token) + +
+          Instantiate a new RundeckClient for the RunDeck instance at the given url, using token-based + authentication. + + RundeckClient(String url, String login, String password)
-          Instantiate a new RundeckClient for the RunDeck instance at the given url +          Instantiate a new RundeckClient for the RunDeck instance at the given url, using login-based + authentication.   @@ -633,6 +649,14 @@ Main entry point to talk to a RunDeck instance.
 String +getToken() + +
+            + + + + String getUrl()
@@ -1263,13 +1287,31 @@ public RundeckClient(String password) throws IllegalArgumentException
-
Instantiate a new RundeckClient for the RunDeck instance at the given url +
Instantiate a new RundeckClient for the RunDeck instance at the given url, using login-based + authentication.

-
Parameters:
url - of the RunDeck instance ("http://localhost:4440", "http://rundeck.your-compagny.com/", etc)
login -
password - +
Parameters:
url - of the RunDeck instance ("http://localhost:4440", "http://rundeck.your-compagny.com/", etc)
login - to use for authentication on the RunDeck instance
password - to use for authentication on the RunDeck instance
Throws:
IllegalArgumentException - if the url, login or password is blank (null, empty or whitespace)
+
+ +

+RundeckClient

+
+public RundeckClient(String url,
+                     String token)
+              throws IllegalArgumentException
+
+
Instantiate a new RundeckClient for the RunDeck instance at the given url, using token-based + authentication. +

+

+
Parameters:
url - of the RunDeck instance ("http://localhost:4440", "http://rundeck.your-compagny.com/", etc)
token - to use for authentication on the RunDeck instance +
Throws: +
IllegalArgumentException - if the url or token is blank (null, empty or whitespace)
+
@@ -1324,7 +1366,8 @@ getProjects
 public List<RundeckProject> getProjects()
                                  throws RundeckApiException,
-                                        RundeckApiException.RundeckApiLoginException
+ RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException
List all projects

@@ -1336,7 +1379,8 @@ public List of RundeckProject : might be empty, but won't be null

Throws:
RundeckApiException - in case of error when calling the API -
RundeckApiException.RundeckApiLoginException - if the login failed
+
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)

@@ -1347,6 +1391,7 @@ getProject public RundeckProject getProject(String projectName) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Get the definition of a single project, identified by the given name @@ -1359,7 +1404,8 @@ public RundeckProject instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the projectName is blank (null, empty or whitespace)
@@ -1370,7 +1416,8 @@ getJobs
 public List<RundeckJob> getJobs()
                          throws RundeckApiException,
-                                RundeckApiException.RundeckApiLoginException
+ RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException
List all jobs (for all projects)

@@ -1382,7 +1429,8 @@ public List of RundeckJob : might be empty, but won't be null

Throws:
RundeckApiException - in case of error when calling the API -
RundeckApiException.RundeckApiLoginException - if the login failed
+
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)

@@ -1393,6 +1441,7 @@ getJobs public List<RundeckJob> getJobs(String project) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
List all jobs that belongs to the given project @@ -1405,7 +1454,8 @@ public List of RundeckJob : might be empty, but won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace)
See Also:
getJobs(String, String, String, String...)
@@ -1420,6 +1470,7 @@ public String... jobIds) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
List the jobs that belongs to the given project, and matches the given criteria (jobFilter, groupPath and jobIds) @@ -1432,7 +1483,8 @@ public List of RundeckJob : might be empty, but won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace)
See Also:
getJobs(String)
@@ -1446,6 +1498,7 @@ public void exportJobsToFile(String project) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -1458,7 +1511,8 @@ public void exportJobsToFile(FileType - mandatory
project - name of the project - mandatory
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the format or project is blank (null, empty or whitespace), or the format is invalid
IOException - if we failed to write to the file
See Also:
exportJobsToFile(String, FileType, String, String, String, String...), @@ -1475,6 +1529,7 @@ public void exportJobsToFile(String project) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -1487,7 +1542,8 @@ public void exportJobsToFile(FileType - mandatory
project - name of the project - mandatory
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace) or the format is null
IOException - if we failed to write to the file
See Also:
exportJobsToFile(String, FileType, String, String, String, String...), exportJobs(FileType, String)
@@ -1506,6 +1562,7 @@ public void exportJobsToFile(String... jobIds) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -1519,7 +1576,8 @@ public void exportJobsToFile(FileType - mandatory
project - name of the project - mandatory
jobFilter - a filter for the job Name - optional
groupPath - a group or partial group path to include all jobs within that group path - optional
jobIds - a list of Job IDs to include - optional
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the filename, format or project is blank (null, empty or whitespace), or the format is invalid
IOException - if we failed to write to the file
See Also:
exportJobsToFile(String, FileType, String, String, String, String...), @@ -1539,6 +1597,7 @@ public void exportJobsToFile(String... jobIds) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -1552,7 +1611,8 @@ public void exportJobsToFile(FileType - mandatory
project - name of the project - mandatory
jobFilter - a filter for the job Name - optional
groupPath - a group or partial group path to include all jobs within that group path - optional
jobIds - a list of Job IDs to include - optional
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the filename or project is blank (null, empty or whitespace), or the format is null
IOException - if we failed to write to the file
See Also:
exportJobs(FileType, String, String, String, String...)
@@ -1567,6 +1627,7 @@ public String project) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Export the definitions of all jobs that belongs to the given project @@ -1579,7 +1640,8 @@ public InputStream instance, not linked to any network resources - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the format or project is blank (null, empty or whitespace), or the format is invalid
See Also:
exportJobs(FileType, String, String, String, String...), exportJobsToFile(String, String, String)
@@ -1594,6 +1656,7 @@ public String project) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Export the definitions of all jobs that belongs to the given project @@ -1606,7 +1669,8 @@ public InputStream instance, not linked to any network resources - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace) or the format is null
See Also:
exportJobs(FileType, String, String, String, String...), exportJobsToFile(String, FileType, String)
@@ -1623,6 +1687,7 @@ public String... jobIds) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Export the definitions of the jobs that belongs to the given project, and matches the given criteria (jobFilter, @@ -1636,7 +1701,8 @@ public InputStream instance, not linked to any network resources - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the format or project is blank (null, empty or whitespace), or the format is invalid
See Also:
exportJobs(FileType, String, String, String, String...), exportJobsToFile(String, String, String, String, String, String...)
@@ -1654,6 +1720,7 @@ public String... jobIds) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Export the definitions of the jobs that belongs to the given project, and matches the given criteria (jobFilter, @@ -1667,7 +1734,8 @@ public InputStream instance, not linked to any network resources - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace) or the format is null
See Also:
exportJobsToFile(String, FileType, String, String, String, String...)
@@ -1681,6 +1749,7 @@ public void exportJobToFile(String jobId) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -1693,7 +1762,8 @@ public void exportJobToFile(FileType - mandatory
jobId - identifier of the job - mandatory
Throws:
RundeckApiException - in case of error when calling the API (non-existent job with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the filename, format or jobId is blank (null, empty or whitespace), or the format is invalid
IOException - if we failed to write to the file
See Also:
exportJobToFile(String, FileType, String), @@ -1711,6 +1781,7 @@ public void exportJobToFile(String jobId) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -1723,7 +1794,8 @@ public void exportJobToFile(FileType - mandatory
jobId - identifier of the job - mandatory
Throws:
RundeckApiException - in case of error when calling the API (non-existent job with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the filename or jobId is blank (null, empty or whitespace), or the format is null
IOException - if we failed to write to the file
See Also:
exportJob(FileType, String), @@ -1739,6 +1811,7 @@ public String jobId) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Export the definition of a single job, identified by the given ID @@ -1751,7 +1824,8 @@ public InputStream instance, not linked to any network resources - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent job with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the format or jobId is blank (null, empty or whitespace), or the format is invalid
See Also:
exportJobToFile(String, String, String), getJob(String)
@@ -1766,6 +1840,7 @@ public String jobId) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Export the definition of a single job, identified by the given ID @@ -1778,7 +1853,8 @@ public InputStream instance, not linked to any network resources - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent job with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the jobId is blank (null, empty or whitespace), or the format is null
See Also:
exportJobToFile(String, FileType, String), getJob(String)
@@ -1792,6 +1868,7 @@ public String fileType) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -1805,7 +1882,8 @@ public Returns:
a RundeckJobsImportResult instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the filename or fileType is blank (null, empty or whitespace), or the fileType is invalid
IOException - if we failed to read the file
See Also:
importJobs(InputStream, String), @@ -1821,6 +1899,7 @@ public FileType fileType) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -1834,7 +1913,8 @@ public Returns:
a RundeckJobsImportResult instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the filename is blank (null, empty or whitespace), or the fileType is null
IOException - if we failed to read the file
See Also:
importJobs(InputStream, FileType), importJobs(String, FileType, RundeckJobsImportMethod)
@@ -1850,6 +1930,7 @@ public String importBehavior) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -1863,7 +1944,8 @@ public Returns:
a RundeckJobsImportResult instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the filename or fileType is blank (null, empty or whitespace), or the fileType or behavior is not valid
IOException - if we failed to read the file
See Also:
importJobs(InputStream, String, String), @@ -1880,6 +1962,7 @@ public RundeckJobsImportMethod importBehavior) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -1893,7 +1976,8 @@ public Returns:
a RundeckJobsImportResult instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the filename is blank (null, empty or whitespace), or the fileType is null
IOException - if we failed to read the file
See Also:
importJobs(InputStream, FileType, RundeckJobsImportMethod)
@@ -1907,6 +1991,7 @@ public String fileType) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Import the definitions of jobs, from the given input stream @@ -1919,7 +2004,8 @@ public Returns:
a RundeckJobsImportResult instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the stream is null, or the fileType is blank (null, empty or whitespace) or invalid
See Also:
importJobs(String, String), importJobs(InputStream, FileType, RundeckJobsImportMethod)
@@ -1934,6 +2020,7 @@ public FileType fileType) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Import the definitions of jobs, from the given input stream @@ -1946,7 +2033,8 @@ public Returns:
a RundeckJobsImportResult instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the stream or fileType is null
See Also:
importJobs(String, FileType), importJobs(InputStream, FileType, RundeckJobsImportMethod)
@@ -1961,6 +2049,7 @@ public String importBehavior) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Import the definitions of jobs, from the given input stream, using the given behavior @@ -1973,7 +2062,8 @@ public Returns:
a RundeckJobsImportResult instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the stream is null, or the fileType is blank (null, empty or whitespace), or the fileType or behavior is not valid
See Also:
importJobs(String, String, String), importJobs(InputStream, FileType, RundeckJobsImportMethod)
@@ -1989,6 +2079,7 @@ public RundeckJobsImportMethod importBehavior) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Import the definitions of jobs, from the given input stream, using the given behavior @@ -2001,7 +2092,8 @@ public Returns:
a RundeckJobsImportResult instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the stream or fileType is null
See Also:
importJobs(String, FileType, RundeckJobsImportMethod)
@@ -2015,6 +2107,7 @@ public String name) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Find a job, identified by its project, group and name. Note that the groupPath is optional, as a job does not @@ -2028,7 +2121,8 @@ public RundeckJob instance - null if not found
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or the name is blank (null, empty or whitespace)
See Also:
getJob(String)
@@ -2040,6 +2134,7 @@ getJob public RundeckJob getJob(String jobId) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Get the definition of a single job, identified by the given ID @@ -2052,7 +2147,8 @@ public RundeckJob instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent job with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the jobId is blank (null, empty or whitespace)
See Also:
findJob(String, String, String), exportJob(String, String)
@@ -2065,6 +2161,7 @@ deleteJob public String deleteJob(String jobId) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Delete a single job, identified by the given ID @@ -2077,7 +2174,8 @@ public RundeckApiException - in case of error when calling the API (non-existent job with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the jobId is blank (null, empty or whitespace)
@@ -2089,6 +2187,7 @@ triggerJob public RundeckExecution triggerJob(String jobId) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Trigger the execution of a RunDeck job (identified by the given ID), and return immediately (without waiting the @@ -2102,7 +2201,8 @@ public RundeckExecution instance for the newly created (and running) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent job with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the jobId is blank (null, empty or whitespace)
See Also:
triggerJob(String, Properties, Properties), runJob(String)
@@ -2116,6 +2216,7 @@ public Properties options) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Trigger the execution of a RunDeck job (identified by the given ID), and return immediately (without waiting the @@ -2129,7 +2230,8 @@ public RundeckExecution instance for the newly created (and running) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent job with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the jobId is blank (null, empty or whitespace)
See Also:
triggerJob(String, Properties, Properties), runJob(String, Properties)
@@ -2144,6 +2246,7 @@ public Properties nodeFilters) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Trigger the execution of a RunDeck job (identified by the given ID), and return immediately (without waiting the @@ -2158,7 +2261,8 @@ public RundeckExecution instance for the newly created (and running) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent job with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the jobId is blank (null, empty or whitespace)
See Also:
triggerJob(String), runJob(String, Properties, Properties)
@@ -2171,6 +2275,7 @@ runJob public RundeckExecution runJob(String jobId) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return. @@ -2185,7 +2290,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent job with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the jobId is blank (null, empty or whitespace)
See Also:
triggerJob(String), runJob(String, Properties, Properties, long, TimeUnit)
@@ -2199,6 +2305,7 @@ public Properties options) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return. @@ -2213,7 +2320,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent job with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the jobId is blank (null, empty or whitespace)
See Also:
triggerJob(String, Properties), runJob(String, Properties, Properties, long, TimeUnit)
@@ -2228,6 +2336,7 @@ public Properties nodeFilters) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return. @@ -2243,7 +2352,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent job with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the jobId is blank (null, empty or whitespace)
See Also:
triggerJob(String, Properties, Properties), runJob(String, Properties, Properties, long, TimeUnit)
@@ -2259,6 +2369,7 @@ public TimeUnit poolingUnit) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return. @@ -2273,7 +2384,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent job with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the jobId is blank (null, empty or whitespace)
See Also:
triggerJob(String, Properties), runJob(String, Properties, Properties, long, TimeUnit)
@@ -2290,6 +2402,7 @@ public TimeUnit poolingUnit) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return. @@ -2305,7 +2418,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent job with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the jobId is blank (null, empty or whitespace)
See Also:
triggerJob(String, Properties), runJob(String, Properties, Properties, long, TimeUnit)
@@ -2319,6 +2433,7 @@ public String command) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Trigger the execution of an ad-hoc command, and return immediately (without waiting the end of the execution). @@ -2332,7 +2447,8 @@ public RundeckExecution instance for the newly created (and running) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or command is blank (null, empty or whitespace)
See Also:
triggerAdhocCommand(String, String, Properties, Integer, Boolean), runAdhocCommand(String, String)
@@ -2347,6 +2463,7 @@ public Properties nodeFilters) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Trigger the execution of an ad-hoc command, and return immediately (without waiting the end of the execution). @@ -2360,7 +2477,8 @@ public RundeckExecution instance for the newly created (and running) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or command is blank (null, empty or whitespace)
See Also:
triggerAdhocCommand(String, String, Properties, Integer, Boolean), runAdhocCommand(String, String, Properties)
@@ -2377,6 +2495,7 @@ public Boolean nodeKeepgoing) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Trigger the execution of an ad-hoc command, and return immediately (without waiting the end of the execution). @@ -2390,7 +2509,8 @@ public RundeckExecution instance for the newly created (and running) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or command is blank (null, empty or whitespace)
See Also:
triggerAdhocCommand(String, String), runAdhocCommand(String, String, Properties)
@@ -2404,6 +2524,7 @@ public String command) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck @@ -2418,7 +2539,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or command is blank (null, empty or whitespace)
See Also:
runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocCommand(String, String)
@@ -2434,6 +2556,7 @@ public TimeUnit poolingUnit) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck @@ -2449,7 +2572,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or command is blank (null, empty or whitespace)
See Also:
runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocCommand(String, String)
@@ -2464,6 +2588,7 @@ public Properties nodeFilters) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck @@ -2478,7 +2603,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or command is blank (null, empty or whitespace)
See Also:
runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocCommand(String, String, Properties)
@@ -2495,6 +2621,7 @@ public TimeUnit poolingUnit) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck @@ -2510,7 +2637,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or command is blank (null, empty or whitespace)
See Also:
runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocCommand(String, String, Properties)
@@ -2527,6 +2655,7 @@ public Boolean nodeKeepgoing) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck @@ -2541,7 +2670,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or command is blank (null, empty or whitespace)
See Also:
runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocCommand(String, String, Properties, Integer, Boolean)
@@ -2560,6 +2690,7 @@ public TimeUnit poolingUnit) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck @@ -2575,7 +2706,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or command is blank (null, empty or whitespace)
See Also:
triggerAdhocCommand(String, String, Properties, Integer, Boolean)
@@ -2588,6 +2720,7 @@ public String scriptFilename) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -2602,7 +2735,8 @@ public RundeckExecution instance for the newly created (and running) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or scriptFilename is blank (null, empty or whitespace)
IOException - if we failed to read the file
See Also:
triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean), runAdhocScript(String, String)
@@ -2618,6 +2752,7 @@ public Properties options) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -2632,7 +2767,8 @@ public RundeckExecution instance for the newly created (and running) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or scriptFilename is blank (null, empty or whitespace)
IOException - if we failed to read the file
See Also:
triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean), runAdhocScript(String, String, Properties)
@@ -2649,6 +2785,7 @@ public Properties nodeFilters) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -2663,7 +2800,8 @@ public RundeckExecution instance for the newly created (and running) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or scriptFilename is blank (null, empty or whitespace)
IOException - if we failed to read the file
See Also:
triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean), runAdhocScript(String, String, Properties, Properties)
@@ -2682,6 +2820,7 @@ public Boolean nodeKeepgoing) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -2696,7 +2835,8 @@ public RundeckExecution instance for the newly created (and running) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or scriptFilename is blank (null, empty or whitespace)
IOException - if we failed to read the file
See Also:
triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean), runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit)
@@ -2711,6 +2851,7 @@ public InputStream script) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The @@ -2724,7 +2865,8 @@ public RundeckExecution instance for the newly created (and running) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace) or the script is null
See Also:
triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean), runAdhocScript(String, InputStream)
@@ -2739,6 +2881,7 @@ public Properties options) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The @@ -2752,7 +2895,8 @@ public RundeckExecution instance for the newly created (and running) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace) or the script is null
See Also:
triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean), runAdhocScript(String, InputStream, Properties)
@@ -2768,6 +2912,7 @@ public Properties nodeFilters) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The @@ -2781,7 +2926,8 @@ public RundeckExecution instance for the newly created (and running) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace) or the script is null
See Also:
triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean), runAdhocScript(String, InputStream, Properties, Properties)
@@ -2799,6 +2945,7 @@ public Boolean nodeKeepgoing) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The @@ -2812,7 +2959,8 @@ public RundeckExecution instance for the newly created (and running) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace) or the script is null
See Also:
triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean), runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit)
@@ -2826,6 +2974,7 @@ public String scriptFilename) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -2841,7 +2990,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or scriptFilename is blank (null, empty or whitespace)
IOException - if we failed to read the file
See Also:
runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocScript(String, String)
@@ -2858,6 +3008,7 @@ public TimeUnit poolingUnit) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -2874,7 +3025,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or scriptFilename is blank (null, empty or whitespace)
IOException - if we failed to read the file
See Also:
runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocScript(String, String)
@@ -2890,6 +3042,7 @@ public Properties options) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -2905,7 +3058,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or scriptFilename is blank (null, empty or whitespace)
IOException - if we failed to read the file
See Also:
runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocScript(String, String, Properties)
@@ -2923,6 +3077,7 @@ public TimeUnit poolingUnit) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -2939,7 +3094,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or scriptFilename is blank (null, empty or whitespace)
IOException - if we failed to read the file
See Also:
runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocScript(String, String, Properties)
@@ -2956,6 +3112,7 @@ public Properties nodeFilters) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -2971,7 +3128,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or scriptFilename is blank (null, empty or whitespace)
IOException - if we failed to read the file
See Also:
runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocScript(String, String, Properties, Properties)
@@ -2990,6 +3148,7 @@ public TimeUnit poolingUnit) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -3006,7 +3165,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or scriptFilename is blank (null, empty or whitespace)
IOException - if we failed to read the file
See Also:
runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocScript(String, String, Properties, Properties)
@@ -3025,6 +3185,7 @@ public Boolean nodeKeepgoing) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -3040,7 +3201,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or scriptFilename is blank (null, empty or whitespace)
IOException - if we failed to read the file
See Also:
runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean)
@@ -3061,6 +3223,7 @@ public TimeUnit poolingUnit) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -3077,7 +3240,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project or scriptFilename is blank (null, empty or whitespace)
IOException - if we failed to read the file
See Also:
runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean)
@@ -3092,6 +3256,7 @@ public InputStream script) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -3107,7 +3272,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace) or the script is null
IOException - if we failed to read the file
See Also:
runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocScript(String, InputStream)
@@ -3124,6 +3290,7 @@ public TimeUnit poolingUnit) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -3140,7 +3307,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace) or the script is null
IOException - if we failed to read the file
See Also:
runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocScript(String, InputStream)
@@ -3156,6 +3324,7 @@ public Properties options) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -3171,7 +3340,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace) or the script is null
IOException - if we failed to read the file
See Also:
runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocScript(String, InputStream, Properties)
@@ -3189,6 +3359,7 @@ public TimeUnit poolingUnit) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -3205,7 +3376,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace) or the script is null
IOException - if we failed to read the file
See Also:
runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocScript(String, InputStream, Properties)
@@ -3222,6 +3394,7 @@ public Properties nodeFilters) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -3237,7 +3410,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace) or the script is null
IOException - if we failed to read the file
See Also:
runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocScript(String, InputStream, Properties, Properties)
@@ -3256,6 +3430,7 @@ public TimeUnit poolingUnit) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -3272,7 +3447,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace) or the script is null
IOException - if we failed to read the file
See Also:
runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocScript(String, InputStream, Properties, Properties)
@@ -3291,6 +3467,7 @@ public Boolean nodeKeepgoing) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException, IOException
@@ -3306,7 +3483,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace) or the script is null
IOException - if we failed to read the file
See Also:
runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean)
@@ -3327,6 +3505,7 @@ public TimeUnit poolingUnit) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck @@ -3342,7 +3521,8 @@ public RundeckExecution instance for the (finished/aborted) execution - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace) or the script is null
IOException - if we failed to read the file
See Also:
runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit), triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean)
@@ -3355,7 +3535,8 @@ getRunningExecutions
 public List<RundeckExecution> getRunningExecutions()
                                             throws RundeckApiException,
-                                                   RundeckApiException.RundeckApiLoginException
+ RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException
Get all running executions (for all projects)

@@ -3367,7 +3548,8 @@ public List of RundeckExecution : might be empty, but won't be null

Throws:
RundeckApiException - in case of error when calling the API -
RundeckApiException.RundeckApiLoginException - if the login failed
See Also:
getRunningExecutions(String)
+
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
See Also:
getRunningExecutions(String)

@@ -3378,6 +3560,7 @@ getRunningExecutions public List<RundeckExecution> getRunningExecutions(String project) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Get the running executions for the given project @@ -3390,7 +3573,8 @@ public List of RundeckExecution : might be empty, but won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace)
See Also:
getRunningExecutions()
@@ -3402,6 +3586,7 @@ getJobExecutions public List<RundeckExecution> getJobExecutions(String jobId) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Get the executions of the given job @@ -3414,7 +3599,8 @@ public List of RundeckExecution : might be empty, but won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent job with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the jobId is blank (null, empty or whitespace)
See Also:
getJobExecutions(String, RundeckExecution.ExecutionStatus, Long, Long)
@@ -3427,6 +3613,7 @@ public String status) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Get the executions of the given job @@ -3439,7 +3626,8 @@ public List of RundeckExecution : might be empty, but won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent job with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the jobId is blank (null, empty or whitespace), or the executionStatus is invalid
See Also:
getJobExecutions(String, String, Long, Long)
@@ -3453,6 +3641,7 @@ public RundeckExecution.ExecutionStatus status) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Get the executions of the given job @@ -3465,7 +3654,8 @@ public List of RundeckExecution : might be empty, but won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent job with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the jobId is blank (null, empty or whitespace)
See Also:
getJobExecutions(String, RundeckExecution.ExecutionStatus, Long, Long)
@@ -3480,6 +3670,7 @@ public Long offset) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Get the executions of the given job @@ -3492,7 +3683,8 @@ public List of RundeckExecution : might be empty, but won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent job with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the jobId is blank (null, empty or whitespace), or the executionStatus is invalid
See Also:
getJobExecutions(String, RundeckExecution.ExecutionStatus, Long, Long)
@@ -3508,6 +3700,7 @@ public Long offset) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Get the executions of the given job @@ -3520,7 +3713,8 @@ public List of RundeckExecution : might be empty, but won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent job with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the jobId is blank (null, empty or whitespace)
@@ -3532,6 +3726,7 @@ getExecution public RundeckExecution getExecution(Long executionId) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Get a single execution, identified by the given ID @@ -3544,7 +3739,8 @@ public RundeckExecution instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent execution with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the executionId is null
@@ -3556,6 +3752,7 @@ abortExecution public RundeckAbort abortExecution(Long executionId) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Abort an execution (identified by the given ID). The execution should be running... @@ -3568,7 +3765,8 @@ public RundeckAbort instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent execution with this ID) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the executionId is null
@@ -3580,6 +3778,7 @@ getHistory public RundeckHistory getHistory(String project) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Get the (events) history for the given project @@ -3592,7 +3791,8 @@ public RundeckHistory instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace)
See Also:
getHistory(String, String, String, String, String, Date, Date, Long, Long)
@@ -3606,6 +3806,7 @@ public Long offset) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Get the (events) history for the given project @@ -3618,7 +3819,8 @@ public RundeckHistory instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace)
See Also:
getHistory(String, String, String, String, String, Date, Date, Long, Long)
@@ -3633,6 +3835,7 @@ public String user) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Get the (events) history for the given project @@ -3645,7 +3848,8 @@ public RundeckHistory instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace)
See Also:
getHistory(String, String, String, String, String, Date, Date, Long, Long)
@@ -3662,6 +3866,7 @@ public Long offset) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Get the (events) history for the given project @@ -3674,7 +3879,8 @@ public RundeckHistory instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace)
See Also:
getHistory(String, String, String, String, String, Date, Date, Long, Long)
@@ -3687,6 +3893,7 @@ public String recent) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Get the (events) history for the given project @@ -3701,7 +3908,8 @@ public RundeckHistory instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace)
See Also:
getHistory(String, String, String, String, String, Date, Date, Long, Long)
@@ -3716,6 +3924,7 @@ public Long offset) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Get the (events) history for the given project @@ -3730,7 +3939,8 @@ public RundeckHistory instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace)
See Also:
getHistory(String, String, String, String, String, Date, Date, Long, Long)
@@ -3744,6 +3954,7 @@ public Date end) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Get the (events) history for the given project @@ -3756,7 +3967,8 @@ public RundeckHistory instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace)
See Also:
getHistory(String, String, String, String, String, Date, Date, Long, Long)
@@ -3772,6 +3984,7 @@ public Long offset) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Get the (events) history for the given project @@ -3784,7 +3997,8 @@ public RundeckHistory instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace)
See Also:
getHistory(String, String, String, String, String, Date, Date, Long, Long)
@@ -3804,6 +4018,7 @@ public Long offset) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Get the (events) history for the given project @@ -3818,7 +4033,8 @@ public RundeckHistory instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace)
@@ -3829,7 +4045,8 @@ getNodes
 public List<RundeckNode> getNodes()
                            throws RundeckApiException,
-                                  RundeckApiException.RundeckApiLoginException
+ RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException
List all nodes (for all projects)

@@ -3841,7 +4058,8 @@ public List of RundeckNode : might be empty, but won't be null

Throws:
RundeckApiException - in case of error when calling the API -
RundeckApiException.RundeckApiLoginException - if the login failed
+
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)

@@ -3852,6 +4070,7 @@ getNodes public List<RundeckNode> getNodes(String project) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
List all nodes that belongs to the given project @@ -3864,7 +4083,8 @@ public List of RundeckNode : might be empty, but won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace)
See Also:
getNodes(String, Properties)
@@ -3877,6 +4097,7 @@ public Properties nodeFilters) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
List nodes that belongs to the given project @@ -3889,7 +4110,8 @@ public List of RundeckNode : might be empty, but won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the project is blank (null, empty or whitespace)
@@ -3902,6 +4124,7 @@ public String project) throws RundeckApiException, RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException, IllegalArgumentException
Get the definition of a single node @@ -3914,7 +4137,8 @@ public RundeckNode instance - won't be null
Throws:
RundeckApiException - in case of error when calling the API (non-existent name or project with this name) -
RundeckApiException.RundeckApiLoginException - if the login failed +
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)
IllegalArgumentException - if the name or project is blank (null, empty or whitespace)
@@ -3925,7 +4149,8 @@ getSystemInfo
 public RundeckSystemInfo getSystemInfo()
                                 throws RundeckApiException,
-                                       RundeckApiException.RundeckApiLoginException
+ RundeckApiException.RundeckApiLoginException, + RundeckApiException.RundeckApiTokenException
Get system informations about the RunDeck server

@@ -3937,8 +4162,8 @@ public RundeckSystemInfo instance - won't be null

Throws:
RundeckApiException - in case of error when calling the API -
RundeckApiException - if the login failed -
RundeckApiException.RundeckApiLoginException
+
RundeckApiException.RundeckApiLoginException - if the login fails (in case of login-based authentication) +
RundeckApiException.RundeckApiTokenException - if the token is invalid (in case of token-based authentication)

@@ -3958,6 +4183,21 @@ public

+getToken

+
+public String getToken()
+
+
+
+
+
+ +
Returns:
the auth-token used for authentication on the RunDeck instance (null if using login-based auth)
+
+
+
+

getLogin

@@ -3968,7 +4208,7 @@ public 
 
-
Returns:
the password used for authentication on the RunDeck instance
+
Returns:
the password used for authentication on the RunDeck instance (null if using token-based auth)

@@ -4059,7 +4299,7 @@ public boolean equals(
PREV CLASS  + PREV CLASS   NEXT CLASS FRAMES   diff --git a/apidocs/org/rundeck/api/class-use/FileType.html b/apidocs/org/rundeck/api/class-use/FileType.html index 9ed729f..78e1c92 100644 --- a/apidocs/org/rundeck/api/class-use/FileType.html +++ b/apidocs/org/rundeck/api/class-use/FileType.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.FileType (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.FileType (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.FileType (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.FileType (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.FileType (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/class-use/NodeFiltersBuilder.html b/apidocs/org/rundeck/api/class-use/NodeFiltersBuilder.html index fd55723..659a0ef 100644 --- a/apidocs/org/rundeck/api/class-use/NodeFiltersBuilder.html +++ b/apidocs/org/rundeck/api/class-use/NodeFiltersBuilder.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.NodeFiltersBuilder (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.NodeFiltersBuilder (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.NodeFiltersBuilder (RunDeck API - Java Client 1.2 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.NodeFiltersBuilder (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.NodeFiltersBuilder (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/class-use/OptionsBuilder.html b/apidocs/org/rundeck/api/class-use/OptionsBuilder.html index d9cdf11..6e07151 100644 --- a/apidocs/org/rundeck/api/class-use/OptionsBuilder.html +++ b/apidocs/org/rundeck/api/class-use/OptionsBuilder.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.OptionsBuilder (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.OptionsBuilder (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.OptionsBuilder (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.OptionsBuilder (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.OptionsBuilder (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/class-use/RundeckApiException.RundeckApiAuthException.html b/apidocs/org/rundeck/api/class-use/RundeckApiException.RundeckApiAuthException.html new file mode 100644 index 0000000..1d4219b --- /dev/null +++ b/apidocs/org/rundeck/api/class-use/RundeckApiException.RundeckApiAuthException.html @@ -0,0 +1,189 @@ + + + + + + + +Uses of Class org.rundeck.api.RundeckApiException.RundeckApiAuthException (RunDeck API - Java Client 2.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.rundeck.api.RundeckApiException.RundeckApiAuthException

+
+ + + + + + + + + +
+Packages that use RundeckApiException.RundeckApiAuthException
org.rundeck.apiJava client for the RunDeck API. 
+  +

+ + + + + +
+Uses of RundeckApiException.RundeckApiAuthException in org.rundeck.api
+  +

+ + + + + + + + + + + + + +
Subclasses of RundeckApiException.RundeckApiAuthException in org.rundeck.api
+static classRundeckApiException.RundeckApiLoginException + +
+          Specific authentication-related error (in case of login-based authentication)
+static classRundeckApiException.RundeckApiTokenException + +
+          Specific authentication-related error (in case of token-based authentication)
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2011. All Rights Reserved. + + diff --git a/apidocs/org/rundeck/api/class-use/RundeckApiException.RundeckApiLoginException.html b/apidocs/org/rundeck/api/class-use/RundeckApiException.RundeckApiLoginException.html index ac126a5..355b437 100644 --- a/apidocs/org/rundeck/api/class-use/RundeckApiException.RundeckApiLoginException.html +++ b/apidocs/org/rundeck/api/class-use/RundeckApiException.RundeckApiLoginException.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.RundeckApiException.RundeckApiLoginException (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.RundeckApiException.RundeckApiLoginException (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.RundeckApiException.RundeckApiLoginException (RunD function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.RundeckApiException.RundeckApiLoginException (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.RundeckApiException.RundeckApiLoginException (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/class-use/RundeckApiException.RundeckApiTokenException.html b/apidocs/org/rundeck/api/class-use/RundeckApiException.RundeckApiTokenException.html new file mode 100644 index 0000000..3169372 --- /dev/null +++ b/apidocs/org/rundeck/api/class-use/RundeckApiException.RundeckApiTokenException.html @@ -0,0 +1,1123 @@ + + + + + + + +Uses of Class org.rundeck.api.RundeckApiException.RundeckApiTokenException (RunDeck API - Java Client 2.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.rundeck.api.RundeckApiException.RundeckApiTokenException

+
+ + + + + + + + + +
+Packages that use RundeckApiException.RundeckApiTokenException
org.rundeck.apiJava client for the RunDeck API. 
+  +

+ + + + + +
+Uses of RundeckApiException.RundeckApiTokenException in org.rundeck.api
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods in org.rundeck.api that throw RundeckApiException.RundeckApiTokenException
+ RundeckAbortRundeckClient.abortExecution(Long executionId) + +
+          Abort an execution (identified by the given ID).
+ StringRundeckClient.deleteJob(String jobId) + +
+          Delete a single job, identified by the given ID
+ InputStreamRundeckClient.exportJob(FileType format, + String jobId) + +
+          Export the definition of a single job, identified by the given ID
+ InputStreamRundeckClient.exportJob(String format, + String jobId) + +
+          Export the definition of a single job, identified by the given ID
+ InputStreamRundeckClient.exportJobs(FileType format, + String project) + +
+          Export the definitions of all jobs that belongs to the given project
+ InputStreamRundeckClient.exportJobs(FileType format, + String project, + String jobFilter, + String groupPath, + String... jobIds) + +
+          Export the definitions of the jobs that belongs to the given project, and matches the given criteria (jobFilter, + groupPath and jobIds)
+ InputStreamRundeckClient.exportJobs(String format, + String project) + +
+          Export the definitions of all jobs that belongs to the given project
+ InputStreamRundeckClient.exportJobs(String format, + String project, + String jobFilter, + String groupPath, + String... jobIds) + +
+          Export the definitions of the jobs that belongs to the given project, and matches the given criteria (jobFilter, + groupPath and jobIds)
+ voidRundeckClient.exportJobsToFile(String filename, + FileType format, + String project) + +
+          Export the definitions of all jobs that belongs to the given project
+ voidRundeckClient.exportJobsToFile(String filename, + FileType format, + String project, + String jobFilter, + String groupPath, + String... jobIds) + +
+          Export the definitions of the jobs that belongs to the given project, and matches the given criteria (jobFilter, + groupPath and jobIds)
+ voidRundeckClient.exportJobsToFile(String filename, + String format, + String project) + +
+          Export the definitions of all jobs that belongs to the given project
+ voidRundeckClient.exportJobsToFile(String filename, + String format, + String project, + String jobFilter, + String groupPath, + String... jobIds) + +
+          Export the definitions of the jobs that belongs to the given project, and matches the given criteria (jobFilter, + groupPath and jobIds)
+ voidRundeckClient.exportJobToFile(String filename, + FileType format, + String jobId) + +
+          Export the definition of a single job (identified by the given ID)
+ voidRundeckClient.exportJobToFile(String filename, + String format, + String jobId) + +
+          Export the definition of a single job (identified by the given ID)
+ RundeckJobRundeckClient.findJob(String project, + String groupPath, + String name) + +
+          Find a job, identified by its project, group and name.
+ RundeckExecutionRundeckClient.getExecution(Long executionId) + +
+          Get a single execution, identified by the given ID
+ RundeckHistoryRundeckClient.getHistory(String project) + +
+          Get the (events) history for the given project
+ RundeckHistoryRundeckClient.getHistory(String project, + Date begin, + Date end) + +
+          Get the (events) history for the given project
+ RundeckHistoryRundeckClient.getHistory(String project, + Date begin, + Date end, + Long max, + Long offset) + +
+          Get the (events) history for the given project
+ RundeckHistoryRundeckClient.getHistory(String project, + Long max, + Long offset) + +
+          Get the (events) history for the given project
+ RundeckHistoryRundeckClient.getHistory(String project, + String recent) + +
+          Get the (events) history for the given project
+ RundeckHistoryRundeckClient.getHistory(String project, + String recent, + Long max, + Long offset) + +
+          Get the (events) history for the given project
+ RundeckHistoryRundeckClient.getHistory(String project, + String jobId, + String reportId, + String user) + +
+          Get the (events) history for the given project
+ RundeckHistoryRundeckClient.getHistory(String project, + String jobId, + String reportId, + String user, + Long max, + Long offset) + +
+          Get the (events) history for the given project
+ RundeckHistoryRundeckClient.getHistory(String project, + String jobId, + String reportId, + String user, + String recent, + Date begin, + Date end, + Long max, + Long offset) + +
+          Get the (events) history for the given project
+ RundeckJobRundeckClient.getJob(String jobId) + +
+          Get the definition of a single job, identified by the given ID
+ List<RundeckExecution>RundeckClient.getJobExecutions(String jobId) + +
+          Get the executions of the given job
+ List<RundeckExecution>RundeckClient.getJobExecutions(String jobId, + RundeckExecution.ExecutionStatus status) + +
+          Get the executions of the given job
+ List<RundeckExecution>RundeckClient.getJobExecutions(String jobId, + RundeckExecution.ExecutionStatus status, + Long max, + Long offset) + +
+          Get the executions of the given job
+ List<RundeckExecution>RundeckClient.getJobExecutions(String jobId, + String status) + +
+          Get the executions of the given job
+ List<RundeckExecution>RundeckClient.getJobExecutions(String jobId, + String status, + Long max, + Long offset) + +
+          Get the executions of the given job
+ List<RundeckJob>RundeckClient.getJobs() + +
+          List all jobs (for all projects)
+ List<RundeckJob>RundeckClient.getJobs(String project) + +
+          List all jobs that belongs to the given project
+ List<RundeckJob>RundeckClient.getJobs(String project, + String jobFilter, + String groupPath, + String... jobIds) + +
+          List the jobs that belongs to the given project, and matches the given criteria (jobFilter, groupPath and jobIds)
+ RundeckNodeRundeckClient.getNode(String name, + String project) + +
+          Get the definition of a single node
+ List<RundeckNode>RundeckClient.getNodes() + +
+          List all nodes (for all projects)
+ List<RundeckNode>RundeckClient.getNodes(String project) + +
+          List all nodes that belongs to the given project
+ List<RundeckNode>RundeckClient.getNodes(String project, + Properties nodeFilters) + +
+          List nodes that belongs to the given project
+ RundeckProjectRundeckClient.getProject(String projectName) + +
+          Get the definition of a single project, identified by the given name
+ List<RundeckProject>RundeckClient.getProjects() + +
+          List all projects
+ List<RundeckExecution>RundeckClient.getRunningExecutions() + +
+          Get all running executions (for all projects)
+ List<RundeckExecution>RundeckClient.getRunningExecutions(String project) + +
+          Get the running executions for the given project
+ RundeckSystemInfoRundeckClient.getSystemInfo() + +
+          Get system informations about the RunDeck server
+ RundeckJobsImportResultRundeckClient.importJobs(InputStream stream, + FileType fileType) + +
+          Import the definitions of jobs, from the given input stream
+ RundeckJobsImportResultRundeckClient.importJobs(InputStream stream, + FileType fileType, + RundeckJobsImportMethod importBehavior) + +
+          Import the definitions of jobs, from the given input stream, using the given behavior
+ RundeckJobsImportResultRundeckClient.importJobs(InputStream stream, + String fileType) + +
+          Import the definitions of jobs, from the given input stream
+ RundeckJobsImportResultRundeckClient.importJobs(InputStream stream, + String fileType, + String importBehavior) + +
+          Import the definitions of jobs, from the given input stream, using the given behavior
+ RundeckJobsImportResultRundeckClient.importJobs(String filename, + FileType fileType) + +
+          Import the definitions of jobs, from the given file
+ RundeckJobsImportResultRundeckClient.importJobs(String filename, + FileType fileType, + RundeckJobsImportMethod importBehavior) + +
+          Import the definitions of jobs, from the given file, using the given behavior
+ RundeckJobsImportResultRundeckClient.importJobs(String filename, + String fileType) + +
+          Import the definitions of jobs, from the given file
+ RundeckJobsImportResultRundeckClient.importJobs(String filename, + String fileType, + String importBehavior) + +
+          Import the definitions of jobs, from the given file, using the given behavior
+ RundeckExecutionRundeckClient.runAdhocCommand(String project, + String command) + +
+          Run an ad-hoc command, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocCommand(String project, + String command, + long poolingInterval, + TimeUnit poolingUnit) + +
+          Run an ad-hoc command, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocCommand(String project, + String command, + Properties nodeFilters) + +
+          Run an ad-hoc command, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocCommand(String project, + String command, + Properties nodeFilters, + Integer nodeThreadcount, + Boolean nodeKeepgoing) + +
+          Run an ad-hoc command, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocCommand(String project, + String command, + Properties nodeFilters, + Integer nodeThreadcount, + Boolean nodeKeepgoing, + long poolingInterval, + TimeUnit poolingUnit) + +
+          Run an ad-hoc command, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocCommand(String project, + String command, + Properties nodeFilters, + long poolingInterval, + TimeUnit poolingUnit) + +
+          Run an ad-hoc command, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocScript(String project, + InputStream script) + +
+          Run an ad-hoc script, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocScript(String project, + InputStream script, + long poolingInterval, + TimeUnit poolingUnit) + +
+          Run an ad-hoc script, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocScript(String project, + InputStream script, + Properties options) + +
+          Run an ad-hoc script, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocScript(String project, + InputStream script, + Properties options, + long poolingInterval, + TimeUnit poolingUnit) + +
+          Run an ad-hoc script, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocScript(String project, + InputStream script, + Properties options, + Properties nodeFilters) + +
+          Run an ad-hoc script, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocScript(String project, + InputStream script, + Properties options, + Properties nodeFilters, + Integer nodeThreadcount, + Boolean nodeKeepgoing) + +
+          Run an ad-hoc script, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocScript(String project, + InputStream script, + Properties options, + Properties nodeFilters, + Integer nodeThreadcount, + Boolean nodeKeepgoing, + long poolingInterval, + TimeUnit poolingUnit) + +
+          Run an ad-hoc script, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocScript(String project, + InputStream script, + Properties options, + Properties nodeFilters, + long poolingInterval, + TimeUnit poolingUnit) + +
+          Run an ad-hoc script, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocScript(String project, + String scriptFilename) + +
+          Run an ad-hoc script, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocScript(String project, + String scriptFilename, + long poolingInterval, + TimeUnit poolingUnit) + +
+          Run an ad-hoc script, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocScript(String project, + String scriptFilename, + Properties options) + +
+          Run an ad-hoc script, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocScript(String project, + String scriptFilename, + Properties options, + long poolingInterval, + TimeUnit poolingUnit) + +
+          Run an ad-hoc script, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocScript(String project, + String scriptFilename, + Properties options, + Properties nodeFilters) + +
+          Run an ad-hoc script, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocScript(String project, + String scriptFilename, + Properties options, + Properties nodeFilters, + Integer nodeThreadcount, + Boolean nodeKeepgoing) + +
+          Run an ad-hoc script, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocScript(String project, + String scriptFilename, + Properties options, + Properties nodeFilters, + Integer nodeThreadcount, + Boolean nodeKeepgoing, + long poolingInterval, + TimeUnit poolingUnit) + +
+          Run an ad-hoc script, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runAdhocScript(String project, + String scriptFilename, + Properties options, + Properties nodeFilters, + long poolingInterval, + TimeUnit poolingUnit) + +
+          Run an ad-hoc script, and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runJob(String jobId) + +
+          Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runJob(String jobId, + Properties options) + +
+          Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runJob(String jobId, + Properties options, + long poolingInterval, + TimeUnit poolingUnit) + +
+          Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runJob(String jobId, + Properties options, + Properties nodeFilters) + +
+          Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.runJob(String jobId, + Properties options, + Properties nodeFilters, + long poolingInterval, + TimeUnit poolingUnit) + +
+          Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return.
+ RundeckExecutionRundeckClient.triggerAdhocCommand(String project, + String command) + +
+          Trigger the execution of an ad-hoc command, and return immediately (without waiting the end of the execution).
+ RundeckExecutionRundeckClient.triggerAdhocCommand(String project, + String command, + Properties nodeFilters) + +
+          Trigger the execution of an ad-hoc command, and return immediately (without waiting the end of the execution).
+ RundeckExecutionRundeckClient.triggerAdhocCommand(String project, + String command, + Properties nodeFilters, + Integer nodeThreadcount, + Boolean nodeKeepgoing) + +
+          Trigger the execution of an ad-hoc command, and return immediately (without waiting the end of the execution).
+ RundeckExecutionRundeckClient.triggerAdhocScript(String project, + InputStream script) + +
+          Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution).
+ RundeckExecutionRundeckClient.triggerAdhocScript(String project, + InputStream script, + Properties options) + +
+          Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution).
+ RundeckExecutionRundeckClient.triggerAdhocScript(String project, + InputStream script, + Properties options, + Properties nodeFilters) + +
+          Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution).
+ RundeckExecutionRundeckClient.triggerAdhocScript(String project, + InputStream script, + Properties options, + Properties nodeFilters, + Integer nodeThreadcount, + Boolean nodeKeepgoing) + +
+          Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution).
+ RundeckExecutionRundeckClient.triggerAdhocScript(String project, + String scriptFilename) + +
+          Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution).
+ RundeckExecutionRundeckClient.triggerAdhocScript(String project, + String scriptFilename, + Properties options) + +
+          Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution).
+ RundeckExecutionRundeckClient.triggerAdhocScript(String project, + String scriptFilename, + Properties options, + Properties nodeFilters) + +
+          Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution).
+ RundeckExecutionRundeckClient.triggerAdhocScript(String project, + String scriptFilename, + Properties options, + Properties nodeFilters, + Integer nodeThreadcount, + Boolean nodeKeepgoing) + +
+          Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution).
+ RundeckExecutionRundeckClient.triggerJob(String jobId) + +
+          Trigger the execution of a RunDeck job (identified by the given ID), and return immediately (without waiting the + end of the job execution)
+ RundeckExecutionRundeckClient.triggerJob(String jobId, + Properties options) + +
+          Trigger the execution of a RunDeck job (identified by the given ID), and return immediately (without waiting the + end of the job execution)
+ RundeckExecutionRundeckClient.triggerJob(String jobId, + Properties options, + Properties nodeFilters) + +
+          Trigger the execution of a RunDeck job (identified by the given ID), and return immediately (without waiting the + end of the job execution)
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2011. All Rights Reserved. + + diff --git a/apidocs/org/rundeck/api/class-use/RundeckApiException.html b/apidocs/org/rundeck/api/class-use/RundeckApiException.html index 90cf357..f33a0d7 100644 --- a/apidocs/org/rundeck/api/class-use/RundeckApiException.html +++ b/apidocs/org/rundeck/api/class-use/RundeckApiException.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.RundeckApiException (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.RundeckApiException (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.RundeckApiException (RunDeck API - Java Client 1.2 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.RundeckApiException (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.RundeckApiException (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } @@ -118,10 +118,26 @@ Uses of static class +RundeckApiException.RundeckApiAuthException + +
+          Specific authentication-related error (either login or token). + + + +static class RundeckApiException.RundeckApiLoginException
-          Specific login-related error +          Specific authentication-related error (in case of login-based authentication) + + + +static class +RundeckApiException.RundeckApiTokenException + +
+          Specific authentication-related error (in case of token-based authentication)   diff --git a/apidocs/org/rundeck/api/class-use/RundeckClient.html b/apidocs/org/rundeck/api/class-use/RundeckClient.html index 0174702..024fdcc 100644 --- a/apidocs/org/rundeck/api/class-use/RundeckClient.html +++ b/apidocs/org/rundeck/api/class-use/RundeckClient.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.RundeckClient (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.RundeckClient (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.RundeckClient (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.RundeckClient (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.RundeckClient (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/RundeckAbort.AbortStatus.html b/apidocs/org/rundeck/api/domain/RundeckAbort.AbortStatus.html index ab05d2b..5b8794d 100644 --- a/apidocs/org/rundeck/api/domain/RundeckAbort.AbortStatus.html +++ b/apidocs/org/rundeck/api/domain/RundeckAbort.AbortStatus.html @@ -2,10 +2,10 @@ - + -RundeckAbort.AbortStatus (RunDeck API - Java Client 1.2 API) +RundeckAbort.AbortStatus (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ RundeckAbort.AbortStatus (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RundeckAbort.AbortStatus (RunDeck API - Java Client 1.2 API)"; + parent.document.title="RundeckAbort.AbortStatus (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/RundeckAbort.html b/apidocs/org/rundeck/api/domain/RundeckAbort.html index ed9072e..44b04ba 100644 --- a/apidocs/org/rundeck/api/domain/RundeckAbort.html +++ b/apidocs/org/rundeck/api/domain/RundeckAbort.html @@ -2,10 +2,10 @@ - + -RundeckAbort (RunDeck API - Java Client 1.2 API) +RundeckAbort (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ RundeckAbort (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RundeckAbort (RunDeck API - Java Client 1.2 API)"; + parent.document.title="RundeckAbort (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/RundeckEvent.EventStatus.html b/apidocs/org/rundeck/api/domain/RundeckEvent.EventStatus.html index fbd33f7..3d0bc07 100644 --- a/apidocs/org/rundeck/api/domain/RundeckEvent.EventStatus.html +++ b/apidocs/org/rundeck/api/domain/RundeckEvent.EventStatus.html @@ -2,10 +2,10 @@ - + -RundeckEvent.EventStatus (RunDeck API - Java Client 1.2 API) +RundeckEvent.EventStatus (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ RundeckEvent.EventStatus (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RundeckEvent.EventStatus (RunDeck API - Java Client 1.2 API)"; + parent.document.title="RundeckEvent.EventStatus (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/RundeckEvent.NodeSummary.html b/apidocs/org/rundeck/api/domain/RundeckEvent.NodeSummary.html index 33101a2..4fa48ec 100644 --- a/apidocs/org/rundeck/api/domain/RundeckEvent.NodeSummary.html +++ b/apidocs/org/rundeck/api/domain/RundeckEvent.NodeSummary.html @@ -2,10 +2,10 @@ - + -RundeckEvent.NodeSummary (RunDeck API - Java Client 1.2 API) +RundeckEvent.NodeSummary (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ RundeckEvent.NodeSummary (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RundeckEvent.NodeSummary (RunDeck API - Java Client 1.2 API)"; + parent.document.title="RundeckEvent.NodeSummary (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/RundeckEvent.html b/apidocs/org/rundeck/api/domain/RundeckEvent.html index f0a9fac..9fe8bf6 100644 --- a/apidocs/org/rundeck/api/domain/RundeckEvent.html +++ b/apidocs/org/rundeck/api/domain/RundeckEvent.html @@ -2,10 +2,10 @@ - + -RundeckEvent (RunDeck API - Java Client 1.2 API) +RundeckEvent (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ RundeckEvent (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RundeckEvent (RunDeck API - Java Client 1.2 API)"; + parent.document.title="RundeckEvent (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/RundeckExecution.ExecutionStatus.html b/apidocs/org/rundeck/api/domain/RundeckExecution.ExecutionStatus.html index 4ae4364..cd5aa2d 100644 --- a/apidocs/org/rundeck/api/domain/RundeckExecution.ExecutionStatus.html +++ b/apidocs/org/rundeck/api/domain/RundeckExecution.ExecutionStatus.html @@ -2,10 +2,10 @@ - + -RundeckExecution.ExecutionStatus (RunDeck API - Java Client 1.2 API) +RundeckExecution.ExecutionStatus (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ RundeckExecution.ExecutionStatus (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RundeckExecution.ExecutionStatus (RunDeck API - Java Client 1.2 API)"; + parent.document.title="RundeckExecution.ExecutionStatus (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/RundeckExecution.html b/apidocs/org/rundeck/api/domain/RundeckExecution.html index 177aa68..3aa0273 100644 --- a/apidocs/org/rundeck/api/domain/RundeckExecution.html +++ b/apidocs/org/rundeck/api/domain/RundeckExecution.html @@ -2,10 +2,10 @@ - + -RundeckExecution (RunDeck API - Java Client 1.2 API) +RundeckExecution (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ RundeckExecution (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RundeckExecution (RunDeck API - Java Client 1.2 API)"; + parent.document.title="RundeckExecution (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/RundeckHistory.html b/apidocs/org/rundeck/api/domain/RundeckHistory.html index 4a25050..f3e49ab 100644 --- a/apidocs/org/rundeck/api/domain/RundeckHistory.html +++ b/apidocs/org/rundeck/api/domain/RundeckHistory.html @@ -2,10 +2,10 @@ - + -RundeckHistory (RunDeck API - Java Client 1.2 API) +RundeckHistory (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ RundeckHistory (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RundeckHistory (RunDeck API - Java Client 1.2 API)"; + parent.document.title="RundeckHistory (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/RundeckJob.html b/apidocs/org/rundeck/api/domain/RundeckJob.html index 193b3df..2472494 100644 --- a/apidocs/org/rundeck/api/domain/RundeckJob.html +++ b/apidocs/org/rundeck/api/domain/RundeckJob.html @@ -2,10 +2,10 @@ - + -RundeckJob (RunDeck API - Java Client 1.2 API) +RundeckJob (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ RundeckJob (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RundeckJob (RunDeck API - Java Client 1.2 API)"; + parent.document.title="RundeckJob (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/RundeckJobsImportMethod.html b/apidocs/org/rundeck/api/domain/RundeckJobsImportMethod.html index b154d9c..128f8a8 100644 --- a/apidocs/org/rundeck/api/domain/RundeckJobsImportMethod.html +++ b/apidocs/org/rundeck/api/domain/RundeckJobsImportMethod.html @@ -2,10 +2,10 @@ - + -RundeckJobsImportMethod (RunDeck API - Java Client 1.2 API) +RundeckJobsImportMethod (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ RundeckJobsImportMethod (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RundeckJobsImportMethod (RunDeck API - Java Client 1.2 API)"; + parent.document.title="RundeckJobsImportMethod (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/RundeckJobsImportResult.html b/apidocs/org/rundeck/api/domain/RundeckJobsImportResult.html index 9f30fd0..e0cbb7a 100644 --- a/apidocs/org/rundeck/api/domain/RundeckJobsImportResult.html +++ b/apidocs/org/rundeck/api/domain/RundeckJobsImportResult.html @@ -2,10 +2,10 @@ - + -RundeckJobsImportResult (RunDeck API - Java Client 1.2 API) +RundeckJobsImportResult (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ RundeckJobsImportResult (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RundeckJobsImportResult (RunDeck API - Java Client 1.2 API)"; + parent.document.title="RundeckJobsImportResult (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/RundeckNode.html b/apidocs/org/rundeck/api/domain/RundeckNode.html index fe41d4e..9b7975c 100644 --- a/apidocs/org/rundeck/api/domain/RundeckNode.html +++ b/apidocs/org/rundeck/api/domain/RundeckNode.html @@ -2,10 +2,10 @@ - + -RundeckNode (RunDeck API - Java Client 1.2 API) +RundeckNode (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ RundeckNode (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RundeckNode (RunDeck API - Java Client 1.2 API)"; + parent.document.title="RundeckNode (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/RundeckProject.html b/apidocs/org/rundeck/api/domain/RundeckProject.html index 1b7b5a3..5f349cf 100644 --- a/apidocs/org/rundeck/api/domain/RundeckProject.html +++ b/apidocs/org/rundeck/api/domain/RundeckProject.html @@ -2,10 +2,10 @@ - + -RundeckProject (RunDeck API - Java Client 1.2 API) +RundeckProject (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ RundeckProject (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RundeckProject (RunDeck API - Java Client 1.2 API)"; + parent.document.title="RundeckProject (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/RundeckSystemInfo.html b/apidocs/org/rundeck/api/domain/RundeckSystemInfo.html index a72d52d..7534b35 100644 --- a/apidocs/org/rundeck/api/domain/RundeckSystemInfo.html +++ b/apidocs/org/rundeck/api/domain/RundeckSystemInfo.html @@ -2,10 +2,10 @@ - + -RundeckSystemInfo (RunDeck API - Java Client 1.2 API) +RundeckSystemInfo (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ RundeckSystemInfo (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RundeckSystemInfo (RunDeck API - Java Client 1.2 API)"; + parent.document.title="RundeckSystemInfo (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/class-use/RundeckAbort.AbortStatus.html b/apidocs/org/rundeck/api/domain/class-use/RundeckAbort.AbortStatus.html index f37d6b7..c5226b5 100644 --- a/apidocs/org/rundeck/api/domain/class-use/RundeckAbort.AbortStatus.html +++ b/apidocs/org/rundeck/api/domain/class-use/RundeckAbort.AbortStatus.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.domain.RundeckAbort.AbortStatus (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.domain.RundeckAbort.AbortStatus (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.domain.RundeckAbort.AbortStatus (RunDeck API - Jav function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.domain.RundeckAbort.AbortStatus (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.domain.RundeckAbort.AbortStatus (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/class-use/RundeckAbort.html b/apidocs/org/rundeck/api/domain/class-use/RundeckAbort.html index fc098f2..23aee79 100644 --- a/apidocs/org/rundeck/api/domain/class-use/RundeckAbort.html +++ b/apidocs/org/rundeck/api/domain/class-use/RundeckAbort.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.domain.RundeckAbort (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.domain.RundeckAbort (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.domain.RundeckAbort (RunDeck API - Java Client 1.2 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.domain.RundeckAbort (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.domain.RundeckAbort (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/class-use/RundeckEvent.EventStatus.html b/apidocs/org/rundeck/api/domain/class-use/RundeckEvent.EventStatus.html index a446dc5..d41f4b2 100644 --- a/apidocs/org/rundeck/api/domain/class-use/RundeckEvent.EventStatus.html +++ b/apidocs/org/rundeck/api/domain/class-use/RundeckEvent.EventStatus.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.domain.RundeckEvent.EventStatus (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.domain.RundeckEvent.EventStatus (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.domain.RundeckEvent.EventStatus (RunDeck API - Jav function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.domain.RundeckEvent.EventStatus (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.domain.RundeckEvent.EventStatus (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/class-use/RundeckEvent.NodeSummary.html b/apidocs/org/rundeck/api/domain/class-use/RundeckEvent.NodeSummary.html index cb96bd7..234c7ed 100644 --- a/apidocs/org/rundeck/api/domain/class-use/RundeckEvent.NodeSummary.html +++ b/apidocs/org/rundeck/api/domain/class-use/RundeckEvent.NodeSummary.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.domain.RundeckEvent.NodeSummary (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.domain.RundeckEvent.NodeSummary (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.domain.RundeckEvent.NodeSummary (RunDeck API - Jav function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.domain.RundeckEvent.NodeSummary (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.domain.RundeckEvent.NodeSummary (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/class-use/RundeckEvent.html b/apidocs/org/rundeck/api/domain/class-use/RundeckEvent.html index 77a5863..3f00b67 100644 --- a/apidocs/org/rundeck/api/domain/class-use/RundeckEvent.html +++ b/apidocs/org/rundeck/api/domain/class-use/RundeckEvent.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.domain.RundeckEvent (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.domain.RundeckEvent (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.domain.RundeckEvent (RunDeck API - Java Client 1.2 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.domain.RundeckEvent (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.domain.RundeckEvent (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/class-use/RundeckExecution.ExecutionStatus.html b/apidocs/org/rundeck/api/domain/class-use/RundeckExecution.ExecutionStatus.html index 9820e2e..0376b14 100644 --- a/apidocs/org/rundeck/api/domain/class-use/RundeckExecution.ExecutionStatus.html +++ b/apidocs/org/rundeck/api/domain/class-use/RundeckExecution.ExecutionStatus.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.domain.RundeckExecution.ExecutionStatus (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.domain.RundeckExecution.ExecutionStatus (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.domain.RundeckExecution.ExecutionStatus (RunDeck A function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.domain.RundeckExecution.ExecutionStatus (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.domain.RundeckExecution.ExecutionStatus (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/class-use/RundeckExecution.html b/apidocs/org/rundeck/api/domain/class-use/RundeckExecution.html index 0c4001e..f51db44 100644 --- a/apidocs/org/rundeck/api/domain/class-use/RundeckExecution.html +++ b/apidocs/org/rundeck/api/domain/class-use/RundeckExecution.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.domain.RundeckExecution (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.domain.RundeckExecution (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.domain.RundeckExecution (RunDeck API - Java Client function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.domain.RundeckExecution (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.domain.RundeckExecution (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/class-use/RundeckHistory.html b/apidocs/org/rundeck/api/domain/class-use/RundeckHistory.html index f9f37dc..3a3637e 100644 --- a/apidocs/org/rundeck/api/domain/class-use/RundeckHistory.html +++ b/apidocs/org/rundeck/api/domain/class-use/RundeckHistory.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.domain.RundeckHistory (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.domain.RundeckHistory (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.domain.RundeckHistory (RunDeck API - Java Client 1 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.domain.RundeckHistory (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.domain.RundeckHistory (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/class-use/RundeckJob.html b/apidocs/org/rundeck/api/domain/class-use/RundeckJob.html index eff08fe..74fd18e 100644 --- a/apidocs/org/rundeck/api/domain/class-use/RundeckJob.html +++ b/apidocs/org/rundeck/api/domain/class-use/RundeckJob.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.domain.RundeckJob (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.domain.RundeckJob (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.domain.RundeckJob (RunDeck API - Java Client 1.2 A function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.domain.RundeckJob (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.domain.RundeckJob (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/class-use/RundeckJobsImportMethod.html b/apidocs/org/rundeck/api/domain/class-use/RundeckJobsImportMethod.html index 05d6cac..d50798c 100644 --- a/apidocs/org/rundeck/api/domain/class-use/RundeckJobsImportMethod.html +++ b/apidocs/org/rundeck/api/domain/class-use/RundeckJobsImportMethod.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.domain.RundeckJobsImportMethod (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.domain.RundeckJobsImportMethod (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.domain.RundeckJobsImportMethod (RunDeck API - Java function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.domain.RundeckJobsImportMethod (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.domain.RundeckJobsImportMethod (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/class-use/RundeckJobsImportResult.html b/apidocs/org/rundeck/api/domain/class-use/RundeckJobsImportResult.html index 70e8f3d..a84ebb0 100644 --- a/apidocs/org/rundeck/api/domain/class-use/RundeckJobsImportResult.html +++ b/apidocs/org/rundeck/api/domain/class-use/RundeckJobsImportResult.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.domain.RundeckJobsImportResult (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.domain.RundeckJobsImportResult (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.domain.RundeckJobsImportResult (RunDeck API - Java function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.domain.RundeckJobsImportResult (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.domain.RundeckJobsImportResult (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/class-use/RundeckNode.html b/apidocs/org/rundeck/api/domain/class-use/RundeckNode.html index 75adcfe..684e176 100644 --- a/apidocs/org/rundeck/api/domain/class-use/RundeckNode.html +++ b/apidocs/org/rundeck/api/domain/class-use/RundeckNode.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.domain.RundeckNode (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.domain.RundeckNode (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.domain.RundeckNode (RunDeck API - Java Client 1.2 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.domain.RundeckNode (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.domain.RundeckNode (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/class-use/RundeckProject.html b/apidocs/org/rundeck/api/domain/class-use/RundeckProject.html index 10cb6c1..90a778f 100644 --- a/apidocs/org/rundeck/api/domain/class-use/RundeckProject.html +++ b/apidocs/org/rundeck/api/domain/class-use/RundeckProject.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.domain.RundeckProject (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.domain.RundeckProject (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.domain.RundeckProject (RunDeck API - Java Client 1 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.domain.RundeckProject (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.domain.RundeckProject (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/class-use/RundeckSystemInfo.html b/apidocs/org/rundeck/api/domain/class-use/RundeckSystemInfo.html index 8b843b8..e4c3170 100644 --- a/apidocs/org/rundeck/api/domain/class-use/RundeckSystemInfo.html +++ b/apidocs/org/rundeck/api/domain/class-use/RundeckSystemInfo.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.domain.RundeckSystemInfo (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.domain.RundeckSystemInfo (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.domain.RundeckSystemInfo (RunDeck API - Java Clien function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.domain.RundeckSystemInfo (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.domain.RundeckSystemInfo (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/package-frame.html b/apidocs/org/rundeck/api/domain/package-frame.html index 3670f1e..8f3cc1b 100644 --- a/apidocs/org/rundeck/api/domain/package-frame.html +++ b/apidocs/org/rundeck/api/domain/package-frame.html @@ -2,10 +2,10 @@ - + -org.rundeck.api.domain (RunDeck API - Java Client 1.2 API) +org.rundeck.api.domain (RunDeck API - Java Client 2.0-SNAPSHOT API) diff --git a/apidocs/org/rundeck/api/domain/package-summary.html b/apidocs/org/rundeck/api/domain/package-summary.html index d01427c..f9f1983 100644 --- a/apidocs/org/rundeck/api/domain/package-summary.html +++ b/apidocs/org/rundeck/api/domain/package-summary.html @@ -2,10 +2,10 @@ - + -org.rundeck.api.domain (RunDeck API - Java Client 1.2 API) +org.rundeck.api.domain (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ org.rundeck.api.domain (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.rundeck.api.domain (RunDeck API - Java Client 1.2 API)"; + parent.document.title="org.rundeck.api.domain (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/package-tree.html b/apidocs/org/rundeck/api/domain/package-tree.html index 6d7d421..68a9fcc 100644 --- a/apidocs/org/rundeck/api/domain/package-tree.html +++ b/apidocs/org/rundeck/api/domain/package-tree.html @@ -2,10 +2,10 @@ - + -org.rundeck.api.domain Class Hierarchy (RunDeck API - Java Client 1.2 API) +org.rundeck.api.domain Class Hierarchy (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ org.rundeck.api.domain Class Hierarchy (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.rundeck.api.domain Class Hierarchy (RunDeck API - Java Client 1.2 API)"; + parent.document.title="org.rundeck.api.domain Class Hierarchy (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/domain/package-use.html b/apidocs/org/rundeck/api/domain/package-use.html index fad19d2..1c0ff19 100644 --- a/apidocs/org/rundeck/api/domain/package-use.html +++ b/apidocs/org/rundeck/api/domain/package-use.html @@ -2,10 +2,10 @@ - + -Uses of Package org.rundeck.api.domain (RunDeck API - Java Client 1.2 API) +Uses of Package org.rundeck.api.domain (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Package org.rundeck.api.domain (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Package org.rundeck.api.domain (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Package org.rundeck.api.domain (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/package-frame.html b/apidocs/org/rundeck/api/package-frame.html index 60855c0..dd9cbb6 100644 --- a/apidocs/org/rundeck/api/package-frame.html +++ b/apidocs/org/rundeck/api/package-frame.html @@ -2,10 +2,10 @@ - + -org.rundeck.api (RunDeck API - Java Client 1.2 API) +org.rundeck.api (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -52,7 +52,11 @@ Exceptions
 
RundeckApiException
-RundeckApiException.RundeckApiLoginException
+RundeckApiException.RundeckApiAuthException +
+RundeckApiException.RundeckApiLoginException +
+RundeckApiException.RundeckApiTokenException diff --git a/apidocs/org/rundeck/api/package-summary.html b/apidocs/org/rundeck/api/package-summary.html index d825562..bdebc96 100644 --- a/apidocs/org/rundeck/api/package-summary.html +++ b/apidocs/org/rundeck/api/package-summary.html @@ -2,10 +2,10 @@ - + -org.rundeck.api (RunDeck API - Java Client 1.2 API) +org.rundeck.api (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ org.rundeck.api (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.rundeck.api (RunDeck API - Java Client 1.2 API)"; + parent.document.title="org.rundeck.api (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } @@ -136,8 +136,16 @@ Java client for the RunDeck API. A generic (unchecked) exception when using the RunDeck API +RundeckApiException.RundeckApiAuthException +Specific authentication-related error (either login or token). + + RundeckApiException.RundeckApiLoginException -Specific login-related error +Specific authentication-related error (in case of login-based authentication) + + +RundeckApiException.RundeckApiTokenException +Specific authentication-related error (in case of token-based authentication)   diff --git a/apidocs/org/rundeck/api/package-tree.html b/apidocs/org/rundeck/api/package-tree.html index 86e30c8..1c34728 100644 --- a/apidocs/org/rundeck/api/package-tree.html +++ b/apidocs/org/rundeck/api/package-tree.html @@ -2,10 +2,10 @@ - + -org.rundeck.api Class Hierarchy (RunDeck API - Java Client 1.2 API) +org.rundeck.api Class Hierarchy (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ org.rundeck.api Class Hierarchy (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.rundeck.api Class Hierarchy (RunDeck API - Java Client 1.2 API)"; + parent.document.title="org.rundeck.api Class Hierarchy (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } @@ -99,7 +99,9 @@ Class Hierarchy
  • java.lang.Exception diff --git a/apidocs/org/rundeck/api/package-use.html b/apidocs/org/rundeck/api/package-use.html index 48f5383..42549cc 100644 --- a/apidocs/org/rundeck/api/package-use.html +++ b/apidocs/org/rundeck/api/package-use.html @@ -2,10 +2,10 @@ - + -Uses of Package org.rundeck.api (RunDeck API - Java Client 1.2 API) +Uses of Package org.rundeck.api (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Package org.rundeck.api (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Package org.rundeck.api (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Package org.rundeck.api (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } @@ -132,10 +132,22 @@ Classes in org.rundeck.a           A generic (unchecked) exception when using the RunDeck API +RundeckApiException.RundeckApiAuthException + +
    +          Specific authentication-related error (either login or token). + + RundeckApiException.RundeckApiLoginException
    -          Specific login-related error +          Specific authentication-related error (in case of login-based authentication) + + +RundeckApiException.RundeckApiTokenException + +
    +          Specific authentication-related error (in case of token-based authentication)   diff --git a/apidocs/org/rundeck/api/parser/AbortParser.html b/apidocs/org/rundeck/api/parser/AbortParser.html index 09db66a..dca6023 100644 --- a/apidocs/org/rundeck/api/parser/AbortParser.html +++ b/apidocs/org/rundeck/api/parser/AbortParser.html @@ -2,10 +2,10 @@ - + -AbortParser (RunDeck API - Java Client 1.2 API) +AbortParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ AbortParser (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="AbortParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="AbortParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/EventParser.html b/apidocs/org/rundeck/api/parser/EventParser.html index 9567c0b..0839295 100644 --- a/apidocs/org/rundeck/api/parser/EventParser.html +++ b/apidocs/org/rundeck/api/parser/EventParser.html @@ -2,10 +2,10 @@ - + -EventParser (RunDeck API - Java Client 1.2 API) +EventParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ EventParser (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="EventParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="EventParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/ExecutionParser.html b/apidocs/org/rundeck/api/parser/ExecutionParser.html index e265558..f7ef49c 100644 --- a/apidocs/org/rundeck/api/parser/ExecutionParser.html +++ b/apidocs/org/rundeck/api/parser/ExecutionParser.html @@ -2,10 +2,10 @@ - + -ExecutionParser (RunDeck API - Java Client 1.2 API) +ExecutionParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ ExecutionParser (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="ExecutionParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="ExecutionParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/HistoryParser.html b/apidocs/org/rundeck/api/parser/HistoryParser.html index efed943..b99ab4f 100644 --- a/apidocs/org/rundeck/api/parser/HistoryParser.html +++ b/apidocs/org/rundeck/api/parser/HistoryParser.html @@ -2,10 +2,10 @@ - + -HistoryParser (RunDeck API - Java Client 1.2 API) +HistoryParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ HistoryParser (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="HistoryParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="HistoryParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/JobParser.html b/apidocs/org/rundeck/api/parser/JobParser.html index 2bb9af1..f133d53 100644 --- a/apidocs/org/rundeck/api/parser/JobParser.html +++ b/apidocs/org/rundeck/api/parser/JobParser.html @@ -2,10 +2,10 @@ - + -JobParser (RunDeck API - Java Client 1.2 API) +JobParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ JobParser (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="JobParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="JobParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/JobsImportResultParser.html b/apidocs/org/rundeck/api/parser/JobsImportResultParser.html index 1aea9e5..b5a97d0 100644 --- a/apidocs/org/rundeck/api/parser/JobsImportResultParser.html +++ b/apidocs/org/rundeck/api/parser/JobsImportResultParser.html @@ -2,10 +2,10 @@ - + -JobsImportResultParser (RunDeck API - Java Client 1.2 API) +JobsImportResultParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ JobsImportResultParser (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="JobsImportResultParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="JobsImportResultParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/ListParser.html b/apidocs/org/rundeck/api/parser/ListParser.html index 4dcdbed..9ee451b 100644 --- a/apidocs/org/rundeck/api/parser/ListParser.html +++ b/apidocs/org/rundeck/api/parser/ListParser.html @@ -2,10 +2,10 @@ - + -ListParser (RunDeck API - Java Client 1.2 API) +ListParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ ListParser (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="ListParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="ListParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/NodeParser.html b/apidocs/org/rundeck/api/parser/NodeParser.html index 28d1b18..f07bc3d 100644 --- a/apidocs/org/rundeck/api/parser/NodeParser.html +++ b/apidocs/org/rundeck/api/parser/NodeParser.html @@ -2,10 +2,10 @@ - + -NodeParser (RunDeck API - Java Client 1.2 API) +NodeParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ NodeParser (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="NodeParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="NodeParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/ParserHelper.html b/apidocs/org/rundeck/api/parser/ParserHelper.html index c6a4b96..be06b36 100644 --- a/apidocs/org/rundeck/api/parser/ParserHelper.html +++ b/apidocs/org/rundeck/api/parser/ParserHelper.html @@ -2,10 +2,10 @@ - + -ParserHelper (RunDeck API - Java Client 1.2 API) +ParserHelper (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ ParserHelper (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="ParserHelper (RunDeck API - Java Client 1.2 API)"; + parent.document.title="ParserHelper (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/ProjectParser.html b/apidocs/org/rundeck/api/parser/ProjectParser.html index d89ab05..0b538d5 100644 --- a/apidocs/org/rundeck/api/parser/ProjectParser.html +++ b/apidocs/org/rundeck/api/parser/ProjectParser.html @@ -2,10 +2,10 @@ - + -ProjectParser (RunDeck API - Java Client 1.2 API) +ProjectParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ ProjectParser (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="ProjectParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="ProjectParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/StringParser.html b/apidocs/org/rundeck/api/parser/StringParser.html index d563e70..63db53b 100644 --- a/apidocs/org/rundeck/api/parser/StringParser.html +++ b/apidocs/org/rundeck/api/parser/StringParser.html @@ -2,10 +2,10 @@ - + -StringParser (RunDeck API - Java Client 1.2 API) +StringParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ StringParser (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="StringParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="StringParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/SystemInfoParser.html b/apidocs/org/rundeck/api/parser/SystemInfoParser.html index b7c8b78..3e28e31 100644 --- a/apidocs/org/rundeck/api/parser/SystemInfoParser.html +++ b/apidocs/org/rundeck/api/parser/SystemInfoParser.html @@ -2,10 +2,10 @@ - + -SystemInfoParser (RunDeck API - Java Client 1.2 API) +SystemInfoParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ SystemInfoParser (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="SystemInfoParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="SystemInfoParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/XmlNodeParser.html b/apidocs/org/rundeck/api/parser/XmlNodeParser.html index 9d2693a..ed5c9ff 100644 --- a/apidocs/org/rundeck/api/parser/XmlNodeParser.html +++ b/apidocs/org/rundeck/api/parser/XmlNodeParser.html @@ -2,10 +2,10 @@ - + -XmlNodeParser (RunDeck API - Java Client 1.2 API) +XmlNodeParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ XmlNodeParser (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="XmlNodeParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="XmlNodeParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/class-use/AbortParser.html b/apidocs/org/rundeck/api/parser/class-use/AbortParser.html index 7f55b97..f95b692 100644 --- a/apidocs/org/rundeck/api/parser/class-use/AbortParser.html +++ b/apidocs/org/rundeck/api/parser/class-use/AbortParser.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.AbortParser (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.parser.AbortParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.AbortParser (RunDeck API - Java Client 1.2 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.AbortParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.AbortParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/class-use/EventParser.html b/apidocs/org/rundeck/api/parser/class-use/EventParser.html index 7b01d29..2ccb657 100644 --- a/apidocs/org/rundeck/api/parser/class-use/EventParser.html +++ b/apidocs/org/rundeck/api/parser/class-use/EventParser.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.EventParser (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.parser.EventParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.EventParser (RunDeck API - Java Client 1.2 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.EventParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.EventParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/class-use/ExecutionParser.html b/apidocs/org/rundeck/api/parser/class-use/ExecutionParser.html index 05366ab..0c37790 100644 --- a/apidocs/org/rundeck/api/parser/class-use/ExecutionParser.html +++ b/apidocs/org/rundeck/api/parser/class-use/ExecutionParser.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.ExecutionParser (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.parser.ExecutionParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.ExecutionParser (RunDeck API - Java Client function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.ExecutionParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.ExecutionParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/class-use/HistoryParser.html b/apidocs/org/rundeck/api/parser/class-use/HistoryParser.html index 64da812..4fc925b 100644 --- a/apidocs/org/rundeck/api/parser/class-use/HistoryParser.html +++ b/apidocs/org/rundeck/api/parser/class-use/HistoryParser.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.HistoryParser (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.parser.HistoryParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.HistoryParser (RunDeck API - Java Client 1. function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.HistoryParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.HistoryParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/class-use/JobParser.html b/apidocs/org/rundeck/api/parser/class-use/JobParser.html index 5c8ad0a..b827504 100644 --- a/apidocs/org/rundeck/api/parser/class-use/JobParser.html +++ b/apidocs/org/rundeck/api/parser/class-use/JobParser.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.JobParser (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.parser.JobParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.JobParser (RunDeck API - Java Client 1.2 AP function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.JobParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.JobParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/class-use/JobsImportResultParser.html b/apidocs/org/rundeck/api/parser/class-use/JobsImportResultParser.html index 1942952..5c9df41 100644 --- a/apidocs/org/rundeck/api/parser/class-use/JobsImportResultParser.html +++ b/apidocs/org/rundeck/api/parser/class-use/JobsImportResultParser.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.JobsImportResultParser (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.parser.JobsImportResultParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.JobsImportResultParser (RunDeck API - Java function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.JobsImportResultParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.JobsImportResultParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/class-use/ListParser.html b/apidocs/org/rundeck/api/parser/class-use/ListParser.html index 655c576..1fe7bb7 100644 --- a/apidocs/org/rundeck/api/parser/class-use/ListParser.html +++ b/apidocs/org/rundeck/api/parser/class-use/ListParser.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.ListParser (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.parser.ListParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.ListParser (RunDeck API - Java Client 1.2 A function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.ListParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.ListParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/class-use/NodeParser.html b/apidocs/org/rundeck/api/parser/class-use/NodeParser.html index d3efe97..55a309d 100644 --- a/apidocs/org/rundeck/api/parser/class-use/NodeParser.html +++ b/apidocs/org/rundeck/api/parser/class-use/NodeParser.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.NodeParser (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.parser.NodeParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.NodeParser (RunDeck API - Java Client 1.2 A function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.NodeParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.NodeParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/class-use/ParserHelper.html b/apidocs/org/rundeck/api/parser/class-use/ParserHelper.html index 1b30ab7..62794d7 100644 --- a/apidocs/org/rundeck/api/parser/class-use/ParserHelper.html +++ b/apidocs/org/rundeck/api/parser/class-use/ParserHelper.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.ParserHelper (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.parser.ParserHelper (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.ParserHelper (RunDeck API - Java Client 1.2 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.ParserHelper (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.ParserHelper (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/class-use/ProjectParser.html b/apidocs/org/rundeck/api/parser/class-use/ProjectParser.html index 5b34388..5bc1abd 100644 --- a/apidocs/org/rundeck/api/parser/class-use/ProjectParser.html +++ b/apidocs/org/rundeck/api/parser/class-use/ProjectParser.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.ProjectParser (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.parser.ProjectParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.ProjectParser (RunDeck API - Java Client 1. function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.ProjectParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.ProjectParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/class-use/StringParser.html b/apidocs/org/rundeck/api/parser/class-use/StringParser.html index 786020a..04308cb 100644 --- a/apidocs/org/rundeck/api/parser/class-use/StringParser.html +++ b/apidocs/org/rundeck/api/parser/class-use/StringParser.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.StringParser (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.parser.StringParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.StringParser (RunDeck API - Java Client 1.2 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.StringParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.StringParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/class-use/SystemInfoParser.html b/apidocs/org/rundeck/api/parser/class-use/SystemInfoParser.html index 96b2bb1..6f9c50b 100644 --- a/apidocs/org/rundeck/api/parser/class-use/SystemInfoParser.html +++ b/apidocs/org/rundeck/api/parser/class-use/SystemInfoParser.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.SystemInfoParser (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.parser.SystemInfoParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.SystemInfoParser (RunDeck API - Java Client function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.SystemInfoParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.SystemInfoParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/class-use/XmlNodeParser.html b/apidocs/org/rundeck/api/parser/class-use/XmlNodeParser.html index fc8671c..9d5a479 100644 --- a/apidocs/org/rundeck/api/parser/class-use/XmlNodeParser.html +++ b/apidocs/org/rundeck/api/parser/class-use/XmlNodeParser.html @@ -2,10 +2,10 @@ - + -Uses of Interface org.rundeck.api.parser.XmlNodeParser (RunDeck API - Java Client 1.2 API) +Uses of Interface org.rundeck.api.parser.XmlNodeParser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Interface org.rundeck.api.parser.XmlNodeParser (RunDeck API - Java Clien function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Interface org.rundeck.api.parser.XmlNodeParser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Interface org.rundeck.api.parser.XmlNodeParser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/package-frame.html b/apidocs/org/rundeck/api/parser/package-frame.html index 987f877..85494cf 100644 --- a/apidocs/org/rundeck/api/parser/package-frame.html +++ b/apidocs/org/rundeck/api/parser/package-frame.html @@ -2,10 +2,10 @@ - + -org.rundeck.api.parser (RunDeck API - Java Client 1.2 API) +org.rundeck.api.parser (RunDeck API - Java Client 2.0-SNAPSHOT API) diff --git a/apidocs/org/rundeck/api/parser/package-summary.html b/apidocs/org/rundeck/api/parser/package-summary.html index 6036aad..9b32ab4 100644 --- a/apidocs/org/rundeck/api/parser/package-summary.html +++ b/apidocs/org/rundeck/api/parser/package-summary.html @@ -2,10 +2,10 @@ - + -org.rundeck.api.parser (RunDeck API - Java Client 1.2 API) +org.rundeck.api.parser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ org.rundeck.api.parser (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.rundeck.api.parser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="org.rundeck.api.parser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/package-tree.html b/apidocs/org/rundeck/api/parser/package-tree.html index f7307f7..1721895 100644 --- a/apidocs/org/rundeck/api/parser/package-tree.html +++ b/apidocs/org/rundeck/api/parser/package-tree.html @@ -2,10 +2,10 @@ - + -org.rundeck.api.parser Class Hierarchy (RunDeck API - Java Client 1.2 API) +org.rundeck.api.parser Class Hierarchy (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ org.rundeck.api.parser Class Hierarchy (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.rundeck.api.parser Class Hierarchy (RunDeck API - Java Client 1.2 API)"; + parent.document.title="org.rundeck.api.parser Class Hierarchy (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/parser/package-use.html b/apidocs/org/rundeck/api/parser/package-use.html index 16493f4..eb31223 100644 --- a/apidocs/org/rundeck/api/parser/package-use.html +++ b/apidocs/org/rundeck/api/parser/package-use.html @@ -2,10 +2,10 @@ - + -Uses of Package org.rundeck.api.parser (RunDeck API - Java Client 1.2 API) +Uses of Package org.rundeck.api.parser (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Package org.rundeck.api.parser (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Package org.rundeck.api.parser (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Package org.rundeck.api.parser (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/util/AssertUtil.html b/apidocs/org/rundeck/api/util/AssertUtil.html index ea56908..7bc8549 100644 --- a/apidocs/org/rundeck/api/util/AssertUtil.html +++ b/apidocs/org/rundeck/api/util/AssertUtil.html @@ -2,10 +2,10 @@ - + -AssertUtil (RunDeck API - Java Client 1.2 API) +AssertUtil (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ AssertUtil (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="AssertUtil (RunDeck API - Java Client 1.2 API)"; + parent.document.title="AssertUtil (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/util/ParametersUtil.html b/apidocs/org/rundeck/api/util/ParametersUtil.html index 253c98a..69afed7 100644 --- a/apidocs/org/rundeck/api/util/ParametersUtil.html +++ b/apidocs/org/rundeck/api/util/ParametersUtil.html @@ -2,10 +2,10 @@ - + -ParametersUtil (RunDeck API - Java Client 1.2 API) +ParametersUtil (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ ParametersUtil (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="ParametersUtil (RunDeck API - Java Client 1.2 API)"; + parent.document.title="ParametersUtil (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/util/class-use/AssertUtil.html b/apidocs/org/rundeck/api/util/class-use/AssertUtil.html index 32e34e2..2249480 100644 --- a/apidocs/org/rundeck/api/util/class-use/AssertUtil.html +++ b/apidocs/org/rundeck/api/util/class-use/AssertUtil.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.util.AssertUtil (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.util.AssertUtil (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.util.AssertUtil (RunDeck API - Java Client 1.2 API function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.util.AssertUtil (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.util.AssertUtil (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/util/class-use/ParametersUtil.html b/apidocs/org/rundeck/api/util/class-use/ParametersUtil.html index 985e9ee..9b32bc0 100644 --- a/apidocs/org/rundeck/api/util/class-use/ParametersUtil.html +++ b/apidocs/org/rundeck/api/util/class-use/ParametersUtil.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.util.ParametersUtil (RunDeck API - Java Client 1.2 API) +Uses of Class org.rundeck.api.util.ParametersUtil (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.util.ParametersUtil (RunDeck API - Java Client 1.2 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.util.ParametersUtil (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Class org.rundeck.api.util.ParametersUtil (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/util/package-frame.html b/apidocs/org/rundeck/api/util/package-frame.html index 32ed13f..e833d06 100644 --- a/apidocs/org/rundeck/api/util/package-frame.html +++ b/apidocs/org/rundeck/api/util/package-frame.html @@ -2,10 +2,10 @@ - + -org.rundeck.api.util (RunDeck API - Java Client 1.2 API) +org.rundeck.api.util (RunDeck API - Java Client 2.0-SNAPSHOT API) diff --git a/apidocs/org/rundeck/api/util/package-summary.html b/apidocs/org/rundeck/api/util/package-summary.html index f5bf40a..eca3fcd 100644 --- a/apidocs/org/rundeck/api/util/package-summary.html +++ b/apidocs/org/rundeck/api/util/package-summary.html @@ -2,10 +2,10 @@ - + -org.rundeck.api.util (RunDeck API - Java Client 1.2 API) +org.rundeck.api.util (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ org.rundeck.api.util (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.rundeck.api.util (RunDeck API - Java Client 1.2 API)"; + parent.document.title="org.rundeck.api.util (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/util/package-tree.html b/apidocs/org/rundeck/api/util/package-tree.html index ed83ee4..c5e3b7b 100644 --- a/apidocs/org/rundeck/api/util/package-tree.html +++ b/apidocs/org/rundeck/api/util/package-tree.html @@ -2,10 +2,10 @@ - + -org.rundeck.api.util Class Hierarchy (RunDeck API - Java Client 1.2 API) +org.rundeck.api.util Class Hierarchy (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ org.rundeck.api.util Class Hierarchy (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.rundeck.api.util Class Hierarchy (RunDeck API - Java Client 1.2 API)"; + parent.document.title="org.rundeck.api.util Class Hierarchy (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/org/rundeck/api/util/package-use.html b/apidocs/org/rundeck/api/util/package-use.html index 3caf16d..ae578fd 100644 --- a/apidocs/org/rundeck/api/util/package-use.html +++ b/apidocs/org/rundeck/api/util/package-use.html @@ -2,10 +2,10 @@ - + -Uses of Package org.rundeck.api.util (RunDeck API - Java Client 1.2 API) +Uses of Package org.rundeck.api.util (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Uses of Package org.rundeck.api.util (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Package org.rundeck.api.util (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Uses of Package org.rundeck.api.util (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } diff --git a/apidocs/overview-frame.html b/apidocs/overview-frame.html index 8b340a2..b4f07f2 100644 --- a/apidocs/overview-frame.html +++ b/apidocs/overview-frame.html @@ -2,10 +2,10 @@ - + -Overview List (RunDeck API - Java Client 1.2 API) +Overview List (RunDeck API - Java Client 2.0-SNAPSHOT API) diff --git a/apidocs/overview-summary.html b/apidocs/overview-summary.html index 6fdb103..d97130c 100644 --- a/apidocs/overview-summary.html +++ b/apidocs/overview-summary.html @@ -2,10 +2,10 @@ - + -Overview (RunDeck API - Java Client 1.2 API) +Overview (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Overview (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Overview (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Overview (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } @@ -82,7 +82,7 @@ function windowTitle()

    -RunDeck API - Java Client 1.2 API +RunDeck API - Java Client 2.0-SNAPSHOT API

    See the documentation of the RundeckClient class (main entry point of the API). diff --git a/apidocs/overview-tree.html b/apidocs/overview-tree.html index 38cf7fb..5c8af66 100644 --- a/apidocs/overview-tree.html +++ b/apidocs/overview-tree.html @@ -2,10 +2,10 @@ - + -Class Hierarchy (RunDeck API - Java Client 1.2 API) +Class Hierarchy (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Class Hierarchy (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Class Hierarchy (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Class Hierarchy (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } @@ -119,7 +119,9 @@ Class Hierarchy
  • java.lang.Exception diff --git a/apidocs/serialized-form.html b/apidocs/serialized-form.html index 6f23f8b..5b858d6 100644 --- a/apidocs/serialized-form.html +++ b/apidocs/serialized-form.html @@ -2,10 +2,10 @@ - + -Serialized Form (RunDeck API - Java Client 1.2 API) +Serialized Form (RunDeck API - Java Client 2.0-SNAPSHOT API) @@ -16,7 +16,7 @@ Serialized Form (RunDeck API - Java Client 1.2 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Serialized Form (RunDeck API - Java Client 1.2 API)"; + parent.document.title="Serialized Form (RunDeck API - Java Client 2.0-SNAPSHOT API)"; } } @@ -107,12 +107,40 @@ Serialized Form

    +

    + + + + + +
    +Class org.rundeck.api.RundeckApiException.RundeckApiAuthException extends RundeckApiException implements Serializable
    + +

    +serialVersionUID: 1L + +

    +

    +Class org.rundeck.api.RundeckApiException.RundeckApiLoginException extends RundeckApiException.RundeckApiAuthException implements Serializable + +
    -Class org.rundeck.api.RundeckApiException.RundeckApiLoginException extends RundeckApiException implements Serializable
    + +

    +serialVersionUID: 1L + +

    + +

    + + + +
    +Class org.rundeck.api.RundeckApiException.RundeckApiTokenException extends RundeckApiException.RundeckApiAuthException implements Serializable
    @@ -154,11 +182,22 @@ url


    +token

    +
    +String token
    +
    +
    Auth-token for authentication (if not using login-based auth) +

    +

    +
    +
    +
    +

    login

     String login
    -
    Login to use for authentication on the RunDeck instance +
    Login to use for authentication on the RunDeck instance (if not using token-based auth)

    @@ -169,7 +208,7 @@ password
     String password
    -
    Password to use for authentication on the RunDeck instance +
    Password to use for authentication on the RunDeck instance (if not using token-based auth)

    diff --git a/changes-report.html b/changes-report.html index 55a8b19..5bd7f7e 100644 --- a/changes-report.html +++ b/changes-report.html @@ -51,7 +51,7 @@
    Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

    @@ -96,6 +96,12 @@
  • Jython
  • + +
    Older versions
    +
    Project Documentation
      @@ -153,7 +159,7 @@
    -

    Changelog

    Release History

    VersionDateDescription
    1.22011-07-31Ad-hoc scripts + history events
    1.12011-07-28Import / export jobs
    1.02011-07-08Use RunDeck REST API version 1 (RunDeck 1.2+)

    Release 1.2 - 2011-07-31

    TypeChangesBy

    add

    Run ad-hoc scriptsvbehar

    add

    List history eventsvbehar

    Release 1.1 - 2011-07-28

    TypeChangesBy

    add

    Import jobs (XML or YAML)vbehar

    add

    YAML format is now supported when exporting jobs definitionsvbehar

    add

    Support for using an HTTP proxyvbehar

    Release 1.0 - 2011-07-08

    TypeChangesBy

    add

    Initial releasevbehar
    +

    Changelog

    Release History

    VersionDateDescription
    2.0Not Yet ReleasedAPI 2
    1.22011-07-31Ad-hoc scripts + history events
    1.12011-07-28Import / export jobs
    1.02011-07-08Use RunDeck REST API version 1 (RunDeck 1.2+)

    Release 2.0 - Not Yet Released

    TypeChangesBy

    add

    Token-based authenticationvbehar

    Release 1.2 - 2011-07-31

    TypeChangesBy

    add

    Run ad-hoc scriptsvbehar

    add

    List history eventsvbehar

    Release 1.1 - 2011-07-28

    TypeChangesBy

    add

    Import jobs (XML or YAML)vbehar

    add

    YAML format is now supported when exporting jobs definitionsvbehar

    add

    Support for using an HTTP proxyvbehar

    Release 1.0 - 2011-07-08

    TypeChangesBy

    add

    Initial releasevbehar
    diff --git a/cpd.html b/cpd.html index 3a9fe5c..ee84862 100644 --- a/cpd.html +++ b/cpd.html @@ -50,7 +50,7 @@
    Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

    @@ -95,6 +95,12 @@
  • Jython
  • + +
    Older versions
    +
    Project Documentation
      diff --git a/cpd.xml b/cpd.xml index d732ed4..f27718c 100644 --- a/cpd.xml +++ b/cpd.xml @@ -1,8 +1,8 @@ - - + + - - + + Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

    @@ -95,6 +95,12 @@
  • Jython
  • + +
    Older versions
    +
    Project Documentation
      @@ -163,28 +169,28 @@ } } -

      Dependency Tree

      • org.rundeck:rundeck-api-java-client:jar:1.2 Information
        • org.apache.httpcomponents:httpclient:jar:4.1.1 (compile) Information
          • org.apache.httpcomponents:httpcore:jar:4.1 (compile) Information
          • commons-logging:commons-logging:jar:1.1.1 (compile) Information
          • commons-codec:commons-codec:jar:1.4 (compile) Information
        • com.ibm.icu:icu4j:jar:2.6.1 (compile) Information
    • junit:junit:jar:4.8.2 (test) Information
  • Licenses

    LGPL: xom

    Unknown: Unnamed - com.ibm.icu:icu4j:jar:2.6.1, Unnamed - jdom:jdom:jar:1.0, Unnamed - xalan:xalan:jar:2.6.0, Unnamed - xerces:xercesImpl:jar:2.6.2, Unnamed - xerces:xmlParserAPIs:jar:2.6.2, dom4j, jaxen

    Apache License: HttpClient, HttpCore, HttpMime

    Common Public License Version 1.0: JUnit

    The Apache Software License, Version 2.0: Commons Codec, Commons IO, Commons Lang, Commons Logging, RunDeck API - Java Client, XML Commons External Components XML APIs

    Dependency File Details

    FilenameSizeEntriesClassesPackagesJDK RevDebugSealed
    icu4j-2.6.1.jar2.34 MB75564861.2debug-
    commons-codec-1.4.jar56.80 kB473051.4debug-
    commons-io-2.0.1.jar155.77 kB12210461.5debug-
    commons-lang-2.6.jar277.56 kB155133101.3debug-
    commons-logging-1.1.1.jar59.26 kB422821.1debug-
    dom4j-1.6.1.jar306.54 kB208190141.3debug-
    jaxen-1.1.1.jar221.60 kB236214171.2debug-
    jdom-1.0.jar149.66 kB877581.1debug-
    junit-4.8.2.jar231.78 kB267230301.5debug-
    httpclient-4.1.1.jar342.90 kB308272221.5debug-
    httpcore-4.1.jar176.80 kB185163101.3debug-
    httpmime-4.1.1.jar26.26 kB311521.5debug-
    xalan-2.6.0.jar3.00 MB1,6251,548501.1debug-
    xercesImpl-2.6.2.jar986.99 kB845784371.1release-
    xmlParserAPIs-2.6.2.jar121.80 kB238207171.1release-
    xml-apis-1.0.b2.jar106.76 kB217184171.2release-
    xom-1.0.jar106.32 kB1089661.2releasesealed
    TotalSizeEntriesClassesPackagesJDK RevDebugSealed
    178.59 MB5,4764,9212591.5131
    compile: 16compile: 8.36 MBcompile: 5,209compile: 4,691compile: 229-compile: 12compile: 1
    test: 1test: 231.78 kBtest: 267test: 230test: 30-test: 1-

    Dependency Repository Locations

    Repo IDURLReleaseSnapshot
    apache.snapshotshttp://people.apache.org/repo/m2-snapshot-repository-Yes-
    sonatype-nexus-snapshotshttps://oss.sonatype.org/content/repositories/snapshots-Yes-
    centralhttp://repo1.maven.org/maven2Yes--

    Repository locations for each of the Dependencies.

    Artifactapache.snapshotssonatype-nexus-snapshotscentral
    com.ibm.icu:icu4j:jar:2.6.1--Found at http://repo1.maven.org/maven2
    commons-codec:commons-codec:jar:1.4--Found at http://repo1.maven.org/maven2
    commons-io:commons-io:jar:2.0.1--Found at http://repo1.maven.org/maven2
    commons-lang:commons-lang:jar:2.6--Found at http://repo1.maven.org/maven2
    commons-logging:commons-logging:jar:1.1.1--Found at http://repo1.maven.org/maven2
    dom4j:dom4j:jar:1.6.1--Found at http://repo1.maven.org/maven2
    jaxen:jaxen:jar:1.1.1--Found at http://repo1.maven.org/maven2
    jdom:jdom:jar:1.0--Found at http://repo1.maven.org/maven2
    junit:junit:jar:4.8.2--Found at http://repo1.maven.org/maven2
    org.apache.httpcomponents:httpclient:jar:4.1.1--Found at http://repo1.maven.org/maven2
    org.apache.httpcomponents:httpcore:jar:4.1--Found at http://repo1.maven.org/maven2
    org.apache.httpcomponents:httpmime:jar:4.1.1--Found at http://repo1.maven.org/maven2
    xalan:xalan:jar:2.6.0--Found at http://repo1.maven.org/maven2
    xerces:xercesImpl:jar:2.6.2--Found at http://repo1.maven.org/maven2
    xerces:xmlParserAPIs:jar:2.6.2--Found at http://repo1.maven.org/maven2
    xml-apis:xml-apis:jar:1.0.b2--Found at http://repo1.maven.org/maven2
    xom:xom:jar:1.0--Found at http://repo1.maven.org/maven2
    Totalapache.snapshotssonatype-nexus-snapshotscentral
    17 (compile: 16, test: 1)0017
    diff --git a/dependency-updates-report.html b/dependency-updates-report.html index 143b4bc..dcfcc90 100644 --- a/dependency-updates-report.html +++ b/dependency-updates-report.html @@ -50,7 +50,7 @@
    Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

    @@ -95,6 +95,12 @@
  • Jython
  • + +
    Older versions
    +
    Project Documentation
      diff --git a/distribution-management.html b/distribution-management.html index dc9c969..8f58670 100644 --- a/distribution-management.html +++ b/distribution-management.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      diff --git a/download.html b/download.html index b6a8ee6..fd30f79 100644 --- a/download.html +++ b/download.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      diff --git a/faq.html b/faq.html index 0b8209b..00dc18e 100644 --- a/faq.html +++ b/faq.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      diff --git a/findbugs.html b/findbugs.html index 26ad156..6b7c94c 100644 --- a/findbugs.html +++ b/findbugs.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      @@ -152,7 +158,7 @@
    -

    FindBugs Bug Detector Report

    The following document contains the results of FindBugs Report

    FindBugs Version is 1.3.9

    Threshold is medium

    Effort is min

    Summary

    ClassesBugsErrorsMissing Classes
    38000

    Files

    ClassBugs
    +

    FindBugs Bug Detector Report

    The following document contains the results of FindBugs Report

    FindBugs Version is 1.3.9

    Threshold is medium

    Effort is min

    Summary

    ClassesBugsErrorsMissing Classes
    41000

    Files

    ClassBugs
    diff --git a/groovy.html b/groovy.html index 2cf7f56..aa3c6fb 100644 --- a/groovy.html +++ b/groovy.html @@ -50,7 +50,7 @@
    Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

    @@ -95,6 +95,12 @@
  • Jython
  • + +
    Older versions
    +
    Project Documentation
      diff --git a/index.html b/index.html index 1e28440..3da5445 100644 --- a/index.html +++ b/index.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      diff --git a/integration.html b/integration.html index ae66f06..4a68899 100644 --- a/integration.html +++ b/integration.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      diff --git a/issue-tracking.html b/issue-tracking.html index c7fc17d..8606ad0 100644 --- a/issue-tracking.html +++ b/issue-tracking.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      diff --git a/jruby.html b/jruby.html index bf42779..c7665d6 100644 --- a/jruby.html +++ b/jruby.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      diff --git a/jython.html b/jython.html index 58468f1..d91d4e3 100644 --- a/jython.html +++ b/jython.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      diff --git a/license.html b/license.html index 73476e2..66d38ec 100644 --- a/license.html +++ b/license.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      diff --git a/mail-lists.html b/mail-lists.html index 946d0d7..33ba1aa 100644 --- a/mail-lists.html +++ b/mail-lists.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      diff --git a/plugin-updates-report.html b/plugin-updates-report.html index 657b642..2c8d07b 100644 --- a/plugin-updates-report.html +++ b/plugin-updates-report.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      diff --git a/pmd.html b/pmd.html index 9b750ae..62182c1 100644 --- a/pmd.html +++ b/pmd.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      diff --git a/pmd.xml b/pmd.xml index a59c1cd..854bbbb 100644 --- a/pmd.xml +++ b/pmd.xml @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/project-info.html b/project-info.html index 339d20f..3f79199 100644 --- a/project-info.html +++ b/project-info.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      diff --git a/project-reports.html b/project-reports.html index 7698826..637be06 100644 --- a/project-reports.html +++ b/project-reports.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      diff --git a/project-summary.html b/project-summary.html index 49b6b9f..8bd862b 100644 --- a/project-summary.html +++ b/project-summary.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      @@ -146,7 +152,7 @@
    -

    Project Summary

    Project Information

    FieldValue
    NameRunDeck API - Java Client
    DescriptionJava client for the RunDeck REST API
    Homepagehttp://vbehar.github.com/rundeck-api-java-client

    Project Organization

    This project does not belong to an organization.

    Build Information

    FieldValue
    GroupIdorg.rundeck
    ArtifactIdrundeck-api-java-client
    Version1.2
    Typejar
    JDK Rev1.6
    +

    Project Summary

    Project Information

    FieldValue
    NameRunDeck API - Java Client
    DescriptionJava client for the RunDeck REST API
    Homepagehttp://vbehar.github.com/rundeck-api-java-client

    Project Organization

    This project does not belong to an organization.

    Build Information

    FieldValue
    GroupIdorg.rundeck
    ArtifactIdrundeck-api-java-client
    Version2.0-SNAPSHOT
    Typejar
    JDK Rev1.6
    diff --git a/property-updates-report.html b/property-updates-report.html index 706f49d..37d201b 100644 --- a/property-updates-report.html +++ b/property-updates-report.html @@ -50,7 +50,7 @@
    Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

    @@ -95,6 +95,12 @@
  • Jython
  • + +
    Older versions
    +
    Project Documentation
      diff --git a/scripting.html b/scripting.html index b95c842..331ffe6 100644 --- a/scripting.html +++ b/scripting.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      diff --git a/source-repository.html b/source-repository.html index 6f039d1..2f1f25f 100644 --- a/source-repository.html +++ b/source-repository.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      diff --git a/status.html b/status.html index cc470f2..001cce9 100644 --- a/status.html +++ b/status.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      @@ -114,7 +120,7 @@
    -

    Status of the implementation of the RunDeck API

    RunDeck API version 1

    Documentation of the RunDeck API version 1

    • Login-based authentication - OK
    • System Info - OK
    • Listing Jobs - OK
    • Running a Job - OK
    • Exporting Jobs - OK
    • Importing Jobs - OK
    • Getting a Job Definition - OK
    • Deleting a Job Definition - OK
    • Getting Executions for a Job - OK
    • Listing Running Executions - OK
    • Getting Execution Info - OK
    • Aborting Executions - OK
    • Running Adhoc Commands - OK
    • Running Adhoc Scripts - OK
    • Listing Projects - OK
    • Getting Project Info - OK
    • Listing History - OK
    • Creating History Event Reports - TODO
    • Listing Resources - OK
    • Getting Resource Info - OK
    +

    Status of the implementation of the RunDeck API

    RunDeck API version 1

    Documentation of the RunDeck API version 1

    • Login-based authentication - OK
    • System Info - OK
    • Listing Jobs - OK
    • Running a Job - OK
    • Exporting Jobs - OK
    • Importing Jobs - OK
    • Getting a Job Definition - OK
    • Deleting a Job Definition - OK
    • Getting Executions for a Job - OK
    • Listing Running Executions - OK
    • Getting Execution Info - OK
    • Aborting Executions - OK
    • Running Adhoc Commands - OK
    • Running Adhoc Scripts - OK
    • Listing Projects - OK
    • Getting Project Info - OK
    • Listing History - OK
    • Creating History Event Reports - TODO
    • Listing Resources - OK
    • Getting Resource Info - OK

    RunDeck API version 2

    Documentation of the RunDeck API version 2

    • Token-based authentication - OK
    • Listing Jobs for a Project - TODO
    • Updating and Listing Resources for a Project - TODO
    • Refreshing Resources for a Project - TODO
    diff --git a/taglist.html b/taglist.html index 31116db..5ff153d 100644 --- a/taglist.html +++ b/taglist.html @@ -50,7 +50,7 @@
    Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

    @@ -95,6 +95,12 @@
  • Jython
  • + +
    Older versions
    +
    Project Documentation
      diff --git a/team-list.html b/team-list.html index daecbd4..3dc1b6d 100644 --- a/team-list.html +++ b/team-list.html @@ -50,7 +50,7 @@
      Last Published: 2011-07-31 -  | Version: 1.2 +  | Version: 2.0-SNAPSHOT

      @@ -95,6 +95,12 @@
    • Jython
    • +
    +
    Older versions
    +
    Project Documentation
      diff --git a/testapidocs/allclasses-frame.html b/testapidocs/allclasses-frame.html index 9303b0a..df28861 100644 --- a/testapidocs/allclasses-frame.html +++ b/testapidocs/allclasses-frame.html @@ -2,10 +2,10 @@ - + -All Classes (RunDeck API - Java Client 1.2 Test API) +All Classes (RunDeck API - Java Client 2.0-SNAPSHOT Test API) diff --git a/testapidocs/allclasses-noframe.html b/testapidocs/allclasses-noframe.html index cd3b051..048d005 100644 --- a/testapidocs/allclasses-noframe.html +++ b/testapidocs/allclasses-noframe.html @@ -2,10 +2,10 @@ - + -All Classes (RunDeck API - Java Client 1.2 Test API) +All Classes (RunDeck API - Java Client 2.0-SNAPSHOT Test API) diff --git a/testapidocs/constant-values.html b/testapidocs/constant-values.html index 97f8912..eac8bf7 100644 --- a/testapidocs/constant-values.html +++ b/testapidocs/constant-values.html @@ -2,10 +2,10 @@ - + -Constant Field Values (RunDeck API - Java Client 1.2 Test API) +Constant Field Values (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Constant Field Values (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Constant Field Values (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Constant Field Values (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/deprecated-list.html b/testapidocs/deprecated-list.html index f6c9ce8..8622fec 100644 --- a/testapidocs/deprecated-list.html +++ b/testapidocs/deprecated-list.html @@ -2,10 +2,10 @@ - + -Deprecated List (RunDeck API - Java Client 1.2 Test API) +Deprecated List (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Deprecated List (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Deprecated List (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Deprecated List (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/help-doc.html b/testapidocs/help-doc.html index dc9ba39..0e382cd 100644 --- a/testapidocs/help-doc.html +++ b/testapidocs/help-doc.html @@ -2,10 +2,10 @@ - + -API Help (RunDeck API - Java Client 1.2 Test API) +API Help (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ API Help (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="API Help (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="API Help (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/index-all.html b/testapidocs/index-all.html index 61587b9..702c90c 100644 --- a/testapidocs/index-all.html +++ b/testapidocs/index-all.html @@ -2,10 +2,10 @@ - + -Index (RunDeck API - Java Client 1.2 Test API) +Index (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Index (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Index (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Index (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/index.html b/testapidocs/index.html index 520fd35..d34bd2c 100644 --- a/testapidocs/index.html +++ b/testapidocs/index.html @@ -2,10 +2,10 @@ - + -RunDeck API - Java Client 1.2 Test API +RunDeck API - Java Client 2.0-SNAPSHOT Test API diff --git a/testapidocs/org/rundeck/api/parser/EventParserTest.html b/testapidocs/org/rundeck/api/parser/EventParserTest.html index 3d99ade..87071a1 100644 --- a/testapidocs/org/rundeck/api/parser/EventParserTest.html +++ b/testapidocs/org/rundeck/api/parser/EventParserTest.html @@ -2,10 +2,10 @@ - + -EventParserTest (RunDeck API - Java Client 1.2 Test API) +EventParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ EventParserTest (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="EventParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="EventParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/ExecutionParserTest.html b/testapidocs/org/rundeck/api/parser/ExecutionParserTest.html index 7713cb1..3e639b9 100644 --- a/testapidocs/org/rundeck/api/parser/ExecutionParserTest.html +++ b/testapidocs/org/rundeck/api/parser/ExecutionParserTest.html @@ -2,10 +2,10 @@ - + -ExecutionParserTest (RunDeck API - Java Client 1.2 Test API) +ExecutionParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ ExecutionParserTest (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="ExecutionParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="ExecutionParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/HistoryParserTest.html b/testapidocs/org/rundeck/api/parser/HistoryParserTest.html index f89c6a8..f92249a 100644 --- a/testapidocs/org/rundeck/api/parser/HistoryParserTest.html +++ b/testapidocs/org/rundeck/api/parser/HistoryParserTest.html @@ -2,10 +2,10 @@ - + -HistoryParserTest (RunDeck API - Java Client 1.2 Test API) +HistoryParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ HistoryParserTest (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="HistoryParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="HistoryParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/JobParserTest.html b/testapidocs/org/rundeck/api/parser/JobParserTest.html index 48cd312..42f8e88 100644 --- a/testapidocs/org/rundeck/api/parser/JobParserTest.html +++ b/testapidocs/org/rundeck/api/parser/JobParserTest.html @@ -2,10 +2,10 @@ - + -JobParserTest (RunDeck API - Java Client 1.2 Test API) +JobParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ JobParserTest (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="JobParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="JobParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/JobsImportResultParserTest.html b/testapidocs/org/rundeck/api/parser/JobsImportResultParserTest.html index b58aa19..ff84d0e 100644 --- a/testapidocs/org/rundeck/api/parser/JobsImportResultParserTest.html +++ b/testapidocs/org/rundeck/api/parser/JobsImportResultParserTest.html @@ -2,10 +2,10 @@ - + -JobsImportResultParserTest (RunDeck API - Java Client 1.2 Test API) +JobsImportResultParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ JobsImportResultParserTest (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="JobsImportResultParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="JobsImportResultParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/ListParserTest.html b/testapidocs/org/rundeck/api/parser/ListParserTest.html index 1ec1dd8..670d565 100644 --- a/testapidocs/org/rundeck/api/parser/ListParserTest.html +++ b/testapidocs/org/rundeck/api/parser/ListParserTest.html @@ -2,10 +2,10 @@ - + -ListParserTest (RunDeck API - Java Client 1.2 Test API) +ListParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ ListParserTest (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="ListParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="ListParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/NodeParserTest.html b/testapidocs/org/rundeck/api/parser/NodeParserTest.html index 6ae3e72..cb5afb4 100644 --- a/testapidocs/org/rundeck/api/parser/NodeParserTest.html +++ b/testapidocs/org/rundeck/api/parser/NodeParserTest.html @@ -2,10 +2,10 @@ - + -NodeParserTest (RunDeck API - Java Client 1.2 Test API) +NodeParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ NodeParserTest (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="NodeParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="NodeParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/ParserHelperTest.html b/testapidocs/org/rundeck/api/parser/ParserHelperTest.html index 5f33e52..7aba5b7 100644 --- a/testapidocs/org/rundeck/api/parser/ParserHelperTest.html +++ b/testapidocs/org/rundeck/api/parser/ParserHelperTest.html @@ -2,10 +2,10 @@ - + -ParserHelperTest (RunDeck API - Java Client 1.2 Test API) +ParserHelperTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ ParserHelperTest (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="ParserHelperTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="ParserHelperTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/ProjectParserTest.html b/testapidocs/org/rundeck/api/parser/ProjectParserTest.html index c20eb5a..8c9c6e5 100644 --- a/testapidocs/org/rundeck/api/parser/ProjectParserTest.html +++ b/testapidocs/org/rundeck/api/parser/ProjectParserTest.html @@ -2,10 +2,10 @@ - + -ProjectParserTest (RunDeck API - Java Client 1.2 Test API) +ProjectParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ ProjectParserTest (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="ProjectParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="ProjectParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/StringParserTest.html b/testapidocs/org/rundeck/api/parser/StringParserTest.html index 6c7dc23..a67debe 100644 --- a/testapidocs/org/rundeck/api/parser/StringParserTest.html +++ b/testapidocs/org/rundeck/api/parser/StringParserTest.html @@ -2,10 +2,10 @@ - + -StringParserTest (RunDeck API - Java Client 1.2 Test API) +StringParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ StringParserTest (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="StringParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="StringParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/SystemInfoParserTest.html b/testapidocs/org/rundeck/api/parser/SystemInfoParserTest.html index e8418cc..36578c9 100644 --- a/testapidocs/org/rundeck/api/parser/SystemInfoParserTest.html +++ b/testapidocs/org/rundeck/api/parser/SystemInfoParserTest.html @@ -2,10 +2,10 @@ - + -SystemInfoParserTest (RunDeck API - Java Client 1.2 Test API) +SystemInfoParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ SystemInfoParserTest (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="SystemInfoParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="SystemInfoParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/class-use/AbortParserTest.html b/testapidocs/org/rundeck/api/parser/class-use/AbortParserTest.html index 07c85ed..54f719a 100644 --- a/testapidocs/org/rundeck/api/parser/class-use/AbortParserTest.html +++ b/testapidocs/org/rundeck/api/parser/class-use/AbortParserTest.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.AbortParserTest (RunDeck API - Java Client 1.2 Test API) +Uses of Class org.rundeck.api.parser.AbortParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.AbortParserTest (RunDeck API - Java Client function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.AbortParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.AbortParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/class-use/EventParserTest.html b/testapidocs/org/rundeck/api/parser/class-use/EventParserTest.html index 093835f..e42dce5 100644 --- a/testapidocs/org/rundeck/api/parser/class-use/EventParserTest.html +++ b/testapidocs/org/rundeck/api/parser/class-use/EventParserTest.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.EventParserTest (RunDeck API - Java Client 1.2 Test API) +Uses of Class org.rundeck.api.parser.EventParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.EventParserTest (RunDeck API - Java Client function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.EventParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.EventParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/class-use/ExecutionParserTest.html b/testapidocs/org/rundeck/api/parser/class-use/ExecutionParserTest.html index 96d57bd..12536e9 100644 --- a/testapidocs/org/rundeck/api/parser/class-use/ExecutionParserTest.html +++ b/testapidocs/org/rundeck/api/parser/class-use/ExecutionParserTest.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.ExecutionParserTest (RunDeck API - Java Client 1.2 Test API) +Uses of Class org.rundeck.api.parser.ExecutionParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.ExecutionParserTest (RunDeck API - Java Cli function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.ExecutionParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.ExecutionParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/class-use/HistoryParserTest.html b/testapidocs/org/rundeck/api/parser/class-use/HistoryParserTest.html index f7d084f..3f4909a 100644 --- a/testapidocs/org/rundeck/api/parser/class-use/HistoryParserTest.html +++ b/testapidocs/org/rundeck/api/parser/class-use/HistoryParserTest.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.HistoryParserTest (RunDeck API - Java Client 1.2 Test API) +Uses of Class org.rundeck.api.parser.HistoryParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.HistoryParserTest (RunDeck API - Java Clien function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.HistoryParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.HistoryParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/class-use/JobParserTest.html b/testapidocs/org/rundeck/api/parser/class-use/JobParserTest.html index 90570bf..fb306a1 100644 --- a/testapidocs/org/rundeck/api/parser/class-use/JobParserTest.html +++ b/testapidocs/org/rundeck/api/parser/class-use/JobParserTest.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.JobParserTest (RunDeck API - Java Client 1.2 Test API) +Uses of Class org.rundeck.api.parser.JobParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.JobParserTest (RunDeck API - Java Client 1. function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.JobParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.JobParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/class-use/JobsImportResultParserTest.html b/testapidocs/org/rundeck/api/parser/class-use/JobsImportResultParserTest.html index 41b19d0..ffbb65e 100644 --- a/testapidocs/org/rundeck/api/parser/class-use/JobsImportResultParserTest.html +++ b/testapidocs/org/rundeck/api/parser/class-use/JobsImportResultParserTest.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.JobsImportResultParserTest (RunDeck API - Java Client 1.2 Test API) +Uses of Class org.rundeck.api.parser.JobsImportResultParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.JobsImportResultParserTest (RunDeck API - J function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.JobsImportResultParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.JobsImportResultParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/class-use/ListParserTest.html b/testapidocs/org/rundeck/api/parser/class-use/ListParserTest.html index d429172..b8c296c 100644 --- a/testapidocs/org/rundeck/api/parser/class-use/ListParserTest.html +++ b/testapidocs/org/rundeck/api/parser/class-use/ListParserTest.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.ListParserTest (RunDeck API - Java Client 1.2 Test API) +Uses of Class org.rundeck.api.parser.ListParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.ListParserTest (RunDeck API - Java Client 1 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.ListParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.ListParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/class-use/NodeParserTest.html b/testapidocs/org/rundeck/api/parser/class-use/NodeParserTest.html index 053d6ad..e04cc7f 100644 --- a/testapidocs/org/rundeck/api/parser/class-use/NodeParserTest.html +++ b/testapidocs/org/rundeck/api/parser/class-use/NodeParserTest.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.NodeParserTest (RunDeck API - Java Client 1.2 Test API) +Uses of Class org.rundeck.api.parser.NodeParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.NodeParserTest (RunDeck API - Java Client 1 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.NodeParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.NodeParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/class-use/ParserHelperTest.html b/testapidocs/org/rundeck/api/parser/class-use/ParserHelperTest.html index a39b9e9..e65d811 100644 --- a/testapidocs/org/rundeck/api/parser/class-use/ParserHelperTest.html +++ b/testapidocs/org/rundeck/api/parser/class-use/ParserHelperTest.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.ParserHelperTest (RunDeck API - Java Client 1.2 Test API) +Uses of Class org.rundeck.api.parser.ParserHelperTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.ParserHelperTest (RunDeck API - Java Client function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.ParserHelperTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.ParserHelperTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/class-use/ProjectParserTest.html b/testapidocs/org/rundeck/api/parser/class-use/ProjectParserTest.html index c8a6757..f7c2c2a 100644 --- a/testapidocs/org/rundeck/api/parser/class-use/ProjectParserTest.html +++ b/testapidocs/org/rundeck/api/parser/class-use/ProjectParserTest.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.ProjectParserTest (RunDeck API - Java Client 1.2 Test API) +Uses of Class org.rundeck.api.parser.ProjectParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.ProjectParserTest (RunDeck API - Java Clien function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.ProjectParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.ProjectParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/class-use/StringParserTest.html b/testapidocs/org/rundeck/api/parser/class-use/StringParserTest.html index 7869766..3e164d0 100644 --- a/testapidocs/org/rundeck/api/parser/class-use/StringParserTest.html +++ b/testapidocs/org/rundeck/api/parser/class-use/StringParserTest.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.StringParserTest (RunDeck API - Java Client 1.2 Test API) +Uses of Class org.rundeck.api.parser.StringParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.StringParserTest (RunDeck API - Java Client function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.StringParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.StringParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/class-use/SystemInfoParserTest.html b/testapidocs/org/rundeck/api/parser/class-use/SystemInfoParserTest.html index bcbc2dc..f905a9a 100644 --- a/testapidocs/org/rundeck/api/parser/class-use/SystemInfoParserTest.html +++ b/testapidocs/org/rundeck/api/parser/class-use/SystemInfoParserTest.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.parser.SystemInfoParserTest (RunDeck API - Java Client 1.2 Test API) +Uses of Class org.rundeck.api.parser.SystemInfoParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.parser.SystemInfoParserTest (RunDeck API - Java Cl function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.parser.SystemInfoParserTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Uses of Class org.rundeck.api.parser.SystemInfoParserTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/package-frame.html b/testapidocs/org/rundeck/api/parser/package-frame.html index 304db20..3bafa6d 100644 --- a/testapidocs/org/rundeck/api/parser/package-frame.html +++ b/testapidocs/org/rundeck/api/parser/package-frame.html @@ -2,10 +2,10 @@ - + -org.rundeck.api.parser (RunDeck API - Java Client 1.2 Test API) +org.rundeck.api.parser (RunDeck API - Java Client 2.0-SNAPSHOT Test API) diff --git a/testapidocs/org/rundeck/api/parser/package-summary.html b/testapidocs/org/rundeck/api/parser/package-summary.html index 2a87ffb..fe4b388 100644 --- a/testapidocs/org/rundeck/api/parser/package-summary.html +++ b/testapidocs/org/rundeck/api/parser/package-summary.html @@ -2,10 +2,10 @@ - + -org.rundeck.api.parser (RunDeck API - Java Client 1.2 Test API) +org.rundeck.api.parser (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ org.rundeck.api.parser (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.rundeck.api.parser (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="org.rundeck.api.parser (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/package-tree.html b/testapidocs/org/rundeck/api/parser/package-tree.html index 554ed35..3c603d1 100644 --- a/testapidocs/org/rundeck/api/parser/package-tree.html +++ b/testapidocs/org/rundeck/api/parser/package-tree.html @@ -2,10 +2,10 @@ - + -org.rundeck.api.parser Class Hierarchy (RunDeck API - Java Client 1.2 Test API) +org.rundeck.api.parser Class Hierarchy (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ org.rundeck.api.parser Class Hierarchy (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.rundeck.api.parser Class Hierarchy (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="org.rundeck.api.parser Class Hierarchy (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/parser/package-use.html b/testapidocs/org/rundeck/api/parser/package-use.html index 494089e..109b94d 100644 --- a/testapidocs/org/rundeck/api/parser/package-use.html +++ b/testapidocs/org/rundeck/api/parser/package-use.html @@ -2,10 +2,10 @@ - + -Uses of Package org.rundeck.api.parser (RunDeck API - Java Client 1.2 Test API) +Uses of Package org.rundeck.api.parser (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Uses of Package org.rundeck.api.parser (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Package org.rundeck.api.parser (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Uses of Package org.rundeck.api.parser (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/util/ParametersUtilTest.html b/testapidocs/org/rundeck/api/util/ParametersUtilTest.html index 04328b5..e9f76a1 100644 --- a/testapidocs/org/rundeck/api/util/ParametersUtilTest.html +++ b/testapidocs/org/rundeck/api/util/ParametersUtilTest.html @@ -2,10 +2,10 @@ - + -ParametersUtilTest (RunDeck API - Java Client 1.2 Test API) +ParametersUtilTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ ParametersUtilTest (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="ParametersUtilTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="ParametersUtilTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/util/class-use/ParametersUtilTest.html b/testapidocs/org/rundeck/api/util/class-use/ParametersUtilTest.html index 3358535..ec7d24a 100644 --- a/testapidocs/org/rundeck/api/util/class-use/ParametersUtilTest.html +++ b/testapidocs/org/rundeck/api/util/class-use/ParametersUtilTest.html @@ -2,10 +2,10 @@ - + -Uses of Class org.rundeck.api.util.ParametersUtilTest (RunDeck API - Java Client 1.2 Test API) +Uses of Class org.rundeck.api.util.ParametersUtilTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Uses of Class org.rundeck.api.util.ParametersUtilTest (RunDeck API - Java Client function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.rundeck.api.util.ParametersUtilTest (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Uses of Class org.rundeck.api.util.ParametersUtilTest (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/util/package-frame.html b/testapidocs/org/rundeck/api/util/package-frame.html index 2755c8c..445cd4e 100644 --- a/testapidocs/org/rundeck/api/util/package-frame.html +++ b/testapidocs/org/rundeck/api/util/package-frame.html @@ -2,10 +2,10 @@ - + -org.rundeck.api.util (RunDeck API - Java Client 1.2 Test API) +org.rundeck.api.util (RunDeck API - Java Client 2.0-SNAPSHOT Test API) diff --git a/testapidocs/org/rundeck/api/util/package-summary.html b/testapidocs/org/rundeck/api/util/package-summary.html index a96bddd..0650e32 100644 --- a/testapidocs/org/rundeck/api/util/package-summary.html +++ b/testapidocs/org/rundeck/api/util/package-summary.html @@ -2,10 +2,10 @@ - + -org.rundeck.api.util (RunDeck API - Java Client 1.2 Test API) +org.rundeck.api.util (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ org.rundeck.api.util (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.rundeck.api.util (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="org.rundeck.api.util (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/util/package-tree.html b/testapidocs/org/rundeck/api/util/package-tree.html index 3bab216..a1fce1f 100644 --- a/testapidocs/org/rundeck/api/util/package-tree.html +++ b/testapidocs/org/rundeck/api/util/package-tree.html @@ -2,10 +2,10 @@ - + -org.rundeck.api.util Class Hierarchy (RunDeck API - Java Client 1.2 Test API) +org.rundeck.api.util Class Hierarchy (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ org.rundeck.api.util Class Hierarchy (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.rundeck.api.util Class Hierarchy (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="org.rundeck.api.util Class Hierarchy (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/org/rundeck/api/util/package-use.html b/testapidocs/org/rundeck/api/util/package-use.html index 5cc35dd..351960e 100644 --- a/testapidocs/org/rundeck/api/util/package-use.html +++ b/testapidocs/org/rundeck/api/util/package-use.html @@ -2,10 +2,10 @@ - + -Uses of Package org.rundeck.api.util (RunDeck API - Java Client 1.2 Test API) +Uses of Package org.rundeck.api.util (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Uses of Package org.rundeck.api.util (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Package org.rundeck.api.util (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Uses of Package org.rundeck.api.util (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/testapidocs/overview-frame.html b/testapidocs/overview-frame.html index bc6407f..5fa9cff 100644 --- a/testapidocs/overview-frame.html +++ b/testapidocs/overview-frame.html @@ -2,10 +2,10 @@ - + -Overview List (RunDeck API - Java Client 1.2 Test API) +Overview List (RunDeck API - Java Client 2.0-SNAPSHOT Test API) diff --git a/testapidocs/overview-summary.html b/testapidocs/overview-summary.html index 7648518..ee54874 100644 --- a/testapidocs/overview-summary.html +++ b/testapidocs/overview-summary.html @@ -2,10 +2,10 @@ - + -Overview (RunDeck API - Java Client 1.2 Test API) +Overview (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Overview (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Overview (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Overview (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } @@ -82,7 +82,7 @@ function windowTitle()

      -RunDeck API - Java Client 1.2 Test API +RunDeck API - Java Client 2.0-SNAPSHOT Test API

      diff --git a/testapidocs/overview-tree.html b/testapidocs/overview-tree.html index 9df766d..2284d30 100644 --- a/testapidocs/overview-tree.html +++ b/testapidocs/overview-tree.html @@ -2,10 +2,10 @@ - + -Class Hierarchy (RunDeck API - Java Client 1.2 Test API) +Class Hierarchy (RunDeck API - Java Client 2.0-SNAPSHOT Test API) @@ -16,7 +16,7 @@ Class Hierarchy (RunDeck API - Java Client 1.2 Test API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Class Hierarchy (RunDeck API - Java Client 1.2 Test API)"; + parent.document.title="Class Hierarchy (RunDeck API - Java Client 2.0-SNAPSHOT Test API)"; } } diff --git a/xref-test/index.html b/xref-test/index.html index fdd3988..0dc919f 100644 --- a/xref-test/index.html +++ b/xref-test/index.html @@ -3,7 +3,7 @@ - RunDeck API - Java Client 1.2 Reference + RunDeck API - Java Client 2.0-SNAPSHOT Reference diff --git a/xref-test/org/rundeck/api/parser/package-frame.html b/xref-test/org/rundeck/api/parser/package-frame.html index 91ddd4e..567e9d4 100644 --- a/xref-test/org/rundeck/api/parser/package-frame.html +++ b/xref-test/org/rundeck/api/parser/package-frame.html @@ -3,7 +3,7 @@ - RunDeck API - Java Client 1.2 Reference Package org.rundeck.api.parser + RunDeck API - Java Client 2.0-SNAPSHOT Reference Package org.rundeck.api.parser diff --git a/xref-test/org/rundeck/api/parser/package-summary.html b/xref-test/org/rundeck/api/parser/package-summary.html index 1b26250..5ae3578 100644 --- a/xref-test/org/rundeck/api/parser/package-summary.html +++ b/xref-test/org/rundeck/api/parser/package-summary.html @@ -3,7 +3,7 @@ - RunDeck API - Java Client 1.2 Reference Package org.rundeck.api.parser + RunDeck API - Java Client 2.0-SNAPSHOT Reference Package org.rundeck.api.parser diff --git a/xref-test/org/rundeck/api/util/package-frame.html b/xref-test/org/rundeck/api/util/package-frame.html index 1ba144f..efbe32e 100644 --- a/xref-test/org/rundeck/api/util/package-frame.html +++ b/xref-test/org/rundeck/api/util/package-frame.html @@ -3,7 +3,7 @@ - RunDeck API - Java Client 1.2 Reference Package org.rundeck.api.util + RunDeck API - Java Client 2.0-SNAPSHOT Reference Package org.rundeck.api.util diff --git a/xref-test/org/rundeck/api/util/package-summary.html b/xref-test/org/rundeck/api/util/package-summary.html index e98f890..f0e9bd9 100644 --- a/xref-test/org/rundeck/api/util/package-summary.html +++ b/xref-test/org/rundeck/api/util/package-summary.html @@ -3,7 +3,7 @@ - RunDeck API - Java Client 1.2 Reference Package org.rundeck.api.util + RunDeck API - Java Client 2.0-SNAPSHOT Reference Package org.rundeck.api.util diff --git a/xref-test/overview-frame.html b/xref-test/overview-frame.html index 09d5b9f..397ac0b 100644 --- a/xref-test/overview-frame.html +++ b/xref-test/overview-frame.html @@ -3,7 +3,7 @@ - RunDeck API - Java Client 1.2 Reference + RunDeck API - Java Client 2.0-SNAPSHOT Reference diff --git a/xref-test/overview-summary.html b/xref-test/overview-summary.html index fd5cfb5..eeed918 100644 --- a/xref-test/overview-summary.html +++ b/xref-test/overview-summary.html @@ -3,7 +3,7 @@ - RunDeck API - Java Client 1.2 Reference + RunDeck API - Java Client 2.0-SNAPSHOT Reference @@ -24,7 +24,7 @@
    -

    RunDeck API - Java Client 1.2 Reference

    +

    RunDeck API - Java Client 2.0-SNAPSHOT Reference

    diff --git a/xref/allclasses-frame.html b/xref/allclasses-frame.html index 625ef8f..be06392 100644 --- a/xref/allclasses-frame.html +++ b/xref/allclasses-frame.html @@ -76,12 +76,18 @@
  • RundeckAbort +
  • +
  • + RundeckApiAuthException
  • RundeckApiException
  • RundeckApiLoginException +
  • +
  • + RundeckApiTokenException
  • RundeckClient diff --git a/xref/index.html b/xref/index.html index fdd3988..0dc919f 100644 --- a/xref/index.html +++ b/xref/index.html @@ -3,7 +3,7 @@ - RunDeck API - Java Client 1.2 Reference + RunDeck API - Java Client 2.0-SNAPSHOT Reference diff --git a/xref/org/rundeck/api/ApiCall.html b/xref/org/rundeck/api/ApiCall.html index b5572e0..d32edcd 100644 --- a/xref/org/rundeck/api/ApiCall.html +++ b/xref/org/rundeck/api/ApiCall.html @@ -39,354 +39,372 @@ 29 import java.util.List; 30 import java.util.Map.Entry; 31 import org.apache.commons.lang.StringUtils; -32 import org.apache.http.HttpResponse; -33 import org.apache.http.NameValuePair; -34 import org.apache.http.ParseException; -35 import org.apache.http.client.HttpClient; -36 import org.apache.http.client.entity.UrlEncodedFormEntity; -37 import org.apache.http.client.methods.HttpDelete; -38 import org.apache.http.client.methods.HttpGet; -39 import org.apache.http.client.methods.HttpPost; -40 import org.apache.http.client.methods.HttpRequestBase; -41 import org.apache.http.conn.scheme.Scheme; -42 import org.apache.http.conn.ssl.SSLSocketFactory; -43 import org.apache.http.conn.ssl.TrustStrategy; -44 import org.apache.http.entity.mime.HttpMultipartMode; -45 import org.apache.http.entity.mime.MultipartEntity; -46 import org.apache.http.entity.mime.content.InputStreamBody; -47 import org.apache.http.impl.client.DefaultHttpClient; -48 import org.apache.http.impl.conn.ProxySelectorRoutePlanner; -49 import org.apache.http.message.BasicNameValuePair; -50 import org.apache.http.protocol.HTTP; -51 import org.apache.http.util.EntityUtils; -52 import org.dom4j.Document; -53 import org.rundeck.api.RundeckApiException.RundeckApiLoginException; -54 import org.rundeck.api.parser.ParserHelper; -55 import org.rundeck.api.parser.XmlNodeParser; -56 import org.rundeck.api.util.AssertUtil; -57 -58 /** -59 * Class responsible for making the HTTP API calls -60 * -61 * @author Vincent Behar -62 */ -63 class ApiCall { -64 -65 private final RundeckClient client; -66 -67 /** -68 * Build a new instance, linked to the given RunDeck client -69 * -70 * @param client holding the RunDeck url and the credentials -71 * @throws IllegalArgumentException if client is null -72 */ -73 public ApiCall(RundeckClient client) throws IllegalArgumentException { -74 super(); -75 this.client = client; -76 AssertUtil.notNull(client, "The RunDeck Client must not be null !"); -77 } -78 -79 /** -80 * Try to "ping" the RunDeck instance to see if it is alive -81 * -82 * @throws RundeckApiException if the ping fails -83 */ -84 public void ping() throws RundeckApiException { -85 HttpClient httpClient = instantiateHttpClient(); -86 try { -87 HttpResponse response = httpClient.execute(new HttpGet(client.getUrl())); -88 if (response.getStatusLine().getStatusCode() / 100 != 2) { -89 throw new RundeckApiException("Invalid HTTP response '" + response.getStatusLine() + "' when pinging " -90 + client.getUrl()); -91 } -92 } catch (IOException e) { -93 throw new RundeckApiException("Failed to ping RunDeck instance at " + client.getUrl(), e); -94 } finally { -95 httpClient.getConnectionManager().shutdown(); -96 } -97 } -98 -99 /** -100 * Test the credentials (login/password) on the RunDeck instance -101 * -102 * @throws RundeckApiLoginException if the login fails -103 */ -104 public void testCredentials() throws RundeckApiLoginException { -105 HttpClient httpClient = instantiateHttpClient(); -106 try { -107 login(httpClient); -108 } finally { -109 httpClient.getConnectionManager().shutdown(); -110 } -111 } -112 -113 /** -114 * Execute an HTTP GET request to the RunDeck instance, on the given path. We will login first, and then execute the -115 * API call. At the end, the given parser will be used to convert the response to a more useful result object. -116 * -117 * @param apiPath on which we will make the HTTP request - see {@link ApiPathBuilder} -118 * @param parser used to parse the response -119 * @return the result of the call, as formatted by the parser -120 * @throws RundeckApiException in case of error when calling the API -121 * @throws RundeckApiLoginException if the login fails -122 */ -123 public <T> T get(ApiPathBuilder apiPath, XmlNodeParser<T> parser) throws RundeckApiException, -124 RundeckApiLoginException { -125 return execute(new HttpGet(client.getUrl() + RundeckClient.API_ENDPOINT + apiPath), parser); -126 } -127 -128 /** -129 * Execute an HTTP GET request to the RunDeck instance, on the given path. We will login first, and then execute the -130 * API call. -131 * -132 * @param apiPath on which we will make the HTTP request - see {@link ApiPathBuilder} -133 * @return a new {@link InputStream} instance, not linked with network resources -134 * @throws RundeckApiException in case of error when calling the API -135 * @throws RundeckApiLoginException if the login fails -136 */ -137 public InputStream get(ApiPathBuilder apiPath) throws RundeckApiException, RundeckApiLoginException { -138 ByteArrayInputStream response = execute(new HttpGet(client.getUrl() + RundeckClient.API_ENDPOINT + apiPath)); -139 -140 // try to load the document, to throw an exception in case of error -141 ParserHelper.loadDocument(response); -142 response.reset(); -143 -144 return response; -145 } -146 -147 /** -148 * Execute an HTTP POST request to the RunDeck instance, on the given path. We will login first, and then execute -149 * the API call. At the end, the given parser will be used to convert the response to a more useful result object. -150 * -151 * @param apiPath on which we will make the HTTP request - see {@link ApiPathBuilder} -152 * @param parser used to parse the response -153 * @return the result of the call, as formatted by the parser -154 * @throws RundeckApiException in case of error when calling the API -155 * @throws RundeckApiLoginException if the login fails -156 */ -157 public <T> T post(ApiPathBuilder apiPath, XmlNodeParser<T> parser) throws RundeckApiException, -158 RundeckApiLoginException { -159 HttpPost httpPost = new HttpPost(client.getUrl() + RundeckClient.API_ENDPOINT + apiPath); -160 -161 // POST a multi-part request, with all attachments -162 MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); -163 for (Entry<String, InputStream> attachment : apiPath.getAttachments().entrySet()) { -164 entity.addPart(attachment.getKey(), new InputStreamBody(attachment.getValue(), attachment.getKey())); -165 } -166 httpPost.setEntity(entity); -167 -168 return execute(httpPost, parser); -169 } -170 -171 /** -172 * Execute an HTTP DELETE request to the RunDeck instance, on the given path. We will login first, and then execute -173 * the API call. At the end, the given parser will be used to convert the response to a more useful result object. -174 * -175 * @param apiPath on which we will make the HTTP request - see {@link ApiPathBuilder} -176 * @param parser used to parse the response -177 * @return the result of the call, as formatted by the parser -178 * @throws RundeckApiException in case of error when calling the API -179 * @throws RundeckApiLoginException if the login fails -180 */ -181 public <T> T delete(ApiPathBuilder apiPath, XmlNodeParser<T> parser) throws RundeckApiException, -182 RundeckApiLoginException { -183 return execute(new HttpDelete(client.getUrl() + RundeckClient.API_ENDPOINT + apiPath), parser); -184 } -185 -186 /** -187 * Execute an HTTP request to the RunDeck instance. We will login first, and then execute the API call. At the end, -188 * the given parser will be used to convert the response to a more useful result object. -189 * -190 * @param request to execute. see {@link HttpGet}, {@link HttpDelete}, and so on... -191 * @param parser used to parse the response -192 * @return the result of the call, as formatted by the parser -193 * @throws RundeckApiException in case of error when calling the API -194 * @throws RundeckApiLoginException if the login fails -195 */ -196 private <T> T execute(HttpRequestBase request, XmlNodeParser<T> parser) throws RundeckApiException, -197 RundeckApiLoginException { -198 // execute the request -199 InputStream response = execute(request); -200 -201 // read and parse the response -202 Document xmlDocument = ParserHelper.loadDocument(response); -203 return parser.parseXmlNode(xmlDocument); -204 } -205 -206 /** -207 * Execute an HTTP request to the RunDeck instance. We will login first, and then execute the API call. -208 * -209 * @param request to execute. see {@link HttpGet}, {@link HttpDelete}, and so on... -210 * @return a new {@link InputStream} instance, not linked with network resources -211 * @throws RundeckApiException in case of error when calling the API -212 * @throws RundeckApiLoginException if the login fails -213 */ -214 private ByteArrayInputStream execute(HttpRequestBase request) throws RundeckApiException, RundeckApiLoginException { -215 HttpClient httpClient = instantiateHttpClient(); -216 try { -217 login(httpClient); -218 -219 // execute the HTTP request -220 HttpResponse response = null; -221 try { -222 response = httpClient.execute(request); -223 } catch (IOException e) { -224 throw new RundeckApiException("Failed to execute an HTTP " + request.getMethod() + " on url : " -225 + request.getURI(), e); -226 } -227 -228 // HTTP client refuses to handle redirects (code 3xx) for DELETE, so we have to do it manually... -229 // See http://rundeck.lighthouseapp.com/projects/59277/tickets/248 -230 if (response.getStatusLine().getStatusCode() / 100 == 3 -231 && HttpDelete.METHOD_NAME.equals(request.getMethod())) { -232 String newLocation = response.getFirstHeader("Location").getValue(); -233 try { -234 EntityUtils.consume(response.getEntity()); -235 } catch (IOException e) { -236 throw new RundeckApiException("Failed to consume entity (release connection)", e); -237 } -238 request = new HttpDelete(newLocation); -239 try { -240 response = httpClient.execute(request); -241 } catch (IOException e) { -242 throw new RundeckApiException("Failed to execute an HTTP " + request.getMethod() + " on url : " -243 + request.getURI(), e); -244 } -245 } -246 -247 // in case of error, we get a redirect to /api/error -248 // that we need to follow manually for POST and DELETE requests (as GET) -249 if (response.getStatusLine().getStatusCode() / 100 == 3) { -250 String newLocation = response.getFirstHeader("Location").getValue(); -251 try { -252 EntityUtils.consume(response.getEntity()); -253 } catch (IOException e) { -254 throw new RundeckApiException("Failed to consume entity (release connection)", e); -255 } -256 request = new HttpGet(newLocation); -257 try { -258 response = httpClient.execute(request); -259 } catch (IOException e) { -260 throw new RundeckApiException("Failed to execute an HTTP GET on url : " + request.getURI(), e); -261 } -262 } -263 -264 // check the response code (should be 2xx, even in case of error : error message is in the XML result) -265 if (response.getStatusLine().getStatusCode() / 100 != 2) { -266 throw new RundeckApiException("Invalid HTTP response '" + response.getStatusLine() + "' for " -267 + request.getURI()); -268 } -269 if (response.getEntity() == null) { -270 throw new RundeckApiException("Empty RunDeck response ! HTTP status line is : " -271 + response.getStatusLine()); -272 } -273 -274 // return a new inputStream, so that we can close all network resources -275 try { -276 return new ByteArrayInputStream(EntityUtils.toByteArray(response.getEntity())); -277 } catch (IOException e) { -278 throw new RundeckApiException("Failed to consume entity and convert the inputStream", e); +32 import org.apache.http.HttpException; +33 import org.apache.http.HttpRequest; +34 import org.apache.http.HttpRequestInterceptor; +35 import org.apache.http.HttpResponse; +36 import org.apache.http.NameValuePair; +37 import org.apache.http.ParseException; +38 import org.apache.http.client.HttpClient; +39 import org.apache.http.client.entity.UrlEncodedFormEntity; +40 import org.apache.http.client.methods.HttpDelete; +41 import org.apache.http.client.methods.HttpGet; +42 import org.apache.http.client.methods.HttpPost; +43 import org.apache.http.client.methods.HttpRequestBase; +44 import org.apache.http.conn.scheme.Scheme; +45 import org.apache.http.conn.ssl.SSLSocketFactory; +46 import org.apache.http.conn.ssl.TrustStrategy; +47 import org.apache.http.entity.mime.HttpMultipartMode; +48 import org.apache.http.entity.mime.MultipartEntity; +49 import org.apache.http.entity.mime.content.InputStreamBody; +50 import org.apache.http.impl.client.DefaultHttpClient; +51 import org.apache.http.impl.conn.ProxySelectorRoutePlanner; +52 import org.apache.http.message.BasicNameValuePair; +53 import org.apache.http.protocol.HTTP; +54 import org.apache.http.protocol.HttpContext; +55 import org.apache.http.util.EntityUtils; +56 import org.dom4j.Document; +57 import org.rundeck.api.RundeckApiException.RundeckApiLoginException; +58 import org.rundeck.api.RundeckApiException.RundeckApiTokenException; +59 import org.rundeck.api.parser.ParserHelper; +60 import org.rundeck.api.parser.XmlNodeParser; +61 import org.rundeck.api.util.AssertUtil; +62 +63 /** +64 * Class responsible for making the HTTP API calls +65 * +66 * @author Vincent Behar +67 */ +68 class ApiCall { +69 +70 /** RunDeck HTTP header for the auth-token (in case of token-based authentication) */ +71 private static final transient String AUTH_TOKEN_HEADER = "X-RunDeck-Auth-Token"; +72 +73 /** {@link RundeckClient} instance holding the RunDeck url and the credentials */ +74 private final RundeckClient client; +75 +76 /** +77 * Build a new instance, linked to the given RunDeck client +78 * +79 * @param client holding the RunDeck url and the credentials +80 * @throws IllegalArgumentException if client is null +81 */ +82 public ApiCall(RundeckClient client) throws IllegalArgumentException { +83 super(); +84 this.client = client; +85 AssertUtil.notNull(client, "The RunDeck Client must not be null !"); +86 } +87 +88 /** +89 * Try to "ping" the RunDeck instance to see if it is alive +90 * +91 * @throws RundeckApiException if the ping fails +92 */ +93 public void ping() throws RundeckApiException { +94 HttpClient httpClient = instantiateHttpClient(); +95 try { +96 HttpResponse response = httpClient.execute(new HttpGet(client.getUrl())); +97 if (response.getStatusLine().getStatusCode() / 100 != 2) { +98 throw new RundeckApiException("Invalid HTTP response '" + response.getStatusLine() + "' when pinging " +99 + client.getUrl()); +100 } +101 } catch (IOException e) { +102 throw new RundeckApiException("Failed to ping RunDeck instance at " + client.getUrl(), e); +103 } finally { +104 httpClient.getConnectionManager().shutdown(); +105 } +106 } +107 +108 /** +109 * Test the credentials (login/password) on the RunDeck instance +110 * +111 * @throws RundeckApiLoginException if the login fails +112 */ +113 public void testCredentials() throws RundeckApiLoginException { +114 HttpClient httpClient = instantiateHttpClient(); +115 try { +116 login(httpClient); +117 } finally { +118 httpClient.getConnectionManager().shutdown(); +119 } +120 } +121 +122 /** +123 * Execute an HTTP GET request to the RunDeck instance, on the given path. We will login first, and then execute the +124 * API call. At the end, the given parser will be used to convert the response to a more useful result object. +125 * +126 * @param apiPath on which we will make the HTTP request - see {@link ApiPathBuilder} +127 * @param parser used to parse the response +128 * @return the result of the call, as formatted by the parser +129 * @throws RundeckApiException in case of error when calling the API +130 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +131 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +132 */ +133 public <T> T get(ApiPathBuilder apiPath, XmlNodeParser<T> parser) throws RundeckApiException, +134 RundeckApiLoginException, RundeckApiTokenException { +135 return execute(new HttpGet(client.getUrl() + RundeckClient.API_ENDPOINT + apiPath), parser); +136 } +137 +138 /** +139 * Execute an HTTP GET request to the RunDeck instance, on the given path. We will login first, and then execute the +140 * API call. +141 * +142 * @param apiPath on which we will make the HTTP request - see {@link ApiPathBuilder} +143 * @return a new {@link InputStream} instance, not linked with network resources +144 * @throws RundeckApiException in case of error when calling the API +145 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +146 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +147 */ +148 public InputStream get(ApiPathBuilder apiPath) throws RundeckApiException, RundeckApiLoginException, +149 RundeckApiTokenException { +150 ByteArrayInputStream response = execute(new HttpGet(client.getUrl() + RundeckClient.API_ENDPOINT + apiPath)); +151 +152 // try to load the document, to throw an exception in case of error +153 ParserHelper.loadDocument(response); +154 response.reset(); +155 +156 return response; +157 } +158 +159 /** +160 * Execute an HTTP POST request to the RunDeck instance, on the given path. We will login first, and then execute +161 * the API call. At the end, the given parser will be used to convert the response to a more useful result object. +162 * +163 * @param apiPath on which we will make the HTTP request - see {@link ApiPathBuilder} +164 * @param parser used to parse the response +165 * @return the result of the call, as formatted by the parser +166 * @throws RundeckApiException in case of error when calling the API +167 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +168 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +169 */ +170 public <T> T post(ApiPathBuilder apiPath, XmlNodeParser<T> parser) throws RundeckApiException, +171 RundeckApiLoginException, RundeckApiTokenException { +172 HttpPost httpPost = new HttpPost(client.getUrl() + RundeckClient.API_ENDPOINT + apiPath); +173 +174 // POST a multi-part request, with all attachments +175 MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); +176 for (Entry<String, InputStream> attachment : apiPath.getAttachments().entrySet()) { +177 entity.addPart(attachment.getKey(), new InputStreamBody(attachment.getValue(), attachment.getKey())); +178 } +179 httpPost.setEntity(entity); +180 +181 return execute(httpPost, parser); +182 } +183 +184 /** +185 * Execute an HTTP DELETE request to the RunDeck instance, on the given path. We will login first, and then execute +186 * the API call. At the end, the given parser will be used to convert the response to a more useful result object. +187 * +188 * @param apiPath on which we will make the HTTP request - see {@link ApiPathBuilder} +189 * @param parser used to parse the response +190 * @return the result of the call, as formatted by the parser +191 * @throws RundeckApiException in case of error when calling the API +192 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +193 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +194 */ +195 public <T> T delete(ApiPathBuilder apiPath, XmlNodeParser<T> parser) throws RundeckApiException, +196 RundeckApiLoginException, RundeckApiTokenException { +197 return execute(new HttpDelete(client.getUrl() + RundeckClient.API_ENDPOINT + apiPath), parser); +198 } +199 +200 /** +201 * Execute an HTTP request to the RunDeck instance. We will login first, and then execute the API call. At the end, +202 * the given parser will be used to convert the response to a more useful result object. +203 * +204 * @param request to execute. see {@link HttpGet}, {@link HttpDelete}, and so on... +205 * @param parser used to parse the response +206 * @return the result of the call, as formatted by the parser +207 * @throws RundeckApiException in case of error when calling the API +208 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +209 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +210 */ +211 private <T> T execute(HttpRequestBase request, XmlNodeParser<T> parser) throws RundeckApiException, +212 RundeckApiLoginException, RundeckApiTokenException { +213 // execute the request +214 InputStream response = execute(request); +215 +216 // read and parse the response +217 Document xmlDocument = ParserHelper.loadDocument(response); +218 return parser.parseXmlNode(xmlDocument); +219 } +220 +221 /** +222 * Execute an HTTP request to the RunDeck instance. We will login first, and then execute the API call. +223 * +224 * @param request to execute. see {@link HttpGet}, {@link HttpDelete}, and so on... +225 * @return a new {@link InputStream} instance, not linked with network resources +226 * @throws RundeckApiException in case of error when calling the API +227 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +228 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +229 */ +230 private ByteArrayInputStream execute(HttpRequestBase request) throws RundeckApiException, RundeckApiLoginException, +231 RundeckApiTokenException { +232 HttpClient httpClient = instantiateHttpClient(); +233 try { +234 // we only need to manually login in case of login-based authentication +235 // note that in case of token-based auth, the auth (via an HTTP header) is managed by an interceptor. +236 if (client.getToken() == null) { +237 login(httpClient); +238 } +239 +240 // execute the HTTP request +241 HttpResponse response = null; +242 try { +243 response = httpClient.execute(request); +244 } catch (IOException e) { +245 throw new RundeckApiException("Failed to execute an HTTP " + request.getMethod() + " on url : " +246 + request.getURI(), e); +247 } +248 +249 // in case of error, we get a redirect to /api/error +250 // that we need to follow manually for POST and DELETE requests (as GET) +251 if (response.getStatusLine().getStatusCode() / 100 == 3) { +252 String newLocation = response.getFirstHeader("Location").getValue(); +253 try { +254 EntityUtils.consume(response.getEntity()); +255 } catch (IOException e) { +256 throw new RundeckApiException("Failed to consume entity (release connection)", e); +257 } +258 request = new HttpGet(newLocation); +259 try { +260 response = httpClient.execute(request); +261 } catch (IOException e) { +262 throw new RundeckApiException("Failed to execute an HTTP GET on url : " + request.getURI(), e); +263 } +264 } +265 +266 // check the response code (should be 2xx, even in case of error : error message is in the XML result) +267 if (response.getStatusLine().getStatusCode() / 100 != 2) { +268 if (response.getStatusLine().getStatusCode() == 403 && client.getToken() != null) { +269 throw new RundeckApiTokenException("Invalid Token ! Got HTTP response '" + response.getStatusLine() +270 + "' for " + request.getURI()); +271 } else { +272 throw new RundeckApiException("Invalid HTTP response '" + response.getStatusLine() + "' for " +273 + request.getURI()); +274 } +275 } +276 if (response.getEntity() == null) { +277 throw new RundeckApiException("Empty RunDeck response ! HTTP status line is : " +278 + response.getStatusLine()); 279 } -280 } finally { -281 httpClient.getConnectionManager().shutdown(); -282 } -283 } -284 -285 /** -286 * Do the actual work of login, using the given {@link HttpClient} instance. You'll need to re-use this instance -287 * when making API calls (such as running a job). -288 * -289 * @param httpClient pre-instantiated -290 * @throws RundeckApiLoginException if the login failed -291 */ -292 private void login(HttpClient httpClient) throws RundeckApiLoginException { -293 String location = client.getUrl() + "/j_security_check"; -294 -295 while (true) { -296 HttpPost postLogin = new HttpPost(location); -297 List<NameValuePair> params = new ArrayList<NameValuePair>(); -298 params.add(new BasicNameValuePair("j_username", client.getLogin())); -299 params.add(new BasicNameValuePair("j_password", client.getPassword())); -300 params.add(new BasicNameValuePair("action", "login")); +280 +281 // return a new inputStream, so that we can close all network resources +282 try { +283 return new ByteArrayInputStream(EntityUtils.toByteArray(response.getEntity())); +284 } catch (IOException e) { +285 throw new RundeckApiException("Failed to consume entity and convert the inputStream", e); +286 } +287 } finally { +288 httpClient.getConnectionManager().shutdown(); +289 } +290 } +291 +292 /** +293 * Do the actual work of login, using the given {@link HttpClient} instance. You'll need to re-use this instance +294 * when making API calls (such as running a job). Only use this in case of login-based authentication. +295 * +296 * @param httpClient pre-instantiated +297 * @throws RundeckApiLoginException if the login failed +298 */ +299 private void login(HttpClient httpClient) throws RundeckApiLoginException { +300 String location = client.getUrl() + "/j_security_check"; 301 -302 HttpResponse response = null; -303 try { -304 postLogin.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); -305 response = httpClient.execute(postLogin); -306 } catch (IOException e) { -307 throw new RundeckApiLoginException("Failed to post login form on " + location, e); -308 } -309 -310 if (response.getStatusLine().getStatusCode() / 100 == 3) { -311 // HTTP client refuses to handle redirects (code 3xx) for POST, so we have to do it manually... -312 location = response.getFirstHeader("Location").getValue(); -313 try { -314 EntityUtils.consume(response.getEntity()); -315 } catch (IOException e) { -316 throw new RundeckApiLoginException("Failed to consume entity (release connection)", e); -317 } -318 continue; -319 } -320 if (response.getStatusLine().getStatusCode() / 100 != 2) { -321 throw new RundeckApiLoginException("Invalid HTTP response '" + response.getStatusLine() + "' for " -322 + location); -323 } -324 try { -325 String content = EntityUtils.toString(response.getEntity(), HTTP.UTF_8); -326 if (StringUtils.contains(content, "j_security_check")) { -327 throw new RundeckApiLoginException("Login failed for user " + client.getLogin()); -328 } -329 try { -330 EntityUtils.consume(response.getEntity()); -331 } catch (IOException e) { -332 throw new RundeckApiLoginException("Failed to consume entity (release connection)", e); -333 } -334 } catch (IOException io) { -335 throw new RundeckApiLoginException("Failed to read RunDeck result", io); -336 } catch (ParseException p) { -337 throw new RundeckApiLoginException("Failed to parse RunDeck response", p); -338 } -339 break; -340 } -341 } -342 -343 /** -344 * Instantiate a new {@link HttpClient} instance, configured to accept all SSL certificates -345 * -346 * @return an {@link HttpClient} instance - won't be null -347 */ -348 private HttpClient instantiateHttpClient() { -349 DefaultHttpClient httpClient = new DefaultHttpClient(); -350 -351 // configure SSL -352 SSLSocketFactory socketFactory = null; -353 try { -354 socketFactory = new SSLSocketFactory(new TrustStrategy() { -355 -356 @Override -357 public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException { -358 return true; -359 } -360 }, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); -361 } catch (KeyManagementException e) { -362 throw new RuntimeException(e); -363 } catch (UnrecoverableKeyException e) { -364 throw new RuntimeException(e); -365 } catch (NoSuchAlgorithmException e) { -366 throw new RuntimeException(e); -367 } catch (KeyStoreException e) { -368 throw new RuntimeException(e); -369 } -370 httpClient.getConnectionManager().getSchemeRegistry().register(new Scheme("https", 443, socketFactory)); -371 -372 // configure proxy (use system env : http.proxyHost / http.proxyPort) -373 System.setProperty("java.net.useSystemProxies", "true"); -374 httpClient.setRoutePlanner(new ProxySelectorRoutePlanner(httpClient.getConnectionManager().getSchemeRegistry(), -375 ProxySelector.getDefault())); -376 -377 return httpClient; -378 } -379 } +302 while (true) { +303 HttpPost postLogin = new HttpPost(location); +304 List<NameValuePair> params = new ArrayList<NameValuePair>(); +305 params.add(new BasicNameValuePair("j_username", client.getLogin())); +306 params.add(new BasicNameValuePair("j_password", client.getPassword())); +307 params.add(new BasicNameValuePair("action", "login")); +308 +309 HttpResponse response = null; +310 try { +311 postLogin.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); +312 response = httpClient.execute(postLogin); +313 } catch (IOException e) { +314 throw new RundeckApiLoginException("Failed to post login form on " + location, e); +315 } +316 +317 if (response.getStatusLine().getStatusCode() / 100 == 3) { +318 // HTTP client refuses to handle redirects (code 3xx) for POST, so we have to do it manually... +319 location = response.getFirstHeader("Location").getValue(); +320 try { +321 EntityUtils.consume(response.getEntity()); +322 } catch (IOException e) { +323 throw new RundeckApiLoginException("Failed to consume entity (release connection)", e); +324 } +325 continue; +326 } +327 if (response.getStatusLine().getStatusCode() / 100 != 2) { +328 throw new RundeckApiLoginException("Invalid HTTP response '" + response.getStatusLine() + "' for " +329 + location); +330 } +331 try { +332 String content = EntityUtils.toString(response.getEntity(), HTTP.UTF_8); +333 if (StringUtils.contains(content, "j_security_check")) { +334 throw new RundeckApiLoginException("Login failed for user " + client.getLogin()); +335 } +336 try { +337 EntityUtils.consume(response.getEntity()); +338 } catch (IOException e) { +339 throw new RundeckApiLoginException("Failed to consume entity (release connection)", e); +340 } +341 } catch (IOException io) { +342 throw new RundeckApiLoginException("Failed to read RunDeck result", io); +343 } catch (ParseException p) { +344 throw new RundeckApiLoginException("Failed to parse RunDeck response", p); +345 } +346 break; +347 } +348 } +349 +350 /** +351 * Instantiate a new {@link HttpClient} instance, configured to accept all SSL certificates +352 * +353 * @return an {@link HttpClient} instance - won't be null +354 */ +355 private HttpClient instantiateHttpClient() { +356 DefaultHttpClient httpClient = new DefaultHttpClient(); +357 +358 // configure SSL +359 SSLSocketFactory socketFactory = null; +360 try { +361 socketFactory = new SSLSocketFactory(new TrustStrategy() { +362 +363 @Override +364 public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException { +365 return true; +366 } +367 }, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); +368 } catch (KeyManagementException e) { +369 throw new RuntimeException(e); +370 } catch (UnrecoverableKeyException e) { +371 throw new RuntimeException(e); +372 } catch (NoSuchAlgorithmException e) { +373 throw new RuntimeException(e); +374 } catch (KeyStoreException e) { +375 throw new RuntimeException(e); +376 } +377 httpClient.getConnectionManager().getSchemeRegistry().register(new Scheme("https", 443, socketFactory)); +378 +379 // configure proxy (use system env : http.proxyHost / http.proxyPort) +380 System.setProperty("java.net.useSystemProxies", "true"); +381 httpClient.setRoutePlanner(new ProxySelectorRoutePlanner(httpClient.getConnectionManager().getSchemeRegistry(), +382 ProxySelector.getDefault())); +383 +384 // in case of token-based authentication, add the correct HTTP header to all requests via an interceptor +385 httpClient.addRequestInterceptor(new HttpRequestInterceptor() { +386 +387 @Override +388 public void process(HttpRequest request, HttpContext context) throws HttpException, IOException { +389 if (client.getToken() != null) { +390 request.addHeader(AUTH_TOKEN_HEADER, client.getToken()); +391 } +392 } +393 }); +394 +395 return httpClient; +396 } +397 }
    diff --git a/xref/org/rundeck/api/RundeckApiException.html b/xref/org/rundeck/api/RundeckApiException.html index 45163b8..3854f5a 100644 --- a/xref/org/rundeck/api/RundeckApiException.html +++ b/xref/org/rundeck/api/RundeckApiException.html @@ -43,22 +43,57 @@ 33 } 34 35 /** -36 * Specific login-related error -37 */ -38 public static class RundeckApiLoginException extends RundeckApiException { -39 -40 private static final long serialVersionUID = 1L; -41 -42 public RundeckApiLoginException(String message) { -43 super(message); -44 } -45 -46 public RundeckApiLoginException(String message, Throwable cause) { -47 super(message, cause); -48 } -49 } -50 -51 } +36 * Specific authentication-related error (either login or token). +37 * +38 * @see RundeckApiLoginException +39 * @see RundeckApiTokenException +40 */ +41 public static class RundeckApiAuthException extends RundeckApiException { +42 +43 private static final long serialVersionUID = 1L; +44 +45 public RundeckApiAuthException(String message) { +46 super(message); +47 } +48 +49 public RundeckApiAuthException(String message, Throwable cause) { +50 super(message, cause); +51 } +52 } +53 +54 /** +55 * Specific authentication-related error (in case of login-based authentication) +56 */ +57 public static class RundeckApiLoginException extends RundeckApiAuthException { +58 +59 private static final long serialVersionUID = 1L; +60 +61 public RundeckApiLoginException(String message) { +62 super(message); +63 } +64 +65 public RundeckApiLoginException(String message, Throwable cause) { +66 super(message, cause); +67 } +68 } +69 +70 /** +71 * Specific authentication-related error (in case of token-based authentication) +72 */ +73 public static class RundeckApiTokenException extends RundeckApiAuthException { +74 +75 private static final long serialVersionUID = 1L; +76 +77 public RundeckApiTokenException(String message) { +78 super(message); +79 } +80 +81 public RundeckApiTokenException(String message, Throwable cause) { +82 super(message, cause); +83 } +84 } +85 +86 }
    diff --git a/xref/org/rundeck/api/RundeckClient.html b/xref/org/rundeck/api/RundeckClient.html index eee41de..f6d94cd 100644 --- a/xref/org/rundeck/api/RundeckClient.html +++ b/xref/org/rundeck/api/RundeckClient.html @@ -39,2207 +39,2362 @@ 29 import org.apache.commons.io.IOUtils; 30 import org.apache.commons.lang.StringUtils; 31 import org.rundeck.api.RundeckApiException.RundeckApiLoginException; -32 import org.rundeck.api.domain.RundeckAbort; -33 import org.rundeck.api.domain.RundeckExecution; -34 import org.rundeck.api.domain.RundeckExecution.ExecutionStatus; -35 import org.rundeck.api.domain.RundeckHistory; -36 import org.rundeck.api.domain.RundeckJob; -37 import org.rundeck.api.domain.RundeckJobsImportMethod; -38 import org.rundeck.api.domain.RundeckJobsImportResult; -39 import org.rundeck.api.domain.RundeckNode; -40 import org.rundeck.api.domain.RundeckProject; -41 import org.rundeck.api.domain.RundeckSystemInfo; -42 import org.rundeck.api.parser.AbortParser; -43 import org.rundeck.api.parser.ExecutionParser; -44 import org.rundeck.api.parser.HistoryParser; -45 import org.rundeck.api.parser.JobParser; -46 import org.rundeck.api.parser.JobsImportResultParser; -47 import org.rundeck.api.parser.ListParser; -48 import org.rundeck.api.parser.NodeParser; -49 import org.rundeck.api.parser.ProjectParser; -50 import org.rundeck.api.parser.StringParser; -51 import org.rundeck.api.parser.SystemInfoParser; -52 import org.rundeck.api.util.AssertUtil; -53 import org.rundeck.api.util.ParametersUtil; -54 -55 /** -56 * Main entry point to talk to a RunDeck instance.<br> -57 * Usage : <br> -58 * <code> -59 * <pre> -60 * RundeckClient rundeck = new RundeckClient("http://localhost:4440", "admin", "admin"); -61 * -62 * List&lt;RundeckProject&gt; projects = rundeck.getProjects(); -63 * -64 * RundeckJob job = rundeck.findJob("my-project", "main-group/sub-group", "job-name"); -65 * RundeckExecution execution = rundeck.triggerJob(job.getId(), -66 * new OptionsBuilder().addOption("version", "1.2.0").toProperties()); -67 * -68 * List&lt;RundeckExecution&gt; runningExecutions = rundeck.getRunningExecutions("my-project"); +32 import org.rundeck.api.RundeckApiException.RundeckApiTokenException; +33 import org.rundeck.api.domain.RundeckAbort; +34 import org.rundeck.api.domain.RundeckExecution; +35 import org.rundeck.api.domain.RundeckExecution.ExecutionStatus; +36 import org.rundeck.api.domain.RundeckHistory; +37 import org.rundeck.api.domain.RundeckJob; +38 import org.rundeck.api.domain.RundeckJobsImportMethod; +39 import org.rundeck.api.domain.RundeckJobsImportResult; +40 import org.rundeck.api.domain.RundeckNode; +41 import org.rundeck.api.domain.RundeckProject; +42 import org.rundeck.api.domain.RundeckSystemInfo; +43 import org.rundeck.api.parser.AbortParser; +44 import org.rundeck.api.parser.ExecutionParser; +45 import org.rundeck.api.parser.HistoryParser; +46 import org.rundeck.api.parser.JobParser; +47 import org.rundeck.api.parser.JobsImportResultParser; +48 import org.rundeck.api.parser.ListParser; +49 import org.rundeck.api.parser.NodeParser; +50 import org.rundeck.api.parser.ProjectParser; +51 import org.rundeck.api.parser.StringParser; +52 import org.rundeck.api.parser.SystemInfoParser; +53 import org.rundeck.api.util.AssertUtil; +54 import org.rundeck.api.util.ParametersUtil; +55 +56 /** +57 * Main entry point to talk to a RunDeck instance.<br> +58 * You have 2 methods for authentication : login-based or token-based. If you want to use the first, you need to provide +59 * both a "login" and a "password". Otherwise, just provide a "token" (also called "auth-token"). See the RunDeck +60 * documentation for generating such a token.<br> +61 * <br> +62 * Usage : <br> +63 * <code> +64 * <pre> +65 * // using login-based authentication : +66 * RundeckClient rundeck = new RundeckClient("http://localhost:4440", "admin", "admin"); +67 * // or for a token-based authentication : +68 * RundeckClient rundeck = new RundeckClient("http://localhost:4440", "PDDNKo5VE29kpk4prOUDr2rsKdRkEvsD"); 69 * -70 * rundeck.exportJobsToFile("/tmp/jobs.xml", FileType.XML, "my-project"); -71 * rundeck.importJobs("/tmp/jobs.xml", FileType.XML); -72 * </pre> -73 * </code> -74 * -75 * @author Vincent Behar -76 */ -77 public class RundeckClient implements Serializable { -78 -79 private static final long serialVersionUID = 1L; -80 -81 /** Version of the API supported */ -82 public static final transient int API_VERSION = 1; -83 -84 /** End-point of the API */ -85 public static final transient String API_ENDPOINT = "/api/" + API_VERSION; +70 * List&lt;RundeckProject&gt; projects = rundeck.getProjects(); +71 * +72 * RundeckJob job = rundeck.findJob("my-project", "main-group/sub-group", "job-name"); +73 * RundeckExecution execution = rundeck.triggerJob(job.getId(), +74 * new OptionsBuilder().addOption("version", "1.2.0").toProperties()); +75 * +76 * List&lt;RundeckExecution&gt; runningExecutions = rundeck.getRunningExecutions("my-project"); +77 * +78 * rundeck.exportJobsToFile("/tmp/jobs.xml", FileType.XML, "my-project"); +79 * rundeck.importJobs("/tmp/jobs.xml", FileType.XML); +80 * </pre> +81 * </code> +82 * +83 * @author Vincent Behar +84 */ +85 public class RundeckClient implements Serializable { 86 -87 /** Default value for the "pooling interval" used when running jobs/commands/scripts */ -88 private static final transient long DEFAULT_POOLING_INTERVAL = 5; -89 -90 /** Default unit of the "pooling interval" used when running jobs/commands/scripts */ -91 private static final transient TimeUnit DEFAULT_POOLING_UNIT = TimeUnit.SECONDS; -92 -93 /** URL of the RunDeck instance ("http://localhost:4440" target="alexandria_uri">http://localhost:4440", "http://rundeck.your-compagny.com/", etc) */ -94 private final String url; -95 -96 /** Login to use for authentication on the RunDeck instance */ -97 private final String login; -98 -99 /** Password to use for authentication on the RunDeck instance */ -100 private final String password; -101 -102 /** -103 * Instantiate a new {@link RundeckClient} for the RunDeck instance at the given url -104 * -105 * @param url of the RunDeck instance ("http://localhost:4440", "http://rundeck.your-compagny.com/", etc) -106 * @param login -107 * @param password -108 * @throws IllegalArgumentException if the url, login or password is blank (null, empty or whitespace) -109 */ -110 public RundeckClient(String url, String login, String password) throws IllegalArgumentException { -111 super(); -112 this.url = url; -113 this.login = login; -114 this.password = password; -115 AssertUtil.notBlank(url, "The RunDeck URL is mandatory !"); -116 AssertUtil.notBlank(login, "The RunDeck login is mandatory !"); -117 AssertUtil.notBlank(password, "The RunDeck password is mandatory !"); -118 } -119 -120 /** -121 * Try to "ping" the RunDeck instance to see if it is alive -122 * -123 * @throws RundeckApiException if the ping fails -124 */ -125 public void ping() throws RundeckApiException { -126 new ApiCall(this).ping(); -127 } -128 -129 /** -130 * Test your credentials (login/password) on the RunDeck instance -131 * -132 * @throws RundeckApiLoginException if the login fails -133 */ -134 public void testCredentials() throws RundeckApiLoginException { -135 new ApiCall(this).testCredentials(); -136 } -137 -138 /* -139 * Projects -140 */ -141 -142 /** -143 * List all projects -144 * -145 * @return a {@link List} of {@link RundeckProject} : might be empty, but won't be null -146 * @throws RundeckApiException in case of error when calling the API -147 * @throws RundeckApiLoginException if the login failed -148 */ -149 public List<RundeckProject> getProjects() throws RundeckApiException, RundeckApiLoginException { -150 return new ApiCall(this).get(new ApiPathBuilder("/projects"), -151 new ListParser<RundeckProject>(new ProjectParser(), "result/projects/project")); -152 } -153 -154 /** -155 * Get the definition of a single project, identified by the given name -156 * -157 * @param projectName name of the project - mandatory -158 * @return a {@link RundeckProject} instance - won't be null -159 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -160 * @throws RundeckApiLoginException if the login failed -161 * @throws IllegalArgumentException if the projectName is blank (null, empty or whitespace) -162 */ -163 public RundeckProject getProject(String projectName) throws RundeckApiException, RundeckApiLoginException, -164 IllegalArgumentException { -165 AssertUtil.notBlank(projectName, "projectName is mandatory to get the details of a project !"); -166 return new ApiCall(this).get(new ApiPathBuilder("/project/", projectName), -167 new ProjectParser("result/projects/project")); -168 } -169 -170 /* -171 * Jobs -172 */ -173 -174 /** -175 * List all jobs (for all projects) -176 * -177 * @return a {@link List} of {@link RundeckJob} : might be empty, but won't be null -178 * @throws RundeckApiException in case of error when calling the API -179 * @throws RundeckApiLoginException if the login failed +87 private static final long serialVersionUID = 1L; +88 +89 /** Version of the API supported */ +90 public static final transient int API_VERSION = 2; +91 +92 /** End-point of the API */ +93 public static final transient String API_ENDPOINT = "/api/" + API_VERSION; +94 +95 /** Default value for the "pooling interval" used when running jobs/commands/scripts */ +96 private static final transient long DEFAULT_POOLING_INTERVAL = 5; +97 +98 /** Default unit of the "pooling interval" used when running jobs/commands/scripts */ +99 private static final transient TimeUnit DEFAULT_POOLING_UNIT = TimeUnit.SECONDS; +100 +101 /** URL of the RunDeck instance ("http://localhost:4440" target="alexandria_uri">http://localhost:4440", "http://rundeck.your-compagny.com/", etc) */ +102 private final String url; +103 +104 /** Auth-token for authentication (if not using login-based auth) */ +105 private final String token; +106 +107 /** Login to use for authentication on the RunDeck instance (if not using token-based auth) */ +108 private final String login; +109 +110 /** Password to use for authentication on the RunDeck instance (if not using token-based auth) */ +111 private final String password; +112 +113 /** +114 * Instantiate a new {@link RundeckClient} for the RunDeck instance at the given url, using login-based +115 * authentication. +116 * +117 * @param url of the RunDeck instance ("http://localhost:4440", "http://rundeck.your-compagny.com/", etc) +118 * @param login to use for authentication on the RunDeck instance +119 * @param password to use for authentication on the RunDeck instance +120 * @throws IllegalArgumentException if the url, login or password is blank (null, empty or whitespace) +121 */ +122 public RundeckClient(String url, String login, String password) throws IllegalArgumentException { +123 super(); +124 AssertUtil.notBlank(url, "The RunDeck URL is mandatory !"); +125 AssertUtil.notBlank(login, "The RunDeck login is mandatory !"); +126 AssertUtil.notBlank(password, "The RunDeck password is mandatory !"); +127 this.url = url; +128 this.login = login; +129 this.password = password; +130 this.token = null; +131 } +132 +133 /** +134 * Instantiate a new {@link RundeckClient} for the RunDeck instance at the given url, using token-based +135 * authentication. +136 * +137 * @param url of the RunDeck instance ("http://localhost:4440", "http://rundeck.your-compagny.com/", etc) +138 * @param token to use for authentication on the RunDeck instance +139 * @throws IllegalArgumentException if the url or token is blank (null, empty or whitespace) +140 */ +141 public RundeckClient(String url, String token) throws IllegalArgumentException { +142 super(); +143 AssertUtil.notBlank(url, "The RunDeck URL is mandatory !"); +144 AssertUtil.notBlank(token, "The RunDeck auth-token is mandatory !"); +145 this.url = url; +146 this.token = token; +147 this.login = null; +148 this.password = null; +149 } +150 +151 /** +152 * Try to "ping" the RunDeck instance to see if it is alive +153 * +154 * @throws RundeckApiException if the ping fails +155 */ +156 public void ping() throws RundeckApiException { +157 new ApiCall(this).ping(); +158 } +159 +160 /** +161 * Test your credentials (login/password) on the RunDeck instance +162 * +163 * @throws RundeckApiLoginException if the login fails +164 */ +165 public void testCredentials() throws RundeckApiLoginException { +166 new ApiCall(this).testCredentials(); +167 } +168 +169 /* +170 * Projects +171 */ +172 +173 /** +174 * List all projects +175 * +176 * @return a {@link List} of {@link RundeckProject} : might be empty, but won't be null +177 * @throws RundeckApiException in case of error when calling the API +178 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +179 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) 180 */ -181 public List<RundeckJob> getJobs() throws RundeckApiException, RundeckApiLoginException { -182 List<RundeckJob> jobs = new ArrayList<RundeckJob>(); -183 for (RundeckProject project : getProjects()) { -184 jobs.addAll(getJobs(project.getName())); -185 } -186 return jobs; -187 } -188 -189 /** -190 * List all jobs that belongs to the given project -191 * -192 * @param project name of the project - mandatory -193 * @return a {@link List} of {@link RundeckJob} : might be empty, but won't be null -194 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -195 * @throws RundeckApiLoginException if the login failed -196 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) -197 * @see #getJobs(String, String, String, String...) -198 */ -199 public List<RundeckJob> getJobs(String project) throws RundeckApiException, RundeckApiLoginException, -200 IllegalArgumentException { -201 return getJobs(project, null, null, new String[0]); +181 public List<RundeckProject> getProjects() throws RundeckApiException, RundeckApiLoginException, +182 RundeckApiTokenException { +183 return new ApiCall(this).get(new ApiPathBuilder("/projects"), +184 new ListParser<RundeckProject>(new ProjectParser(), "result/projects/project")); +185 } +186 +187 /** +188 * Get the definition of a single project, identified by the given name +189 * +190 * @param projectName name of the project - mandatory +191 * @return a {@link RundeckProject} instance - won't be null +192 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +193 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +194 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +195 * @throws IllegalArgumentException if the projectName is blank (null, empty or whitespace) +196 */ +197 public RundeckProject getProject(String projectName) throws RundeckApiException, RundeckApiLoginException, +198 RundeckApiTokenException, IllegalArgumentException { +199 AssertUtil.notBlank(projectName, "projectName is mandatory to get the details of a project !"); +200 return new ApiCall(this).get(new ApiPathBuilder("/project/", projectName), +201 new ProjectParser("result/projects/project")); 202 } 203 -204 /** -205 * List the jobs that belongs to the given project, and matches the given criteria (jobFilter, groupPath and jobIds) -206 * -207 * @param project name of the project - mandatory -208 * @param jobFilter a filter for the job Name - optional -209 * @param groupPath a group or partial group path to include all jobs within that group path - optional -210 * @param jobIds a list of Job IDs to include - optional +204 /* +205 * Jobs +206 */ +207 +208 /** +209 * List all jobs (for all projects) +210 * 211 * @return a {@link List} of {@link RundeckJob} : might be empty, but won't be null -212 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -213 * @throws RundeckApiLoginException if the login failed -214 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) -215 * @see #getJobs(String) -216 */ -217 public List<RundeckJob> getJobs(String project, String jobFilter, String groupPath, String... jobIds) -218 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -219 AssertUtil.notBlank(project, "project is mandatory to get all jobs !"); -220 return new ApiCall(this).get(new ApiPathBuilder("/jobs").param("project", project) -221 .param("jobFilter", jobFilter) -222 .param("groupPath", groupPath) -223 .param("idlist", StringUtils.join(jobIds, ",")), -224 new ListParser<RundeckJob>(new JobParser(), "result/jobs/job")); -225 } -226 -227 /** -228 * Export the definitions of all jobs that belongs to the given project -229 * -230 * @param filename path of the file where the content should be saved - mandatory -231 * @param format of the export. See {@link FileType} - mandatory -232 * @param project name of the project - mandatory -233 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -234 * @throws RundeckApiLoginException if the login failed -235 * @throws IllegalArgumentException if the format or project is blank (null, empty or whitespace), or the format is -236 * invalid -237 * @throws IOException if we failed to write to the file -238 * @see #exportJobsToFile(String, FileType, String, String, String, String...) -239 * @see #exportJobs(String, String) -240 */ -241 public void exportJobsToFile(String filename, String format, String project) throws RundeckApiException, -242 RundeckApiLoginException, IllegalArgumentException, IOException { -243 AssertUtil.notBlank(format, "format is mandatory to export jobs !"); -244 exportJobsToFile(filename, FileType.valueOf(StringUtils.upperCase(format)), project); -245 } -246 -247 /** -248 * Export the definitions of all jobs that belongs to the given project -249 * -250 * @param filename path of the file where the content should be saved - mandatory -251 * @param format of the export. See {@link FileType} - mandatory -252 * @param project name of the project - mandatory -253 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -254 * @throws RundeckApiLoginException if the login failed -255 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the format is null -256 * @throws IOException if we failed to write to the file -257 * @see #exportJobsToFile(String, FileType, String, String, String, String...) -258 * @see #exportJobs(FileType, String) -259 */ -260 public void exportJobsToFile(String filename, FileType format, String project) throws RundeckApiException, -261 RundeckApiLoginException, IllegalArgumentException, IOException { -262 exportJobsToFile(filename, format, project, null, null, new String[0]); -263 } -264 -265 /** -266 * Export the definitions of the jobs that belongs to the given project, and matches the given criteria (jobFilter, -267 * groupPath and jobIds) -268 * -269 * @param filename path of the file where the content should be saved - mandatory -270 * @param format of the export. See {@link FileType} - mandatory -271 * @param project name of the project - mandatory -272 * @param jobFilter a filter for the job Name - optional -273 * @param groupPath a group or partial group path to include all jobs within that group path - optional -274 * @param jobIds a list of Job IDs to include - optional -275 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -276 * @throws RundeckApiLoginException if the login failed -277 * @throws IllegalArgumentException if the filename, format or project is blank (null, empty or whitespace), or the -278 * format is invalid -279 * @throws IOException if we failed to write to the file -280 * @see #exportJobsToFile(String, FileType, String, String, String, String...) -281 * @see #exportJobs(FileType, String, String, String, String...) -282 */ -283 public void exportJobsToFile(String filename, String format, String project, String jobFilter, String groupPath, -284 String... jobIds) throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException, -285 IOException { -286 AssertUtil.notBlank(format, "format is mandatory to export jobs !"); -287 exportJobsToFile(filename, -288 FileType.valueOf(StringUtils.upperCase(format)), -289 project, -290 jobFilter, -291 groupPath, -292 jobIds); -293 } -294 -295 /** -296 * Export the definitions of the jobs that belongs to the given project, and matches the given criteria (jobFilter, -297 * groupPath and jobIds) -298 * -299 * @param filename path of the file where the content should be saved - mandatory -300 * @param format of the export. See {@link FileType} - mandatory -301 * @param project name of the project - mandatory -302 * @param jobFilter a filter for the job Name - optional -303 * @param groupPath a group or partial group path to include all jobs within that group path - optional -304 * @param jobIds a list of Job IDs to include - optional -305 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -306 * @throws RundeckApiLoginException if the login failed -307 * @throws IllegalArgumentException if the filename or project is blank (null, empty or whitespace), or the format -308 * is null -309 * @throws IOException if we failed to write to the file -310 * @see #exportJobs(FileType, String, String, String, String...) -311 */ -312 public void exportJobsToFile(String filename, FileType format, String project, String jobFilter, String groupPath, -313 String... jobIds) throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException, -314 IOException { -315 AssertUtil.notBlank(filename, "filename is mandatory to export a job !"); -316 InputStream inputStream = exportJobs(format, project, jobFilter, groupPath, jobIds); -317 FileUtils.writeByteArrayToFile(new File(filename), IOUtils.toByteArray(inputStream)); -318 } -319 -320 /** -321 * Export the definitions of all jobs that belongs to the given project -322 * -323 * @param format of the export. See {@link FileType} - mandatory -324 * @param project name of the project - mandatory -325 * @return an {@link InputStream} instance, not linked to any network resources - won't be null -326 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -327 * @throws RundeckApiLoginException if the login failed -328 * @throws IllegalArgumentException if the format or project is blank (null, empty or whitespace), or the format is -329 * invalid -330 * @see #exportJobs(FileType, String, String, String, String...) -331 * @see #exportJobsToFile(String, String, String) -332 */ -333 public InputStream exportJobs(String format, String project) throws RundeckApiException, RundeckApiLoginException, -334 IllegalArgumentException { -335 AssertUtil.notBlank(format, "format is mandatory to export jobs !"); -336 return exportJobs(FileType.valueOf(StringUtils.upperCase(format)), project); -337 } -338 -339 /** -340 * Export the definitions of all jobs that belongs to the given project -341 * -342 * @param format of the export. See {@link FileType} - mandatory -343 * @param project name of the project - mandatory -344 * @return an {@link InputStream} instance, not linked to any network resources - won't be null +212 * @throws RundeckApiException in case of error when calling the API +213 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +214 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +215 */ +216 public List<RundeckJob> getJobs() throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException { +217 List<RundeckJob> jobs = new ArrayList<RundeckJob>(); +218 for (RundeckProject project : getProjects()) { +219 jobs.addAll(getJobs(project.getName())); +220 } +221 return jobs; +222 } +223 +224 /** +225 * List all jobs that belongs to the given project +226 * +227 * @param project name of the project - mandatory +228 * @return a {@link List} of {@link RundeckJob} : might be empty, but won't be null +229 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +230 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +231 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +232 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) +233 * @see #getJobs(String, String, String, String...) +234 */ +235 public List<RundeckJob> getJobs(String project) throws RundeckApiException, RundeckApiLoginException, +236 RundeckApiTokenException, IllegalArgumentException { +237 return getJobs(project, null, null, new String[0]); +238 } +239 +240 /** +241 * List the jobs that belongs to the given project, and matches the given criteria (jobFilter, groupPath and jobIds) +242 * +243 * @param project name of the project - mandatory +244 * @param jobFilter a filter for the job Name - optional +245 * @param groupPath a group or partial group path to include all jobs within that group path - optional +246 * @param jobIds a list of Job IDs to include - optional +247 * @return a {@link List} of {@link RundeckJob} : might be empty, but won't be null +248 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +249 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +250 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +251 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) +252 * @see #getJobs(String) +253 */ +254 public List<RundeckJob> getJobs(String project, String jobFilter, String groupPath, String... jobIds) +255 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +256 AssertUtil.notBlank(project, "project is mandatory to get all jobs !"); +257 return new ApiCall(this).get(new ApiPathBuilder("/jobs").param("project", project) +258 .param("jobFilter", jobFilter) +259 .param("groupPath", groupPath) +260 .param("idlist", StringUtils.join(jobIds, ",")), +261 new ListParser<RundeckJob>(new JobParser(), "result/jobs/job")); +262 } +263 +264 /** +265 * Export the definitions of all jobs that belongs to the given project +266 * +267 * @param filename path of the file where the content should be saved - mandatory +268 * @param format of the export. See {@link FileType} - mandatory +269 * @param project name of the project - mandatory +270 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +271 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +272 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +273 * @throws IllegalArgumentException if the format or project is blank (null, empty or whitespace), or the format is +274 * invalid +275 * @throws IOException if we failed to write to the file +276 * @see #exportJobsToFile(String, FileType, String, String, String, String...) +277 * @see #exportJobs(String, String) +278 */ +279 public void exportJobsToFile(String filename, String format, String project) throws RundeckApiException, +280 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException { +281 AssertUtil.notBlank(format, "format is mandatory to export jobs !"); +282 exportJobsToFile(filename, FileType.valueOf(StringUtils.upperCase(format)), project); +283 } +284 +285 /** +286 * Export the definitions of all jobs that belongs to the given project +287 * +288 * @param filename path of the file where the content should be saved - mandatory +289 * @param format of the export. See {@link FileType} - mandatory +290 * @param project name of the project - mandatory +291 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +292 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +293 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +294 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the format is null +295 * @throws IOException if we failed to write to the file +296 * @see #exportJobsToFile(String, FileType, String, String, String, String...) +297 * @see #exportJobs(FileType, String) +298 */ +299 public void exportJobsToFile(String filename, FileType format, String project) throws RundeckApiException, +300 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException { +301 exportJobsToFile(filename, format, project, null, null, new String[0]); +302 } +303 +304 /** +305 * Export the definitions of the jobs that belongs to the given project, and matches the given criteria (jobFilter, +306 * groupPath and jobIds) +307 * +308 * @param filename path of the file where the content should be saved - mandatory +309 * @param format of the export. See {@link FileType} - mandatory +310 * @param project name of the project - mandatory +311 * @param jobFilter a filter for the job Name - optional +312 * @param groupPath a group or partial group path to include all jobs within that group path - optional +313 * @param jobIds a list of Job IDs to include - optional +314 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +315 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +316 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +317 * @throws IllegalArgumentException if the filename, format or project is blank (null, empty or whitespace), or the +318 * format is invalid +319 * @throws IOException if we failed to write to the file +320 * @see #exportJobsToFile(String, FileType, String, String, String, String...) +321 * @see #exportJobs(FileType, String, String, String, String...) +322 */ +323 public void exportJobsToFile(String filename, String format, String project, String jobFilter, String groupPath, +324 String... jobIds) throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, +325 IllegalArgumentException, IOException { +326 AssertUtil.notBlank(format, "format is mandatory to export jobs !"); +327 exportJobsToFile(filename, +328 FileType.valueOf(StringUtils.upperCase(format)), +329 project, +330 jobFilter, +331 groupPath, +332 jobIds); +333 } +334 +335 /** +336 * Export the definitions of the jobs that belongs to the given project, and matches the given criteria (jobFilter, +337 * groupPath and jobIds) +338 * +339 * @param filename path of the file where the content should be saved - mandatory +340 * @param format of the export. See {@link FileType} - mandatory +341 * @param project name of the project - mandatory +342 * @param jobFilter a filter for the job Name - optional +343 * @param groupPath a group or partial group path to include all jobs within that group path - optional +344 * @param jobIds a list of Job IDs to include - optional 345 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -346 * @throws RundeckApiLoginException if the login failed -347 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the format is null -348 * @see #exportJobs(FileType, String, String, String, String...) -349 * @see #exportJobsToFile(String, FileType, String) -350 */ -351 public InputStream exportJobs(FileType format, String project) throws RundeckApiException, -352 RundeckApiLoginException, IllegalArgumentException { -353 return exportJobs(format, project, null, null, new String[0]); -354 } -355 -356 /** -357 * Export the definitions of the jobs that belongs to the given project, and matches the given criteria (jobFilter, -358 * groupPath and jobIds) -359 * -360 * @param format of the export. See {@link FileType} - mandatory -361 * @param project name of the project - mandatory -362 * @param jobFilter a filter for the job Name - optional -363 * @param groupPath a group or partial group path to include all jobs within that group path - optional -364 * @param jobIds a list of Job IDs to include - optional -365 * @return an {@link InputStream} instance, not linked to any network resources - won't be null -366 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -367 * @throws RundeckApiLoginException if the login failed -368 * @throws IllegalArgumentException if the format or project is blank (null, empty or whitespace), or the format is -369 * invalid -370 * @see #exportJobs(FileType, String, String, String, String...) -371 * @see #exportJobsToFile(String, String, String, String, String, String...) -372 */ -373 public InputStream exportJobs(String format, String project, String jobFilter, String groupPath, String... jobIds) -374 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -375 AssertUtil.notBlank(format, "format is mandatory to export jobs !"); -376 return exportJobs(FileType.valueOf(StringUtils.upperCase(format)), project, jobFilter, groupPath, jobIds); -377 } -378 -379 /** -380 * Export the definitions of the jobs that belongs to the given project, and matches the given criteria (jobFilter, -381 * groupPath and jobIds) -382 * -383 * @param format of the export. See {@link FileType} - mandatory -384 * @param project name of the project - mandatory -385 * @param jobFilter a filter for the job Name - optional -386 * @param groupPath a group or partial group path to include all jobs within that group path - optional -387 * @param jobIds a list of Job IDs to include - optional -388 * @return an {@link InputStream} instance, not linked to any network resources - won't be null -389 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -390 * @throws RundeckApiLoginException if the login failed -391 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the format is null -392 * @see #exportJobsToFile(String, FileType, String, String, String, String...) +346 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +347 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +348 * @throws IllegalArgumentException if the filename or project is blank (null, empty or whitespace), or the format +349 * is null +350 * @throws IOException if we failed to write to the file +351 * @see #exportJobs(FileType, String, String, String, String...) +352 */ +353 public void exportJobsToFile(String filename, FileType format, String project, String jobFilter, String groupPath, +354 String... jobIds) throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, +355 IllegalArgumentException, IOException { +356 AssertUtil.notBlank(filename, "filename is mandatory to export a job !"); +357 InputStream inputStream = exportJobs(format, project, jobFilter, groupPath, jobIds); +358 FileUtils.writeByteArrayToFile(new File(filename), IOUtils.toByteArray(inputStream)); +359 } +360 +361 /** +362 * Export the definitions of all jobs that belongs to the given project +363 * +364 * @param format of the export. See {@link FileType} - mandatory +365 * @param project name of the project - mandatory +366 * @return an {@link InputStream} instance, not linked to any network resources - won't be null +367 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +368 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +369 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +370 * @throws IllegalArgumentException if the format or project is blank (null, empty or whitespace), or the format is +371 * invalid +372 * @see #exportJobs(FileType, String, String, String, String...) +373 * @see #exportJobsToFile(String, String, String) +374 */ +375 public InputStream exportJobs(String format, String project) throws RundeckApiException, RundeckApiLoginException, +376 RundeckApiTokenException, IllegalArgumentException { +377 AssertUtil.notBlank(format, "format is mandatory to export jobs !"); +378 return exportJobs(FileType.valueOf(StringUtils.upperCase(format)), project); +379 } +380 +381 /** +382 * Export the definitions of all jobs that belongs to the given project +383 * +384 * @param format of the export. See {@link FileType} - mandatory +385 * @param project name of the project - mandatory +386 * @return an {@link InputStream} instance, not linked to any network resources - won't be null +387 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +388 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +389 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +390 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the format is null +391 * @see #exportJobs(FileType, String, String, String, String...) +392 * @see #exportJobsToFile(String, FileType, String) 393 */ -394 public InputStream exportJobs(FileType format, String project, String jobFilter, String groupPath, String... jobIds) -395 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -396 AssertUtil.notNull(format, "format is mandatory to export jobs !"); -397 AssertUtil.notBlank(project, "project is mandatory to export jobs !"); -398 return new ApiCall(this).get(new ApiPathBuilder("/jobs/export").param("format", format) -399 .param("project", project) -400 .param("jobFilter", jobFilter) -401 .param("groupPath", groupPath) -402 .param("idlist", StringUtils.join(jobIds, ","))); -403 } -404 -405 /** -406 * Export the definition of a single job (identified by the given ID) -407 * -408 * @param filename path of the file where the content should be saved - mandatory -409 * @param format of the export. See {@link FileType} - mandatory -410 * @param jobId identifier of the job - mandatory -411 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) -412 * @throws RundeckApiLoginException if the login failed -413 * @throws IllegalArgumentException if the filename, format or jobId is blank (null, empty or whitespace), or the -414 * format is invalid -415 * @throws IOException if we failed to write to the file -416 * @see #exportJobToFile(String, FileType, String) -417 * @see #exportJob(String, String) -418 * @see #getJob(String) -419 */ -420 public void exportJobToFile(String filename, String format, String jobId) throws RundeckApiException, -421 RundeckApiLoginException, IllegalArgumentException, IOException { -422 AssertUtil.notBlank(format, "format is mandatory to export a job !"); -423 exportJobToFile(filename, FileType.valueOf(StringUtils.upperCase(format)), jobId); -424 } -425 -426 /** -427 * Export the definition of a single job (identified by the given ID) -428 * -429 * @param filename path of the file where the content should be saved - mandatory -430 * @param format of the export. See {@link FileType} - mandatory -431 * @param jobId identifier of the job - mandatory -432 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) -433 * @throws RundeckApiLoginException if the login failed -434 * @throws IllegalArgumentException if the filename or jobId is blank (null, empty or whitespace), or the format is -435 * null -436 * @throws IOException if we failed to write to the file -437 * @see #exportJob(FileType, String) -438 * @see #getJob(String) -439 */ -440 public void exportJobToFile(String filename, FileType format, String jobId) throws RundeckApiException, -441 RundeckApiLoginException, IllegalArgumentException, IOException { -442 AssertUtil.notBlank(filename, "filename is mandatory to export a job !"); -443 InputStream inputStream = exportJob(format, jobId); -444 FileUtils.writeByteArrayToFile(new File(filename), IOUtils.toByteArray(inputStream)); -445 } -446 -447 /** -448 * Export the definition of a single job, identified by the given ID -449 * -450 * @param format of the export. See {@link FileType} - mandatory -451 * @param jobId identifier of the job - mandatory -452 * @return an {@link InputStream} instance, not linked to any network resources - won't be null -453 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) -454 * @throws RundeckApiLoginException if the login failed -455 * @throws IllegalArgumentException if the format or jobId is blank (null, empty or whitespace), or the format is -456 * invalid -457 * @see #exportJobToFile(String, String, String) -458 * @see #getJob(String) -459 */ -460 public InputStream exportJob(String format, String jobId) throws RundeckApiException, RundeckApiLoginException, -461 IllegalArgumentException { -462 AssertUtil.notBlank(format, "format is mandatory to export a job !"); -463 return exportJob(FileType.valueOf(StringUtils.upperCase(format)), jobId); -464 } -465 -466 /** -467 * Export the definition of a single job, identified by the given ID -468 * -469 * @param format of the export. See {@link FileType} - mandatory -470 * @param jobId identifier of the job - mandatory -471 * @return an {@link InputStream} instance, not linked to any network resources - won't be null -472 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) -473 * @throws RundeckApiLoginException if the login failed -474 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace), or the format is null -475 * @see #exportJobToFile(String, FileType, String) -476 * @see #getJob(String) -477 */ -478 public InputStream exportJob(FileType format, String jobId) throws RundeckApiException, RundeckApiLoginException, -479 IllegalArgumentException { -480 AssertUtil.notNull(format, "format is mandatory to export a job !"); -481 AssertUtil.notBlank(jobId, "jobId is mandatory to export a job !"); -482 return new ApiCall(this).get(new ApiPathBuilder("/job/", jobId).param("format", format)); -483 } -484 -485 /** -486 * Import the definitions of jobs, from the given file -487 * -488 * @param filename of the file containing the jobs definitions - mandatory -489 * @param fileType type of the file. See {@link FileType} - mandatory -490 * @return a {@link RundeckJobsImportResult} instance - won't be null -491 * @throws RundeckApiException in case of error when calling the API -492 * @throws RundeckApiLoginException if the login failed -493 * @throws IllegalArgumentException if the filename or fileType is blank (null, empty or whitespace), or the -494 * fileType is invalid -495 * @throws IOException if we failed to read the file -496 * @see #importJobs(InputStream, String) -497 * @see #importJobs(String, FileType, RundeckJobsImportMethod) -498 */ -499 public RundeckJobsImportResult importJobs(String filename, String fileType) throws RundeckApiException, -500 RundeckApiLoginException, IllegalArgumentException, IOException { -501 AssertUtil.notBlank(fileType, "fileType is mandatory to import jobs !"); -502 return importJobs(filename, FileType.valueOf(StringUtils.upperCase(fileType))); -503 } -504 -505 /** -506 * Import the definitions of jobs, from the given file -507 * -508 * @param filename of the file containing the jobs definitions - mandatory -509 * @param fileType type of the file. See {@link FileType} - mandatory -510 * @return a {@link RundeckJobsImportResult} instance - won't be null -511 * @throws RundeckApiException in case of error when calling the API -512 * @throws RundeckApiLoginException if the login failed -513 * @throws IllegalArgumentException if the filename is blank (null, empty or whitespace), or the fileType is null -514 * @throws IOException if we failed to read the file -515 * @see #importJobs(InputStream, FileType) -516 * @see #importJobs(String, FileType, RundeckJobsImportMethod) -517 */ -518 public RundeckJobsImportResult importJobs(String filename, FileType fileType) throws RundeckApiException, -519 RundeckApiLoginException, IllegalArgumentException, IOException { -520 return importJobs(filename, fileType, (RundeckJobsImportMethod) null); -521 } -522 -523 /** -524 * Import the definitions of jobs, from the given file, using the given behavior -525 * -526 * @param filename of the file containing the jobs definitions - mandatory -527 * @param fileType type of the file. See {@link FileType} - mandatory -528 * @param importBehavior see {@link RundeckJobsImportMethod} -529 * @return a {@link RundeckJobsImportResult} instance - won't be null -530 * @throws RundeckApiException in case of error when calling the API -531 * @throws RundeckApiLoginException if the login failed -532 * @throws IllegalArgumentException if the filename or fileType is blank (null, empty or whitespace), or the -533 * fileType or behavior is not valid -534 * @throws IOException if we failed to read the file -535 * @see #importJobs(InputStream, String, String) -536 * @see #importJobs(String, FileType, RundeckJobsImportMethod) -537 */ -538 public RundeckJobsImportResult importJobs(String filename, String fileType, String importBehavior) -539 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException, IOException { -540 AssertUtil.notBlank(fileType, "fileType is mandatory to import jobs !"); -541 return importJobs(filename, -542 FileType.valueOf(StringUtils.upperCase(fileType)), -543 RundeckJobsImportMethod.valueOf(StringUtils.upperCase(importBehavior))); -544 } -545 -546 /** -547 * Import the definitions of jobs, from the given file, using the given behavior -548 * -549 * @param filename of the file containing the jobs definitions - mandatory -550 * @param fileType type of the file. See {@link FileType} - mandatory -551 * @param importBehavior see {@link RundeckJobsImportMethod} -552 * @return a {@link RundeckJobsImportResult} instance - won't be null -553 * @throws RundeckApiException in case of error when calling the API -554 * @throws RundeckApiLoginException if the login failed -555 * @throws IllegalArgumentException if the filename is blank (null, empty or whitespace), or the fileType is null -556 * @throws IOException if we failed to read the file -557 * @see #importJobs(InputStream, FileType, RundeckJobsImportMethod) -558 */ -559 public RundeckJobsImportResult importJobs(String filename, FileType fileType, RundeckJobsImportMethod importBehavior) -560 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException, IOException { -561 AssertUtil.notBlank(filename, "filename (of jobs file) is mandatory to import jobs !"); -562 FileInputStream stream = null; -563 try { -564 stream = FileUtils.openInputStream(new File(filename)); -565 return importJobs(stream, fileType, importBehavior); -566 } finally { -567 IOUtils.closeQuietly(stream); -568 } -569 } -570 -571 /** -572 * Import the definitions of jobs, from the given input stream -573 * -574 * @param stream inputStream for reading the definitions - mandatory -575 * @param fileType type of the file. See {@link FileType} - mandatory -576 * @return a {@link RundeckJobsImportResult} instance - won't be null -577 * @throws RundeckApiException in case of error when calling the API -578 * @throws RundeckApiLoginException if the login failed -579 * @throws IllegalArgumentException if the stream is null, or the fileType is blank (null, empty or whitespace) or -580 * invalid -581 * @see #importJobs(String, String) -582 * @see #importJobs(InputStream, FileType, RundeckJobsImportMethod) -583 */ -584 public RundeckJobsImportResult importJobs(InputStream stream, String fileType) throws RundeckApiException, -585 RundeckApiLoginException, IllegalArgumentException { -586 AssertUtil.notBlank(fileType, "fileType is mandatory to import jobs !"); -587 return importJobs(stream, FileType.valueOf(StringUtils.upperCase(fileType))); -588 } -589 -590 /** -591 * Import the definitions of jobs, from the given input stream -592 * -593 * @param stream inputStream for reading the definitions - mandatory -594 * @param fileType type of the file. See {@link FileType} - mandatory -595 * @return a {@link RundeckJobsImportResult} instance - won't be null -596 * @throws RundeckApiException in case of error when calling the API -597 * @throws RundeckApiLoginException if the login failed -598 * @throws IllegalArgumentException if the stream or fileType is null -599 * @see #importJobs(String, FileType) -600 * @see #importJobs(InputStream, FileType, RundeckJobsImportMethod) -601 */ -602 public RundeckJobsImportResult importJobs(InputStream stream, FileType fileType) throws RundeckApiException, -603 RundeckApiLoginException, IllegalArgumentException { -604 return importJobs(stream, fileType, (RundeckJobsImportMethod) null); -605 } -606 -607 /** -608 * Import the definitions of jobs, from the given input stream, using the given behavior -609 * -610 * @param stream inputStream for reading the definitions - mandatory -611 * @param fileType type of the file. See {@link FileType} - mandatory -612 * @param importBehavior see {@link RundeckJobsImportMethod} -613 * @return a {@link RundeckJobsImportResult} instance - won't be null -614 * @throws RundeckApiException in case of error when calling the API -615 * @throws RundeckApiLoginException if the login failed -616 * @throws IllegalArgumentException if the stream is null, or the fileType is blank (null, empty or whitespace), or -617 * the fileType or behavior is not valid -618 * @see #importJobs(String, String, String) -619 * @see #importJobs(InputStream, FileType, RundeckJobsImportMethod) -620 */ -621 public RundeckJobsImportResult importJobs(InputStream stream, String fileType, String importBehavior) -622 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -623 AssertUtil.notBlank(fileType, "fileType is mandatory to import jobs !"); -624 return importJobs(stream, -625 FileType.valueOf(StringUtils.upperCase(fileType)), -626 RundeckJobsImportMethod.valueOf(StringUtils.upperCase(importBehavior))); -627 } -628 -629 /** -630 * Import the definitions of jobs, from the given input stream, using the given behavior -631 * -632 * @param stream inputStream for reading the definitions - mandatory -633 * @param fileType type of the file. See {@link FileType} - mandatory -634 * @param importBehavior see {@link RundeckJobsImportMethod} -635 * @return a {@link RundeckJobsImportResult} instance - won't be null -636 * @throws RundeckApiException in case of error when calling the API -637 * @throws RundeckApiLoginException if the login failed -638 * @throws IllegalArgumentException if the stream or fileType is null -639 * @see #importJobs(String, FileType, RundeckJobsImportMethod) -640 */ -641 public RundeckJobsImportResult importJobs(InputStream stream, FileType fileType, -642 RundeckJobsImportMethod importBehavior) throws RundeckApiException, RundeckApiLoginException, -643 IllegalArgumentException { -644 AssertUtil.notNull(stream, "inputStream of jobs is mandatory to import jobs !"); -645 AssertUtil.notNull(fileType, "fileType is mandatory to import jobs !"); -646 return new ApiCall(this).post(new ApiPathBuilder("/jobs/import").param("format", fileType) -647 .param("dupeOption", importBehavior) -648 .attach("xmlBatch", stream), -649 new JobsImportResultParser("result")); -650 } -651 -652 /** -653 * Find a job, identified by its project, group and name. Note that the groupPath is optional, as a job does not -654 * need to belong to a group (either pass null, or an empty string). -655 * -656 * @param project name of the project - mandatory -657 * @param groupPath group to which the job belongs (if it belongs to a group) - optional -658 * @param name of the job to find - mandatory -659 * @return a {@link RundeckJob} instance - null if not found -660 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -661 * @throws RundeckApiLoginException if the login failed -662 * @throws IllegalArgumentException if the project or the name is blank (null, empty or whitespace) -663 * @see #getJob(String) -664 */ -665 public RundeckJob findJob(String project, String groupPath, String name) throws RundeckApiException, -666 RundeckApiLoginException, IllegalArgumentException { -667 AssertUtil.notBlank(project, "project is mandatory to find a job !"); -668 AssertUtil.notBlank(name, "job name is mandatory to find a job !"); -669 List<RundeckJob> jobs = getJobs(project, name, groupPath, new String[0]); -670 return jobs.isEmpty() ? null : jobs.get(0); -671 } -672 -673 /** -674 * Get the definition of a single job, identified by the given ID -675 * -676 * @param jobId identifier of the job - mandatory -677 * @return a {@link RundeckJob} instance - won't be null -678 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) -679 * @throws RundeckApiLoginException if the login failed -680 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) -681 * @see #findJob(String, String, String) -682 * @see #exportJob(String, String) -683 */ -684 public RundeckJob getJob(String jobId) throws RundeckApiException, RundeckApiLoginException, -685 IllegalArgumentException { -686 AssertUtil.notBlank(jobId, "jobId is mandatory to get the details of a job !"); -687 return new ApiCall(this).get(new ApiPathBuilder("/job/", jobId), new JobParser("joblist/job")); -688 } -689 -690 /** -691 * Delete a single job, identified by the given ID -692 * -693 * @param jobId identifier of the job - mandatory -694 * @return the success message (note that in case of error, you'll get an exception) -695 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) -696 * @throws RundeckApiLoginException if the login failed -697 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) -698 */ -699 public String deleteJob(String jobId) throws RundeckApiException, RundeckApiLoginException, -700 IllegalArgumentException { -701 AssertUtil.notBlank(jobId, "jobId is mandatory to delete a job !"); -702 return new ApiCall(this).delete(new ApiPathBuilder("/job/", jobId), new StringParser("result/success/message")); -703 } -704 -705 /** -706 * Trigger the execution of a RunDeck job (identified by the given ID), and return immediately (without waiting the -707 * end of the job execution) -708 * -709 * @param jobId identifier of the job - mandatory -710 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null -711 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) -712 * @throws RundeckApiLoginException if the login failed -713 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) -714 * @see #triggerJob(String, Properties, Properties) -715 * @see #runJob(String) -716 */ -717 public RundeckExecution triggerJob(String jobId) throws RundeckApiException, RundeckApiLoginException, -718 IllegalArgumentException { -719 return triggerJob(jobId, null); -720 } -721 -722 /** -723 * Trigger the execution of a RunDeck job (identified by the given ID), and return immediately (without waiting the -724 * end of the job execution) -725 * -726 * @param jobId identifier of the job - mandatory -727 * @param options of the job - optional. See {@link OptionsBuilder}. -728 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null -729 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) -730 * @throws RundeckApiLoginException if the login failed -731 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) -732 * @see #triggerJob(String, Properties, Properties) -733 * @see #runJob(String, Properties) -734 */ -735 public RundeckExecution triggerJob(String jobId, Properties options) throws RundeckApiException, -736 RundeckApiLoginException, IllegalArgumentException { -737 return triggerJob(jobId, options, null); -738 } -739 -740 /** -741 * Trigger the execution of a RunDeck job (identified by the given ID), and return immediately (without waiting the -742 * end of the job execution) -743 * -744 * @param jobId identifier of the job - mandatory -745 * @param options of the job - optional. See {@link OptionsBuilder}. -746 * @param nodeFilters for overriding the nodes on which the job will be executed - optional. See -747 * {@link NodeFiltersBuilder} -748 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null -749 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) -750 * @throws RundeckApiLoginException if the login failed -751 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) -752 * @see #triggerJob(String) -753 * @see #runJob(String, Properties, Properties) -754 */ -755 public RundeckExecution triggerJob(String jobId, Properties options, Properties nodeFilters) -756 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -757 AssertUtil.notBlank(jobId, "jobId is mandatory to trigger a job !"); -758 return new ApiCall(this).get(new ApiPathBuilder("/job/", jobId, "/run").param("argString", -759 ParametersUtil.generateArgString(options)) -760 .nodeFilters(nodeFilters), -761 new ExecutionParser("result/executions/execution")); -762 } -763 -764 /** -765 * Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return. -766 * We will poll the RunDeck server at regular interval (every 5 seconds) to know if the execution is finished (or -767 * aborted) or is still running. -768 * -769 * @param jobId identifier of the job - mandatory -770 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -771 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) -772 * @throws RundeckApiLoginException if the login failed -773 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) -774 * @see #triggerJob(String) -775 * @see #runJob(String, Properties, Properties, long, TimeUnit) -776 */ -777 public RundeckExecution runJob(String jobId) throws RundeckApiException, RundeckApiLoginException, -778 IllegalArgumentException { -779 return runJob(jobId, null); -780 } -781 -782 /** -783 * Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return. -784 * We will poll the RunDeck server at regular interval (every 5 seconds) to know if the execution is finished (or -785 * aborted) or is still running. -786 * -787 * @param jobId identifier of the job - mandatory -788 * @param options of the job - optional. See {@link OptionsBuilder}. -789 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -790 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) -791 * @throws RundeckApiLoginException if the login failed -792 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) -793 * @see #triggerJob(String, Properties) -794 * @see #runJob(String, Properties, Properties, long, TimeUnit) -795 */ -796 public RundeckExecution runJob(String jobId, Properties options) throws RundeckApiException, -797 RundeckApiLoginException, IllegalArgumentException { -798 return runJob(jobId, options, null); -799 } -800 -801 /** -802 * Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return. -803 * We will poll the RunDeck server at regular interval (every 5 seconds) to know if the execution is finished (or -804 * aborted) or is still running. -805 * -806 * @param jobId identifier of the job - mandatory -807 * @param options of the job - optional. See {@link OptionsBuilder}. -808 * @param nodeFilters for overriding the nodes on which the job will be executed - optional. See -809 * {@link NodeFiltersBuilder} -810 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -811 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) -812 * @throws RundeckApiLoginException if the login failed -813 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) -814 * @see #triggerJob(String, Properties, Properties) -815 * @see #runJob(String, Properties, Properties, long, TimeUnit) -816 */ -817 public RundeckExecution runJob(String jobId, Properties options, Properties nodeFilters) -818 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -819 return runJob(jobId, options, nodeFilters, DEFAULT_POOLING_INTERVAL, DEFAULT_POOLING_UNIT); -820 } -821 -822 /** -823 * Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return. -824 * We will poll the RunDeck server at regular interval (configured by the poolingInterval/poolingUnit couple) to -825 * know if the execution is finished (or aborted) or is still running. -826 * -827 * @param jobId identifier of the job - mandatory -828 * @param options of the job - optional. See {@link OptionsBuilder}. -829 * @param poolingInterval for checking the status of the execution. Must be > 0. -830 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. -831 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -832 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) -833 * @throws RundeckApiLoginException if the login failed -834 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) -835 * @see #triggerJob(String, Properties) -836 * @see #runJob(String, Properties, Properties, long, TimeUnit) -837 */ -838 public RundeckExecution runJob(String jobId, Properties options, long poolingInterval, TimeUnit poolingUnit) -839 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -840 return runJob(jobId, options, null, poolingInterval, poolingUnit); -841 } -842 -843 /** -844 * Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return. -845 * We will poll the RunDeck server at regular interval (configured by the poolingInterval/poolingUnit couple) to -846 * know if the execution is finished (or aborted) or is still running. -847 * -848 * @param jobId identifier of the job - mandatory -849 * @param options of the job - optional. See {@link OptionsBuilder}. -850 * @param nodeFilters for overriding the nodes on which the job will be executed - optional. See -851 * {@link NodeFiltersBuilder} -852 * @param poolingInterval for checking the status of the execution. Must be > 0. -853 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. -854 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -855 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) -856 * @throws RundeckApiLoginException if the login failed -857 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) -858 * @see #triggerJob(String, Properties) -859 * @see #runJob(String, Properties, Properties, long, TimeUnit) -860 */ -861 public RundeckExecution runJob(String jobId, Properties options, Properties nodeFilters, long poolingInterval, -862 TimeUnit poolingUnit) throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -863 if (poolingInterval <= 0) { -864 poolingInterval = DEFAULT_POOLING_INTERVAL; -865 poolingUnit = DEFAULT_POOLING_UNIT; -866 } -867 if (poolingUnit == null) { -868 poolingUnit = DEFAULT_POOLING_UNIT; -869 } -870 -871 RundeckExecution execution = triggerJob(jobId, options, nodeFilters); -872 while (ExecutionStatus.RUNNING.equals(execution.getStatus())) { -873 try { -874 Thread.sleep(poolingUnit.toMillis(poolingInterval)); -875 } catch (InterruptedException e) { -876 break; -877 } -878 execution = getExecution(execution.getId()); -879 } -880 return execution; -881 } -882 -883 /* -884 * Ad-hoc commands -885 */ -886 -887 /** -888 * Trigger the execution of an ad-hoc command, and return immediately (without waiting the end of the execution). -889 * The command will not be dispatched to nodes, but be executed on the RunDeck server. -890 * -891 * @param project name of the project - mandatory -892 * @param command to be executed - mandatory -893 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null -894 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -895 * @throws RundeckApiLoginException if the login failed -896 * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace) -897 * @see #triggerAdhocCommand(String, String, Properties, Integer, Boolean) -898 * @see #runAdhocCommand(String, String) -899 */ -900 public RundeckExecution triggerAdhocCommand(String project, String command) throws RundeckApiException, -901 RundeckApiLoginException, IllegalArgumentException { -902 return triggerAdhocCommand(project, command, null); -903 } -904 -905 /** -906 * Trigger the execution of an ad-hoc command, and return immediately (without waiting the end of the execution). -907 * The command will be dispatched to nodes, accordingly to the nodeFilters parameter. -908 * -909 * @param project name of the project - mandatory -910 * @param command to be executed - mandatory -911 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} -912 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null -913 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -914 * @throws RundeckApiLoginException if the login failed -915 * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace) -916 * @see #triggerAdhocCommand(String, String, Properties, Integer, Boolean) -917 * @see #runAdhocCommand(String, String, Properties) -918 */ -919 public RundeckExecution triggerAdhocCommand(String project, String command, Properties nodeFilters) -920 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -921 return triggerAdhocCommand(project, command, nodeFilters, null, null); -922 } -923 -924 /** -925 * Trigger the execution of an ad-hoc command, and return immediately (without waiting the end of the execution). -926 * The command will be dispatched to nodes, accordingly to the nodeFilters parameter. -927 * -928 * @param project name of the project - mandatory -929 * @param command to be executed - mandatory -930 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} -931 * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional -932 * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional -933 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null -934 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -935 * @throws RundeckApiLoginException if the login failed -936 * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace) -937 * @see #triggerAdhocCommand(String, String) -938 * @see #runAdhocCommand(String, String, Properties) -939 */ -940 public RundeckExecution triggerAdhocCommand(String project, String command, Properties nodeFilters, -941 Integer nodeThreadcount, Boolean nodeKeepgoing) throws RundeckApiException, RundeckApiLoginException, -942 IllegalArgumentException { -943 AssertUtil.notBlank(project, "project is mandatory to trigger an ad-hoc command !"); -944 AssertUtil.notBlank(command, "command is mandatory to trigger an ad-hoc command !"); -945 RundeckExecution execution = new ApiCall(this).get(new ApiPathBuilder("/run/command").param("project", project) -946 .param("exec", command) -947 .param("nodeThreadcount", -948 nodeThreadcount) -949 .param("nodeKeepgoing", -950 nodeKeepgoing) -951 .nodeFilters(nodeFilters), -952 new ExecutionParser("result/execution")); -953 // the first call just returns the ID of the execution, so we need another call to get a "real" execution -954 return getExecution(execution.getId()); -955 } -956 -957 /** -958 * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -959 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still -960 * running. The command will not be dispatched to nodes, but be executed on the RunDeck server. +394 public InputStream exportJobs(FileType format, String project) throws RundeckApiException, +395 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +396 return exportJobs(format, project, null, null, new String[0]); +397 } +398 +399 /** +400 * Export the definitions of the jobs that belongs to the given project, and matches the given criteria (jobFilter, +401 * groupPath and jobIds) +402 * +403 * @param format of the export. See {@link FileType} - mandatory +404 * @param project name of the project - mandatory +405 * @param jobFilter a filter for the job Name - optional +406 * @param groupPath a group or partial group path to include all jobs within that group path - optional +407 * @param jobIds a list of Job IDs to include - optional +408 * @return an {@link InputStream} instance, not linked to any network resources - won't be null +409 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +410 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +411 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +412 * @throws IllegalArgumentException if the format or project is blank (null, empty or whitespace), or the format is +413 * invalid +414 * @see #exportJobs(FileType, String, String, String, String...) +415 * @see #exportJobsToFile(String, String, String, String, String, String...) +416 */ +417 public InputStream exportJobs(String format, String project, String jobFilter, String groupPath, String... jobIds) +418 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +419 AssertUtil.notBlank(format, "format is mandatory to export jobs !"); +420 return exportJobs(FileType.valueOf(StringUtils.upperCase(format)), project, jobFilter, groupPath, jobIds); +421 } +422 +423 /** +424 * Export the definitions of the jobs that belongs to the given project, and matches the given criteria (jobFilter, +425 * groupPath and jobIds) +426 * +427 * @param format of the export. See {@link FileType} - mandatory +428 * @param project name of the project - mandatory +429 * @param jobFilter a filter for the job Name - optional +430 * @param groupPath a group or partial group path to include all jobs within that group path - optional +431 * @param jobIds a list of Job IDs to include - optional +432 * @return an {@link InputStream} instance, not linked to any network resources - won't be null +433 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +434 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +435 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +436 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the format is null +437 * @see #exportJobsToFile(String, FileType, String, String, String, String...) +438 */ +439 public InputStream exportJobs(FileType format, String project, String jobFilter, String groupPath, String... jobIds) +440 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +441 AssertUtil.notNull(format, "format is mandatory to export jobs !"); +442 AssertUtil.notBlank(project, "project is mandatory to export jobs !"); +443 return new ApiCall(this).get(new ApiPathBuilder("/jobs/export").param("format", format) +444 .param("project", project) +445 .param("jobFilter", jobFilter) +446 .param("groupPath", groupPath) +447 .param("idlist", StringUtils.join(jobIds, ","))); +448 } +449 +450 /** +451 * Export the definition of a single job (identified by the given ID) +452 * +453 * @param filename path of the file where the content should be saved - mandatory +454 * @param format of the export. See {@link FileType} - mandatory +455 * @param jobId identifier of the job - mandatory +456 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) +457 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +458 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +459 * @throws IllegalArgumentException if the filename, format or jobId is blank (null, empty or whitespace), or the +460 * format is invalid +461 * @throws IOException if we failed to write to the file +462 * @see #exportJobToFile(String, FileType, String) +463 * @see #exportJob(String, String) +464 * @see #getJob(String) +465 */ +466 public void exportJobToFile(String filename, String format, String jobId) throws RundeckApiException, +467 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException { +468 AssertUtil.notBlank(format, "format is mandatory to export a job !"); +469 exportJobToFile(filename, FileType.valueOf(StringUtils.upperCase(format)), jobId); +470 } +471 +472 /** +473 * Export the definition of a single job (identified by the given ID) +474 * +475 * @param filename path of the file where the content should be saved - mandatory +476 * @param format of the export. See {@link FileType} - mandatory +477 * @param jobId identifier of the job - mandatory +478 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) +479 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +480 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +481 * @throws IllegalArgumentException if the filename or jobId is blank (null, empty or whitespace), or the format is +482 * null +483 * @throws IOException if we failed to write to the file +484 * @see #exportJob(FileType, String) +485 * @see #getJob(String) +486 */ +487 public void exportJobToFile(String filename, FileType format, String jobId) throws RundeckApiException, +488 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException { +489 AssertUtil.notBlank(filename, "filename is mandatory to export a job !"); +490 InputStream inputStream = exportJob(format, jobId); +491 FileUtils.writeByteArrayToFile(new File(filename), IOUtils.toByteArray(inputStream)); +492 } +493 +494 /** +495 * Export the definition of a single job, identified by the given ID +496 * +497 * @param format of the export. See {@link FileType} - mandatory +498 * @param jobId identifier of the job - mandatory +499 * @return an {@link InputStream} instance, not linked to any network resources - won't be null +500 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) +501 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +502 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +503 * @throws IllegalArgumentException if the format or jobId is blank (null, empty or whitespace), or the format is +504 * invalid +505 * @see #exportJobToFile(String, String, String) +506 * @see #getJob(String) +507 */ +508 public InputStream exportJob(String format, String jobId) throws RundeckApiException, RundeckApiLoginException, +509 RundeckApiTokenException, IllegalArgumentException { +510 AssertUtil.notBlank(format, "format is mandatory to export a job !"); +511 return exportJob(FileType.valueOf(StringUtils.upperCase(format)), jobId); +512 } +513 +514 /** +515 * Export the definition of a single job, identified by the given ID +516 * +517 * @param format of the export. See {@link FileType} - mandatory +518 * @param jobId identifier of the job - mandatory +519 * @return an {@link InputStream} instance, not linked to any network resources - won't be null +520 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) +521 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +522 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +523 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace), or the format is null +524 * @see #exportJobToFile(String, FileType, String) +525 * @see #getJob(String) +526 */ +527 public InputStream exportJob(FileType format, String jobId) throws RundeckApiException, RundeckApiLoginException, +528 RundeckApiTokenException, IllegalArgumentException { +529 AssertUtil.notNull(format, "format is mandatory to export a job !"); +530 AssertUtil.notBlank(jobId, "jobId is mandatory to export a job !"); +531 return new ApiCall(this).get(new ApiPathBuilder("/job/", jobId).param("format", format)); +532 } +533 +534 /** +535 * Import the definitions of jobs, from the given file +536 * +537 * @param filename of the file containing the jobs definitions - mandatory +538 * @param fileType type of the file. See {@link FileType} - mandatory +539 * @return a {@link RundeckJobsImportResult} instance - won't be null +540 * @throws RundeckApiException in case of error when calling the API +541 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +542 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +543 * @throws IllegalArgumentException if the filename or fileType is blank (null, empty or whitespace), or the +544 * fileType is invalid +545 * @throws IOException if we failed to read the file +546 * @see #importJobs(InputStream, String) +547 * @see #importJobs(String, FileType, RundeckJobsImportMethod) +548 */ +549 public RundeckJobsImportResult importJobs(String filename, String fileType) throws RundeckApiException, +550 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException { +551 AssertUtil.notBlank(fileType, "fileType is mandatory to import jobs !"); +552 return importJobs(filename, FileType.valueOf(StringUtils.upperCase(fileType))); +553 } +554 +555 /** +556 * Import the definitions of jobs, from the given file +557 * +558 * @param filename of the file containing the jobs definitions - mandatory +559 * @param fileType type of the file. See {@link FileType} - mandatory +560 * @return a {@link RundeckJobsImportResult} instance - won't be null +561 * @throws RundeckApiException in case of error when calling the API +562 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +563 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +564 * @throws IllegalArgumentException if the filename is blank (null, empty or whitespace), or the fileType is null +565 * @throws IOException if we failed to read the file +566 * @see #importJobs(InputStream, FileType) +567 * @see #importJobs(String, FileType, RundeckJobsImportMethod) +568 */ +569 public RundeckJobsImportResult importJobs(String filename, FileType fileType) throws RundeckApiException, +570 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException { +571 return importJobs(filename, fileType, (RundeckJobsImportMethod) null); +572 } +573 +574 /** +575 * Import the definitions of jobs, from the given file, using the given behavior +576 * +577 * @param filename of the file containing the jobs definitions - mandatory +578 * @param fileType type of the file. See {@link FileType} - mandatory +579 * @param importBehavior see {@link RundeckJobsImportMethod} +580 * @return a {@link RundeckJobsImportResult} instance - won't be null +581 * @throws RundeckApiException in case of error when calling the API +582 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +583 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +584 * @throws IllegalArgumentException if the filename or fileType is blank (null, empty or whitespace), or the +585 * fileType or behavior is not valid +586 * @throws IOException if we failed to read the file +587 * @see #importJobs(InputStream, String, String) +588 * @see #importJobs(String, FileType, RundeckJobsImportMethod) +589 */ +590 public RundeckJobsImportResult importJobs(String filename, String fileType, String importBehavior) +591 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, +592 IOException { +593 AssertUtil.notBlank(fileType, "fileType is mandatory to import jobs !"); +594 return importJobs(filename, +595 FileType.valueOf(StringUtils.upperCase(fileType)), +596 RundeckJobsImportMethod.valueOf(StringUtils.upperCase(importBehavior))); +597 } +598 +599 /** +600 * Import the definitions of jobs, from the given file, using the given behavior +601 * +602 * @param filename of the file containing the jobs definitions - mandatory +603 * @param fileType type of the file. See {@link FileType} - mandatory +604 * @param importBehavior see {@link RundeckJobsImportMethod} +605 * @return a {@link RundeckJobsImportResult} instance - won't be null +606 * @throws RundeckApiException in case of error when calling the API +607 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +608 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +609 * @throws IllegalArgumentException if the filename is blank (null, empty or whitespace), or the fileType is null +610 * @throws IOException if we failed to read the file +611 * @see #importJobs(InputStream, FileType, RundeckJobsImportMethod) +612 */ +613 public RundeckJobsImportResult importJobs(String filename, FileType fileType, RundeckJobsImportMethod importBehavior) +614 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, +615 IOException { +616 AssertUtil.notBlank(filename, "filename (of jobs file) is mandatory to import jobs !"); +617 FileInputStream stream = null; +618 try { +619 stream = FileUtils.openInputStream(new File(filename)); +620 return importJobs(stream, fileType, importBehavior); +621 } finally { +622 IOUtils.closeQuietly(stream); +623 } +624 } +625 +626 /** +627 * Import the definitions of jobs, from the given input stream +628 * +629 * @param stream inputStream for reading the definitions - mandatory +630 * @param fileType type of the file. See {@link FileType} - mandatory +631 * @return a {@link RundeckJobsImportResult} instance - won't be null +632 * @throws RundeckApiException in case of error when calling the API +633 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +634 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +635 * @throws IllegalArgumentException if the stream is null, or the fileType is blank (null, empty or whitespace) or +636 * invalid +637 * @see #importJobs(String, String) +638 * @see #importJobs(InputStream, FileType, RundeckJobsImportMethod) +639 */ +640 public RundeckJobsImportResult importJobs(InputStream stream, String fileType) throws RundeckApiException, +641 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +642 AssertUtil.notBlank(fileType, "fileType is mandatory to import jobs !"); +643 return importJobs(stream, FileType.valueOf(StringUtils.upperCase(fileType))); +644 } +645 +646 /** +647 * Import the definitions of jobs, from the given input stream +648 * +649 * @param stream inputStream for reading the definitions - mandatory +650 * @param fileType type of the file. See {@link FileType} - mandatory +651 * @return a {@link RundeckJobsImportResult} instance - won't be null +652 * @throws RundeckApiException in case of error when calling the API +653 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +654 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +655 * @throws IllegalArgumentException if the stream or fileType is null +656 * @see #importJobs(String, FileType) +657 * @see #importJobs(InputStream, FileType, RundeckJobsImportMethod) +658 */ +659 public RundeckJobsImportResult importJobs(InputStream stream, FileType fileType) throws RundeckApiException, +660 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +661 return importJobs(stream, fileType, (RundeckJobsImportMethod) null); +662 } +663 +664 /** +665 * Import the definitions of jobs, from the given input stream, using the given behavior +666 * +667 * @param stream inputStream for reading the definitions - mandatory +668 * @param fileType type of the file. See {@link FileType} - mandatory +669 * @param importBehavior see {@link RundeckJobsImportMethod} +670 * @return a {@link RundeckJobsImportResult} instance - won't be null +671 * @throws RundeckApiException in case of error when calling the API +672 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +673 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +674 * @throws IllegalArgumentException if the stream is null, or the fileType is blank (null, empty or whitespace), or +675 * the fileType or behavior is not valid +676 * @see #importJobs(String, String, String) +677 * @see #importJobs(InputStream, FileType, RundeckJobsImportMethod) +678 */ +679 public RundeckJobsImportResult importJobs(InputStream stream, String fileType, String importBehavior) +680 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +681 AssertUtil.notBlank(fileType, "fileType is mandatory to import jobs !"); +682 return importJobs(stream, +683 FileType.valueOf(StringUtils.upperCase(fileType)), +684 RundeckJobsImportMethod.valueOf(StringUtils.upperCase(importBehavior))); +685 } +686 +687 /** +688 * Import the definitions of jobs, from the given input stream, using the given behavior +689 * +690 * @param stream inputStream for reading the definitions - mandatory +691 * @param fileType type of the file. See {@link FileType} - mandatory +692 * @param importBehavior see {@link RundeckJobsImportMethod} +693 * @return a {@link RundeckJobsImportResult} instance - won't be null +694 * @throws RundeckApiException in case of error when calling the API +695 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +696 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +697 * @throws IllegalArgumentException if the stream or fileType is null +698 * @see #importJobs(String, FileType, RundeckJobsImportMethod) +699 */ +700 public RundeckJobsImportResult importJobs(InputStream stream, FileType fileType, +701 RundeckJobsImportMethod importBehavior) throws RundeckApiException, RundeckApiLoginException, +702 RundeckApiTokenException, IllegalArgumentException { +703 AssertUtil.notNull(stream, "inputStream of jobs is mandatory to import jobs !"); +704 AssertUtil.notNull(fileType, "fileType is mandatory to import jobs !"); +705 return new ApiCall(this).post(new ApiPathBuilder("/jobs/import").param("format", fileType) +706 .param("dupeOption", importBehavior) +707 .attach("xmlBatch", stream), +708 new JobsImportResultParser("result")); +709 } +710 +711 /** +712 * Find a job, identified by its project, group and name. Note that the groupPath is optional, as a job does not +713 * need to belong to a group (either pass null, or an empty string). +714 * +715 * @param project name of the project - mandatory +716 * @param groupPath group to which the job belongs (if it belongs to a group) - optional +717 * @param name of the job to find - mandatory +718 * @return a {@link RundeckJob} instance - null if not found +719 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +720 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +721 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +722 * @throws IllegalArgumentException if the project or the name is blank (null, empty or whitespace) +723 * @see #getJob(String) +724 */ +725 public RundeckJob findJob(String project, String groupPath, String name) throws RundeckApiException, +726 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +727 AssertUtil.notBlank(project, "project is mandatory to find a job !"); +728 AssertUtil.notBlank(name, "job name is mandatory to find a job !"); +729 List<RundeckJob> jobs = getJobs(project, name, groupPath, new String[0]); +730 return jobs.isEmpty() ? null : jobs.get(0); +731 } +732 +733 /** +734 * Get the definition of a single job, identified by the given ID +735 * +736 * @param jobId identifier of the job - mandatory +737 * @return a {@link RundeckJob} instance - won't be null +738 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) +739 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +740 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +741 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) +742 * @see #findJob(String, String, String) +743 * @see #exportJob(String, String) +744 */ +745 public RundeckJob getJob(String jobId) throws RundeckApiException, RundeckApiLoginException, +746 RundeckApiTokenException, IllegalArgumentException { +747 AssertUtil.notBlank(jobId, "jobId is mandatory to get the details of a job !"); +748 return new ApiCall(this).get(new ApiPathBuilder("/job/", jobId), new JobParser("joblist/job")); +749 } +750 +751 /** +752 * Delete a single job, identified by the given ID +753 * +754 * @param jobId identifier of the job - mandatory +755 * @return the success message (note that in case of error, you'll get an exception) +756 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) +757 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +758 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +759 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) +760 */ +761 public String deleteJob(String jobId) throws RundeckApiException, RundeckApiLoginException, +762 RundeckApiTokenException, IllegalArgumentException { +763 AssertUtil.notBlank(jobId, "jobId is mandatory to delete a job !"); +764 return new ApiCall(this).delete(new ApiPathBuilder("/job/", jobId), new StringParser("result/success/message")); +765 } +766 +767 /** +768 * Trigger the execution of a RunDeck job (identified by the given ID), and return immediately (without waiting the +769 * end of the job execution) +770 * +771 * @param jobId identifier of the job - mandatory +772 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null +773 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) +774 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +775 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +776 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) +777 * @see #triggerJob(String, Properties, Properties) +778 * @see #runJob(String) +779 */ +780 public RundeckExecution triggerJob(String jobId) throws RundeckApiException, RundeckApiLoginException, +781 RundeckApiTokenException, IllegalArgumentException { +782 return triggerJob(jobId, null); +783 } +784 +785 /** +786 * Trigger the execution of a RunDeck job (identified by the given ID), and return immediately (without waiting the +787 * end of the job execution) +788 * +789 * @param jobId identifier of the job - mandatory +790 * @param options of the job - optional. See {@link OptionsBuilder}. +791 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null +792 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) +793 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +794 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +795 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) +796 * @see #triggerJob(String, Properties, Properties) +797 * @see #runJob(String, Properties) +798 */ +799 public RundeckExecution triggerJob(String jobId, Properties options) throws RundeckApiException, +800 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +801 return triggerJob(jobId, options, null); +802 } +803 +804 /** +805 * Trigger the execution of a RunDeck job (identified by the given ID), and return immediately (without waiting the +806 * end of the job execution) +807 * +808 * @param jobId identifier of the job - mandatory +809 * @param options of the job - optional. See {@link OptionsBuilder}. +810 * @param nodeFilters for overriding the nodes on which the job will be executed - optional. See +811 * {@link NodeFiltersBuilder} +812 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null +813 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) +814 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +815 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +816 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) +817 * @see #triggerJob(String) +818 * @see #runJob(String, Properties, Properties) +819 */ +820 public RundeckExecution triggerJob(String jobId, Properties options, Properties nodeFilters) +821 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +822 AssertUtil.notBlank(jobId, "jobId is mandatory to trigger a job !"); +823 return new ApiCall(this).get(new ApiPathBuilder("/job/", jobId, "/run").param("argString", +824 ParametersUtil.generateArgString(options)) +825 .nodeFilters(nodeFilters), +826 new ExecutionParser("result/executions/execution")); +827 } +828 +829 /** +830 * Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return. +831 * We will poll the RunDeck server at regular interval (every 5 seconds) to know if the execution is finished (or +832 * aborted) or is still running. +833 * +834 * @param jobId identifier of the job - mandatory +835 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +836 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) +837 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +838 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +839 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) +840 * @see #triggerJob(String) +841 * @see #runJob(String, Properties, Properties, long, TimeUnit) +842 */ +843 public RundeckExecution runJob(String jobId) throws RundeckApiException, RundeckApiLoginException, +844 RundeckApiTokenException, IllegalArgumentException { +845 return runJob(jobId, null); +846 } +847 +848 /** +849 * Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return. +850 * We will poll the RunDeck server at regular interval (every 5 seconds) to know if the execution is finished (or +851 * aborted) or is still running. +852 * +853 * @param jobId identifier of the job - mandatory +854 * @param options of the job - optional. See {@link OptionsBuilder}. +855 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +856 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) +857 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +858 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +859 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) +860 * @see #triggerJob(String, Properties) +861 * @see #runJob(String, Properties, Properties, long, TimeUnit) +862 */ +863 public RundeckExecution runJob(String jobId, Properties options) throws RundeckApiException, +864 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +865 return runJob(jobId, options, null); +866 } +867 +868 /** +869 * Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return. +870 * We will poll the RunDeck server at regular interval (every 5 seconds) to know if the execution is finished (or +871 * aborted) or is still running. +872 * +873 * @param jobId identifier of the job - mandatory +874 * @param options of the job - optional. See {@link OptionsBuilder}. +875 * @param nodeFilters for overriding the nodes on which the job will be executed - optional. See +876 * {@link NodeFiltersBuilder} +877 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +878 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) +879 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +880 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +881 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) +882 * @see #triggerJob(String, Properties, Properties) +883 * @see #runJob(String, Properties, Properties, long, TimeUnit) +884 */ +885 public RundeckExecution runJob(String jobId, Properties options, Properties nodeFilters) +886 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +887 return runJob(jobId, options, nodeFilters, DEFAULT_POOLING_INTERVAL, DEFAULT_POOLING_UNIT); +888 } +889 +890 /** +891 * Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return. +892 * We will poll the RunDeck server at regular interval (configured by the poolingInterval/poolingUnit couple) to +893 * know if the execution is finished (or aborted) or is still running. +894 * +895 * @param jobId identifier of the job - mandatory +896 * @param options of the job - optional. See {@link OptionsBuilder}. +897 * @param poolingInterval for checking the status of the execution. Must be > 0. +898 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. +899 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +900 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) +901 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +902 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +903 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) +904 * @see #triggerJob(String, Properties) +905 * @see #runJob(String, Properties, Properties, long, TimeUnit) +906 */ +907 public RundeckExecution runJob(String jobId, Properties options, long poolingInterval, TimeUnit poolingUnit) +908 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +909 return runJob(jobId, options, null, poolingInterval, poolingUnit); +910 } +911 +912 /** +913 * Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return. +914 * We will poll the RunDeck server at regular interval (configured by the poolingInterval/poolingUnit couple) to +915 * know if the execution is finished (or aborted) or is still running. +916 * +917 * @param jobId identifier of the job - mandatory +918 * @param options of the job - optional. See {@link OptionsBuilder}. +919 * @param nodeFilters for overriding the nodes on which the job will be executed - optional. See +920 * {@link NodeFiltersBuilder} +921 * @param poolingInterval for checking the status of the execution. Must be > 0. +922 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. +923 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +924 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) +925 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +926 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +927 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) +928 * @see #triggerJob(String, Properties) +929 * @see #runJob(String, Properties, Properties, long, TimeUnit) +930 */ +931 public RundeckExecution runJob(String jobId, Properties options, Properties nodeFilters, long poolingInterval, +932 TimeUnit poolingUnit) throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, +933 IllegalArgumentException { +934 if (poolingInterval <= 0) { +935 poolingInterval = DEFAULT_POOLING_INTERVAL; +936 poolingUnit = DEFAULT_POOLING_UNIT; +937 } +938 if (poolingUnit == null) { +939 poolingUnit = DEFAULT_POOLING_UNIT; +940 } +941 +942 RundeckExecution execution = triggerJob(jobId, options, nodeFilters); +943 while (ExecutionStatus.RUNNING.equals(execution.getStatus())) { +944 try { +945 Thread.sleep(poolingUnit.toMillis(poolingInterval)); +946 } catch (InterruptedException e) { +947 break; +948 } +949 execution = getExecution(execution.getId()); +950 } +951 return execution; +952 } +953 +954 /* +955 * Ad-hoc commands +956 */ +957 +958 /** +959 * Trigger the execution of an ad-hoc command, and return immediately (without waiting the end of the execution). +960 * The command will not be dispatched to nodes, but be executed on the RunDeck server. 961 * 962 * @param project name of the project - mandatory 963 * @param command to be executed - mandatory -964 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +964 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null 965 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -966 * @throws RundeckApiLoginException if the login failed -967 * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace) -968 * @see #runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit) -969 * @see #triggerAdhocCommand(String, String) -970 */ -971 public RundeckExecution runAdhocCommand(String project, String command) throws RundeckApiException, -972 RundeckApiLoginException, IllegalArgumentException { -973 return runAdhocCommand(project, command, null); -974 } -975 -976 /** -977 * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -978 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is -979 * finished (or aborted) or is still running. The command will not be dispatched to nodes, but be executed on the -980 * RunDeck server. -981 * -982 * @param project name of the project - mandatory -983 * @param command to be executed - mandatory -984 * @param poolingInterval for checking the status of the execution. Must be > 0. -985 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. -986 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -987 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -988 * @throws RundeckApiLoginException if the login failed -989 * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace) -990 * @see #runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit) -991 * @see #triggerAdhocCommand(String, String) -992 */ -993 public RundeckExecution runAdhocCommand(String project, String command, long poolingInterval, TimeUnit poolingUnit) -994 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -995 return runAdhocCommand(project, command, null, poolingInterval, poolingUnit); -996 } -997 -998 /** -999 * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -1000 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still -1001 * running. The command will be dispatched to nodes, accordingly to the nodeFilters parameter. -1002 * -1003 * @param project name of the project - mandatory -1004 * @param command to be executed - mandatory -1005 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} -1006 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +966 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +967 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +968 * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace) +969 * @see #triggerAdhocCommand(String, String, Properties, Integer, Boolean) +970 * @see #runAdhocCommand(String, String) +971 */ +972 public RundeckExecution triggerAdhocCommand(String project, String command) throws RundeckApiException, +973 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +974 return triggerAdhocCommand(project, command, null); +975 } +976 +977 /** +978 * Trigger the execution of an ad-hoc command, and return immediately (without waiting the end of the execution). +979 * The command will be dispatched to nodes, accordingly to the nodeFilters parameter. +980 * +981 * @param project name of the project - mandatory +982 * @param command to be executed - mandatory +983 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} +984 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null +985 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +986 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +987 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +988 * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace) +989 * @see #triggerAdhocCommand(String, String, Properties, Integer, Boolean) +990 * @see #runAdhocCommand(String, String, Properties) +991 */ +992 public RundeckExecution triggerAdhocCommand(String project, String command, Properties nodeFilters) +993 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +994 return triggerAdhocCommand(project, command, nodeFilters, null, null); +995 } +996 +997 /** +998 * Trigger the execution of an ad-hoc command, and return immediately (without waiting the end of the execution). +999 * The command will be dispatched to nodes, accordingly to the nodeFilters parameter. +1000 * +1001 * @param project name of the project - mandatory +1002 * @param command to be executed - mandatory +1003 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} +1004 * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional +1005 * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional +1006 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null 1007 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1008 * @throws RundeckApiLoginException if the login failed -1009 * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace) -1010 * @see #runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit) -1011 * @see #triggerAdhocCommand(String, String, Properties) -1012 */ -1013 public RundeckExecution runAdhocCommand(String project, String command, Properties nodeFilters) -1014 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -1015 return runAdhocCommand(project, command, nodeFilters, null, null); -1016 } -1017 -1018 /** -1019 * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -1020 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is -1021 * finished (or aborted) or is still running. The command will be dispatched to nodes, accordingly to the -1022 * nodeFilters parameter. -1023 * -1024 * @param project name of the project - mandatory -1025 * @param command to be executed - mandatory -1026 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} -1027 * @param poolingInterval for checking the status of the execution. Must be > 0. -1028 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. -1029 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -1030 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1031 * @throws RundeckApiLoginException if the login failed -1032 * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace) -1033 * @see #runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit) -1034 * @see #triggerAdhocCommand(String, String, Properties) -1035 */ -1036 public RundeckExecution runAdhocCommand(String project, String command, Properties nodeFilters, -1037 long poolingInterval, TimeUnit poolingUnit) throws RundeckApiException, RundeckApiLoginException, -1038 IllegalArgumentException { -1039 return runAdhocCommand(project, command, nodeFilters, null, null, poolingInterval, poolingUnit); -1040 } -1041 -1042 /** -1043 * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -1044 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still -1045 * running. The command will be dispatched to nodes, accordingly to the nodeFilters parameter. -1046 * -1047 * @param project name of the project - mandatory -1048 * @param command to be executed - mandatory -1049 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} -1050 * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional -1051 * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional -1052 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -1053 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1054 * @throws RundeckApiLoginException if the login failed -1055 * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace) -1056 * @see #runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit) -1057 * @see #triggerAdhocCommand(String, String, Properties, Integer, Boolean) -1058 */ -1059 public RundeckExecution runAdhocCommand(String project, String command, Properties nodeFilters, -1060 Integer nodeThreadcount, Boolean nodeKeepgoing) throws RundeckApiException, RundeckApiLoginException, -1061 IllegalArgumentException { -1062 return runAdhocCommand(project, -1063 command, -1064 nodeFilters, -1065 nodeThreadcount, -1066 nodeKeepgoing, -1067 DEFAULT_POOLING_INTERVAL, -1068 DEFAULT_POOLING_UNIT); -1069 } -1070 -1071 /** -1072 * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -1073 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is -1074 * finished (or aborted) or is still running. The command will be dispatched to nodes, accordingly to the -1075 * nodeFilters parameter. -1076 * -1077 * @param project name of the project - mandatory -1078 * @param command to be executed - mandatory -1079 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} -1080 * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional -1081 * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional -1082 * @param poolingInterval for checking the status of the execution. Must be > 0. -1083 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. -1084 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -1085 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1086 * @throws RundeckApiLoginException if the login failed -1087 * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace) -1088 * @see #triggerAdhocCommand(String, String, Properties, Integer, Boolean) +1008 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1009 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1010 * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace) +1011 * @see #triggerAdhocCommand(String, String) +1012 * @see #runAdhocCommand(String, String, Properties) +1013 */ +1014 public RundeckExecution triggerAdhocCommand(String project, String command, Properties nodeFilters, +1015 Integer nodeThreadcount, Boolean nodeKeepgoing) throws RundeckApiException, RundeckApiLoginException, +1016 RundeckApiTokenException, IllegalArgumentException { +1017 AssertUtil.notBlank(project, "project is mandatory to trigger an ad-hoc command !"); +1018 AssertUtil.notBlank(command, "command is mandatory to trigger an ad-hoc command !"); +1019 RundeckExecution execution = new ApiCall(this).get(new ApiPathBuilder("/run/command").param("project", project) +1020 .param("exec", command) +1021 .param("nodeThreadcount", +1022 nodeThreadcount) +1023 .param("nodeKeepgoing", +1024 nodeKeepgoing) +1025 .nodeFilters(nodeFilters), +1026 new ExecutionParser("result/execution")); +1027 // the first call just returns the ID of the execution, so we need another call to get a "real" execution +1028 return getExecution(execution.getId()); +1029 } +1030 +1031 /** +1032 * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1033 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still +1034 * running. The command will not be dispatched to nodes, but be executed on the RunDeck server. +1035 * +1036 * @param project name of the project - mandatory +1037 * @param command to be executed - mandatory +1038 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1039 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1040 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1041 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1042 * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace) +1043 * @see #runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit) +1044 * @see #triggerAdhocCommand(String, String) +1045 */ +1046 public RundeckExecution runAdhocCommand(String project, String command) throws RundeckApiException, +1047 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +1048 return runAdhocCommand(project, command, null); +1049 } +1050 +1051 /** +1052 * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1053 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is +1054 * finished (or aborted) or is still running. The command will not be dispatched to nodes, but be executed on the +1055 * RunDeck server. +1056 * +1057 * @param project name of the project - mandatory +1058 * @param command to be executed - mandatory +1059 * @param poolingInterval for checking the status of the execution. Must be > 0. +1060 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. +1061 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1062 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1063 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1064 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1065 * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace) +1066 * @see #runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit) +1067 * @see #triggerAdhocCommand(String, String) +1068 */ +1069 public RundeckExecution runAdhocCommand(String project, String command, long poolingInterval, TimeUnit poolingUnit) +1070 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +1071 return runAdhocCommand(project, command, null, poolingInterval, poolingUnit); +1072 } +1073 +1074 /** +1075 * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1076 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still +1077 * running. The command will be dispatched to nodes, accordingly to the nodeFilters parameter. +1078 * +1079 * @param project name of the project - mandatory +1080 * @param command to be executed - mandatory +1081 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} +1082 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1083 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1084 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1085 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1086 * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace) +1087 * @see #runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit) +1088 * @see #triggerAdhocCommand(String, String, Properties) 1089 */ -1090 public RundeckExecution runAdhocCommand(String project, String command, Properties nodeFilters, -1091 Integer nodeThreadcount, Boolean nodeKeepgoing, long poolingInterval, TimeUnit poolingUnit) -1092 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -1093 if (poolingInterval <= 0) { -1094 poolingInterval = DEFAULT_POOLING_INTERVAL; -1095 poolingUnit = DEFAULT_POOLING_UNIT; -1096 } -1097 if (poolingUnit == null) { -1098 poolingUnit = DEFAULT_POOLING_UNIT; -1099 } -1100 -1101 RundeckExecution execution = triggerAdhocCommand(project, command, nodeFilters, nodeThreadcount, nodeKeepgoing); -1102 while (ExecutionStatus.RUNNING.equals(execution.getStatus())) { -1103 try { -1104 Thread.sleep(poolingUnit.toMillis(poolingInterval)); -1105 } catch (InterruptedException e) { -1106 break; -1107 } -1108 execution = getExecution(execution.getId()); -1109 } -1110 return execution; -1111 } -1112 -1113 /* -1114 * Ad-hoc scripts -1115 */ -1116 -1117 /** -1118 * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The -1119 * script will not be dispatched to nodes, but be executed on the RunDeck server. -1120 * -1121 * @param project name of the project - mandatory -1122 * @param scriptFilename filename of the script to be executed - mandatory -1123 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null -1124 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1125 * @throws RundeckApiLoginException if the login failed -1126 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) -1127 * @throws IOException if we failed to read the file -1128 * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean) -1129 * @see #runAdhocScript(String, String) -1130 */ -1131 public RundeckExecution triggerAdhocScript(String project, String scriptFilename) throws RundeckApiException, -1132 RundeckApiLoginException, IllegalArgumentException, IOException { -1133 return triggerAdhocScript(project, scriptFilename, null); -1134 } -1135 -1136 /** -1137 * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The -1138 * script will not be dispatched to nodes, but be executed on the RunDeck server. -1139 * -1140 * @param project name of the project - mandatory -1141 * @param scriptFilename filename of the script to be executed - mandatory -1142 * @param options of the script - optional. See {@link OptionsBuilder}. -1143 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null -1144 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1145 * @throws RundeckApiLoginException if the login failed -1146 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) -1147 * @throws IOException if we failed to read the file -1148 * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean) -1149 * @see #runAdhocScript(String, String, Properties) -1150 */ -1151 public RundeckExecution triggerAdhocScript(String project, String scriptFilename, Properties options) -1152 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException, IOException { -1153 return triggerAdhocScript(project, scriptFilename, options, null); -1154 } -1155 -1156 /** -1157 * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The -1158 * script will be dispatched to nodes, accordingly to the nodeFilters parameter. -1159 * -1160 * @param project name of the project - mandatory -1161 * @param scriptFilename filename of the script to be executed - mandatory -1162 * @param options of the script - optional. See {@link OptionsBuilder}. -1163 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} -1164 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null -1165 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1166 * @throws RundeckApiLoginException if the login failed -1167 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) -1168 * @throws IOException if we failed to read the file -1169 * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean) -1170 * @see #runAdhocScript(String, String, Properties, Properties) -1171 */ -1172 public RundeckExecution triggerAdhocScript(String project, String scriptFilename, Properties options, -1173 Properties nodeFilters) throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException, -1174 IOException { -1175 return triggerAdhocScript(project, scriptFilename, options, nodeFilters, null, null); -1176 } -1177 -1178 /** -1179 * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The -1180 * script will be dispatched to nodes, accordingly to the nodeFilters parameter. -1181 * -1182 * @param project name of the project - mandatory -1183 * @param scriptFilename filename of the script to be executed - mandatory -1184 * @param options of the script - optional. See {@link OptionsBuilder}. -1185 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} -1186 * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional -1187 * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional -1188 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null -1189 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1190 * @throws RundeckApiLoginException if the login failed -1191 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) -1192 * @throws IOException if we failed to read the file -1193 * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean) -1194 * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit) -1195 */ -1196 public RundeckExecution triggerAdhocScript(String project, String scriptFilename, Properties options, -1197 Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing) throws RundeckApiException, -1198 RundeckApiLoginException, IllegalArgumentException, IOException { -1199 AssertUtil.notBlank(scriptFilename, "scriptFilename is mandatory to trigger an ad-hoc script !"); -1200 FileInputStream stream = null; -1201 try { -1202 stream = FileUtils.openInputStream(new File(scriptFilename)); -1203 return triggerAdhocScript(project, stream, options, nodeFilters, nodeThreadcount, nodeKeepgoing); -1204 } finally { -1205 IOUtils.closeQuietly(stream); -1206 } -1207 } -1208 -1209 /** -1210 * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The -1211 * script will not be dispatched to nodes, but be executed on the RunDeck server. -1212 * -1213 * @param project name of the project - mandatory -1214 * @param script inputStream for reading the script to be executed - mandatory -1215 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null -1216 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1217 * @throws RundeckApiLoginException if the login failed -1218 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null -1219 * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean) -1220 * @see #runAdhocScript(String, InputStream) -1221 */ -1222 public RundeckExecution triggerAdhocScript(String project, InputStream script) throws RundeckApiException, -1223 RundeckApiLoginException, IllegalArgumentException { -1224 return triggerAdhocScript(project, script, null); -1225 } -1226 -1227 /** -1228 * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The -1229 * script will not be dispatched to nodes, but be executed on the RunDeck server. -1230 * -1231 * @param project name of the project - mandatory -1232 * @param script inputStream for reading the script to be executed - mandatory -1233 * @param options of the script - optional. See {@link OptionsBuilder}. -1234 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null -1235 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1236 * @throws RundeckApiLoginException if the login failed -1237 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null -1238 * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean) -1239 * @see #runAdhocScript(String, InputStream, Properties) -1240 */ -1241 public RundeckExecution triggerAdhocScript(String project, InputStream script, Properties options) -1242 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -1243 return triggerAdhocScript(project, script, options, null); -1244 } -1245 -1246 /** -1247 * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The -1248 * script will be dispatched to nodes, accordingly to the nodeFilters parameter. -1249 * -1250 * @param project name of the project - mandatory -1251 * @param script inputStream for reading the script to be executed - mandatory -1252 * @param options of the script - optional. See {@link OptionsBuilder}. -1253 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} -1254 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null -1255 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1256 * @throws RundeckApiLoginException if the login failed -1257 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null -1258 * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean) -1259 * @see #runAdhocScript(String, InputStream, Properties, Properties) -1260 */ -1261 public RundeckExecution triggerAdhocScript(String project, InputStream script, Properties options, -1262 Properties nodeFilters) throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -1263 return triggerAdhocScript(project, script, options, nodeFilters, null, null); -1264 } -1265 -1266 /** -1267 * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The -1268 * script will be dispatched to nodes, accordingly to the nodeFilters parameter. -1269 * -1270 * @param project name of the project - mandatory -1271 * @param script inputStream for reading the script to be executed - mandatory -1272 * @param options of the script - optional. See {@link OptionsBuilder}. -1273 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} -1274 * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional -1275 * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional -1276 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null -1277 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1278 * @throws RundeckApiLoginException if the login failed -1279 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null -1280 * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean) -1281 * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit) -1282 */ -1283 public RundeckExecution triggerAdhocScript(String project, InputStream script, Properties options, -1284 Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing) throws RundeckApiException, -1285 RundeckApiLoginException, IllegalArgumentException { -1286 AssertUtil.notBlank(project, "project is mandatory to trigger an ad-hoc script !"); -1287 AssertUtil.notNull(script, "script is mandatory to trigger an ad-hoc script !"); -1288 RundeckExecution execution = new ApiCall(this).post(new ApiPathBuilder("/run/script").param("project", project) -1289 .attach("scriptFile", -1290 script) -1291 .param("argString", -1292 ParametersUtil.generateArgString(options)) -1293 .param("nodeThreadcount", -1294 nodeThreadcount) -1295 .param("nodeKeepgoing", -1296 nodeKeepgoing) -1297 .nodeFilters(nodeFilters), -1298 new ExecutionParser("result/execution")); -1299 // the first call just returns the ID of the execution, so we need another call to get a "real" execution -1300 return getExecution(execution.getId()); -1301 } -1302 -1303 /** -1304 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -1305 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still -1306 * running. The script will not be dispatched to nodes, but be executed on the RunDeck server. -1307 * -1308 * @param project name of the project - mandatory -1309 * @param scriptFilename filename of the script to be executed - mandatory -1310 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -1311 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1312 * @throws RundeckApiLoginException if the login failed -1313 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) -1314 * @throws IOException if we failed to read the file -1315 * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit) -1316 * @see #triggerAdhocScript(String, String) -1317 */ -1318 public RundeckExecution runAdhocScript(String project, String scriptFilename) throws RundeckApiException, -1319 RundeckApiLoginException, IllegalArgumentException, IOException { -1320 return runAdhocScript(project, scriptFilename, null); -1321 } -1322 -1323 /** -1324 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -1325 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is -1326 * finished (or aborted) or is still running. The script will not be dispatched to nodes, but be executed on the -1327 * RunDeck server. -1328 * -1329 * @param project name of the project - mandatory -1330 * @param scriptFilename filename of the script to be executed - mandatory -1331 * @param poolingInterval for checking the status of the execution. Must be > 0. -1332 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. -1333 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -1334 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1335 * @throws RundeckApiLoginException if the login failed -1336 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) -1337 * @throws IOException if we failed to read the file -1338 * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit) -1339 * @see #triggerAdhocScript(String, String) -1340 */ -1341 public RundeckExecution runAdhocScript(String project, String scriptFilename, long poolingInterval, -1342 TimeUnit poolingUnit) throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException, -1343 IOException { -1344 return runAdhocScript(project, scriptFilename, null, poolingInterval, poolingUnit); -1345 } -1346 -1347 /** -1348 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -1349 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still -1350 * running. The script will not be dispatched to nodes, but be executed on the RunDeck server. -1351 * -1352 * @param project name of the project - mandatory -1353 * @param scriptFilename filename of the script to be executed - mandatory -1354 * @param options of the script - optional. See {@link OptionsBuilder}. -1355 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -1356 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1357 * @throws RundeckApiLoginException if the login failed -1358 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) -1359 * @throws IOException if we failed to read the file -1360 * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit) -1361 * @see #triggerAdhocScript(String, String, Properties) -1362 */ -1363 public RundeckExecution runAdhocScript(String project, String scriptFilename, Properties options) -1364 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException, IOException { -1365 return runAdhocScript(project, scriptFilename, options, null); -1366 } -1367 -1368 /** -1369 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -1370 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is -1371 * finished (or aborted) or is still running. The script will not be dispatched to nodes, but be executed on the -1372 * RunDeck server. -1373 * -1374 * @param project name of the project - mandatory -1375 * @param scriptFilename filename of the script to be executed - mandatory -1376 * @param options of the script - optional. See {@link OptionsBuilder}. -1377 * @param poolingInterval for checking the status of the execution. Must be > 0. -1378 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. -1379 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -1380 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1381 * @throws RundeckApiLoginException if the login failed -1382 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) -1383 * @throws IOException if we failed to read the file -1384 * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit) -1385 * @see #triggerAdhocScript(String, String, Properties) -1386 */ -1387 public RundeckExecution runAdhocScript(String project, String scriptFilename, Properties options, -1388 long poolingInterval, TimeUnit poolingUnit) throws RundeckApiException, RundeckApiLoginException, -1389 IllegalArgumentException, IOException { -1390 return runAdhocScript(project, scriptFilename, options, null, poolingInterval, poolingUnit); +1090 public RundeckExecution runAdhocCommand(String project, String command, Properties nodeFilters) +1091 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +1092 return runAdhocCommand(project, command, nodeFilters, null, null); +1093 } +1094 +1095 /** +1096 * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1097 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is +1098 * finished (or aborted) or is still running. The command will be dispatched to nodes, accordingly to the +1099 * nodeFilters parameter. +1100 * +1101 * @param project name of the project - mandatory +1102 * @param command to be executed - mandatory +1103 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} +1104 * @param poolingInterval for checking the status of the execution. Must be > 0. +1105 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. +1106 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1107 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1108 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1109 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1110 * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace) +1111 * @see #runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit) +1112 * @see #triggerAdhocCommand(String, String, Properties) +1113 */ +1114 public RundeckExecution runAdhocCommand(String project, String command, Properties nodeFilters, +1115 long poolingInterval, TimeUnit poolingUnit) throws RundeckApiException, RundeckApiLoginException, +1116 RundeckApiTokenException, IllegalArgumentException { +1117 return runAdhocCommand(project, command, nodeFilters, null, null, poolingInterval, poolingUnit); +1118 } +1119 +1120 /** +1121 * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1122 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still +1123 * running. The command will be dispatched to nodes, accordingly to the nodeFilters parameter. +1124 * +1125 * @param project name of the project - mandatory +1126 * @param command to be executed - mandatory +1127 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} +1128 * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional +1129 * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional +1130 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1131 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1132 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1133 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1134 * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace) +1135 * @see #runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit) +1136 * @see #triggerAdhocCommand(String, String, Properties, Integer, Boolean) +1137 */ +1138 public RundeckExecution runAdhocCommand(String project, String command, Properties nodeFilters, +1139 Integer nodeThreadcount, Boolean nodeKeepgoing) throws RundeckApiException, RundeckApiLoginException, +1140 RundeckApiTokenException, IllegalArgumentException { +1141 return runAdhocCommand(project, +1142 command, +1143 nodeFilters, +1144 nodeThreadcount, +1145 nodeKeepgoing, +1146 DEFAULT_POOLING_INTERVAL, +1147 DEFAULT_POOLING_UNIT); +1148 } +1149 +1150 /** +1151 * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1152 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is +1153 * finished (or aborted) or is still running. The command will be dispatched to nodes, accordingly to the +1154 * nodeFilters parameter. +1155 * +1156 * @param project name of the project - mandatory +1157 * @param command to be executed - mandatory +1158 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} +1159 * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional +1160 * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional +1161 * @param poolingInterval for checking the status of the execution. Must be > 0. +1162 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. +1163 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1164 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1165 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1166 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1167 * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace) +1168 * @see #triggerAdhocCommand(String, String, Properties, Integer, Boolean) +1169 */ +1170 public RundeckExecution runAdhocCommand(String project, String command, Properties nodeFilters, +1171 Integer nodeThreadcount, Boolean nodeKeepgoing, long poolingInterval, TimeUnit poolingUnit) +1172 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +1173 if (poolingInterval <= 0) { +1174 poolingInterval = DEFAULT_POOLING_INTERVAL; +1175 poolingUnit = DEFAULT_POOLING_UNIT; +1176 } +1177 if (poolingUnit == null) { +1178 poolingUnit = DEFAULT_POOLING_UNIT; +1179 } +1180 +1181 RundeckExecution execution = triggerAdhocCommand(project, command, nodeFilters, nodeThreadcount, nodeKeepgoing); +1182 while (ExecutionStatus.RUNNING.equals(execution.getStatus())) { +1183 try { +1184 Thread.sleep(poolingUnit.toMillis(poolingInterval)); +1185 } catch (InterruptedException e) { +1186 break; +1187 } +1188 execution = getExecution(execution.getId()); +1189 } +1190 return execution; +1191 } +1192 +1193 /* +1194 * Ad-hoc scripts +1195 */ +1196 +1197 /** +1198 * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The +1199 * script will not be dispatched to nodes, but be executed on the RunDeck server. +1200 * +1201 * @param project name of the project - mandatory +1202 * @param scriptFilename filename of the script to be executed - mandatory +1203 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null +1204 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1205 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1206 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1207 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) +1208 * @throws IOException if we failed to read the file +1209 * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean) +1210 * @see #runAdhocScript(String, String) +1211 */ +1212 public RundeckExecution triggerAdhocScript(String project, String scriptFilename) throws RundeckApiException, +1213 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException { +1214 return triggerAdhocScript(project, scriptFilename, null); +1215 } +1216 +1217 /** +1218 * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The +1219 * script will not be dispatched to nodes, but be executed on the RunDeck server. +1220 * +1221 * @param project name of the project - mandatory +1222 * @param scriptFilename filename of the script to be executed - mandatory +1223 * @param options of the script - optional. See {@link OptionsBuilder}. +1224 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null +1225 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1226 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1227 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1228 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) +1229 * @throws IOException if we failed to read the file +1230 * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean) +1231 * @see #runAdhocScript(String, String, Properties) +1232 */ +1233 public RundeckExecution triggerAdhocScript(String project, String scriptFilename, Properties options) +1234 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, +1235 IOException { +1236 return triggerAdhocScript(project, scriptFilename, options, null); +1237 } +1238 +1239 /** +1240 * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The +1241 * script will be dispatched to nodes, accordingly to the nodeFilters parameter. +1242 * +1243 * @param project name of the project - mandatory +1244 * @param scriptFilename filename of the script to be executed - mandatory +1245 * @param options of the script - optional. See {@link OptionsBuilder}. +1246 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} +1247 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null +1248 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1249 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1250 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1251 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) +1252 * @throws IOException if we failed to read the file +1253 * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean) +1254 * @see #runAdhocScript(String, String, Properties, Properties) +1255 */ +1256 public RundeckExecution triggerAdhocScript(String project, String scriptFilename, Properties options, +1257 Properties nodeFilters) throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, +1258 IllegalArgumentException, IOException { +1259 return triggerAdhocScript(project, scriptFilename, options, nodeFilters, null, null); +1260 } +1261 +1262 /** +1263 * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The +1264 * script will be dispatched to nodes, accordingly to the nodeFilters parameter. +1265 * +1266 * @param project name of the project - mandatory +1267 * @param scriptFilename filename of the script to be executed - mandatory +1268 * @param options of the script - optional. See {@link OptionsBuilder}. +1269 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} +1270 * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional +1271 * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional +1272 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null +1273 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1274 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1275 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1276 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) +1277 * @throws IOException if we failed to read the file +1278 * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean) +1279 * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit) +1280 */ +1281 public RundeckExecution triggerAdhocScript(String project, String scriptFilename, Properties options, +1282 Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing) throws RundeckApiException, +1283 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException { +1284 AssertUtil.notBlank(scriptFilename, "scriptFilename is mandatory to trigger an ad-hoc script !"); +1285 FileInputStream stream = null; +1286 try { +1287 stream = FileUtils.openInputStream(new File(scriptFilename)); +1288 return triggerAdhocScript(project, stream, options, nodeFilters, nodeThreadcount, nodeKeepgoing); +1289 } finally { +1290 IOUtils.closeQuietly(stream); +1291 } +1292 } +1293 +1294 /** +1295 * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The +1296 * script will not be dispatched to nodes, but be executed on the RunDeck server. +1297 * +1298 * @param project name of the project - mandatory +1299 * @param script inputStream for reading the script to be executed - mandatory +1300 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null +1301 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1302 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1303 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1304 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null +1305 * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean) +1306 * @see #runAdhocScript(String, InputStream) +1307 */ +1308 public RundeckExecution triggerAdhocScript(String project, InputStream script) throws RundeckApiException, +1309 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +1310 return triggerAdhocScript(project, script, null); +1311 } +1312 +1313 /** +1314 * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The +1315 * script will not be dispatched to nodes, but be executed on the RunDeck server. +1316 * +1317 * @param project name of the project - mandatory +1318 * @param script inputStream for reading the script to be executed - mandatory +1319 * @param options of the script - optional. See {@link OptionsBuilder}. +1320 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null +1321 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1322 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1323 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1324 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null +1325 * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean) +1326 * @see #runAdhocScript(String, InputStream, Properties) +1327 */ +1328 public RundeckExecution triggerAdhocScript(String project, InputStream script, Properties options) +1329 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +1330 return triggerAdhocScript(project, script, options, null); +1331 } +1332 +1333 /** +1334 * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The +1335 * script will be dispatched to nodes, accordingly to the nodeFilters parameter. +1336 * +1337 * @param project name of the project - mandatory +1338 * @param script inputStream for reading the script to be executed - mandatory +1339 * @param options of the script - optional. See {@link OptionsBuilder}. +1340 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} +1341 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null +1342 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1343 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1344 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1345 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null +1346 * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean) +1347 * @see #runAdhocScript(String, InputStream, Properties, Properties) +1348 */ +1349 public RundeckExecution triggerAdhocScript(String project, InputStream script, Properties options, +1350 Properties nodeFilters) throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, +1351 IllegalArgumentException { +1352 return triggerAdhocScript(project, script, options, nodeFilters, null, null); +1353 } +1354 +1355 /** +1356 * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The +1357 * script will be dispatched to nodes, accordingly to the nodeFilters parameter. +1358 * +1359 * @param project name of the project - mandatory +1360 * @param script inputStream for reading the script to be executed - mandatory +1361 * @param options of the script - optional. See {@link OptionsBuilder}. +1362 * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder} +1363 * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional +1364 * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional +1365 * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null +1366 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1367 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1368 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1369 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null +1370 * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean) +1371 * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit) +1372 */ +1373 public RundeckExecution triggerAdhocScript(String project, InputStream script, Properties options, +1374 Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing) throws RundeckApiException, +1375 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +1376 AssertUtil.notBlank(project, "project is mandatory to trigger an ad-hoc script !"); +1377 AssertUtil.notNull(script, "script is mandatory to trigger an ad-hoc script !"); +1378 RundeckExecution execution = new ApiCall(this).post(new ApiPathBuilder("/run/script").param("project", project) +1379 .attach("scriptFile", +1380 script) +1381 .param("argString", +1382 ParametersUtil.generateArgString(options)) +1383 .param("nodeThreadcount", +1384 nodeThreadcount) +1385 .param("nodeKeepgoing", +1386 nodeKeepgoing) +1387 .nodeFilters(nodeFilters), +1388 new ExecutionParser("result/execution")); +1389 // the first call just returns the ID of the execution, so we need another call to get a "real" execution +1390 return getExecution(execution.getId()); 1391 } 1392 1393 /** 1394 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck 1395 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still -1396 * running. The script will be dispatched to nodes, accordingly to the nodeFilters parameter. +1396 * running. The script will not be dispatched to nodes, but be executed on the RunDeck server. 1397 * 1398 * @param project name of the project - mandatory 1399 * @param scriptFilename filename of the script to be executed - mandatory -1400 * @param options of the script - optional. See {@link OptionsBuilder}. -1401 * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder} -1402 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -1403 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1404 * @throws RundeckApiLoginException if the login failed -1405 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) -1406 * @throws IOException if we failed to read the file -1407 * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit) -1408 * @see #triggerAdhocScript(String, String, Properties, Properties) -1409 */ -1410 public RundeckExecution runAdhocScript(String project, String scriptFilename, Properties options, -1411 Properties nodeFilters) throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException, -1412 IOException { -1413 return runAdhocScript(project, scriptFilename, options, nodeFilters, null, null); -1414 } -1415 -1416 /** -1417 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -1418 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is -1419 * finished (or aborted) or is still running. The script will be dispatched to nodes, accordingly to the nodeFilters -1420 * parameter. -1421 * -1422 * @param project name of the project - mandatory -1423 * @param scriptFilename filename of the script to be executed - mandatory -1424 * @param options of the script - optional. See {@link OptionsBuilder}. -1425 * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder} -1426 * @param poolingInterval for checking the status of the execution. Must be > 0. -1427 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. -1428 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -1429 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1430 * @throws RundeckApiLoginException if the login failed -1431 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) -1432 * @throws IOException if we failed to read the file -1433 * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit) -1434 * @see #triggerAdhocScript(String, String, Properties, Properties) -1435 */ -1436 public RundeckExecution runAdhocScript(String project, String scriptFilename, Properties options, -1437 Properties nodeFilters, long poolingInterval, TimeUnit poolingUnit) throws RundeckApiException, -1438 RundeckApiLoginException, IllegalArgumentException, IOException { -1439 return runAdhocScript(project, scriptFilename, options, nodeFilters, null, null, poolingInterval, poolingUnit); -1440 } -1441 -1442 /** -1443 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -1444 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still -1445 * running. The script will be dispatched to nodes, accordingly to the nodeFilters parameter. -1446 * -1447 * @param project name of the project - mandatory -1448 * @param scriptFilename filename of the script to be executed - mandatory -1449 * @param options of the script - optional. See {@link OptionsBuilder}. -1450 * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder} -1451 * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional -1452 * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional -1453 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -1454 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1455 * @throws RundeckApiLoginException if the login failed -1456 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) -1457 * @throws IOException if we failed to read the file -1458 * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit) -1459 * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean) -1460 */ -1461 public RundeckExecution runAdhocScript(String project, String scriptFilename, Properties options, -1462 Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing) throws RundeckApiException, -1463 RundeckApiLoginException, IllegalArgumentException, IOException { -1464 return runAdhocScript(project, -1465 scriptFilename, -1466 options, -1467 nodeFilters, -1468 nodeThreadcount, -1469 nodeKeepgoing, -1470 DEFAULT_POOLING_INTERVAL, -1471 DEFAULT_POOLING_UNIT); -1472 } -1473 -1474 /** -1475 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -1476 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is -1477 * finished (or aborted) or is still running. The script will be dispatched to nodes, accordingly to the nodeFilters -1478 * parameter. -1479 * -1480 * @param project name of the project - mandatory -1481 * @param scriptFilename filename of the script to be executed - mandatory -1482 * @param options of the script - optional. See {@link OptionsBuilder}. -1483 * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder} -1484 * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional -1485 * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional -1486 * @param poolingInterval for checking the status of the execution. Must be > 0. -1487 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. -1488 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -1489 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1490 * @throws RundeckApiLoginException if the login failed -1491 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) -1492 * @throws IOException if we failed to read the file -1493 * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit) -1494 * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean) -1495 */ -1496 public RundeckExecution runAdhocScript(String project, String scriptFilename, Properties options, -1497 Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing, long poolingInterval, -1498 TimeUnit poolingUnit) throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException, -1499 IOException { -1500 AssertUtil.notBlank(scriptFilename, "scriptFilename is mandatory to run an ad-hoc script !"); -1501 FileInputStream stream = null; -1502 try { -1503 stream = FileUtils.openInputStream(new File(scriptFilename)); -1504 return runAdhocScript(project, -1505 stream, -1506 options, -1507 nodeFilters, -1508 nodeThreadcount, -1509 nodeKeepgoing, -1510 poolingInterval, -1511 poolingUnit); -1512 } finally { -1513 IOUtils.closeQuietly(stream); -1514 } -1515 } -1516 -1517 /** -1518 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -1519 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still -1520 * running. The script will not be dispatched to nodes, but be executed on the RunDeck server. -1521 * -1522 * @param project name of the project - mandatory -1523 * @param script inputStream for reading the script to be executed - mandatory +1400 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1401 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1402 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1403 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1404 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) +1405 * @throws IOException if we failed to read the file +1406 * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit) +1407 * @see #triggerAdhocScript(String, String) +1408 */ +1409 public RundeckExecution runAdhocScript(String project, String scriptFilename) throws RundeckApiException, +1410 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException { +1411 return runAdhocScript(project, scriptFilename, null); +1412 } +1413 +1414 /** +1415 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1416 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is +1417 * finished (or aborted) or is still running. The script will not be dispatched to nodes, but be executed on the +1418 * RunDeck server. +1419 * +1420 * @param project name of the project - mandatory +1421 * @param scriptFilename filename of the script to be executed - mandatory +1422 * @param poolingInterval for checking the status of the execution. Must be > 0. +1423 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. +1424 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1425 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1426 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1427 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1428 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) +1429 * @throws IOException if we failed to read the file +1430 * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit) +1431 * @see #triggerAdhocScript(String, String) +1432 */ +1433 public RundeckExecution runAdhocScript(String project, String scriptFilename, long poolingInterval, +1434 TimeUnit poolingUnit) throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, +1435 IllegalArgumentException, IOException { +1436 return runAdhocScript(project, scriptFilename, null, poolingInterval, poolingUnit); +1437 } +1438 +1439 /** +1440 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1441 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still +1442 * running. The script will not be dispatched to nodes, but be executed on the RunDeck server. +1443 * +1444 * @param project name of the project - mandatory +1445 * @param scriptFilename filename of the script to be executed - mandatory +1446 * @param options of the script - optional. See {@link OptionsBuilder}. +1447 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1448 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1449 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1450 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1451 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) +1452 * @throws IOException if we failed to read the file +1453 * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit) +1454 * @see #triggerAdhocScript(String, String, Properties) +1455 */ +1456 public RundeckExecution runAdhocScript(String project, String scriptFilename, Properties options) +1457 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, +1458 IOException { +1459 return runAdhocScript(project, scriptFilename, options, null); +1460 } +1461 +1462 /** +1463 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1464 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is +1465 * finished (or aborted) or is still running. The script will not be dispatched to nodes, but be executed on the +1466 * RunDeck server. +1467 * +1468 * @param project name of the project - mandatory +1469 * @param scriptFilename filename of the script to be executed - mandatory +1470 * @param options of the script - optional. See {@link OptionsBuilder}. +1471 * @param poolingInterval for checking the status of the execution. Must be > 0. +1472 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. +1473 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1474 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1475 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1476 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1477 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) +1478 * @throws IOException if we failed to read the file +1479 * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit) +1480 * @see #triggerAdhocScript(String, String, Properties) +1481 */ +1482 public RundeckExecution runAdhocScript(String project, String scriptFilename, Properties options, +1483 long poolingInterval, TimeUnit poolingUnit) throws RundeckApiException, RundeckApiLoginException, +1484 RundeckApiTokenException, IllegalArgumentException, IOException { +1485 return runAdhocScript(project, scriptFilename, options, null, poolingInterval, poolingUnit); +1486 } +1487 +1488 /** +1489 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1490 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still +1491 * running. The script will be dispatched to nodes, accordingly to the nodeFilters parameter. +1492 * +1493 * @param project name of the project - mandatory +1494 * @param scriptFilename filename of the script to be executed - mandatory +1495 * @param options of the script - optional. See {@link OptionsBuilder}. +1496 * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder} +1497 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1498 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1499 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1500 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1501 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) +1502 * @throws IOException if we failed to read the file +1503 * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit) +1504 * @see #triggerAdhocScript(String, String, Properties, Properties) +1505 */ +1506 public RundeckExecution runAdhocScript(String project, String scriptFilename, Properties options, +1507 Properties nodeFilters) throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, +1508 IllegalArgumentException, IOException { +1509 return runAdhocScript(project, scriptFilename, options, nodeFilters, null, null); +1510 } +1511 +1512 /** +1513 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1514 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is +1515 * finished (or aborted) or is still running. The script will be dispatched to nodes, accordingly to the nodeFilters +1516 * parameter. +1517 * +1518 * @param project name of the project - mandatory +1519 * @param scriptFilename filename of the script to be executed - mandatory +1520 * @param options of the script - optional. See {@link OptionsBuilder}. +1521 * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder} +1522 * @param poolingInterval for checking the status of the execution. Must be > 0. +1523 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. 1524 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null 1525 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1526 * @throws RundeckApiLoginException if the login failed -1527 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null -1528 * @throws IOException if we failed to read the file -1529 * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit) -1530 * @see #triggerAdhocScript(String, InputStream) -1531 */ -1532 public RundeckExecution runAdhocScript(String project, InputStream script) throws RundeckApiException, -1533 RundeckApiLoginException, IllegalArgumentException, IOException { -1534 return runAdhocScript(project, script, null); -1535 } -1536 -1537 /** -1538 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -1539 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is -1540 * finished (or aborted) or is still running. The script will not be dispatched to nodes, but be executed on the -1541 * RunDeck server. -1542 * -1543 * @param project name of the project - mandatory -1544 * @param script inputStream for reading the script to be executed - mandatory -1545 * @param poolingInterval for checking the status of the execution. Must be > 0. -1546 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. -1547 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -1548 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1549 * @throws RundeckApiLoginException if the login failed -1550 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null -1551 * @throws IOException if we failed to read the file -1552 * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit) -1553 * @see #triggerAdhocScript(String, InputStream) -1554 */ -1555 public RundeckExecution runAdhocScript(String project, InputStream script, long poolingInterval, -1556 TimeUnit poolingUnit) throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException, -1557 IOException { -1558 return runAdhocScript(project, script, null, poolingInterval, poolingUnit); -1559 } -1560 -1561 /** -1562 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -1563 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still -1564 * running. The script will not be dispatched to nodes, but be executed on the RunDeck server. -1565 * -1566 * @param project name of the project - mandatory -1567 * @param script inputStream for reading the script to be executed - mandatory -1568 * @param options of the script - optional. See {@link OptionsBuilder}. -1569 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -1570 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1571 * @throws RundeckApiLoginException if the login failed -1572 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null -1573 * @throws IOException if we failed to read the file -1574 * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit) -1575 * @see #triggerAdhocScript(String, InputStream, Properties) -1576 */ -1577 public RundeckExecution runAdhocScript(String project, InputStream script, Properties options) -1578 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException, IOException { -1579 return runAdhocScript(project, script, options, null); -1580 } -1581 -1582 /** -1583 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -1584 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is -1585 * finished (or aborted) or is still running. The script will not be dispatched to nodes, but be executed on the -1586 * RunDeck server. -1587 * -1588 * @param project name of the project - mandatory -1589 * @param script inputStream for reading the script to be executed - mandatory -1590 * @param options of the script - optional. See {@link OptionsBuilder}. -1591 * @param poolingInterval for checking the status of the execution. Must be > 0. -1592 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. -1593 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -1594 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1595 * @throws RundeckApiLoginException if the login failed -1596 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null -1597 * @throws IOException if we failed to read the file -1598 * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit) -1599 * @see #triggerAdhocScript(String, InputStream, Properties) -1600 */ -1601 public RundeckExecution runAdhocScript(String project, InputStream script, Properties options, -1602 long poolingInterval, TimeUnit poolingUnit) throws RundeckApiException, RundeckApiLoginException, -1603 IllegalArgumentException, IOException { -1604 return runAdhocScript(project, script, options, null, poolingInterval, poolingUnit); -1605 } -1606 -1607 /** -1608 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -1609 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still -1610 * running. The script will be dispatched to nodes, accordingly to the nodeFilters parameter. -1611 * -1612 * @param project name of the project - mandatory -1613 * @param script inputStream for reading the script to be executed - mandatory -1614 * @param options of the script - optional. See {@link OptionsBuilder}. -1615 * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder} -1616 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -1617 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1618 * @throws RundeckApiLoginException if the login failed -1619 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null -1620 * @throws IOException if we failed to read the file -1621 * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit) -1622 * @see #triggerAdhocScript(String, InputStream, Properties, Properties) -1623 */ -1624 public RundeckExecution runAdhocScript(String project, InputStream script, Properties options, -1625 Properties nodeFilters) throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException, -1626 IOException { -1627 return runAdhocScript(project, script, options, nodeFilters, null, null); -1628 } -1629 -1630 /** -1631 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -1632 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is -1633 * finished (or aborted) or is still running. The script will be dispatched to nodes, accordingly to the nodeFilters -1634 * parameter. -1635 * -1636 * @param project name of the project - mandatory -1637 * @param script inputStream for reading the script to be executed - mandatory -1638 * @param options of the script - optional. See {@link OptionsBuilder}. -1639 * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder} -1640 * @param poolingInterval for checking the status of the execution. Must be > 0. -1641 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. -1642 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -1643 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1644 * @throws RundeckApiLoginException if the login failed -1645 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null -1646 * @throws IOException if we failed to read the file -1647 * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit) -1648 * @see #triggerAdhocScript(String, InputStream, Properties, Properties) -1649 */ -1650 public RundeckExecution runAdhocScript(String project, InputStream script, Properties options, -1651 Properties nodeFilters, long poolingInterval, TimeUnit poolingUnit) throws RundeckApiException, -1652 RundeckApiLoginException, IllegalArgumentException, IOException { -1653 return runAdhocScript(project, script, options, nodeFilters, null, null, poolingInterval, poolingUnit); -1654 } -1655 -1656 /** -1657 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -1658 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still -1659 * running. The script will be dispatched to nodes, accordingly to the nodeFilters parameter. -1660 * -1661 * @param project name of the project - mandatory -1662 * @param script inputStream for reading the script to be executed - mandatory -1663 * @param options of the script - optional. See {@link OptionsBuilder}. -1664 * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder} -1665 * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional -1666 * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional -1667 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -1668 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1669 * @throws RundeckApiLoginException if the login failed -1670 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null -1671 * @throws IOException if we failed to read the file -1672 * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit) -1673 * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean) -1674 */ -1675 public RundeckExecution runAdhocScript(String project, InputStream script, Properties options, -1676 Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing) throws RundeckApiException, -1677 RundeckApiLoginException, IllegalArgumentException, IOException { -1678 return runAdhocScript(project, -1679 script, -1680 options, -1681 nodeFilters, -1682 nodeThreadcount, -1683 nodeKeepgoing, -1684 DEFAULT_POOLING_INTERVAL, -1685 DEFAULT_POOLING_UNIT); -1686 } -1687 -1688 /** -1689 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck -1690 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is -1691 * finished (or aborted) or is still running. The script will be dispatched to nodes, accordingly to the nodeFilters -1692 * parameter. -1693 * -1694 * @param project name of the project - mandatory -1695 * @param script inputStream for reading the script to be executed - mandatory -1696 * @param options of the script - optional. See {@link OptionsBuilder}. -1697 * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder} -1698 * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional -1699 * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional -1700 * @param poolingInterval for checking the status of the execution. Must be > 0. -1701 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. -1702 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null -1703 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1704 * @throws RundeckApiLoginException if the login failed -1705 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null -1706 * @throws IOException if we failed to read the file -1707 * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit) -1708 * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean) -1709 */ -1710 public RundeckExecution runAdhocScript(String project, InputStream script, Properties options, -1711 Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing, long poolingInterval, -1712 TimeUnit poolingUnit) throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -1713 if (poolingInterval <= 0) { -1714 poolingInterval = DEFAULT_POOLING_INTERVAL; -1715 poolingUnit = DEFAULT_POOLING_UNIT; -1716 } -1717 if (poolingUnit == null) { -1718 poolingUnit = DEFAULT_POOLING_UNIT; -1719 } -1720 -1721 RundeckExecution execution = triggerAdhocScript(project, -1722 script, -1723 options, -1724 nodeFilters, -1725 nodeThreadcount, -1726 nodeKeepgoing); -1727 while (ExecutionStatus.RUNNING.equals(execution.getStatus())) { -1728 try { -1729 Thread.sleep(poolingUnit.toMillis(poolingInterval)); -1730 } catch (InterruptedException e) { -1731 break; -1732 } -1733 execution = getExecution(execution.getId()); -1734 } -1735 return execution; -1736 } -1737 -1738 /* -1739 * Executions -1740 */ -1741 -1742 /** -1743 * Get all running executions (for all projects) -1744 * -1745 * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null -1746 * @throws RundeckApiException in case of error when calling the API -1747 * @throws RundeckApiLoginException if the login failed -1748 * @see #getRunningExecutions(String) -1749 */ -1750 public List<RundeckExecution> getRunningExecutions() throws RundeckApiException, RundeckApiLoginException { -1751 List<RundeckExecution> executions = new ArrayList<RundeckExecution>(); -1752 for (RundeckProject project : getProjects()) { -1753 executions.addAll(getRunningExecutions(project.getName())); -1754 } -1755 return executions; -1756 } -1757 -1758 /** -1759 * Get the running executions for the given project -1760 * -1761 * @param project name of the project - mandatory -1762 * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null -1763 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1764 * @throws RundeckApiLoginException if the login failed -1765 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) -1766 * @see #getRunningExecutions() -1767 */ -1768 public List<RundeckExecution> getRunningExecutions(String project) throws RundeckApiException, -1769 RundeckApiLoginException, IllegalArgumentException { -1770 AssertUtil.notBlank(project, "project is mandatory get all running executions !"); -1771 return new ApiCall(this).get(new ApiPathBuilder("/executions/running").param("project", project), -1772 new ListParser<RundeckExecution>(new ExecutionParser(), -1773 "result/executions/execution")); -1774 } -1775 -1776 /** -1777 * Get the executions of the given job -1778 * -1779 * @param jobId identifier of the job - mandatory -1780 * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null -1781 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) -1782 * @throws RundeckApiLoginException if the login failed -1783 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) -1784 * @see #getJobExecutions(String, RundeckExecution.ExecutionStatus, Long, Long) -1785 */ -1786 public List<RundeckExecution> getJobExecutions(String jobId) throws RundeckApiException, RundeckApiLoginException, -1787 IllegalArgumentException { -1788 return getJobExecutions(jobId, (ExecutionStatus) null); -1789 } -1790 -1791 /** -1792 * Get the executions of the given job -1793 * -1794 * @param jobId identifier of the job - mandatory -1795 * @param status of the executions, see {@link ExecutionStatus} - optional (null for all) -1796 * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null -1797 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) -1798 * @throws RundeckApiLoginException if the login failed -1799 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace), or the executionStatus is -1800 * invalid -1801 * @see #getJobExecutions(String, String, Long, Long) -1802 */ -1803 public List<RundeckExecution> getJobExecutions(String jobId, String status) throws RundeckApiException, -1804 RundeckApiLoginException, IllegalArgumentException { -1805 return getJobExecutions(jobId, -1806 StringUtils.isBlank(status) ? null : ExecutionStatus.valueOf(StringUtils.upperCase(status))); -1807 } -1808 -1809 /** -1810 * Get the executions of the given job -1811 * -1812 * @param jobId identifier of the job - mandatory -1813 * @param status of the executions, see {@link ExecutionStatus} - optional (null for all) -1814 * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null -1815 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) -1816 * @throws RundeckApiLoginException if the login failed -1817 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) -1818 * @see #getJobExecutions(String, RundeckExecution.ExecutionStatus, Long, Long) -1819 */ -1820 public List<RundeckExecution> getJobExecutions(String jobId, ExecutionStatus status) throws RundeckApiException, -1821 RundeckApiLoginException, IllegalArgumentException { -1822 return getJobExecutions(jobId, status, null, null); -1823 } -1824 -1825 /** -1826 * Get the executions of the given job -1827 * -1828 * @param jobId identifier of the job - mandatory -1829 * @param status of the executions, see {@link ExecutionStatus} - optional (null for all) -1830 * @param max number of results to return - optional (null for all) -1831 * @param offset the 0-indexed offset for the first result to return - optional -1832 * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null -1833 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) -1834 * @throws RundeckApiLoginException if the login failed -1835 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace), or the executionStatus is -1836 * invalid -1837 * @see #getJobExecutions(String, RundeckExecution.ExecutionStatus, Long, Long) -1838 */ -1839 public List<RundeckExecution> getJobExecutions(String jobId, String status, Long max, Long offset) -1840 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -1841 return getJobExecutions(jobId, -1842 StringUtils.isBlank(status) ? null : ExecutionStatus.valueOf(StringUtils.upperCase(status)), -1843 max, -1844 offset); +1526 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1527 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1528 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) +1529 * @throws IOException if we failed to read the file +1530 * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit) +1531 * @see #triggerAdhocScript(String, String, Properties, Properties) +1532 */ +1533 public RundeckExecution runAdhocScript(String project, String scriptFilename, Properties options, +1534 Properties nodeFilters, long poolingInterval, TimeUnit poolingUnit) throws RundeckApiException, +1535 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException { +1536 return runAdhocScript(project, scriptFilename, options, nodeFilters, null, null, poolingInterval, poolingUnit); +1537 } +1538 +1539 /** +1540 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1541 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still +1542 * running. The script will be dispatched to nodes, accordingly to the nodeFilters parameter. +1543 * +1544 * @param project name of the project - mandatory +1545 * @param scriptFilename filename of the script to be executed - mandatory +1546 * @param options of the script - optional. See {@link OptionsBuilder}. +1547 * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder} +1548 * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional +1549 * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional +1550 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1551 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1552 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1553 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1554 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) +1555 * @throws IOException if we failed to read the file +1556 * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit) +1557 * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean) +1558 */ +1559 public RundeckExecution runAdhocScript(String project, String scriptFilename, Properties options, +1560 Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing) throws RundeckApiException, +1561 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException { +1562 return runAdhocScript(project, +1563 scriptFilename, +1564 options, +1565 nodeFilters, +1566 nodeThreadcount, +1567 nodeKeepgoing, +1568 DEFAULT_POOLING_INTERVAL, +1569 DEFAULT_POOLING_UNIT); +1570 } +1571 +1572 /** +1573 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1574 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is +1575 * finished (or aborted) or is still running. The script will be dispatched to nodes, accordingly to the nodeFilters +1576 * parameter. +1577 * +1578 * @param project name of the project - mandatory +1579 * @param scriptFilename filename of the script to be executed - mandatory +1580 * @param options of the script - optional. See {@link OptionsBuilder}. +1581 * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder} +1582 * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional +1583 * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional +1584 * @param poolingInterval for checking the status of the execution. Must be > 0. +1585 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. +1586 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1587 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1588 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1589 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1590 * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace) +1591 * @throws IOException if we failed to read the file +1592 * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit) +1593 * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean) +1594 */ +1595 public RundeckExecution runAdhocScript(String project, String scriptFilename, Properties options, +1596 Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing, long poolingInterval, +1597 TimeUnit poolingUnit) throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, +1598 IllegalArgumentException, IOException { +1599 AssertUtil.notBlank(scriptFilename, "scriptFilename is mandatory to run an ad-hoc script !"); +1600 FileInputStream stream = null; +1601 try { +1602 stream = FileUtils.openInputStream(new File(scriptFilename)); +1603 return runAdhocScript(project, +1604 stream, +1605 options, +1606 nodeFilters, +1607 nodeThreadcount, +1608 nodeKeepgoing, +1609 poolingInterval, +1610 poolingUnit); +1611 } finally { +1612 IOUtils.closeQuietly(stream); +1613 } +1614 } +1615 +1616 /** +1617 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1618 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still +1619 * running. The script will not be dispatched to nodes, but be executed on the RunDeck server. +1620 * +1621 * @param project name of the project - mandatory +1622 * @param script inputStream for reading the script to be executed - mandatory +1623 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1624 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1625 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1626 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1627 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null +1628 * @throws IOException if we failed to read the file +1629 * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit) +1630 * @see #triggerAdhocScript(String, InputStream) +1631 */ +1632 public RundeckExecution runAdhocScript(String project, InputStream script) throws RundeckApiException, +1633 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException { +1634 return runAdhocScript(project, script, null); +1635 } +1636 +1637 /** +1638 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1639 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is +1640 * finished (or aborted) or is still running. The script will not be dispatched to nodes, but be executed on the +1641 * RunDeck server. +1642 * +1643 * @param project name of the project - mandatory +1644 * @param script inputStream for reading the script to be executed - mandatory +1645 * @param poolingInterval for checking the status of the execution. Must be > 0. +1646 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. +1647 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1648 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1649 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1650 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1651 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null +1652 * @throws IOException if we failed to read the file +1653 * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit) +1654 * @see #triggerAdhocScript(String, InputStream) +1655 */ +1656 public RundeckExecution runAdhocScript(String project, InputStream script, long poolingInterval, +1657 TimeUnit poolingUnit) throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, +1658 IllegalArgumentException, IOException { +1659 return runAdhocScript(project, script, null, poolingInterval, poolingUnit); +1660 } +1661 +1662 /** +1663 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1664 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still +1665 * running. The script will not be dispatched to nodes, but be executed on the RunDeck server. +1666 * +1667 * @param project name of the project - mandatory +1668 * @param script inputStream for reading the script to be executed - mandatory +1669 * @param options of the script - optional. See {@link OptionsBuilder}. +1670 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1671 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1672 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1673 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1674 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null +1675 * @throws IOException if we failed to read the file +1676 * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit) +1677 * @see #triggerAdhocScript(String, InputStream, Properties) +1678 */ +1679 public RundeckExecution runAdhocScript(String project, InputStream script, Properties options) +1680 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, +1681 IOException { +1682 return runAdhocScript(project, script, options, null); +1683 } +1684 +1685 /** +1686 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1687 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is +1688 * finished (or aborted) or is still running. The script will not be dispatched to nodes, but be executed on the +1689 * RunDeck server. +1690 * +1691 * @param project name of the project - mandatory +1692 * @param script inputStream for reading the script to be executed - mandatory +1693 * @param options of the script - optional. See {@link OptionsBuilder}. +1694 * @param poolingInterval for checking the status of the execution. Must be > 0. +1695 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. +1696 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1697 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1698 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1699 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1700 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null +1701 * @throws IOException if we failed to read the file +1702 * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit) +1703 * @see #triggerAdhocScript(String, InputStream, Properties) +1704 */ +1705 public RundeckExecution runAdhocScript(String project, InputStream script, Properties options, +1706 long poolingInterval, TimeUnit poolingUnit) throws RundeckApiException, RundeckApiLoginException, +1707 RundeckApiTokenException, IllegalArgumentException, IOException { +1708 return runAdhocScript(project, script, options, null, poolingInterval, poolingUnit); +1709 } +1710 +1711 /** +1712 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1713 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still +1714 * running. The script will be dispatched to nodes, accordingly to the nodeFilters parameter. +1715 * +1716 * @param project name of the project - mandatory +1717 * @param script inputStream for reading the script to be executed - mandatory +1718 * @param options of the script - optional. See {@link OptionsBuilder}. +1719 * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder} +1720 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1721 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1722 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1723 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1724 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null +1725 * @throws IOException if we failed to read the file +1726 * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit) +1727 * @see #triggerAdhocScript(String, InputStream, Properties, Properties) +1728 */ +1729 public RundeckExecution runAdhocScript(String project, InputStream script, Properties options, +1730 Properties nodeFilters) throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, +1731 IllegalArgumentException, IOException { +1732 return runAdhocScript(project, script, options, nodeFilters, null, null); +1733 } +1734 +1735 /** +1736 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1737 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is +1738 * finished (or aborted) or is still running. The script will be dispatched to nodes, accordingly to the nodeFilters +1739 * parameter. +1740 * +1741 * @param project name of the project - mandatory +1742 * @param script inputStream for reading the script to be executed - mandatory +1743 * @param options of the script - optional. See {@link OptionsBuilder}. +1744 * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder} +1745 * @param poolingInterval for checking the status of the execution. Must be > 0. +1746 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. +1747 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1748 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1749 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1750 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1751 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null +1752 * @throws IOException if we failed to read the file +1753 * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit) +1754 * @see #triggerAdhocScript(String, InputStream, Properties, Properties) +1755 */ +1756 public RundeckExecution runAdhocScript(String project, InputStream script, Properties options, +1757 Properties nodeFilters, long poolingInterval, TimeUnit poolingUnit) throws RundeckApiException, +1758 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException { +1759 return runAdhocScript(project, script, options, nodeFilters, null, null, poolingInterval, poolingUnit); +1760 } +1761 +1762 /** +1763 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1764 * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still +1765 * running. The script will be dispatched to nodes, accordingly to the nodeFilters parameter. +1766 * +1767 * @param project name of the project - mandatory +1768 * @param script inputStream for reading the script to be executed - mandatory +1769 * @param options of the script - optional. See {@link OptionsBuilder}. +1770 * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder} +1771 * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional +1772 * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional +1773 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1774 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1775 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1776 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1777 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null +1778 * @throws IOException if we failed to read the file +1779 * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit) +1780 * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean) +1781 */ +1782 public RundeckExecution runAdhocScript(String project, InputStream script, Properties options, +1783 Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing) throws RundeckApiException, +1784 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException { +1785 return runAdhocScript(project, +1786 script, +1787 options, +1788 nodeFilters, +1789 nodeThreadcount, +1790 nodeKeepgoing, +1791 DEFAULT_POOLING_INTERVAL, +1792 DEFAULT_POOLING_UNIT); +1793 } +1794 +1795 /** +1796 * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck +1797 * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is +1798 * finished (or aborted) or is still running. The script will be dispatched to nodes, accordingly to the nodeFilters +1799 * parameter. +1800 * +1801 * @param project name of the project - mandatory +1802 * @param script inputStream for reading the script to be executed - mandatory +1803 * @param options of the script - optional. See {@link OptionsBuilder}. +1804 * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder} +1805 * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional +1806 * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional +1807 * @param poolingInterval for checking the status of the execution. Must be > 0. +1808 * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds. +1809 * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null +1810 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1811 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1812 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1813 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null +1814 * @throws IOException if we failed to read the file +1815 * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit) +1816 * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean) +1817 */ +1818 public RundeckExecution runAdhocScript(String project, InputStream script, Properties options, +1819 Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing, long poolingInterval, +1820 TimeUnit poolingUnit) throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, +1821 IllegalArgumentException { +1822 if (poolingInterval <= 0) { +1823 poolingInterval = DEFAULT_POOLING_INTERVAL; +1824 poolingUnit = DEFAULT_POOLING_UNIT; +1825 } +1826 if (poolingUnit == null) { +1827 poolingUnit = DEFAULT_POOLING_UNIT; +1828 } +1829 +1830 RundeckExecution execution = triggerAdhocScript(project, +1831 script, +1832 options, +1833 nodeFilters, +1834 nodeThreadcount, +1835 nodeKeepgoing); +1836 while (ExecutionStatus.RUNNING.equals(execution.getStatus())) { +1837 try { +1838 Thread.sleep(poolingUnit.toMillis(poolingInterval)); +1839 } catch (InterruptedException e) { +1840 break; +1841 } +1842 execution = getExecution(execution.getId()); +1843 } +1844 return execution; 1845 } 1846 -1847 /** -1848 * Get the executions of the given job -1849 * -1850 * @param jobId identifier of the job - mandatory -1851 * @param status of the executions, see {@link ExecutionStatus} - optional (null for all) -1852 * @param max number of results to return - optional (null for all) -1853 * @param offset the 0-indexed offset for the first result to return - optional +1847 /* +1848 * Executions +1849 */ +1850 +1851 /** +1852 * Get all running executions (for all projects) +1853 * 1854 * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null -1855 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) -1856 * @throws RundeckApiLoginException if the login failed -1857 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) -1858 */ -1859 public List<RundeckExecution> getJobExecutions(String jobId, ExecutionStatus status, Long max, Long offset) -1860 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -1861 AssertUtil.notBlank(jobId, "jobId is mandatory to get the executions of a job !"); -1862 return new ApiCall(this).get(new ApiPathBuilder("/job/", jobId, "/executions").param("status", status) -1863 .param("max", max) -1864 .param("offset", offset), -1865 new ListParser<RundeckExecution>(new ExecutionParser(), -1866 "result/executions/execution")); +1855 * @throws RundeckApiException in case of error when calling the API +1856 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1857 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1858 * @see #getRunningExecutions(String) +1859 */ +1860 public List<RundeckExecution> getRunningExecutions() throws RundeckApiException, RundeckApiLoginException, +1861 RundeckApiTokenException { +1862 List<RundeckExecution> executions = new ArrayList<RundeckExecution>(); +1863 for (RundeckProject project : getProjects()) { +1864 executions.addAll(getRunningExecutions(project.getName())); +1865 } +1866 return executions; 1867 } 1868 1869 /** -1870 * Get a single execution, identified by the given ID +1870 * Get the running executions for the given project 1871 * -1872 * @param executionId identifier of the execution - mandatory -1873 * @return a {@link RundeckExecution} instance - won't be null -1874 * @throws RundeckApiException in case of error when calling the API (non-existent execution with this ID) -1875 * @throws RundeckApiLoginException if the login failed -1876 * @throws IllegalArgumentException if the executionId is null -1877 */ -1878 public RundeckExecution getExecution(Long executionId) throws RundeckApiException, RundeckApiLoginException, -1879 IllegalArgumentException { -1880 AssertUtil.notNull(executionId, "executionId is mandatory to get the details of an execution !"); -1881 return new ApiCall(this).get(new ApiPathBuilder("/execution/", executionId.toString()), -1882 new ExecutionParser("result/executions/execution")); -1883 } -1884 -1885 /** -1886 * Abort an execution (identified by the given ID). The execution should be running... -1887 * -1888 * @param executionId identifier of the execution - mandatory -1889 * @return a {@link RundeckAbort} instance - won't be null -1890 * @throws RundeckApiException in case of error when calling the API (non-existent execution with this ID) -1891 * @throws RundeckApiLoginException if the login failed -1892 * @throws IllegalArgumentException if the executionId is null -1893 */ -1894 public RundeckAbort abortExecution(Long executionId) throws RundeckApiException, RundeckApiLoginException, -1895 IllegalArgumentException { -1896 AssertUtil.notNull(executionId, "executionId is mandatory to abort an execution !"); -1897 return new ApiCall(this).get(new ApiPathBuilder("/execution/", executionId.toString(), "/abort"), -1898 new AbortParser("result/abort")); -1899 } -1900 -1901 /* -1902 * History -1903 */ -1904 -1905 /** -1906 * Get the (events) history for the given project -1907 * -1908 * @param project name of the project - mandatory -1909 * @return a {@link RundeckHistory} instance - won't be null -1910 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1911 * @throws RundeckApiLoginException if the login failed -1912 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) -1913 * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long) -1914 */ -1915 public RundeckHistory getHistory(String project) throws RundeckApiException, RundeckApiLoginException, -1916 IllegalArgumentException { -1917 return getHistory(project, null, null, null, null, null, null, null, null); -1918 } -1919 -1920 /** -1921 * Get the (events) history for the given project -1922 * -1923 * @param project name of the project - mandatory -1924 * @param max number of results to return - optional (default to 20) -1925 * @param offset the 0-indexed offset for the first result to return - optional (default to O) -1926 * @return a {@link RundeckHistory} instance - won't be null -1927 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1928 * @throws RundeckApiLoginException if the login failed -1929 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) -1930 * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long) -1931 */ -1932 public RundeckHistory getHistory(String project, Long max, Long offset) throws RundeckApiException, -1933 RundeckApiLoginException, IllegalArgumentException { -1934 return getHistory(project, null, null, null, null, null, null, max, offset); -1935 } -1936 -1937 /** -1938 * Get the (events) history for the given project -1939 * -1940 * @param project name of the project - mandatory -1941 * @param jobId include only events matching the given job ID - optional -1942 * @param reportId include only events matching the given report ID - optional -1943 * @param user include only events created by the given user - optional -1944 * @return a {@link RundeckHistory} instance - won't be null -1945 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1946 * @throws RundeckApiLoginException if the login failed -1947 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) -1948 * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long) -1949 */ -1950 public RundeckHistory getHistory(String project, String jobId, String reportId, String user) -1951 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -1952 return getHistory(project, jobId, reportId, user, null, null, null, null, null); -1953 } -1954 -1955 /** -1956 * Get the (events) history for the given project -1957 * -1958 * @param project name of the project - mandatory -1959 * @param jobId include only events matching the given job ID - optional -1960 * @param reportId include only events matching the given report ID - optional -1961 * @param user include only events created by the given user - optional -1962 * @param max number of results to return - optional (default to 20) -1963 * @param offset the 0-indexed offset for the first result to return - optional (default to O) -1964 * @return a {@link RundeckHistory} instance - won't be null -1965 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1966 * @throws RundeckApiLoginException if the login failed -1967 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) -1968 * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long) -1969 */ -1970 public RundeckHistory getHistory(String project, String jobId, String reportId, String user, Long max, Long offset) -1971 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -1972 return getHistory(project, jobId, reportId, user, null, null, null, max, offset); -1973 } -1974 -1975 /** -1976 * Get the (events) history for the given project -1977 * -1978 * @param project name of the project - mandatory -1979 * @param recent include only events matching the given period of time. Format : "XY", where X is an integer, and Y -1980 * is one of : "h" (hour), "d" (day), "w" (week), "m" (month), "y" (year). Example : "2w" (= last 2 -1981 * weeks), "5d" (= last 5 days), etc. Optional. -1982 * @return a {@link RundeckHistory} instance - won't be null -1983 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -1984 * @throws RundeckApiLoginException if the login failed -1985 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) -1986 * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long) -1987 */ -1988 public RundeckHistory getHistory(String project, String recent) throws RundeckApiException, -1989 RundeckApiLoginException, IllegalArgumentException { -1990 return getHistory(project, null, null, null, recent, null, null, null, null); -1991 } -1992 -1993 /** -1994 * Get the (events) history for the given project -1995 * -1996 * @param project name of the project - mandatory -1997 * @param recent include only events matching the given period of time. Format : "XY", where X is an integer, and Y -1998 * is one of : "h" (hour), "d" (day), "w" (week), "m" (month), "y" (year). Example : "2w" (= last 2 -1999 * weeks), "5d" (= last 5 days), etc. Optional. -2000 * @param max number of results to return - optional (default to 20) -2001 * @param offset the 0-indexed offset for the first result to return - optional (default to O) -2002 * @return a {@link RundeckHistory} instance - won't be null -2003 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -2004 * @throws RundeckApiLoginException if the login failed -2005 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) -2006 * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long) -2007 */ -2008 public RundeckHistory getHistory(String project, String recent, Long max, Long offset) throws RundeckApiException, -2009 RundeckApiLoginException, IllegalArgumentException { -2010 return getHistory(project, null, null, null, recent, null, null, max, offset); -2011 } -2012 -2013 /** -2014 * Get the (events) history for the given project -2015 * -2016 * @param project name of the project - mandatory -2017 * @param begin date for the earlier events to retrieve - optional -2018 * @param end date for the latest events to retrieve - optional -2019 * @return a {@link RundeckHistory} instance - won't be null -2020 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -2021 * @throws RundeckApiLoginException if the login failed -2022 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) -2023 * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long) -2024 */ -2025 public RundeckHistory getHistory(String project, Date begin, Date end) throws RundeckApiException, -2026 RundeckApiLoginException, IllegalArgumentException { -2027 return getHistory(project, null, null, null, null, begin, end, null, null); -2028 } -2029 -2030 /** -2031 * Get the (events) history for the given project -2032 * -2033 * @param project name of the project - mandatory -2034 * @param begin date for the earlier events to retrieve - optional -2035 * @param end date for the latest events to retrieve - optional -2036 * @param max number of results to return - optional (default to 20) -2037 * @param offset the 0-indexed offset for the first result to return - optional (default to O) -2038 * @return a {@link RundeckHistory} instance - won't be null -2039 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -2040 * @throws RundeckApiLoginException if the login failed -2041 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) -2042 * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long) -2043 */ -2044 public RundeckHistory getHistory(String project, Date begin, Date end, Long max, Long offset) -2045 throws RundeckApiException, RundeckApiLoginException, IllegalArgumentException { -2046 return getHistory(project, null, null, null, null, begin, end, max, offset); -2047 } -2048 -2049 /** -2050 * Get the (events) history for the given project -2051 * -2052 * @param project name of the project - mandatory -2053 * @param jobId include only events matching the given job ID - optional -2054 * @param reportId include only events matching the given report ID - optional -2055 * @param user include only events created by the given user - optional -2056 * @param recent include only events matching the given period of time. Format : "XY", where X is an integer, and Y -2057 * is one of : "h" (hour), "d" (day), "w" (week), "m" (month), "y" (year). Example : "2w" (= last 2 -2058 * weeks), "5d" (= last 5 days), etc. Optional. -2059 * @param begin date for the earlier events to retrieve - optional -2060 * @param end date for the latest events to retrieve - optional -2061 * @param max number of results to return - optional (default to 20) -2062 * @param offset the 0-indexed offset for the first result to return - optional (default to O) -2063 * @return a {@link RundeckHistory} instance - won't be null -2064 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -2065 * @throws RundeckApiLoginException if the login failed -2066 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) -2067 */ -2068 public RundeckHistory getHistory(String project, String jobId, String reportId, String user, String recent, -2069 Date begin, Date end, Long max, Long offset) throws RundeckApiException, RundeckApiLoginException, -2070 IllegalArgumentException { -2071 AssertUtil.notBlank(project, "project is mandatory to get the history !"); -2072 return new ApiCall(this).get(new ApiPathBuilder("/history").param("project", project) -2073 .param("jobIdFilter", jobId) -2074 .param("reportIdFilter", reportId) -2075 .param("userFilter", user) -2076 .param("recentFilter", recent) -2077 .param("begin", begin) -2078 .param("end", end) -2079 .param("max", max) -2080 .param("offset", offset), -2081 new HistoryParser("result/events")); -2082 } -2083 -2084 /* -2085 * Nodes -2086 */ -2087 -2088 /** -2089 * List all nodes (for all projects) -2090 * -2091 * @return a {@link List} of {@link RundeckNode} : might be empty, but won't be null -2092 * @throws RundeckApiException in case of error when calling the API -2093 * @throws RundeckApiLoginException if the login failed -2094 */ -2095 public List<RundeckNode> getNodes() throws RundeckApiException, RundeckApiLoginException { -2096 List<RundeckNode> nodes = new ArrayList<RundeckNode>(); -2097 for (RundeckProject project : getProjects()) { -2098 nodes.addAll(getNodes(project.getName())); -2099 } -2100 return nodes; -2101 } -2102 -2103 /** -2104 * List all nodes that belongs to the given project -2105 * -2106 * @param project name of the project - mandatory -2107 * @return a {@link List} of {@link RundeckNode} : might be empty, but won't be null -2108 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -2109 * @throws RundeckApiLoginException if the login failed -2110 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) -2111 * @see #getNodes(String, Properties) -2112 */ -2113 public List<RundeckNode> getNodes(String project) throws RundeckApiException, RundeckApiLoginException, -2114 IllegalArgumentException { -2115 return getNodes(project, null); -2116 } -2117 -2118 /** -2119 * List nodes that belongs to the given project -2120 * -2121 * @param project name of the project - mandatory -2122 * @param nodeFilters for filtering the nodes - optional. See {@link NodeFiltersBuilder} -2123 * @return a {@link List} of {@link RundeckNode} : might be empty, but won't be null -2124 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) -2125 * @throws RundeckApiLoginException if the login failed -2126 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) -2127 */ -2128 public List<RundeckNode> getNodes(String project, Properties nodeFilters) throws RundeckApiException, -2129 RundeckApiLoginException, IllegalArgumentException { -2130 AssertUtil.notBlank(project, "project is mandatory to get all nodes !"); -2131 return new ApiCall(this).get(new ApiPathBuilder("/resources").param("project", project) -2132 .nodeFilters(nodeFilters), -2133 new ListParser<RundeckNode>(new NodeParser(), "project/node")); -2134 } -2135 -2136 /** -2137 * Get the definition of a single node -2138 * -2139 * @param name of the node - mandatory -2140 * @param project name of the project - mandatory -2141 * @return a {@link RundeckNode} instance - won't be null -2142 * @throws RundeckApiException in case of error when calling the API (non-existent name or project with this name) -2143 * @throws RundeckApiLoginException if the login failed -2144 * @throws IllegalArgumentException if the name or project is blank (null, empty or whitespace) -2145 */ -2146 public RundeckNode getNode(String name, String project) throws RundeckApiException, RundeckApiLoginException, -2147 IllegalArgumentException { -2148 AssertUtil.notBlank(name, "the name of the node is mandatory to get a node !"); -2149 AssertUtil.notBlank(project, "project is mandatory to get a node !"); -2150 return new ApiCall(this).get(new ApiPathBuilder("/resource/", name).param("project", project), -2151 new NodeParser("project/node")); -2152 } -2153 -2154 /* -2155 * System Info -2156 */ -2157 -2158 /** -2159 * Get system informations about the RunDeck server -2160 * -2161 * @return a {@link RundeckSystemInfo} instance - won't be null -2162 * @throws RundeckApiException in case of error when calling the API -2163 * @throws RundeckApiException if the login failed -2164 */ -2165 public RundeckSystemInfo getSystemInfo() throws RundeckApiException, RundeckApiLoginException { -2166 return new ApiCall(this).get(new ApiPathBuilder("/system/info"), new SystemInfoParser("result/system")); -2167 } -2168 -2169 /** -2170 * @return the URL of the RunDeck instance ("http://localhost:4440", "http://rundeck.your-compagny.com/", etc) -2171 */ -2172 public String getUrl() { -2173 return url; +1872 * @param project name of the project - mandatory +1873 * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null +1874 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +1875 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1876 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1877 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) +1878 * @see #getRunningExecutions() +1879 */ +1880 public List<RundeckExecution> getRunningExecutions(String project) throws RundeckApiException, +1881 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +1882 AssertUtil.notBlank(project, "project is mandatory get all running executions !"); +1883 return new ApiCall(this).get(new ApiPathBuilder("/executions/running").param("project", project), +1884 new ListParser<RundeckExecution>(new ExecutionParser(), +1885 "result/executions/execution")); +1886 } +1887 +1888 /** +1889 * Get the executions of the given job +1890 * +1891 * @param jobId identifier of the job - mandatory +1892 * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null +1893 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) +1894 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1895 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1896 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) +1897 * @see #getJobExecutions(String, RundeckExecution.ExecutionStatus, Long, Long) +1898 */ +1899 public List<RundeckExecution> getJobExecutions(String jobId) throws RundeckApiException, RundeckApiLoginException, +1900 RundeckApiTokenException, IllegalArgumentException { +1901 return getJobExecutions(jobId, (ExecutionStatus) null); +1902 } +1903 +1904 /** +1905 * Get the executions of the given job +1906 * +1907 * @param jobId identifier of the job - mandatory +1908 * @param status of the executions, see {@link ExecutionStatus} - optional (null for all) +1909 * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null +1910 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) +1911 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1912 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1913 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace), or the executionStatus is +1914 * invalid +1915 * @see #getJobExecutions(String, String, Long, Long) +1916 */ +1917 public List<RundeckExecution> getJobExecutions(String jobId, String status) throws RundeckApiException, +1918 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +1919 return getJobExecutions(jobId, +1920 StringUtils.isBlank(status) ? null : ExecutionStatus.valueOf(StringUtils.upperCase(status))); +1921 } +1922 +1923 /** +1924 * Get the executions of the given job +1925 * +1926 * @param jobId identifier of the job - mandatory +1927 * @param status of the executions, see {@link ExecutionStatus} - optional (null for all) +1928 * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null +1929 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) +1930 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1931 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1932 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) +1933 * @see #getJobExecutions(String, RundeckExecution.ExecutionStatus, Long, Long) +1934 */ +1935 public List<RundeckExecution> getJobExecutions(String jobId, ExecutionStatus status) throws RundeckApiException, +1936 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +1937 return getJobExecutions(jobId, status, null, null); +1938 } +1939 +1940 /** +1941 * Get the executions of the given job +1942 * +1943 * @param jobId identifier of the job - mandatory +1944 * @param status of the executions, see {@link ExecutionStatus} - optional (null for all) +1945 * @param max number of results to return - optional (null for all) +1946 * @param offset the 0-indexed offset for the first result to return - optional +1947 * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null +1948 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) +1949 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1950 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1951 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace), or the executionStatus is +1952 * invalid +1953 * @see #getJobExecutions(String, RundeckExecution.ExecutionStatus, Long, Long) +1954 */ +1955 public List<RundeckExecution> getJobExecutions(String jobId, String status, Long max, Long offset) +1956 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +1957 return getJobExecutions(jobId, +1958 StringUtils.isBlank(status) ? null : ExecutionStatus.valueOf(StringUtils.upperCase(status)), +1959 max, +1960 offset); +1961 } +1962 +1963 /** +1964 * Get the executions of the given job +1965 * +1966 * @param jobId identifier of the job - mandatory +1967 * @param status of the executions, see {@link ExecutionStatus} - optional (null for all) +1968 * @param max number of results to return - optional (null for all) +1969 * @param offset the 0-indexed offset for the first result to return - optional +1970 * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null +1971 * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID) +1972 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1973 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1974 * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace) +1975 */ +1976 public List<RundeckExecution> getJobExecutions(String jobId, ExecutionStatus status, Long max, Long offset) +1977 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +1978 AssertUtil.notBlank(jobId, "jobId is mandatory to get the executions of a job !"); +1979 return new ApiCall(this).get(new ApiPathBuilder("/job/", jobId, "/executions").param("status", status) +1980 .param("max", max) +1981 .param("offset", offset), +1982 new ListParser<RundeckExecution>(new ExecutionParser(), +1983 "result/executions/execution")); +1984 } +1985 +1986 /** +1987 * Get a single execution, identified by the given ID +1988 * +1989 * @param executionId identifier of the execution - mandatory +1990 * @return a {@link RundeckExecution} instance - won't be null +1991 * @throws RundeckApiException in case of error when calling the API (non-existent execution with this ID) +1992 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +1993 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +1994 * @throws IllegalArgumentException if the executionId is null +1995 */ +1996 public RundeckExecution getExecution(Long executionId) throws RundeckApiException, RundeckApiLoginException, +1997 RundeckApiTokenException, IllegalArgumentException { +1998 AssertUtil.notNull(executionId, "executionId is mandatory to get the details of an execution !"); +1999 return new ApiCall(this).get(new ApiPathBuilder("/execution/", executionId.toString()), +2000 new ExecutionParser("result/executions/execution")); +2001 } +2002 +2003 /** +2004 * Abort an execution (identified by the given ID). The execution should be running... +2005 * +2006 * @param executionId identifier of the execution - mandatory +2007 * @return a {@link RundeckAbort} instance - won't be null +2008 * @throws RundeckApiException in case of error when calling the API (non-existent execution with this ID) +2009 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +2010 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +2011 * @throws IllegalArgumentException if the executionId is null +2012 */ +2013 public RundeckAbort abortExecution(Long executionId) throws RundeckApiException, RundeckApiLoginException, +2014 RundeckApiTokenException, IllegalArgumentException { +2015 AssertUtil.notNull(executionId, "executionId is mandatory to abort an execution !"); +2016 return new ApiCall(this).get(new ApiPathBuilder("/execution/", executionId.toString(), "/abort"), +2017 new AbortParser("result/abort")); +2018 } +2019 +2020 /* +2021 * History +2022 */ +2023 +2024 /** +2025 * Get the (events) history for the given project +2026 * +2027 * @param project name of the project - mandatory +2028 * @return a {@link RundeckHistory} instance - won't be null +2029 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +2030 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +2031 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +2032 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) +2033 * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long) +2034 */ +2035 public RundeckHistory getHistory(String project) throws RundeckApiException, RundeckApiLoginException, +2036 RundeckApiTokenException, IllegalArgumentException { +2037 return getHistory(project, null, null, null, null, null, null, null, null); +2038 } +2039 +2040 /** +2041 * Get the (events) history for the given project +2042 * +2043 * @param project name of the project - mandatory +2044 * @param max number of results to return - optional (default to 20) +2045 * @param offset the 0-indexed offset for the first result to return - optional (default to O) +2046 * @return a {@link RundeckHistory} instance - won't be null +2047 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +2048 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +2049 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +2050 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) +2051 * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long) +2052 */ +2053 public RundeckHistory getHistory(String project, Long max, Long offset) throws RundeckApiException, +2054 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +2055 return getHistory(project, null, null, null, null, null, null, max, offset); +2056 } +2057 +2058 /** +2059 * Get the (events) history for the given project +2060 * +2061 * @param project name of the project - mandatory +2062 * @param jobId include only events matching the given job ID - optional +2063 * @param reportId include only events matching the given report ID - optional +2064 * @param user include only events created by the given user - optional +2065 * @return a {@link RundeckHistory} instance - won't be null +2066 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +2067 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +2068 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +2069 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) +2070 * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long) +2071 */ +2072 public RundeckHistory getHistory(String project, String jobId, String reportId, String user) +2073 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +2074 return getHistory(project, jobId, reportId, user, null, null, null, null, null); +2075 } +2076 +2077 /** +2078 * Get the (events) history for the given project +2079 * +2080 * @param project name of the project - mandatory +2081 * @param jobId include only events matching the given job ID - optional +2082 * @param reportId include only events matching the given report ID - optional +2083 * @param user include only events created by the given user - optional +2084 * @param max number of results to return - optional (default to 20) +2085 * @param offset the 0-indexed offset for the first result to return - optional (default to O) +2086 * @return a {@link RundeckHistory} instance - won't be null +2087 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +2088 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +2089 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +2090 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) +2091 * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long) +2092 */ +2093 public RundeckHistory getHistory(String project, String jobId, String reportId, String user, Long max, Long offset) +2094 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +2095 return getHistory(project, jobId, reportId, user, null, null, null, max, offset); +2096 } +2097 +2098 /** +2099 * Get the (events) history for the given project +2100 * +2101 * @param project name of the project - mandatory +2102 * @param recent include only events matching the given period of time. Format : "XY", where X is an integer, and Y +2103 * is one of : "h" (hour), "d" (day), "w" (week), "m" (month), "y" (year). Example : "2w" (= last 2 +2104 * weeks), "5d" (= last 5 days), etc. Optional. +2105 * @return a {@link RundeckHistory} instance - won't be null +2106 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +2107 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +2108 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +2109 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) +2110 * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long) +2111 */ +2112 public RundeckHistory getHistory(String project, String recent) throws RundeckApiException, +2113 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +2114 return getHistory(project, null, null, null, recent, null, null, null, null); +2115 } +2116 +2117 /** +2118 * Get the (events) history for the given project +2119 * +2120 * @param project name of the project - mandatory +2121 * @param recent include only events matching the given period of time. Format : "XY", where X is an integer, and Y +2122 * is one of : "h" (hour), "d" (day), "w" (week), "m" (month), "y" (year). Example : "2w" (= last 2 +2123 * weeks), "5d" (= last 5 days), etc. Optional. +2124 * @param max number of results to return - optional (default to 20) +2125 * @param offset the 0-indexed offset for the first result to return - optional (default to O) +2126 * @return a {@link RundeckHistory} instance - won't be null +2127 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +2128 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +2129 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +2130 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) +2131 * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long) +2132 */ +2133 public RundeckHistory getHistory(String project, String recent, Long max, Long offset) throws RundeckApiException, +2134 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +2135 return getHistory(project, null, null, null, recent, null, null, max, offset); +2136 } +2137 +2138 /** +2139 * Get the (events) history for the given project +2140 * +2141 * @param project name of the project - mandatory +2142 * @param begin date for the earlier events to retrieve - optional +2143 * @param end date for the latest events to retrieve - optional +2144 * @return a {@link RundeckHistory} instance - won't be null +2145 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +2146 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +2147 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +2148 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) +2149 * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long) +2150 */ +2151 public RundeckHistory getHistory(String project, Date begin, Date end) throws RundeckApiException, +2152 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +2153 return getHistory(project, null, null, null, null, begin, end, null, null); +2154 } +2155 +2156 /** +2157 * Get the (events) history for the given project +2158 * +2159 * @param project name of the project - mandatory +2160 * @param begin date for the earlier events to retrieve - optional +2161 * @param end date for the latest events to retrieve - optional +2162 * @param max number of results to return - optional (default to 20) +2163 * @param offset the 0-indexed offset for the first result to return - optional (default to O) +2164 * @return a {@link RundeckHistory} instance - won't be null +2165 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +2166 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +2167 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +2168 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) +2169 * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long) +2170 */ +2171 public RundeckHistory getHistory(String project, Date begin, Date end, Long max, Long offset) +2172 throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +2173 return getHistory(project, null, null, null, null, begin, end, max, offset); 2174 } 2175 2176 /** -2177 * @return the login used for authentication on the RunDeck instance -2178 */ -2179 public String getLogin() { -2180 return login; -2181 } -2182 -2183 /** -2184 * @return the password used for authentication on the RunDeck instance -2185 */ -2186 public String getPassword() { -2187 return password; -2188 } -2189 -2190 @Override -2191 public String toString() { -2192 return "RundeckClient " + API_VERSION + " [" + url + "] (credentials=" + login + "|" + password + ")"; -2193 } -2194 -2195 @Override -2196 public int hashCode() { -2197 final int prime = 31; -2198 int result = 1; -2199 result = prime * result + ((login == null) ? 0 : login.hashCode()); -2200 result = prime * result + ((password == null) ? 0 : password.hashCode()); -2201 result = prime * result + ((url == null) ? 0 : url.hashCode()); -2202 return result; -2203 } -2204 -2205 @Override -2206 public boolean equals(Object obj) { -2207 if (this == obj) -2208 return true; -2209 if (obj == null) -2210 return false; -2211 if (getClass() != obj.getClass()) -2212 return false; -2213 RundeckClient other = (RundeckClient) obj; -2214 if (login == null) { -2215 if (other.login != null) -2216 return false; -2217 } else if (!login.equals(other.login)) -2218 return false; -2219 if (password == null) { -2220 if (other.password != null) -2221 return false; -2222 } else if (!password.equals(other.password)) -2223 return false; -2224 if (url == null) { -2225 if (other.url != null) -2226 return false; -2227 } else if (!url.equals(other.url)) -2228 return false; -2229 return true; +2177 * Get the (events) history for the given project +2178 * +2179 * @param project name of the project - mandatory +2180 * @param jobId include only events matching the given job ID - optional +2181 * @param reportId include only events matching the given report ID - optional +2182 * @param user include only events created by the given user - optional +2183 * @param recent include only events matching the given period of time. Format : "XY", where X is an integer, and Y +2184 * is one of : "h" (hour), "d" (day), "w" (week), "m" (month), "y" (year). Example : "2w" (= last 2 +2185 * weeks), "5d" (= last 5 days), etc. Optional. +2186 * @param begin date for the earlier events to retrieve - optional +2187 * @param end date for the latest events to retrieve - optional +2188 * @param max number of results to return - optional (default to 20) +2189 * @param offset the 0-indexed offset for the first result to return - optional (default to O) +2190 * @return a {@link RundeckHistory} instance - won't be null +2191 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +2192 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +2193 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +2194 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) +2195 */ +2196 public RundeckHistory getHistory(String project, String jobId, String reportId, String user, String recent, +2197 Date begin, Date end, Long max, Long offset) throws RundeckApiException, RundeckApiLoginException, +2198 RundeckApiTokenException, IllegalArgumentException { +2199 AssertUtil.notBlank(project, "project is mandatory to get the history !"); +2200 return new ApiCall(this).get(new ApiPathBuilder("/history").param("project", project) +2201 .param("jobIdFilter", jobId) +2202 .param("reportIdFilter", reportId) +2203 .param("userFilter", user) +2204 .param("recentFilter", recent) +2205 .param("begin", begin) +2206 .param("end", end) +2207 .param("max", max) +2208 .param("offset", offset), +2209 new HistoryParser("result/events")); +2210 } +2211 +2212 /* +2213 * Nodes +2214 */ +2215 +2216 /** +2217 * List all nodes (for all projects) +2218 * +2219 * @return a {@link List} of {@link RundeckNode} : might be empty, but won't be null +2220 * @throws RundeckApiException in case of error when calling the API +2221 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +2222 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +2223 */ +2224 public List<RundeckNode> getNodes() throws RundeckApiException, RundeckApiLoginException, RundeckApiTokenException { +2225 List<RundeckNode> nodes = new ArrayList<RundeckNode>(); +2226 for (RundeckProject project : getProjects()) { +2227 nodes.addAll(getNodes(project.getName())); +2228 } +2229 return nodes; 2230 } 2231 -2232 } +2232 /** +2233 * List all nodes that belongs to the given project +2234 * +2235 * @param project name of the project - mandatory +2236 * @return a {@link List} of {@link RundeckNode} : might be empty, but won't be null +2237 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +2238 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +2239 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +2240 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) +2241 * @see #getNodes(String, Properties) +2242 */ +2243 public List<RundeckNode> getNodes(String project) throws RundeckApiException, RundeckApiLoginException, +2244 RundeckApiTokenException, IllegalArgumentException { +2245 return getNodes(project, null); +2246 } +2247 +2248 /** +2249 * List nodes that belongs to the given project +2250 * +2251 * @param project name of the project - mandatory +2252 * @param nodeFilters for filtering the nodes - optional. See {@link NodeFiltersBuilder} +2253 * @return a {@link List} of {@link RundeckNode} : might be empty, but won't be null +2254 * @throws RundeckApiException in case of error when calling the API (non-existent project with this name) +2255 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +2256 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +2257 * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) +2258 */ +2259 public List<RundeckNode> getNodes(String project, Properties nodeFilters) throws RundeckApiException, +2260 RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException { +2261 AssertUtil.notBlank(project, "project is mandatory to get all nodes !"); +2262 return new ApiCall(this).get(new ApiPathBuilder("/resources").param("project", project) +2263 .nodeFilters(nodeFilters), +2264 new ListParser<RundeckNode>(new NodeParser(), "project/node")); +2265 } +2266 +2267 /** +2268 * Get the definition of a single node +2269 * +2270 * @param name of the node - mandatory +2271 * @param project name of the project - mandatory +2272 * @return a {@link RundeckNode} instance - won't be null +2273 * @throws RundeckApiException in case of error when calling the API (non-existent name or project with this name) +2274 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +2275 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +2276 * @throws IllegalArgumentException if the name or project is blank (null, empty or whitespace) +2277 */ +2278 public RundeckNode getNode(String name, String project) throws RundeckApiException, RundeckApiLoginException, +2279 RundeckApiTokenException, IllegalArgumentException { +2280 AssertUtil.notBlank(name, "the name of the node is mandatory to get a node !"); +2281 AssertUtil.notBlank(project, "project is mandatory to get a node !"); +2282 return new ApiCall(this).get(new ApiPathBuilder("/resource/", name).param("project", project), +2283 new NodeParser("project/node")); +2284 } +2285 +2286 /* +2287 * System Info +2288 */ +2289 +2290 /** +2291 * Get system informations about the RunDeck server +2292 * +2293 * @return a {@link RundeckSystemInfo} instance - won't be null +2294 * @throws RundeckApiException in case of error when calling the API +2295 * @throws RundeckApiLoginException if the login fails (in case of login-based authentication) +2296 * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication) +2297 */ +2298 public RundeckSystemInfo getSystemInfo() throws RundeckApiException, RundeckApiLoginException, +2299 RundeckApiTokenException { +2300 return new ApiCall(this).get(new ApiPathBuilder("/system/info"), new SystemInfoParser("result/system")); +2301 } +2302 +2303 /** +2304 * @return the URL of the RunDeck instance ("http://localhost:4440", "http://rundeck.your-compagny.com/", etc) +2305 */ +2306 public String getUrl() { +2307 return url; +2308 } +2309 +2310 /** +2311 * @return the auth-token used for authentication on the RunDeck instance (null if using login-based auth) +2312 */ +2313 public String getToken() { +2314 return token; +2315 } +2316 +2317 /** +2318 * @return the login used for authentication on the RunDeck instance (null if using token-based auth) +2319 */ +2320 public String getLogin() { +2321 return login; +2322 } +2323 +2324 /** +2325 * @return the password used for authentication on the RunDeck instance (null if using token-based auth) +2326 */ +2327 public String getPassword() { +2328 return password; +2329 } +2330 +2331 @Override +2332 public String toString() { +2333 StringBuilder str = new StringBuilder(); +2334 str.append("RundeckClient ").append(API_VERSION); +2335 str.append(" [").append(url).append("] "); +2336 if (token != null) { +2337 str.append("(token=").append(token).append(")"); +2338 } else { +2339 str.append("(credentials=").append(login).append("|").append(password).append(")"); +2340 } +2341 return str.toString(); +2342 } +2343 +2344 @Override +2345 public int hashCode() { +2346 final int prime = 31; +2347 int result = 1; +2348 result = prime * result + ((login == null) ? 0 : login.hashCode()); +2349 result = prime * result + ((password == null) ? 0 : password.hashCode()); +2350 result = prime * result + ((token == null) ? 0 : token.hashCode()); +2351 result = prime * result + ((url == null) ? 0 : url.hashCode()); +2352 return result; +2353 } +2354 +2355 @Override +2356 public boolean equals(Object obj) { +2357 if (this == obj) +2358 return true; +2359 if (obj == null) +2360 return false; +2361 if (getClass() != obj.getClass()) +2362 return false; +2363 RundeckClient other = (RundeckClient) obj; +2364 if (login == null) { +2365 if (other.login != null) +2366 return false; +2367 } else if (!login.equals(other.login)) +2368 return false; +2369 if (password == null) { +2370 if (other.password != null) +2371 return false; +2372 } else if (!password.equals(other.password)) +2373 return false; +2374 if (token == null) { +2375 if (other.token != null) +2376 return false; +2377 } else if (!token.equals(other.token)) +2378 return false; +2379 if (url == null) { +2380 if (other.url != null) +2381 return false; +2382 } else if (!url.equals(other.url)) +2383 return false; +2384 return true; +2385 } +2386 +2387 }
    diff --git a/xref/org/rundeck/api/domain/package-frame.html b/xref/org/rundeck/api/domain/package-frame.html index 0f94162..f969bea 100644 --- a/xref/org/rundeck/api/domain/package-frame.html +++ b/xref/org/rundeck/api/domain/package-frame.html @@ -3,7 +3,7 @@ - RunDeck API - Java Client 1.2 Reference Package org.rundeck.api.domain + RunDeck API - Java Client 2.0-SNAPSHOT Reference Package org.rundeck.api.domain diff --git a/xref/org/rundeck/api/domain/package-summary.html b/xref/org/rundeck/api/domain/package-summary.html index f048f52..b72597f 100644 --- a/xref/org/rundeck/api/domain/package-summary.html +++ b/xref/org/rundeck/api/domain/package-summary.html @@ -3,7 +3,7 @@ - RunDeck API - Java Client 1.2 Reference Package org.rundeck.api.domain + RunDeck API - Java Client 2.0-SNAPSHOT Reference Package org.rundeck.api.domain diff --git a/xref/org/rundeck/api/package-frame.html b/xref/org/rundeck/api/package-frame.html index 41279b5..3db2354 100644 --- a/xref/org/rundeck/api/package-frame.html +++ b/xref/org/rundeck/api/package-frame.html @@ -3,7 +3,7 @@ - RunDeck API - Java Client 1.2 Reference Package org.rundeck.api + RunDeck API - Java Client 2.0-SNAPSHOT Reference Package org.rundeck.api @@ -29,12 +29,18 @@
  • OptionsBuilder +
  • +
  • + RundeckApiAuthException
  • RundeckApiException
  • RundeckApiLoginException +
  • +
  • + RundeckApiTokenException
  • RundeckClient diff --git a/xref/org/rundeck/api/package-summary.html b/xref/org/rundeck/api/package-summary.html index 2ef9a44..5a5c7b6 100644 --- a/xref/org/rundeck/api/package-summary.html +++ b/xref/org/rundeck/api/package-summary.html @@ -3,7 +3,7 @@ - RunDeck API - Java Client 1.2 Reference Package org.rundeck.api + RunDeck API - Java Client 2.0-SNAPSHOT Reference Package org.rundeck.api @@ -59,6 +59,11 @@
  • + + + + + +
    OptionsBuilder
    + RundeckApiAuthException +
    @@ -69,6 +74,11 @@ RundeckApiLoginException
    + RundeckApiTokenException +
    diff --git a/xref/org/rundeck/api/parser/package-frame.html b/xref/org/rundeck/api/parser/package-frame.html index 5dc0089..62eaaf9 100644 --- a/xref/org/rundeck/api/parser/package-frame.html +++ b/xref/org/rundeck/api/parser/package-frame.html @@ -3,7 +3,7 @@ - RunDeck API - Java Client 1.2 Reference Package org.rundeck.api.parser + RunDeck API - Java Client 2.0-SNAPSHOT Reference Package org.rundeck.api.parser diff --git a/xref/org/rundeck/api/parser/package-summary.html b/xref/org/rundeck/api/parser/package-summary.html index e248261..7ac9833 100644 --- a/xref/org/rundeck/api/parser/package-summary.html +++ b/xref/org/rundeck/api/parser/package-summary.html @@ -3,7 +3,7 @@ - RunDeck API - Java Client 1.2 Reference Package org.rundeck.api.parser + RunDeck API - Java Client 2.0-SNAPSHOT Reference Package org.rundeck.api.parser diff --git a/xref/org/rundeck/api/util/package-frame.html b/xref/org/rundeck/api/util/package-frame.html index 9eae2b7..f217c10 100644 --- a/xref/org/rundeck/api/util/package-frame.html +++ b/xref/org/rundeck/api/util/package-frame.html @@ -3,7 +3,7 @@ - RunDeck API - Java Client 1.2 Reference Package org.rundeck.api.util + RunDeck API - Java Client 2.0-SNAPSHOT Reference Package org.rundeck.api.util diff --git a/xref/org/rundeck/api/util/package-summary.html b/xref/org/rundeck/api/util/package-summary.html index 985ab36..ac7e1fc 100644 --- a/xref/org/rundeck/api/util/package-summary.html +++ b/xref/org/rundeck/api/util/package-summary.html @@ -3,7 +3,7 @@ - RunDeck API - Java Client 1.2 Reference Package org.rundeck.api.util + RunDeck API - Java Client 2.0-SNAPSHOT Reference Package org.rundeck.api.util diff --git a/xref/overview-frame.html b/xref/overview-frame.html index dc9737c..48ef7d7 100644 --- a/xref/overview-frame.html +++ b/xref/overview-frame.html @@ -3,7 +3,7 @@ - RunDeck API - Java Client 1.2 Reference + RunDeck API - Java Client 2.0-SNAPSHOT Reference diff --git a/xref/overview-summary.html b/xref/overview-summary.html index 1d0d416..7cd8e1a 100644 --- a/xref/overview-summary.html +++ b/xref/overview-summary.html @@ -3,7 +3,7 @@ - RunDeck API - Java Client 1.2 Reference + RunDeck API - Java Client 2.0-SNAPSHOT Reference @@ -24,7 +24,7 @@ -

    RunDeck API - Java Client 1.2 Reference

    +

    RunDeck API - Java Client 2.0-SNAPSHOT Reference