/*
* Copyright (c) 2013 Technische Universitat Wien (TUW), Distributed Systems Group. http://dsg.tuwien.ac.at
*
* This work was partially supported by the European Commission in terms of the CELAR FP7 project (FP7-ICT-2011-8 #317790), http://www.celarcloud.eu/
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package at.ac.tuwien.dsg.cloud.salsa.domainmodels.types;
/**
* The artifact type: - sh: script based deployment. The script should deploy the app and exit after running. - binary: script or executable program which does
* not exit after running (e.g jar program) - apt: using apt-get to install - chef: only install chef client and let the real deployment for user - chef-solo:
* get the input by the software name in Chef Community repository and deploy - war: copy and remove the war artifact into Tomcat webapps folder.
*
* @author Duc-Hung Le
*/
public enum SalsaArtifactType {
sh("sh"),
shcont("shcont"),
apt("apt-get"),
chef("chef"),
chefSolo("chef-solo"),
war("war"),
dockerfile("dockerfile"),
contract("contract"),
metadata("metadata"),
misc("misc");
private String prop;
private SalsaArtifactType(String propString) {
this.prop = propString;
}
public String getString() {
return prop;
}
public static SalsaArtifactType fromString(String text) {
if (text != null) {
for (SalsaArtifactType b : SalsaArtifactType.values()) {
if (text.equalsIgnoreCase(b.getString())) {
return b;
}
}
}
return null;
}
}