blob: e32c19d8c055e59efdbe06042be88fcb2534ef29 [file] [log] [blame]
tom0eb04ca2014-08-25 14:34:51 -07001package org.onlab.onos.net.device;
2
3import org.onlab.onos.net.Description;
tomd1900f32014-09-03 14:08:16 -07004import org.onlab.onos.net.Device;
tom0eb04ca2014-08-25 14:34:51 -07005
6import java.net.URI;
7
8/**
9 * Carrier of immutable information about a device.
10 */
11public interface DeviceDescription extends Description {
12
13 /**
14 * Protocol/provider specific URI that can be used to encode the identity
15 * information required to communicate with the device externally, e.g.
16 * datapath ID.
17 *
18 * @return provider specific URI for the device
19 */
20 URI deviceURI();
21
tomd1900f32014-09-03 14:08:16 -070022 /**
23 * Returns the type of the infrastructure device.
24 *
25 * @return type of the device
26 */
27 Device.Type type();
28
29 /**
30 * Returns the device manufacturer name.
31 *
32 * @return manufacturer name
33 */
34 String manufacturer();
35
36 /**
37 * Returns the device hardware version.
38 *
39 * @return hardware version
40 */
41 String hwVersion();
42
43 /**
44 * Returns the device software version.
45 *
46 * @return software version
47 */
48 String swVersion();
49
50 /**
51 * Returns the device serial number.
52 *
53 * @return serial number
54 */
55 String serialNumber();
56
tom0eb04ca2014-08-25 14:34:51 -070057}