/** * Abiquo community edition * cloud management application for hybrid clouds * Copyright (C) 2008-2010 - Abiquo Holdings S.L. * * This application is free software; you can redistribute it and/or * modify it under the terms of the GNU LESSER GENERAL PUBLIC * LICENSE as published by the Free Software Foundation under * version 3 of the License * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * LESSER GENERAL PUBLIC LICENSE v.3 for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ package com.abiquo.tracer; import java.io.Serializable; public enum ComponentType implements Serializable { UNKNOWN(0, "Unknown component"), // Platform is the root of the hierarchy PLATFORM(1, "Abicloud Platform"), // Datacenter is the root of the physical infrastructure tree DATACENTER(2 | PLATFORM.getValue(), "Physical Datacenter"), RACK(4 | DATACENTER.getValue(), "Logical Rack for physical servers"), MACHINE(8 | RACK.getValue(), "Physical server in the compute cloud"), VIRTUAL_STORAGE(16 | DATACENTER.getValue(), "Virtual Storage System"), STORAGE_POOL(32 | VIRTUAL_STORAGE.getValue(), "Storage Pool of Volumes"), // Enterprise is the root of the logical infrastructure tree ENTERPRISE(64 | PLATFORM.getValue(), "Organization"), USER(128 | ENTERPRISE.getValue(), "Platform user"), VIRTUAL_DATACENTER(256 | ENTERPRISE.getValue(), "Virtual Datacenter"), VIRTUAL_APPLIANCE( 512 | VIRTUAL_DATACENTER.getValue(), "Virtual Appliances Architecture"), // VirtualMachine, Volume and Network are shared between logical and physical infrastructure VIRTUAL_MACHINE(1024 | MACHINE.getValue() | VIRTUAL_APPLIANCE.getValue(), "Virtual Server"), VOLUME( 2048 | STORAGE_POOL.getValue() | VIRTUAL_APPLIANCE.getValue(), "Storage Volume"), NETWORK( 4096 | DATACENTER.getValue() | VIRTUAL_APPLIANCE.getValue(), "IP Network"), // Appliance manager APPLIANCE_MANAGER(8192 | PLATFORM.getValue(), "Appliance Manager"), // Image converter IMAGE_CONVERTER(16384 | VIRTUAL_APPLIANCE.getValue(), "Image converter"), // License management LICENSE_MANAGER(32768 | PLATFORM.getValue(), "License Manager"), // Stateful converter PERSISTENT_CONVERTER(65536 | VIRTUAL_APPLIANCE.getValue(), "Persistent converter"), // Abiquo's API API(131072, "API"), // Workload Engine WORKLOAD(262144, "Workload Engine"), // Roles ROLE(524288, "Role"), // Roles ROLE_LDAP(1048576, "Role LDAP"), // HA HIGH_AVAILABILITY(2097152, "High availability engine"), // PRICING_ TEMPLATE PRICING_TEMPLATE(4194304, "Pricing Template"), // COSTCODE_CURRENCY COSTCODE_CURRENCY(8388608, "Cost Code - Currency"), // COSTCODE COSTCODE(16777216, "Cost Code"), // STORAGE DEVICES STORAGE_DEVICE(5242888, "Storage device"), // INSTANCE_CONVERTER INSTANCE_CONVERTER(33554432 | VIRTUAL_APPLIANCE.getValue(), "Instance converter"), // Abiquo's UCS UCS(67108864, "UCS"); private final int component; private final String description; private ComponentType(final int component, final String description) { this.component = component; this.description = description; } public int getValue() { return component; } public String getDescription() { return description; } }