2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Copyright (C) 2017 Amdocs
\r
8 * =============================================================================
\r
9 * Licensed under the Apache License, Version 2.0 (the "License");
\r
10 * you may not use this file except in compliance with the License.
\r
11 * You may obtain a copy of the License at
\r
13 * http://www.apache.org/licenses/LICENSE-2.0
\r
15 * Unless required by applicable law or agreed to in writing, software
\r
16 * distributed under the License is distributed on an "AS IS" BASIS,
\r
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
18 * See the License for the specific language governing permissions and
\r
19 * limitations under the License.
\r
21 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
22 * ============LICENSE_END=========================================================
\r
25 package org.openecomp.appc.statemachine.impl.readers;
\r
27 import org.openecomp.appc.statemachine.StateMetaDataReader;
\r
28 import org.openecomp.appc.lifecyclemanager.objects.VNFOperationOutcome;
\r
29 import org.openecomp.appc.statemachine.objects.Event;
\r
30 import org.openecomp.appc.statemachine.objects.State;
\r
31 import org.openecomp.appc.statemachine.objects.StateMachineMetadata;
\r
33 public class VnfMetaDataReader implements StateMetaDataReader {
\r
35 public enum VNFOperation {
\r
37 Configure, Test, HealthCheck, Start, Terminate, Restart, Rebuild, Stop, ConfigModify,
\r
38 ConfigScaleOut,ConfigRestore,Backup, Snapshot,
\r
39 SoftwareUpload, LiveUpgrade, Rollback, Sync, Audit, Test_lic, Migrate, Evacuate,
\r
40 ConfigBackup, ConfigBackupDelete, ConfigExport,
\r
41 Lock(true), Unlock(true), CheckLock(true), StartApplication,StopApplication;
\r
43 private boolean builtIn;
\r
45 VNFOperation(boolean builtIn) {
\r
46 this.builtIn = builtIn;
\r
54 private enum VNFStates {
\r
55 Not_Instantiated, Instantiated, Configuring, Configured, Testing, Tested, Rebuilding, Restarting, Starting,
\r
56 Error, Running, Unknown, Terminating, Stopping, Stopped,
\r
57 Backing_Up, Snapshotting, Software_Uploading, Upgrading, Rollbacking, Licensing, Migrating, Evacuating,
\r
58 NOT_ORCHESTRATED("NOT ORCHESTRATED"), Created;
\r
62 VNFStates(String name) {
\r
63 this.stateName = name;
\r
67 this.stateName = name();
\r
71 public String toString() {
\r
72 return this.stateName;
\r
76 public StateMachineMetadata readMetadata() {
\r
78 State NOT_INSTANTIATED = new State(VNFStates.Not_Instantiated.toString());
\r
79 State INSTANTIATED = new State(VNFStates.Instantiated.toString());
\r
80 State CONFIGURING = new State(VNFStates.Configuring.toString());
\r
81 State CONFIGURED = new State(VNFStates.Configured.toString());
\r
82 State TESTING = new State(VNFStates.Testing.toString());
\r
83 State TESTED = new State(VNFStates.Tested.toString());
\r
84 State REBUILDING = new State(VNFStates.Rebuilding.toString());
\r
85 State RESTARTING = new State(VNFStates.Restarting.toString());
\r
86 State STARTING = new State(VNFStates.Starting.toString());
\r
87 State ERROR = new State(VNFStates.Error.toString());
\r
88 State RUNNING = new State(VNFStates.Running.toString());
\r
89 State UNKNOWN = new State(VNFStates.Unknown.toString());
\r
90 State TERMINATING = new State(VNFStates.Terminating.toString());
\r
91 State STOPPING = new State(VNFStates.Stopping.toString());
\r
92 State STOPPED = new State(VNFStates.Stopped.toString());
\r
93 State NOT_ORCHESTRATED = new State(VNFStates.NOT_ORCHESTRATED.toString());
\r
95 State BACKING_UP = new State(VNFStates.Backing_Up.toString());
\r
96 State SNAPSHOTTING = new State(VNFStates.Snapshotting.toString());
\r
97 State SOFTWARE_UPLOADING = new State(VNFStates.Software_Uploading.toString());
\r
98 State UPGRADING = new State(VNFStates.Upgrading.toString());
\r
99 State ROLLBACKING = new State(VNFStates.Rollbacking.toString());
\r
101 State MIGRATING = new State(VNFStates.Migrating.toString());
\r
102 State EVACUATING = new State(VNFStates.Evacuating.toString());
\r
103 State CREATED= new State(VNFStates.Created.toString());
\r
105 Event START_APPLICATION = new Event(VNFOperation.StartApplication.toString());
\r
106 Event CONFIGURE = new Event(VNFOperation.Configure.toString());
\r
107 Event HEALTHCHECK = new Event(VNFOperation.HealthCheck.toString());
\r
108 Event TEST = new Event(VNFOperation.Test.toString());
\r
109 Event START = new Event(VNFOperation.Start.toString());
\r
110 Event TERMINATE = new Event(VNFOperation.Terminate.toString());
\r
111 Event RESTART = new Event(VNFOperation.Restart.toString());
\r
112 Event REBUILD = new Event(VNFOperation.Rebuild.toString());
\r
113 Event STOP = new Event(VNFOperation.Stop.toString());
\r
114 Event CONFIG_MODIFY = new Event(VNFOperation.ConfigModify.toString());
\r
115 Event CONFIG_SCALEOUT = new Event(VNFOperation.ConfigScaleOut.toString());
\r
116 Event CONFIG_RESTORE = new Event(VNFOperation.ConfigRestore.toString());
\r
117 Event BACKUP = new Event(VNFOperation.Backup.toString());
\r
118 Event SNAPSHOT = new Event(VNFOperation.Snapshot.toString());
\r
119 Event SOFTWARE_UPLOAD = new Event(VNFOperation.SoftwareUpload.toString());
\r
120 Event LIVE_UPGRADE = new Event(VNFOperation.LiveUpgrade.toString());
\r
121 Event ROLLBACK = new Event(VNFOperation.Rollback.toString());
\r
122 Event SYNC = new Event(VNFOperation.Sync.toString());
\r
123 Event AUDIT = new Event(VNFOperation.Audit.toString());
\r
124 Event MIGRATE = new Event(VNFOperation.Migrate.toString());
\r
125 Event EVACUATE = new Event(VNFOperation.Evacuate.toString());
\r
126 Event CONFIG_BACKUP = new Event(VNFOperation.ConfigBackup.toString());
\r
127 Event CONFIG_BACKUP_DELETE = new Event(VNFOperation.ConfigBackupDelete.toString());
\r
128 Event CONFIG_EXPORT = new Event(VNFOperation.ConfigExport.toString());
\r
129 Event STOP_APPLICATION= new Event(VNFOperation.StopApplication.toString());
\r
131 Event LOCK = new Event(VNFOperation.Lock.toString());
\r
132 Event UNLOCK = new Event(VNFOperation.Unlock.toString());
\r
133 Event CHECKLOCK = new Event(VNFOperation.CheckLock.toString());
\r
135 Event SUCCESS = new Event(VNFOperationOutcome.SUCCESS.toString());
\r
136 Event FAILURE = new Event(VNFOperationOutcome.FAILURE.toString());
\r
139 StateMachineMetadata.StateMachineMetadataBuilder builder = new StateMachineMetadata.StateMachineMetadataBuilder();
\r
141 builder = builder.addState(NOT_INSTANTIATED);
\r
142 builder = builder.addState(INSTANTIATED);
\r
143 builder = builder.addState(CONFIGURING);
\r
144 builder = builder.addState(CONFIGURED);
\r
145 builder = builder.addState(TESTING);
\r
146 builder = builder.addState(TESTED);
\r
147 builder = builder.addState(REBUILDING);
\r
148 builder = builder.addState(RESTARTING);
\r
149 builder = builder.addState(STARTING);
\r
150 builder = builder.addState(ERROR);
\r
151 builder = builder.addState(RUNNING);
\r
152 builder = builder.addState(UNKNOWN);
\r
153 builder = builder.addState(TERMINATING);
\r
154 builder = builder.addState(STOPPING);
\r
155 builder = builder.addState(STOPPED);
\r
157 builder = builder.addState(BACKING_UP);
\r
158 builder = builder.addState(SNAPSHOTTING);
\r
159 builder = builder.addState(SOFTWARE_UPLOADING);
\r
160 builder = builder.addState(UPGRADING);
\r
161 builder = builder.addState(ROLLBACKING);
\r
162 builder = builder.addState(MIGRATING);
\r
163 builder = builder.addState(EVACUATING);
\r
164 builder = builder.addState(NOT_ORCHESTRATED);
\r
165 builder = builder.addState(CREATED);
\r
166 builder = builder.addEvent(START_APPLICATION);
\r
167 builder = builder.addEvent(CONFIGURE);
\r
168 builder = builder.addEvent(TEST);
\r
169 builder = builder.addEvent(START);
\r
170 builder = builder.addEvent(TERMINATE);
\r
171 builder = builder.addEvent(RESTART);
\r
172 builder = builder.addEvent(REBUILD);
\r
173 builder = builder.addEvent(SUCCESS);
\r
174 builder = builder.addEvent(FAILURE);
\r
175 builder = builder.addEvent(STOP);
\r
176 builder = builder.addEvent(CONFIG_MODIFY);
\r
177 builder = builder.addEvent(CONFIG_SCALEOUT);
\r
178 builder = builder.addEvent(CONFIG_RESTORE);
\r
179 builder = builder.addEvent(HEALTHCHECK);
\r
180 builder = builder.addEvent(BACKUP);
\r
181 builder = builder.addEvent(SNAPSHOT);
\r
182 builder = builder.addEvent(SOFTWARE_UPLOAD);
\r
183 builder = builder.addEvent(LIVE_UPGRADE);
\r
184 builder = builder.addEvent(ROLLBACK);
\r
185 builder = builder.addEvent(SYNC);
\r
186 builder = builder.addEvent(AUDIT);
\r
187 builder = builder.addEvent(MIGRATE);
\r
188 builder = builder.addEvent(EVACUATE);
\r
189 builder = builder.addEvent(LOCK);
\r
190 builder = builder.addEvent(UNLOCK);
\r
191 builder = builder.addEvent(CHECKLOCK);
\r
192 builder = builder.addEvent(CONFIG_BACKUP);
\r
193 builder = builder.addEvent(CONFIG_BACKUP_DELETE);
\r
194 builder = builder.addEvent(CONFIG_EXPORT);
\r
195 builder = builder.addEvent(STOP_APPLICATION);
\r
197 builder = builder.addTransition(NOT_ORCHESTRATED,CONFIGURE,CONFIGURING);
\r
198 builder = builder.addTransition(NOT_ORCHESTRATED,TEST,TESTING);
\r
199 builder = builder.addTransition(NOT_ORCHESTRATED,START,STARTING);
\r
200 builder = builder.addTransition(NOT_ORCHESTRATED,TERMINATE,TERMINATING);
\r
201 builder = builder.addTransition(NOT_ORCHESTRATED,RESTART,RESTARTING);
\r
202 builder = builder.addTransition(NOT_ORCHESTRATED,REBUILD,REBUILDING);
\r
203 builder = builder.addTransition(NOT_ORCHESTRATED,STOP,STOPPING);
\r
204 builder = builder.addTransition(NOT_ORCHESTRATED,CONFIG_MODIFY,CONFIGURING);
\r
205 builder = builder.addTransition(NOT_ORCHESTRATED,CONFIG_SCALEOUT,CONFIGURING);
\r
206 builder = builder.addTransition(NOT_ORCHESTRATED,CONFIG_RESTORE,CONFIGURING);
\r
207 builder = builder.addTransition(NOT_ORCHESTRATED,HEALTHCHECK,TESTING);
\r
208 builder = builder.addTransition(NOT_ORCHESTRATED,BACKUP,BACKING_UP);
\r
209 builder = builder.addTransition(NOT_ORCHESTRATED,SNAPSHOT,SNAPSHOTTING);
\r
210 builder = builder.addTransition(NOT_ORCHESTRATED,SOFTWARE_UPLOAD,SOFTWARE_UPLOADING);
\r
211 builder = builder.addTransition(NOT_ORCHESTRATED,LIVE_UPGRADE,UPGRADING);
\r
212 builder = builder.addTransition(NOT_ORCHESTRATED,ROLLBACK,ROLLBACKING);
\r
213 builder = builder.addTransition(NOT_ORCHESTRATED,MIGRATE,MIGRATING);
\r
214 builder = builder.addTransition(NOT_ORCHESTRATED,EVACUATE,EVACUATING);
\r
215 builder = builder.addTransition(NOT_ORCHESTRATED,LOCK,NOT_ORCHESTRATED);
\r
216 builder = builder.addTransition(NOT_ORCHESTRATED,UNLOCK,NOT_ORCHESTRATED);
\r
217 builder = builder.addTransition(NOT_ORCHESTRATED,CHECKLOCK,NOT_ORCHESTRATED);
\r
218 builder = builder.addTransition(NOT_ORCHESTRATED,START_APPLICATION,STARTING);
\r
219 builder = builder.addTransition(NOT_ORCHESTRATED,STOP_APPLICATION,STOPPING);
\r
220 builder = builder.addTransition(NOT_ORCHESTRATED,CONFIG_BACKUP,NOT_ORCHESTRATED);
\r
222 builder = builder.addTransition(CREATED,CONFIGURE,CONFIGURING);
\r
223 builder = builder.addTransition(CREATED,TEST,TESTING);
\r
224 builder = builder.addTransition(CREATED,START,STARTING);
\r
225 builder = builder.addTransition(CREATED,TERMINATE,TERMINATING);
\r
226 builder = builder.addTransition(CREATED,RESTART,RESTARTING);
\r
227 builder = builder.addTransition(CREATED,REBUILD,REBUILDING);
\r
228 builder = builder.addTransition(CREATED,STOP,STOPPING);
\r
229 builder = builder.addTransition(CREATED,CONFIG_MODIFY,CONFIGURING);
\r
230 builder = builder.addTransition(CREATED,CONFIG_SCALEOUT,CONFIGURING);
\r
231 builder = builder.addTransition(CREATED,CONFIG_RESTORE,CONFIGURING);
\r
232 builder = builder.addTransition(CREATED,HEALTHCHECK,TESTING);
\r
233 builder = builder.addTransition(CREATED,BACKUP,BACKING_UP);
\r
234 builder = builder.addTransition(CREATED,SNAPSHOT,SNAPSHOTTING);
\r
235 builder = builder.addTransition(CREATED,SOFTWARE_UPLOAD,SOFTWARE_UPLOADING);
\r
236 builder = builder.addTransition(CREATED,LIVE_UPGRADE,UPGRADING);
\r
237 builder = builder.addTransition(CREATED,ROLLBACK,ROLLBACKING);
\r
238 builder = builder.addTransition(CREATED,MIGRATE,MIGRATING);
\r
239 builder = builder.addTransition(CREATED,EVACUATE,EVACUATING);
\r
240 builder = builder.addTransition(CREATED,LOCK,CREATED);
\r
241 builder = builder.addTransition(CREATED,UNLOCK,CREATED);
\r
242 builder = builder.addTransition(CREATED,CHECKLOCK,CREATED);
\r
243 builder = builder.addTransition(CREATED,START_APPLICATION,STARTING);
\r
244 builder = builder.addTransition(CREATED,STOP_APPLICATION,STOPPING);
\r
245 builder = builder.addTransition(CREATED,CONFIG_BACKUP,CREATED);
\r
247 builder = builder.addTransition(INSTANTIATED,CONFIGURE,CONFIGURING);
\r
248 builder = builder.addTransition(INSTANTIATED,TEST,TESTING);
\r
249 builder = builder.addTransition(INSTANTIATED,START,STARTING);
\r
250 builder = builder.addTransition(INSTANTIATED,TERMINATE,TERMINATING);
\r
251 builder = builder.addTransition(INSTANTIATED,RESTART,RESTARTING);
\r
252 builder = builder.addTransition(INSTANTIATED,REBUILD,REBUILDING);
\r
253 builder = builder.addTransition(INSTANTIATED,STOP,STOPPING);
\r
254 builder = builder.addTransition(INSTANTIATED,CONFIG_MODIFY,CONFIGURING);
\r
255 builder = builder.addTransition(INSTANTIATED,CONFIG_SCALEOUT,CONFIGURING);
\r
256 builder = builder.addTransition(INSTANTIATED,CONFIG_RESTORE,CONFIGURING);
\r
257 builder = builder.addTransition(INSTANTIATED,HEALTHCHECK,TESTING);
\r
258 builder = builder.addTransition(INSTANTIATED,BACKUP,BACKING_UP);
\r
259 builder = builder.addTransition(INSTANTIATED,SNAPSHOT,SNAPSHOTTING);
\r
260 builder = builder.addTransition(INSTANTIATED,SOFTWARE_UPLOAD,SOFTWARE_UPLOADING);
\r
261 builder = builder.addTransition(INSTANTIATED,LIVE_UPGRADE,UPGRADING);
\r
262 builder = builder.addTransition(INSTANTIATED,ROLLBACK,ROLLBACKING);
\r
263 builder = builder.addTransition(INSTANTIATED,MIGRATE,MIGRATING);
\r
264 builder = builder.addTransition(INSTANTIATED,EVACUATE,EVACUATING);
\r
265 builder = builder.addTransition(INSTANTIATED,LOCK,INSTANTIATED);
\r
266 builder = builder.addTransition(INSTANTIATED,UNLOCK,INSTANTIATED);
\r
267 builder = builder.addTransition(INSTANTIATED,CHECKLOCK,INSTANTIATED);
\r
269 builder = builder.addTransition(CONFIGURED,CONFIGURE,CONFIGURING);
\r
270 builder = builder.addTransition(CONFIGURED,TEST,TESTING);
\r
271 builder = builder.addTransition(CONFIGURED,START,STARTING);
\r
272 builder = builder.addTransition(CONFIGURED,TERMINATE,TERMINATING);
\r
273 builder = builder.addTransition(CONFIGURED,RESTART,RESTARTING);
\r
274 builder = builder.addTransition(CONFIGURED,REBUILD,REBUILDING);
\r
275 builder = builder.addTransition(CONFIGURED,STOP,STOPPING);
\r
276 builder = builder.addTransition(CONFIGURED,CONFIG_MODIFY,CONFIGURING);
\r
277 builder = builder.addTransition(CONFIGURED,CONFIG_SCALEOUT,CONFIGURING);
\r
278 builder = builder.addTransition(CONFIGURED,CONFIG_RESTORE,CONFIGURING);
\r
279 builder = builder.addTransition(CONFIGURED,HEALTHCHECK,TESTING);
\r
280 builder = builder.addTransition(CONFIGURED,BACKUP,BACKING_UP);
\r
281 builder = builder.addTransition(CONFIGURED,SNAPSHOT,SNAPSHOTTING);
\r
282 builder = builder.addTransition(CONFIGURED,SOFTWARE_UPLOAD,SOFTWARE_UPLOADING);
\r
283 builder = builder.addTransition(CONFIGURED,LIVE_UPGRADE,UPGRADING);
\r
284 builder = builder.addTransition(CONFIGURED,ROLLBACK,ROLLBACKING);
\r
285 builder = builder.addTransition(CONFIGURED,SYNC,CONFIGURED);
\r
286 builder = builder.addTransition(CONFIGURED,AUDIT,CONFIGURED);
\r
287 builder = builder.addTransition(CONFIGURED,MIGRATE,MIGRATING);
\r
288 builder = builder.addTransition(CONFIGURED,EVACUATE,EVACUATING);
\r
289 builder = builder.addTransition(CONFIGURED,LOCK,CONFIGURED);
\r
290 builder = builder.addTransition(CONFIGURED,UNLOCK,CONFIGURED);
\r
291 builder = builder.addTransition(CONFIGURED,CHECKLOCK,CONFIGURED);
\r
292 builder = builder.addTransition(CONFIGURED,CONFIG_BACKUP,CONFIGURED);
\r
293 builder = builder.addTransition(CONFIGURED,CONFIG_BACKUP_DELETE,CONFIGURED);
\r
294 builder = builder.addTransition(CONFIGURED,CONFIG_EXPORT,CONFIGURED);
\r
295 builder = builder.addTransition(CONFIGURED,STOP_APPLICATION,STOPPING);
\r
297 builder = builder.addTransition(TESTED,CONFIGURE,CONFIGURING);
\r
298 builder = builder.addTransition(TESTED,TEST,TESTING);
\r
299 builder = builder.addTransition(TESTED,START,STARTING);
\r
300 builder = builder.addTransition(TESTED,TERMINATE,TERMINATING);
\r
301 builder = builder.addTransition(TESTED,RESTART,RESTARTING);
\r
302 builder = builder.addTransition(TESTED,REBUILD,REBUILDING);
\r
303 builder = builder.addTransition(TESTED,STOP,STOPPING);
\r
304 builder = builder.addTransition(TESTED,CONFIG_MODIFY,CONFIGURING);
\r
305 builder = builder.addTransition(TESTED,CONFIG_SCALEOUT,CONFIGURING);
\r
306 builder = builder.addTransition(TESTED,CONFIG_RESTORE,CONFIGURING);
\r
307 builder = builder.addTransition(TESTED,HEALTHCHECK,TESTING);
\r
308 builder = builder.addTransition(TESTED,BACKUP,BACKING_UP);
\r
309 builder = builder.addTransition(TESTED,SNAPSHOT,SNAPSHOTTING);
\r
310 builder = builder.addTransition(TESTED,SOFTWARE_UPLOAD,SOFTWARE_UPLOADING);
\r
311 builder = builder.addTransition(TESTED,LIVE_UPGRADE,UPGRADING);
\r
312 builder = builder.addTransition(TESTED,ROLLBACK,ROLLBACKING);
\r
313 builder = builder.addTransition(TESTED,SYNC,TESTED);
\r
314 builder = builder.addTransition(TESTED,AUDIT,TESTED);
\r
315 builder = builder.addTransition(TESTED,MIGRATE,MIGRATING);
\r
316 builder = builder.addTransition(TESTED,EVACUATE,EVACUATING);
\r
317 builder = builder.addTransition(TESTED,LOCK,TESTED);
\r
318 builder = builder.addTransition(TESTED,UNLOCK,TESTED);
\r
319 builder = builder.addTransition(TESTED,CHECKLOCK,TESTED);
\r
320 builder = builder.addTransition(TESTED,CONFIG_BACKUP,TESTED);
\r
321 builder = builder.addTransition(TESTED,CONFIG_BACKUP_DELETE,TESTED);
\r
322 builder = builder.addTransition(TESTED,CONFIG_EXPORT,TESTED);
\r
323 builder = builder.addTransition(TESTED,STOP_APPLICATION,STOPPING);
\r
325 builder = builder.addTransition(RUNNING,CONFIGURE,CONFIGURING);
\r
326 builder = builder.addTransition(RUNNING,TEST,TESTING);
\r
327 builder = builder.addTransition(RUNNING,START,STARTING);
\r
328 builder = builder.addTransition(RUNNING,TERMINATE,TERMINATING);
\r
329 builder = builder.addTransition(RUNNING,RESTART,RESTARTING);
\r
330 builder = builder.addTransition(RUNNING,REBUILD,REBUILDING);
\r
331 builder = builder.addTransition(RUNNING,STOP,STOPPING);
\r
332 builder = builder.addTransition(RUNNING,CONFIG_MODIFY,CONFIGURING);
\r
333 builder = builder.addTransition(RUNNING,CONFIG_SCALEOUT,CONFIGURING);
\r
334 builder = builder.addTransition(RUNNING,CONFIG_RESTORE,CONFIGURING);
\r
335 builder = builder.addTransition(RUNNING,HEALTHCHECK,TESTING);
\r
336 builder = builder.addTransition(RUNNING,BACKUP,BACKING_UP);
\r
337 builder = builder.addTransition(RUNNING,SNAPSHOT,SNAPSHOTTING);
\r
338 builder = builder.addTransition(RUNNING,SOFTWARE_UPLOAD,SOFTWARE_UPLOADING);
\r
339 builder = builder.addTransition(RUNNING,LIVE_UPGRADE,UPGRADING);
\r
340 builder = builder.addTransition(RUNNING,ROLLBACK,ROLLBACKING);
\r
341 builder = builder.addTransition(RUNNING,SYNC,RUNNING);
\r
342 builder = builder.addTransition(RUNNING,AUDIT,RUNNING);
\r
343 builder = builder.addTransition(RUNNING,MIGRATE,MIGRATING);
\r
344 builder = builder.addTransition(RUNNING,EVACUATE,EVACUATING);
\r
345 builder = builder.addTransition(RUNNING,LOCK,RUNNING);
\r
346 builder = builder.addTransition(RUNNING,UNLOCK,RUNNING);
\r
347 builder = builder.addTransition(RUNNING,CHECKLOCK,RUNNING);
\r
348 builder = builder.addTransition(RUNNING,CONFIG_BACKUP,RUNNING);
\r
349 builder = builder.addTransition(RUNNING,CONFIG_BACKUP_DELETE,RUNNING);
\r
350 builder = builder.addTransition(RUNNING,CONFIG_EXPORT,RUNNING);
\r
351 builder = builder.addTransition(RUNNING,STOP_APPLICATION,STOPPING);
\r
353 builder = builder.addTransition(ERROR,CONFIGURE,CONFIGURING);
\r
354 builder = builder.addTransition(ERROR,TEST,TESTING);
\r
355 builder = builder.addTransition(ERROR,START,STARTING);
\r
356 builder = builder.addTransition(ERROR,TERMINATE,TERMINATING);
\r
357 builder = builder.addTransition(ERROR,RESTART,RESTARTING);
\r
358 builder = builder.addTransition(ERROR,REBUILD,REBUILDING);
\r
359 builder = builder.addTransition(ERROR,STOP,STOPPING);
\r
360 builder = builder.addTransition(ERROR,CONFIG_MODIFY,CONFIGURING);
\r
361 builder = builder.addTransition(ERROR,CONFIG_SCALEOUT,CONFIGURING);
\r
362 builder = builder.addTransition(ERROR,CONFIG_RESTORE,CONFIGURING);
\r
363 builder = builder.addTransition(ERROR,HEALTHCHECK,TESTING);
\r
364 builder = builder.addTransition(ERROR,BACKUP,BACKING_UP);
\r
365 builder = builder.addTransition(ERROR,SNAPSHOT,SNAPSHOTTING);
\r
366 builder = builder.addTransition(ERROR,SOFTWARE_UPLOAD,SOFTWARE_UPLOADING);
\r
367 builder = builder.addTransition(ERROR,LIVE_UPGRADE,UPGRADING);
\r
368 builder = builder.addTransition(ERROR,ROLLBACK,ROLLBACKING);
\r
369 builder = builder.addTransition(ERROR,SYNC,ERROR);
\r
370 builder = builder.addTransition(ERROR,AUDIT,ERROR);
\r
371 builder = builder.addTransition(ERROR,MIGRATE,MIGRATING);
\r
372 builder = builder.addTransition(ERROR,EVACUATE,EVACUATING);
\r
373 builder = builder.addTransition(ERROR,LOCK,ERROR);
\r
374 builder = builder.addTransition(ERROR,UNLOCK,ERROR);
\r
375 builder = builder.addTransition(ERROR,CHECKLOCK,ERROR);
\r
376 builder = builder.addTransition(ERROR,CONFIG_BACKUP,ERROR);
\r
377 builder = builder.addTransition(ERROR,CONFIG_BACKUP_DELETE,ERROR);
\r
378 builder = builder.addTransition(ERROR,CONFIG_EXPORT,ERROR);
\r
379 builder = builder.addTransition(ERROR,STOP_APPLICATION,STOPPING);
\r
381 builder = builder.addTransition(UNKNOWN,CONFIGURE,CONFIGURING);
\r
382 builder = builder.addTransition(UNKNOWN,TEST,TESTING);
\r
383 builder = builder.addTransition(UNKNOWN,START,STARTING);
\r
384 builder = builder.addTransition(UNKNOWN,TERMINATE,TERMINATING);
\r
385 builder = builder.addTransition(UNKNOWN,RESTART,RESTARTING);
\r
386 builder = builder.addTransition(UNKNOWN,REBUILD,REBUILDING);
\r
387 builder = builder.addTransition(UNKNOWN,STOP,STOPPING);
\r
388 builder = builder.addTransition(UNKNOWN,CONFIG_MODIFY,CONFIGURING);
\r
389 builder = builder.addTransition(UNKNOWN,CONFIG_SCALEOUT,CONFIGURING);
\r
390 builder = builder.addTransition(UNKNOWN,CONFIG_RESTORE,CONFIGURING);
\r
391 builder = builder.addTransition(UNKNOWN,HEALTHCHECK,TESTING);
\r
392 builder = builder.addTransition(UNKNOWN,BACKUP,BACKING_UP);
\r
393 builder = builder.addTransition(UNKNOWN,SNAPSHOT,SNAPSHOTTING);
\r
394 builder = builder.addTransition(UNKNOWN,SOFTWARE_UPLOAD,SOFTWARE_UPLOADING);
\r
395 builder = builder.addTransition(UNKNOWN,LIVE_UPGRADE,UPGRADING);
\r
396 builder = builder.addTransition(UNKNOWN,ROLLBACK,ROLLBACKING);
\r
397 builder = builder.addTransition(UNKNOWN,SYNC,UNKNOWN);
\r
398 builder = builder.addTransition(UNKNOWN,AUDIT,UNKNOWN);
\r
399 builder = builder.addTransition(UNKNOWN,MIGRATE,MIGRATING);
\r
400 builder = builder.addTransition(UNKNOWN,EVACUATE,EVACUATING);
\r
401 builder = builder.addTransition(UNKNOWN,LOCK,UNKNOWN);
\r
402 builder = builder.addTransition(UNKNOWN,UNLOCK,UNKNOWN);
\r
403 builder = builder.addTransition(UNKNOWN,CHECKLOCK,UNKNOWN);
\r
404 builder = builder.addTransition(UNKNOWN,CONFIG_BACKUP,UNKNOWN);
\r
405 builder = builder.addTransition(UNKNOWN,CONFIG_BACKUP_DELETE,UNKNOWN);
\r
406 builder = builder.addTransition(UNKNOWN,CONFIG_EXPORT,UNKNOWN);
\r
407 builder = builder.addTransition(UNKNOWN,STOP_APPLICATION,STOPPING);
\r
409 builder = builder.addTransition(STOPPED,CONFIGURE,CONFIGURING);
\r
410 builder = builder.addTransition(STOPPED,TEST,TESTING);
\r
411 builder = builder.addTransition(STOPPED,START,STARTING);
\r
412 builder = builder.addTransition(STOPPED,TERMINATE,TERMINATING);
\r
413 builder = builder.addTransition(STOPPED,RESTART,RESTARTING);
\r
414 builder = builder.addTransition(STOPPED,REBUILD,REBUILDING);
\r
415 builder = builder.addTransition(STOPPED,CONFIG_MODIFY,CONFIGURING);
\r
416 builder = builder.addTransition(STOPPED,CONFIG_SCALEOUT,CONFIGURING);
\r
417 builder = builder.addTransition(STOPPED,CONFIG_RESTORE,CONFIGURING);
\r
418 builder = builder.addTransition(STOPPED,HEALTHCHECK,TESTING);
\r
419 builder = builder.addTransition(STOPPED,BACKUP,BACKING_UP);
\r
420 builder = builder.addTransition(STOPPED,SNAPSHOT,SNAPSHOTTING);
\r
421 builder = builder.addTransition(STOPPED,SOFTWARE_UPLOAD,SOFTWARE_UPLOADING);
\r
422 builder = builder.addTransition(STOPPED,LIVE_UPGRADE,UPGRADING);
\r
423 builder = builder.addTransition(STOPPED,ROLLBACK,ROLLBACKING);
\r
424 builder = builder.addTransition(STOPPED,MIGRATE,MIGRATING);
\r
425 builder = builder.addTransition(STOPPED,EVACUATE,EVACUATING);
\r
426 builder = builder.addTransition(STOPPED,LOCK,STOPPED);
\r
427 builder = builder.addTransition(STOPPED,UNLOCK,STOPPED);
\r
428 builder = builder.addTransition(STOPPED,CHECKLOCK,STOPPED);
\r
430 builder = builder.addTransition(CONFIGURING,SUCCESS,CONFIGURED);
\r
431 builder = builder.addTransition(CONFIGURING,FAILURE,ERROR);
\r
433 builder = builder.addTransition(TESTING,SUCCESS,TESTED);
\r
434 builder = builder.addTransition(TESTING,FAILURE,ERROR);
\r
436 builder = builder.addTransition(RESTARTING,SUCCESS,RUNNING);
\r
437 builder = builder.addTransition(RESTARTING,FAILURE,ERROR);
\r
439 builder = builder.addTransition(STARTING,SUCCESS,RUNNING);
\r
440 builder = builder.addTransition(STARTING,FAILURE,ERROR);
\r
442 builder = builder.addTransition(TERMINATING,SUCCESS,NOT_INSTANTIATED);
\r
443 builder = builder.addTransition(TERMINATING,FAILURE,ERROR);
\r
445 builder = builder.addTransition(REBUILDING,SUCCESS,RUNNING);
\r
446 builder = builder.addTransition(REBUILDING,FAILURE,ERROR);
\r
448 builder = builder.addTransition(STOPPING,SUCCESS,STOPPED);
\r
449 builder = builder.addTransition(STOPPING,FAILURE,ERROR);
\r
451 builder = builder.addTransition(BACKING_UP,SUCCESS,RUNNING);
\r
452 builder = builder.addTransition(BACKING_UP,FAILURE,ERROR);
\r
454 builder = builder.addTransition(SNAPSHOTTING,SUCCESS,RUNNING);
\r
455 builder = builder.addTransition(SNAPSHOTTING,FAILURE,ERROR);
\r
457 builder = builder.addTransition(SOFTWARE_UPLOADING,SUCCESS,RUNNING);
\r
458 builder = builder.addTransition(SOFTWARE_UPLOADING,FAILURE,ERROR);
\r
460 builder = builder.addTransition(UPGRADING,SUCCESS,RUNNING);
\r
461 builder = builder.addTransition(UPGRADING,FAILURE,ERROR);
\r
463 builder = builder.addTransition(ROLLBACKING,SUCCESS,RUNNING);
\r
464 builder = builder.addTransition(ROLLBACKING,FAILURE,ERROR);
\r
466 builder = builder.addTransition(MIGRATING,SUCCESS,RUNNING);
\r
467 builder = builder.addTransition(MIGRATING,FAILURE,ERROR);
\r
469 builder = builder.addTransition(EVACUATING,SUCCESS,RUNNING);
\r
470 builder = builder.addTransition(EVACUATING,FAILURE,ERROR);
\r
473 builder = builder.addTransition(CONFIGURED,START_APPLICATION,STARTING);
\r
474 builder = builder.addTransition(TESTED,START_APPLICATION,STARTING);
\r
475 builder = builder.addTransition(ERROR,START_APPLICATION,STARTING);
\r
476 builder = builder.addTransition(UNKNOWN,START_APPLICATION,STARTING);
\r
477 builder = builder.addTransition(RUNNING,START_APPLICATION,STARTING);
\r
479 return builder.build();
\r