3cf0e2f6ddea59e944b1321c4b34f0930cb556ab
[appc.git] / appc-dispatcher / appc-dispatcher-common / domain-model-lib / src / main / java / org / openecomp / appc / domainmodel / lcm / VNFOperation.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP : APPC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Copyright (C) 2017 Amdocs
8  * =============================================================================
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  * 
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  * 
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  * 
21  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
22  * ============LICENSE_END=========================================================
23  */
24
25 package org.openecomp.appc.domainmodel.lcm;
26
27 public enum VNFOperation {
28
29         Configure, Test, HealthCheck, Start, Terminate, Restart, Rebuild, Stop, ConfigModify,
30         ConfigScaleOut,ConfigRestore,Backup, Snapshot,
31         SoftwareUpload, LiveUpgrade, Rollback, Sync, Audit, Test_lic, Migrate, Evacuate,ConfigBackup,ConfigBackupDelete,ConfigExport,
32         Lock(true), Unlock(true), CheckLock(true);
33
34         private boolean builtIn;
35
36         VNFOperation(boolean builtIn) {
37                 this.builtIn = builtIn;
38         }
39
40         VNFOperation() {
41                 this(false);
42         }
43
44         /**
45          * Operations handled directly by the RequestHandler without further call to DG are built-in operations.
46          */
47         public boolean isBuiltIn() {
48                 return builtIn;
49         }
50
51         public static VNFOperation findByString(String operationName) {
52                 for(VNFOperation operation: VNFOperation.values()) {
53                         if(operation.name().equals(operationName)) {
54                                 return operation;
55                         }
56                 }
57                 return null;
58         }
59 }