[ONOS-4016] Implement Region administration REST API
- Impelent Region management REST API
- Add unit test for Region management REST API
- Add swagger docs for Region management REST API
- Add SCR Component and Service annotation for RegionManager
Change-Id: I042e92ed7144d596659b779a59239afba832ca62
diff --git a/web/api/src/main/resources/definitions/Region.json b/web/api/src/main/resources/definitions/Region.json
new file mode 100644
index 0000000..2f27258
--- /dev/null
+++ b/web/api/src/main/resources/definitions/Region.json
@@ -0,0 +1,42 @@
+{
+ "type": "object",
+ "title": "region",
+ "required": [
+ "id",
+ "name",
+ "type",
+ "masters"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "name": {
+ "type": "string",
+ "example": "region"
+ },
+ "type": {
+ "type": "string",
+ "example": "ROOM"
+ },
+ "masters": {
+ "type": "array",
+ "xml": {
+ "name": "masters",
+ "wrapped": true
+ },
+ "items": {
+ "type": "array",
+ "xml": {
+ "name": "masters",
+ "wrapped": true
+ },
+ "items": {
+ "type": "string",
+ "example": "1"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/web/api/src/main/resources/definitions/RegionDeviceIds.json b/web/api/src/main/resources/definitions/RegionDeviceIds.json
new file mode 100644
index 0000000..114e0a6
--- /dev/null
+++ b/web/api/src/main/resources/definitions/RegionDeviceIds.json
@@ -0,0 +1,20 @@
+{
+ "type": "object",
+ "title": "deviceIds",
+ "required": [
+ "deviceIds"
+ ],
+ "properties": {
+ "deviceIds": {
+ "type": "array",
+ "xml": {
+ "name": "deviceIds",
+ "wrapped": true
+ },
+ "items": {
+ "type": "string",
+ "example": "of:0000000000000001"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/web/api/src/main/resources/definitions/RegionPost.json b/web/api/src/main/resources/definitions/RegionPost.json
new file mode 100644
index 0000000..88dc91d
--- /dev/null
+++ b/web/api/src/main/resources/definitions/RegionPost.json
@@ -0,0 +1,42 @@
+{
+ "type": "object",
+ "title": "region",
+ "required": [
+ "id",
+ "name",
+ "type",
+ "masters"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "name": {
+ "type": "string",
+ "example": "region"
+ },
+ "type": {
+ "type": "string",
+ "example": "ROOM"
+ },
+ "masters": {
+ "type": "array",
+ "xml": {
+ "name": "masters",
+ "wrapped": true
+ },
+ "items": {
+ "type": "array",
+ "xml": {
+ "name": "masters",
+ "wrapped": true
+ },
+ "items": {
+ "type": "string",
+ "example": "1"
+ }
+ }
+ }
+ }
+}
diff --git a/web/api/src/main/resources/definitions/Regions.json b/web/api/src/main/resources/definitions/Regions.json
new file mode 100644
index 0000000..7ab7a11
--- /dev/null
+++ b/web/api/src/main/resources/definitions/Regions.json
@@ -0,0 +1,58 @@
+{
+ "type": "object",
+ "title": "regions",
+ "required": [
+ "regions"
+ ],
+ "properties": {
+ "regions": {
+ "type": "array",
+ "xml": {
+ "name": "regions",
+ "wrapped": true
+ },
+ "items": {
+ "type": "object",
+ "title": "region",
+ "required": [
+ "id",
+ "name",
+ "type",
+ "masters"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "name": {
+ "type": "string",
+ "example": "region"
+ },
+ "type": {
+ "type": "string",
+ "example": "ROOM"
+ },
+ "masters": {
+ "type": "array",
+ "xml": {
+ "name": "masters",
+ "wrapped": true
+ },
+ "items": {
+ "type": "array",
+ "xml": {
+ "name": "masters",
+ "wrapped": true
+ },
+ "items": {
+ "type": "string",
+ "example": "1"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file