Provide Container authorization roles to application running in container
[controller.git] / opendaylight / sal / api / src / main / java / org / opendaylight / controller / sal / core / IContainer.java
1
2 /*
3  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
4  *
5  * This program and the accompanying materials are made available under the
6  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
7  * and is available at http://www.eclipse.org/legal/epl-v10.html
8  */
9
10 /**
11  * @file   IContainer.java
12  *
13  * @brief  Interface used to retrieve the status of a given Container
14  *
15  *
16  */
17
18 package org.opendaylight.controller.sal.core;
19
20 import java.util.List;
21 import java.util.Set;
22
23 /**
24  *
25  * Interface used to retrieve the status of a given Container
26  */
27 public interface IContainer {
28     /**
29      * Returns the Name of the container described
30      *
31      * @return the container Name
32      */
33     public String getName();
34
35     /**
36      * The list of container flows associated with a container
37      *
38      * @return The list of FlowSpecs associated with the container
39      */
40     public List<ContainerFlow> getContainerFlows();
41
42     /**
43      * Return the tag on which a Node is expected to receive traffic
44      * for a given container.
45      *
46      * @param n The node for which we want to get the Tag
47      *
48      * @return the tag on which we expect to receive traffic on a
49      * given Node for a given container
50      */
51     public short getTag(Node n);
52
53     /**
54      * Return an array of all the NodeConnectors that are part of the
55      * container
56      *
57      * @return The array of nodeConnectors part of the container
58      */
59     public Set<NodeConnector> getNodeConnectors();
60
61     /**
62      * Return an array of all the Nodes that are part of a container
63      *
64      * @return The array of Nodes that are part of the container
65      */
66     public Set<Node> getNodes();
67
68     /**
69      * Return the well known administrator role for this container
70      *
71      * @return The administrator role for this container
72      */
73     public String getContainerAdminRole();
74
75     /**
76      * Return the well known operator role for this container
77      *
78      * @return The operator role for this container
79      */
80     public String getContainerOperatorRole();
81 }