Add blueprint wiring for neutron renderer
[netvirt.git] / netvirt / renderers / neutron / src / main / java / org / opendaylight / netvirt / netvirt / renderers / neutron / Constants.java
1 /*
2  * Copyright (c) 2016 Red Hat, Inc. and others. All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.netvirt.netvirt.renderers.neutron;
10
11 import com.google.common.collect.ImmutableBiMap;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.common.rev151227.NetworkTypeBase;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.common.rev151227.NetworkTypeFlat;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.common.rev151227.NetworkTypeGre;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.common.rev151227.NetworkTypeVlan;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.common.rev151227.NetworkTypeVxlan;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.ports.rev151227.PortTypeBase;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.ports.rev151227.PortTypeComputeNova;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.ports.rev151227.PortTypeDhcp;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.ports.rev151227.PortTypeFloatingIp;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.ports.rev151227.PortTypeRouter;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.ports.rev151227.PortTypeRouterGateway;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.ports.rev151227.PortTypeRouterInterfaceDistributed;
24
25 /**
26  * A collection of configuration constants
27  */
28 public final class Constants {
29
30     /*
31      * Port owner descriptions used by Openstack Neutron
32      */
33     public static final String OWNER_ROUTER_INTERFACE = "network:router_interface";
34     public static final String OWNER_ROUTER_INTERFACE_DISTRIBUTED = "network:router_interface_distributed";
35     public static final String OWNER_ROUTER_GATEWAY = "network:router_gateway";
36     public static final String OWNER_NETWORK_DHCP = "network:dhcp";
37     public static final String OWNER_FLOATING_IP = "network:floatingip";
38     public static final String OWNER_COMPUTE_NOVA = "compute:nova";
39
40
41     public static final ImmutableBiMap<String, Class<? extends PortTypeBase>> NETVIRT_NEUTRON_PORT_TYPE_MAP
42             = new ImmutableBiMap.Builder<String, Class<? extends PortTypeBase>>()
43             .put(OWNER_ROUTER_INTERFACE, PortTypeRouter.class)
44             .put(OWNER_ROUTER_INTERFACE_DISTRIBUTED, PortTypeRouterInterfaceDistributed.class)
45             .put(OWNER_ROUTER_GATEWAY, PortTypeRouterGateway.class)
46             .put(OWNER_NETWORK_DHCP, PortTypeDhcp.class)
47             .put(OWNER_FLOATING_IP, PortTypeFloatingIp.class)
48             .put(OWNER_COMPUTE_NOVA, PortTypeComputeNova.class)
49             .build();
50
51     /*
52      * Network type descriptions used by Openstack Neutron
53      */
54     public static final String NETWORK_TYPE_FLAT = "NetworkTypeFlat";
55     public static final String NETWORK_TYPE_VLAN = "NetworkTypeVlan";
56     public static final String NETWORK_TYPE_VXLAN = "NetworkTypeVxlan";
57     public static final String NETWORK_TYPE_GRE = "NetworkTypeGre";
58
59     public static final ImmutableBiMap<String, Class<? extends NetworkTypeBase>> NETVIRT_NEUTRON_NETWORK_TYPE_MAP
60             = new ImmutableBiMap.Builder<String, Class<? extends NetworkTypeBase>>()
61             .put(NETWORK_TYPE_FLAT, NetworkTypeFlat.class)
62             .put(NETWORK_TYPE_VLAN, NetworkTypeVlan.class)
63             .put(NETWORK_TYPE_VXLAN, NetworkTypeVxlan.class)
64             .put(NETWORK_TYPE_GRE, NetworkTypeGre.class)
65             .build();
66
67     public static final String NETVIRT_NEUTRON_OWNER_ENTITY_TYPE = "ovsdb-netvirt-neutron-provider";
68
69 }