2  * Copyright © 2016-2018 European Support Limited
 
   4  * Licensed under the Apache License, Version 2.0 (the "License");
 
   5  * you may not use this file except in compliance with the License.
 
   6  * You may obtain a copy of the License at
 
   8  *      http://www.apache.org/licenses/LICENSE-2.0
 
  10  * Unless required by applicable law or agreed to in writing, software
 
  11  * distributed under the License is distributed on an "AS IS" BASIS,
 
  12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  13  * See the License for the specific language governing permissions and
 
  14  * limitations under the License.
 
  17 package org.openecomp.sdc.tosca.datatypes;
 
  19 import org.openecomp.config.api.Configuration;
 
  20 import org.openecomp.config.api.ConfigurationManager;
 
  21 import org.openecomp.sdc.tosca.services.ConfigConstants;
 
  24 public class ToscaNodeType {
 
  26   private static Configuration config = ConfigurationManager.lookup();
 
  28   public static final String VFC_NODE_TYPE_PREFIX =
 
  29       config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX_NODE_TYPE_VFC);
 
  30   public static final String CP_NODE_TYPE_PREFIX =
 
  31       config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX_NODE_TYPE_CP);
 
  32   public static final String EXTERNAL_CP_NODE_TYPE_PREFIX =
 
  33       config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX_NODE_TYPE_EXTERNAL_CP);
 
  34   public static final String NETWORK_NODE_TYPE_PREFIX =
 
  35       config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX_NODE_TYPE_NETWORK);
 
  36   public static final String ABSTRACT_NODE_TYPE_PREFIX =
 
  37       config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX_NODE_TYPE_ABSTARCT);
 
  38   public static final String RULE_NODE_TYPE_PREFIX =
 
  39       config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX_NODE_TYPE_RULE);
 
  40   public static final String NODE_TYPE_PREFIX =
 
  41       config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX);
 
  44   public static final String NATIVE_COMPUTE = "tosca.nodes.Compute";
 
  45   public static final String NATIVE_ROOT = "tosca.nodes.Root";
 
  46   public static final String NATIVE_BLOCK_STORAGE = "tosca.nodes.BlockStorage";
 
  47   public static final String NATIVE_NETWORK = "tosca.nodes.network.Network";
 
  48   public static final String NATIVE_NETWORK_PORT = "tosca.nodes.network.Port";
 
  51   public static final String NOVA_SERVER = VFC_NODE_TYPE_PREFIX + "heat.nova.Server";
 
  52   public static final String CINDER_VOLUME = VFC_NODE_TYPE_PREFIX + "heat.cinder.Volume";
 
  53   public static final String COMPUTE = VFC_NODE_TYPE_PREFIX + "Compute";
 
  54   public static final String CONTRAIL_COMPUTE = VFC_NODE_TYPE_PREFIX + "heat.contrail.Compute";
 
  56   public static final String NEUTRON_SECURITY_RULES =
 
  57       RULE_NODE_TYPE_PREFIX + "heat.network.neutron.SecurityRules";
 
  58   public static final String CONTRAILV2_NETWORK_RULE =
 
  59       RULE_NODE_TYPE_PREFIX + "heat.network.contrailV2.NetworkRules";
 
  60   public static final String CONTRAIL_NETWORK_RULE =
 
  61       RULE_NODE_TYPE_PREFIX + "heat.network.contrail.NetworkRules";
 
  63   public static final String NEUTRON_NET = NETWORK_NODE_TYPE_PREFIX + "heat.network.neutron.Net";
 
  64   public static final String CONTRAILV2_VIRTUAL_NETWORK =
 
  65       NETWORK_NODE_TYPE_PREFIX + "heat.network.contrailV2.VirtualNetwork";
 
  66   public static final String CONTRAIL_VIRTUAL_NETWORK =
 
  67       NETWORK_NODE_TYPE_PREFIX + "heat.network.contrail.VirtualNetwork";
 
  68   public static final String NETWORK = NETWORK_NODE_TYPE_PREFIX + "network.Network";
 
  70   public static final String NEUTRON_PORT = CP_NODE_TYPE_PREFIX + "heat.network.neutron.Port";
 
  71   public static final String CONTRAILV2_VIRTUAL_MACHINE_INTERFACE =
 
  72       CP_NODE_TYPE_PREFIX + "heat.contrailV2.VirtualMachineInterface";
 
  73   public static final String CONTRAIL_PORT = CP_NODE_TYPE_PREFIX + "heat.network.contrail.Port";
 
  74   public static final String NETWORK_PORT = CP_NODE_TYPE_PREFIX + "network.Port";
 
  75   public static final String NETWORK_SUB_INTERFACE = CP_NODE_TYPE_PREFIX + "network.SubInterface";
 
  76   public static final String CONTRAILV2_VLAN_SUB_INTERFACE = CP_NODE_TYPE_PREFIX
 
  77       + "heat.network.contrailV2.VLANSubInterface";
 
  78   public static final String NESTED_HEAT_RESOURCE_TYPE_PREFIX = ABSTRACT_NODE_TYPE_PREFIX + "heat.";
 
  79   public static final String VLAN_SUB_INTERFACE_RESOURCE_TYPE_PREFIX =
 
  80       NESTED_HEAT_RESOURCE_TYPE_PREFIX + "subinterface.";
 
  81   //Port Mirroring external node types
 
  82   public static final String EXTERNAL_CP = EXTERNAL_CP_NODE_TYPE_PREFIX + "extCP";
 
  83   public static final String EXTERNAL_CONTRAIL_PORT = EXTERNAL_CP_NODE_TYPE_PREFIX
 
  85   public static final String EXTERNAL_NEUTRON_PORT = EXTERNAL_CP_NODE_TYPE_PREFIX + "extNeutronCP";
 
  87   public static final String ABSTRACT_SUBSTITUTE = ABSTRACT_NODE_TYPE_PREFIX + "AbstractSubstitute";
 
  88   public static final String VFC_ABSTRACT_SUBSTITUTE = ABSTRACT_NODE_TYPE_PREFIX + "VFC";
 
  89   public static final String CONTRAIL_ABSTRACT_SUBSTITUTE =
 
  90       ABSTRACT_NODE_TYPE_PREFIX + "contrail.AbstractSubstitute";
 
  91   public static final String COMPLEX_VFC_NODE_TYPE = ABSTRACT_NODE_TYPE_PREFIX + "ComplexVFC";
 
  92   //Questionnaire to Tosca Types
 
  93   public static final String VNF_CONFIG_NODE_TYPE = ABSTRACT_NODE_TYPE_PREFIX + "VnfConfiguration";
 
  94   public static final String MULTIFLAVOR_VFC_NODE_TYPE = ABSTRACT_NODE_TYPE_PREFIX + "MultiFlavorVFC";
 
  95   public static final String MULTIDEPLOYMENTFLAVOR_NODE_TYPE = ABSTRACT_NODE_TYPE_PREFIX
 
  96       + "MultiDeploymentFlavor.CVFC";
 
  97   public static final String COMPUTE_TYPE_PREFIX = "org.openecomp.resource.vfc.compute.nodes.heat";
 
  98   public static final String VFC_TYPE_PREFIX = "org.openecomp.resource.vfc.nodes.heat";
 
 100   private ToscaNodeType() {}