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