001 /** 002 * Copyright (c) 2010 Yahoo! Inc. All rights reserved. 003 * Licensed under the Apache License, Version 2.0 (the "License"); 004 * you may not use this file except in compliance with the License. 005 * You may obtain a copy of the License at 006 * 007 * http://www.apache.org/licenses/LICENSE-2.0 008 * 009 * Unless required by applicable law or agreed to in writing, software 010 * distributed under the License is distributed on an "AS IS" BASIS, 011 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 012 * See the License for the specific language governing permissions and 013 * limitations under the License. See accompanying LICENSE file. 014 */ 015 package org.apache.oozie.client; 016 017 import java.util.List; 018 import java.util.Date; 019 020 /** 021 * Bean that represents an Oozie application instance. 022 */ 023 024 public interface CoordinatorAction { 025 /** 026 * Defines the possible stati of an application instance. 027 */ 028 public static enum Status { 029 WAITING, 030 READY, 031 SUBMITTED, 032 RUNNING, 033 TIMEDOUT, 034 SUCCEEDED, 035 KILLED, 036 FAILED, 037 DISCARDED 038 } 039 040 /** 041 * Return the coordinator job ID. 042 * 043 * @return the coordinator job ID. 044 */ 045 String getJobId(); 046 047 /** 048 * Return the application instance ID. 049 * 050 * @return the application instance ID. 051 */ 052 String getId(); 053 054 /** 055 * Return the nominal time for the application instance 056 * 057 * @return the nominal time for the application instance 058 */ 059 Date getNominalTime(); 060 061 /** 062 * Return the creation time for the application instance 063 * 064 * @return the creation time for the application instance 065 */ 066 Date getCreatedTime(); 067 068 /** 069 * Return the application instance ?? created configuration. 070 * 071 * @return the application instance configuration. 072 */ 073 String getCreatedConf(); 074 075 076 /** 077 * Return the last modified time 078 * 079 * @return the last modified time 080 */ 081 Date getLastModifiedTime(); 082 083 /** 084 * Return the action number 085 * 086 * @return the action number 087 */ 088 int getActionNumber(); 089 090 /** 091 * Return the run-time configuration 092 * 093 * @return the run-time configuration 094 */ 095 String getRunConf(); 096 097 /** 098 * Return the current status of the application instance. 099 * 100 * @return the current status of the application instance. 101 */ 102 Status getStatus(); 103 104 /** 105 * Return the missing dependencies for the particular action 106 * 107 * @return the missing dependencies for the particular action 108 */ 109 String getMissingDependencies(); 110 111 112 /** 113 * Return the external status of the application instance. 114 * 115 * @return the external status of the application instance. 116 */ 117 String getExternalStatus(); 118 119 /** 120 * Return the URL to programmatically track the status of the application instance. 121 * 122 * @return the URL to programmatically track the status of the application instance. 123 */ 124 String getTrackerUri(); 125 126 /** 127 * Return the URL to the web console of the system executing the application instance. 128 * 129 * @return the URL to the web console of the system executing the application instance. 130 */ 131 String getConsoleUrl(); 132 133 /** 134 * Return the error code of the application instance, if it ended in ERROR. 135 * 136 * @return the error code of the application instance. 137 */ 138 String getErrorCode(); 139 140 /** 141 * Return the error message of the application instance, if it ended in ERROR. 142 * 143 * @return the error message of the application instance. 144 */ 145 String getErrorMessage(); 146 147 void setErrorCode(String errorCode); 148 149 void setErrorMessage(String errorMessage); 150 151 String getExternalId(); 152 153 }