blob: 99b49ab59c26aee1211c1b6853396a63cc6718ae [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;
alshabib7911a052014-10-16 17:49:37 -07005import org.onlab.packet.ChassisId;
tom0eb04ca2014-08-25 14:34:51 -07006
7import java.net.URI;
8
9/**
10 * Carrier of immutable information about a device.
11 */
12public interface DeviceDescription extends Description {
13
14 /**
15 * Protocol/provider specific URI that can be used to encode the identity
16 * information required to communicate with the device externally, e.g.
17 * datapath ID.
18 *
19 * @return provider specific URI for the device
20 */
21 URI deviceURI();
22
tomd1900f32014-09-03 14:08:16 -070023 /**
24 * Returns the type of the infrastructure device.
25 *
26 * @return type of the device
27 */
28 Device.Type type();
29
30 /**
31 * Returns the device manufacturer name.
32 *
33 * @return manufacturer name
34 */
35 String manufacturer();
36
37 /**
38 * Returns the device hardware version.
39 *
40 * @return hardware version
41 */
42 String hwVersion();
43
44 /**
45 * Returns the device software version.
46 *
47 * @return software version
48 */
49 String swVersion();
50
51 /**
52 * Returns the device serial number.
53 *
54 * @return serial number
55 */
56 String serialNumber();
57
alshabib7911a052014-10-16 17:49:37 -070058 /**
59 * Returns a device chassis id.
60 *
61 * @return chassis id
62 */
63 ChassisId chassisId();
64
tom0eb04ca2014-08-25 14:34:51 -070065}