summaryrefslogtreecommitdiffstats
path: root/integration-test
diff options
context:
space:
mode:
Diffstat (limited to 'integration-test')
-rw-r--r--integration-test/pom.xml2
-rw-r--r--integration-test/src/test/groovy/org/onap/cps/integration/base/CpsIntegrationSpecBase.groovy11
-rw-r--r--integration-test/src/test/groovy/org/onap/cps/integration/base/FunctionalSpecBase.groovy18
-rw-r--r--integration-test/src/test/groovy/org/onap/cps/integration/functional/CpsDataServiceIntegrationSpec.groovy21
-rw-r--r--integration-test/src/test/groovy/org/onap/cps/integration/functional/CpsQueryServiceIntegrationSpec.groovy242
-rw-r--r--integration-test/src/test/groovy/org/onap/cps/integration/performance/base/CpsPerfTestBase.groovy37
-rw-r--r--integration-test/src/test/groovy/org/onap/cps/integration/performance/base/NcmpRegistryPerfTestBase.groovy4
-rw-r--r--integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/CpsAdminServiceLimits.groovy50
-rw-r--r--integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/CpsDataServiceLimits.groovy63
-rw-r--r--integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/GetPerfTest.groovy46
-rw-r--r--integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/QueryPerfTest.groovy106
-rw-r--r--integration-test/src/test/groovy/org/onap/cps/integration/performance/ncmp/CmHandleQueryPerfTest.groovy14
-rw-r--r--integration-test/src/test/resources/data/bookstore/bookstore.yang61
-rw-r--r--integration-test/src/test/resources/data/bookstore/bookstoreData.json68
-rw-r--r--integration-test/src/test/resources/data/bookstore/largeModelData.json88
-rw-r--r--integration-test/src/test/resources/data/openroadm/innerNode.json10454
16 files changed, 1101 insertions, 10184 deletions
diff --git a/integration-test/pom.xml b/integration-test/pom.xml
index acba37b997..34fefa5d0a 100644
--- a/integration-test/pom.xml
+++ b/integration-test/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.onap.cps</groupId>
<artifactId>cps-parent</artifactId>
- <version>3.3.0-SNAPSHOT</version>
+ <version>3.3.1-SNAPSHOT</version>
<relativePath>../cps-parent/pom.xml</relativePath>
</parent>
diff --git a/integration-test/src/test/groovy/org/onap/cps/integration/base/CpsIntegrationSpecBase.groovy b/integration-test/src/test/groovy/org/onap/cps/integration/base/CpsIntegrationSpecBase.groovy
index 866fef4f24..b942a43af2 100644
--- a/integration-test/src/test/groovy/org/onap/cps/integration/base/CpsIntegrationSpecBase.groovy
+++ b/integration-test/src/test/groovy/org/onap/cps/integration/base/CpsIntegrationSpecBase.groovy
@@ -40,6 +40,8 @@ import org.testcontainers.spock.Testcontainers
import spock.lang.Shared
import spock.lang.Specification
+import java.time.OffsetDateTime
+
@SpringBootTest(classes = [TestConfig, CpsAdminServiceImpl, CpsValidatorImpl])
@Testcontainers
@EnableAutoConfiguration
@@ -68,9 +70,7 @@ class CpsIntegrationSpecBase extends Specification {
CpsQueryService cpsQueryService
def static GENERAL_TEST_DATASPACE = 'generalTestDataspace'
- def static FUNCTIONAL_TEST_DATASPACE = 'functionalTestDataspace'
def static BOOKSTORE_SCHEMA_SET = 'bookstoreSchemaSet'
- def static BOOKSTORE_ANCHOR = 'bookstoreAnchor'
def static initialized = false
@@ -107,4 +107,11 @@ class CpsIntegrationSpecBase extends Specification {
}
return true
}
+
+ def addAnchorsWithData(numberOfAnchors, dataspaceName, schemaSetName, anchorNamePrefix, data) {
+ (1..numberOfAnchors).each {
+ cpsAdminService.createAnchor(dataspaceName, schemaSetName, anchorNamePrefix + it)
+ cpsDataService.saveData(dataspaceName, anchorNamePrefix + it, data, OffsetDateTime.now())
+ }
+ }
}
diff --git a/integration-test/src/test/groovy/org/onap/cps/integration/base/FunctionalSpecBase.groovy b/integration-test/src/test/groovy/org/onap/cps/integration/base/FunctionalSpecBase.groovy
index 5e5269114e..b7a6030d80 100644
--- a/integration-test/src/test/groovy/org/onap/cps/integration/base/FunctionalSpecBase.groovy
+++ b/integration-test/src/test/groovy/org/onap/cps/integration/base/FunctionalSpecBase.groovy
@@ -20,10 +20,14 @@
package org.onap.cps.integration.base
-import java.time.OffsetDateTime
-
class FunctionalSpecBase extends CpsIntegrationSpecBase {
+ def static FUNCTIONAL_TEST_DATASPACE_1 = 'functionalTestDataspace1'
+ def static FUNCTIONAL_TEST_DATASPACE_2 = 'functionalTestDataspace2'
+ def static NUMBER_OF_ANCHORS_PER_DATASPACE_WITH_BOOKSTORE_DATA = 2
+ def static BOOKSTORE_ANCHOR_1 = 'bookstoreAnchor1'
+ def static BOOKSTORE_ANCHOR_2 = 'bookstoreAnchor2'
+
def static initialized = false
def setup() {
@@ -35,15 +39,17 @@ class FunctionalSpecBase extends CpsIntegrationSpecBase {
}
def setupBookstoreInfraStructure() {
- cpsAdminService.createDataspace(FUNCTIONAL_TEST_DATASPACE)
+ cpsAdminService.createDataspace(FUNCTIONAL_TEST_DATASPACE_1)
+ cpsAdminService.createDataspace(FUNCTIONAL_TEST_DATASPACE_2)
def bookstoreYangModelAsString = readResourceDataFile('bookstore/bookstore.yang')
- cpsModuleService.createSchemaSet(FUNCTIONAL_TEST_DATASPACE, BOOKSTORE_SCHEMA_SET, [bookstore: bookstoreYangModelAsString])
- cpsAdminService.createAnchor(FUNCTIONAL_TEST_DATASPACE, BOOKSTORE_SCHEMA_SET, BOOKSTORE_ANCHOR)
+ cpsModuleService.createSchemaSet(FUNCTIONAL_TEST_DATASPACE_1, BOOKSTORE_SCHEMA_SET, [bookstore: bookstoreYangModelAsString])
+ cpsModuleService.createSchemaSet(FUNCTIONAL_TEST_DATASPACE_2, BOOKSTORE_SCHEMA_SET, [bookstore: bookstoreYangModelAsString])
}
def addBookstoreData() {
def bookstoreJsonData = readResourceDataFile('bookstore/bookstoreData.json')
- cpsDataService.saveData(FUNCTIONAL_TEST_DATASPACE, BOOKSTORE_ANCHOR, bookstoreJsonData, OffsetDateTime.now())
+ addAnchorsWithData(NUMBER_OF_ANCHORS_PER_DATASPACE_WITH_BOOKSTORE_DATA, FUNCTIONAL_TEST_DATASPACE_1, BOOKSTORE_SCHEMA_SET, 'bookstoreAnchor', bookstoreJsonData)
+ addAnchorsWithData(NUMBER_OF_ANCHORS_PER_DATASPACE_WITH_BOOKSTORE_DATA, FUNCTIONAL_TEST_DATASPACE_2, BOOKSTORE_SCHEMA_SET, 'bookstoreAnchor', bookstoreJsonData)
}
}
diff --git a/integration-test/src/test/groovy/org/onap/cps/integration/functional/CpsDataServiceIntegrationSpec.groovy b/integration-test/src/test/groovy/org/onap/cps/integration/functional/CpsDataServiceIntegrationSpec.groovy
index c333911fcc..f609ba00e0 100644
--- a/integration-test/src/test/groovy/org/onap/cps/integration/functional/CpsDataServiceIntegrationSpec.groovy
+++ b/integration-test/src/test/groovy/org/onap/cps/integration/functional/CpsDataServiceIntegrationSpec.groovy
@@ -21,18 +21,19 @@
package org.onap.cps.integration.functional
+import org.onap.cps.api.CpsDataService
import org.onap.cps.integration.base.FunctionalSpecBase
import org.onap.cps.spi.FetchDescendantsOption
class CpsDataServiceIntegrationSpec extends FunctionalSpecBase {
- def objectUnderTest
+ CpsDataService objectUnderTest
def setup() { objectUnderTest = cpsDataService }
def 'Read bookstore top-level container(s) using #fetchDescendantsOption.'() {
when: 'get data nodes for bookstore container'
- def result = objectUnderTest.getDataNodes(FUNCTIONAL_TEST_DATASPACE, BOOKSTORE_ANCHOR, '/bookstore', fetchDescendantsOption)
+ def result = objectUnderTest.getDataNodes(FUNCTIONAL_TEST_DATASPACE_1, BOOKSTORE_ANCHOR_1, '/bookstore', fetchDescendantsOption)
then: 'the tree consist ouf of #expectNumberOfDataNodes data nodes'
assert countDataNodesInTree(result) == expectNumberOfDataNodes
and: 'the top level data node has the expected attribute and value'
@@ -40,8 +41,18 @@ class CpsDataServiceIntegrationSpec extends FunctionalSpecBase {
where: 'the following option is used'
fetchDescendantsOption || expectNumberOfDataNodes
FetchDescendantsOption.OMIT_DESCENDANTS || 1
- FetchDescendantsOption.DIRECT_CHILDREN_ONLY || 4
- FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS || 8
- new FetchDescendantsOption(2) || 8
+ FetchDescendantsOption.DIRECT_CHILDREN_ONLY || 6
+ FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS || 17
+ new FetchDescendantsOption(2) || 17
}
+
+ def 'Read bookstore top-level container(s) has correct dataspace and anchor.'() {
+ when: 'get data nodes for bookstore container'
+ def result = objectUnderTest.getDataNodes(FUNCTIONAL_TEST_DATASPACE_1, BOOKSTORE_ANCHOR_1, '/bookstore', FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS)
+ then: 'the correct dataspace was queried'
+ assert result.dataspace.toSet() == [FUNCTIONAL_TEST_DATASPACE_1].toSet()
+ and: 'the correct anchor was queried'
+ assert result.anchorName.toSet() == [BOOKSTORE_ANCHOR_1].toSet()
+ }
+
}
diff --git a/integration-test/src/test/groovy/org/onap/cps/integration/functional/CpsQueryServiceIntegrationSpec.groovy b/integration-test/src/test/groovy/org/onap/cps/integration/functional/CpsQueryServiceIntegrationSpec.groovy
index 496b36db99..bd39605de3 100644
--- a/integration-test/src/test/groovy/org/onap/cps/integration/functional/CpsQueryServiceIntegrationSpec.groovy
+++ b/integration-test/src/test/groovy/org/onap/cps/integration/functional/CpsQueryServiceIntegrationSpec.groovy
@@ -1,6 +1,7 @@
/*
* ============LICENSE_START=======================================================
* Copyright (C) 2023 Nordix Foundation
+ * Modifications Copyright (C) 2023 TechMahindra Ltd
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the 'License');
* you may not use this file except in compliance with the License.
@@ -20,18 +21,25 @@
package org.onap.cps.integration.functional
+import org.onap.cps.api.CpsQueryService
import org.onap.cps.integration.base.FunctionalSpecBase
import org.onap.cps.spi.FetchDescendantsOption
+import org.onap.cps.spi.exceptions.CpsPathException
+import spock.lang.Ignore
+
+import static org.onap.cps.spi.FetchDescendantsOption.DIRECT_CHILDREN_ONLY
+import static org.onap.cps.spi.FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS
+import static org.onap.cps.spi.FetchDescendantsOption.OMIT_DESCENDANTS
class CpsQueryServiceIntegrationSpec extends FunctionalSpecBase {
- def objectUnderTest
+ CpsQueryService objectUnderTest
def setup() { objectUnderTest = cpsQueryService }
def 'Query bookstore using CPS path where #scenario.'() {
when: 'query data nodes for bookstore container'
- def result = objectUnderTest.queryDataNodes(FUNCTIONAL_TEST_DATASPACE, BOOKSTORE_ANCHOR, cpsPath, FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS)
+ def result = objectUnderTest.queryDataNodes(FUNCTIONAL_TEST_DATASPACE_1, BOOKSTORE_ANCHOR_1, cpsPath, INCLUDE_ALL_DESCENDANTS)
then: 'the result contains expected number of nodes'
assert result.size() == expectedResultSize
and: 'the result contains the expected leaf values'
@@ -42,7 +50,233 @@ class CpsQueryServiceIntegrationSpec extends FunctionalSpecBase {
})
where:
scenario | cpsPath || expectedResultSize | expectedLeaves
- 'the and condition is used' | '//books[@lang="English" and @price=15]' || 2 | [lang:"English", price:15]
- 'the and is used where result does not exist' | '//books[@lang="English" and @price=1000]' || 0 | []
+ 'the AND condition is used' | '//books[@lang="English" and @price=15]' || 2 | [lang:"English", price:15]
+ 'the AND is used where result does not exist' | '//books[@lang="English" and @price=1000]' || 0 | []
+ }
+
+ def 'Cps Path query using combinations of OR operator #scenario.'() {
+ when: 'a query is executed to get response by the given cps path'
+ def result = objectUnderTest.queryDataNodes(FUNCTIONAL_TEST_DATASPACE_1, BOOKSTORE_ANCHOR_1, cpspath, OMIT_DESCENDANTS)
+ then: 'the result contains expected number of nodes'
+ assert result.size() == expectedResultSize
+ and: 'the cps-path of queryDataNodes has the expectedLeaves'
+ assert result.leaves.sort() == expectedLeaves.sort()
+ println(expectedLeaves.toArray())
+ where: 'the following data is used'
+ scenario | cpspath || expectedResultSize | expectedLeaves
+ 'the "OR" condition' | '//books[@lang="English" or @price=15]' || 6 | [[lang: "English", price: 15, title: "Annihilation", authors: ["Jeff VanderMeer"], editions: [2014]],
+ [lang: "English", price: 15, title: "The Gruffalo", authors: ["Julia Donaldson"], editions: [1999]],
+ [lang: "English", price: 14, title: "The Light Fantastic", authors: ["Terry Pratchett"], editions: [1986]],
+ [lang: "English", price: 13, title: "Good Omens", authors: ["Terry Pratchett", "Neil Gaiman"], editions: [2006]],
+ [lang: "English", price: 12, title: "The Colour of Magic", authors: ["Terry Pratchett"], editions: [1983]],
+ [lang: "English", price: 10, title: "Matilda", authors: ["Roald Dahl"], editions: [1988, 2000]]]
+ 'the "OR" condition with non-json data' | '//books[@title="xyz" or @price=15]' || 2 | [[lang: "English", price: 15, title: "Annihilation", authors: ["Jeff VanderMeer"], editions: [2014]],
+ [lang: "English", price: 15, title: "The Gruffalo", authors: ["Julia Donaldson"], editions: [1999]]]
+ 'combination of multiple AND' | '//books[@lang="English" and @price=15 and @edition=1983]' || 0 | []
+ 'combination of multiple OR' | '//books[ @title="Matilda" or @price=15 or @edition=1983]' || 3 | [[lang: "English", price: 15, title: "Annihilation", authors: ["Jeff VanderMeer"], editions: [2014]],
+ [lang: "English", price: 10, title: "Matilda", authors: ["Roald Dahl"], editions: [1988, 2000]],
+ [lang: "English", price: 15, title: "The Gruffalo", authors: ["Julia Donaldson"], editions: [1999]]]
+ }
+
+ def 'Cps Path query for leaf value(s) with #scenario.'() {
+ when: 'a query is executed to get a data node by the given cps path'
+ def result = objectUnderTest.queryDataNodes(FUNCTIONAL_TEST_DATASPACE_1, BOOKSTORE_ANCHOR_1, cpsPath, fetchDescendantsOption)
+ then: 'the correct number of parent nodes are returned'
+ assert result.size() == expectedNumberOfParentNodes
+ and: 'the correct total number of data nodes are returned'
+ assert countDataNodesInTree(result) == expectedTotalNumberOfNodes
+ where: 'the following data is used'
+ scenario | cpsPath | fetchDescendantsOption || expectedNumberOfParentNodes | expectedTotalNumberOfNodes
+ 'string and no descendants' | '/bookstore/categories[@code="1"]/books[@title="Matilda"]' | OMIT_DESCENDANTS || 1 | 1
+ 'integer and descendants' | '/bookstore/categories[@code="1"]/books[@price=15]' | INCLUDE_ALL_DESCENDANTS || 1 | 1
+ 'no condition and no descendants' | '/bookstore/categories' | OMIT_DESCENDANTS || 4 | 4
+ 'no condition and level 1 descendants' | '/bookstore' | new FetchDescendantsOption(1) || 1 | 6
+ 'no condition and level 2 descendants' | '/bookstore' | new FetchDescendantsOption(2) || 1 | 17
+ }
+
+ def 'Query for attribute by cps path with cps paths that return no data because of #scenario.'() {
+ when: 'a query is executed to get data nodes for the given cps path'
+ def result = objectUnderTest.queryDataNodes(FUNCTIONAL_TEST_DATASPACE_1, BOOKSTORE_ANCHOR_1, cpsPath, OMIT_DESCENDANTS)
+ then: 'no data is returned'
+ assert result.isEmpty()
+ where: 'following cps queries are performed'
+ scenario | cpsPath
+ 'cps path is incomplete' | '/bookstore[@title="Matilda"]'
+ 'leaf value does not exist' | '/bookstore/categories[@code="1"]/books[@title=\'does not exist\']'
+ 'incomplete end of xpath prefix' | '/bookstore/categories/books[@price=15]'
+ }
+
+ def 'Cps Path query using descendant anywhere and #type (further) descendants.'() {
+ when: 'a query is executed to get a data node by the given cps path'
+ def result = objectUnderTest.queryDataNodes(FUNCTIONAL_TEST_DATASPACE_1, BOOKSTORE_ANCHOR_1, '/bookstore/categories[@code="1"]', fetchDescendantsOption)
+ then: 'the data node has the correct number of children'
+ assert result[0].childDataNodes.xpath.sort() == expectedChildNodes.sort()
+ where: 'the following data is used'
+ type | fetchDescendantsOption || expectedChildNodes
+ 'omit' | OMIT_DESCENDANTS || []
+ 'include' | INCLUDE_ALL_DESCENDANTS || ["/bookstore/categories[@code='1']/books[@title='Matilda']",
+ "/bookstore/categories[@code='1']/books[@title='The Gruffalo']"]
+ }
+
+ def 'Cps Path query for all books.'() {
+ when: 'a query is executed to get all books'
+ def result = objectUnderTest.queryDataNodes(FUNCTIONAL_TEST_DATASPACE_1, BOOKSTORE_ANCHOR_1, '//books', OMIT_DESCENDANTS)
+ then: 'the expected number of books are returned'
+ assert result.size() == 9
+ }
+
+ def 'Cps Path query using descendant anywhere with #scenario.'() {
+ when: 'a query is executed to get a data node by the given cps path'
+ def result = objectUnderTest.queryDataNodes(FUNCTIONAL_TEST_DATASPACE_1, BOOKSTORE_ANCHOR_1, cpsPath, OMIT_DESCENDANTS)
+ then: 'xpaths of the retrieved data nodes are as expected'
+ def bookTitles = result.collect { it.getLeaves().get('title') }
+ assert bookTitles.sort() == expectedBookTitles.sort()
+ where: 'the following data is used'
+ scenario | cpsPath || expectedBookTitles
+ 'string leaf condition' | '//books[@title="Matilda"]' || ["Matilda"]
+ 'text condition on leaf' | '//books/title[text()="Matilda"]' || ["Matilda"]
+ 'text condition case mismatch' | '//books/title[text()="matilda"]' || []
+ 'text condition on int leaf' | '//books/price[text()="10"]' || ["Matilda"]
+ 'text condition on leaf-list' | '//books/authors[text()="Terry Pratchett"]' || ["Good Omens", "The Colour of Magic", "The Light Fantastic"]
+ 'text condition partial match' | '//books/authors[text()="Terry"]' || []
+ 'text condition (existing) empty string' | '//books/lang[text()=""]' || ["A Book with No Language"]
+ 'text condition on int leaf-list' | '//books/editions[text()="2000"]' || ["Matilda"]
+ 'match of leaf containing /' | '//books[@lang="N/A"]' || ["Logarithm tables"]
+ 'text condition on leaf containing /' | '//books/lang[text()="N/A"]' || ["Logarithm tables"]
+ 'match of key containing /' | '//books[@title="Debian GNU/Linux"]' || ["Debian GNU/Linux"]
+ 'text condition on key containing /' | '//books/title[text()="Debian GNU/Linux"]' || ["Debian GNU/Linux"]
+ }
+
+ def 'Cps Path query using descendant anywhere with #scenario condition for a container element.'() {
+ when: 'a query is executed to get a data node by the given cps path'
+ def result = objectUnderTest.queryDataNodes(FUNCTIONAL_TEST_DATASPACE_1, BOOKSTORE_ANCHOR_1, cpsPath, OMIT_DESCENDANTS)
+ then: 'book titles from the retrieved data nodes are as expected'
+ def bookTitles = result.collect { it.getLeaves().get('title') }
+ assert bookTitles.sort() == expectedBookTitles.sort()
+ where: 'the following data is used'
+ scenario | cpsPath || expectedBookTitles
+ 'one leaf' | '//books[@price=14]' || ['The Light Fantastic']
+ 'one text' | '//books/authors[text()="Terry Pratchett"]' || ['Good Omens', 'The Colour of Magic', 'The Light Fantastic']
+ 'more than one leaf' | '//books[@price=12 and @lang="English"]' || ['The Colour of Magic']
+ 'more than one leaf has "OR" condition' | '//books[@lang="English" or @price=15]' || ['Annihilation', 'Good Omens', 'Matilda', 'The Colour of Magic', 'The Gruffalo', 'The Light Fantastic']
+ 'more than one leaf has "OR" condition with non-json data' | '//books[@title="xyz" or @price=13]' || ['Good Omens']
+ 'more than one leaf has multiple AND' | '//books[@lang="English" and @price=13 and @edition=1983]' || []
+ 'more than one leaf has multiple OR' | '//books[ @title="Matilda" or @price=15 or @edition=2006]' || ['Annihilation', 'Matilda', 'The Gruffalo']
+ 'leaves reversed in order' | '//books[@lang="English" and @price=12]' || ['The Colour of Magic']
+ 'leaf and text' | '//books[@price=14]/authors[text()="Terry Pratchett"]' || ['The Light Fantastic']
}
+
+ def 'Cps Path query using descendant anywhere with #scenario condition(s) for a list element.'() {
+ when: 'a query is executed to get a data node by the given cps path'
+ def result = objectUnderTest.queryDataNodes(FUNCTIONAL_TEST_DATASPACE_1, BOOKSTORE_ANCHOR_1, cpsPath, INCLUDE_ALL_DESCENDANTS)
+ then: 'xpaths of the retrieved data nodes are as expected'
+ result.xpath.toList() == ["/bookstore/premises/addresses[@house-number='2' and @street='Main Street']"]
+ where: 'the following data is used'
+ scenario | cpsPath
+ 'full composite key' | '//addresses[@house-number=2 and @street="Main Street"]'
+ 'one partial key leaf' | '//addresses[@house-number=2]'
+ 'one non key leaf' | '//addresses[@county="Kildare"]'
+ 'mix of partial key and non key leaf' | '//addresses[@street="Main Street" and @county="Kildare"]'
+ }
+
+ def 'Query for attribute by cps path of type ancestor with #scenario.'() {
+ when: 'the given cps path is parsed'
+ def result = objectUnderTest.queryDataNodes(FUNCTIONAL_TEST_DATASPACE_1, BOOKSTORE_ANCHOR_1, cpsPath, OMIT_DESCENDANTS)
+ then: 'the xpaths of the retrieved data nodes are as expected'
+ assert result.xpath.sort() == expectedXPaths.sort()
+ where: 'the following data is used'
+ scenario | cpsPath || expectedXPaths
+ 'multiple list-ancestors' | '//books/ancestor::categories' || ["/bookstore/categories[@code='1']", "/bookstore/categories[@code='2']", "/bookstore/categories[@code='3']", "/bookstore/categories[@code='4']"]
+ 'one ancestor with list value' | '//books/ancestor::categories[@code="1"]' || ["/bookstore/categories[@code='1']"]
+ 'top ancestor' | '//books/ancestor::bookstore' || ["/bookstore"]
+ 'list with index value in the xpath prefix' | '//categories[@code="1"]/books/ancestor::bookstore' || ["/bookstore"]
+ 'ancestor with parent list' | '//books/ancestor::bookstore/categories' || ["/bookstore/categories[@code='1']", "/bookstore/categories[@code='2']", "/bookstore/categories[@code='3']", "/bookstore/categories[@code='4']"]
+ 'ancestor with parent' | '//books/ancestor::bookstore/categories[@code="2"]' || ["/bookstore/categories[@code='2']"]
+ 'ancestor combined with text condition' | '//books/title[text()="Matilda"]/ancestor::bookstore' || ["/bookstore"]
+ 'ancestor with parent that does not exist' | '//books/ancestor::parentDoesNoExist/categories' || []
+ 'ancestor does not exist' | '//books/ancestor::ancestorDoesNotExist' || []
+ }
+
+ def 'Query for attribute by cps path of type ancestor with #scenario descendants.'() {
+ when: 'the given cps path is parsed'
+ def result = objectUnderTest.queryDataNodes(FUNCTIONAL_TEST_DATASPACE_1, BOOKSTORE_ANCHOR_1, '//books/ancestor::bookstore', fetchDescendantsOption)
+ then: 'the xpaths of the retrieved data nodes are as expected'
+ assert countDataNodesInTree(result) == expectedNumberOfNodes
+ where: 'the following data is used'
+ scenario | fetchDescendantsOption || expectedNumberOfNodes
+ 'no' | OMIT_DESCENDANTS || 1
+ 'direct' | DIRECT_CHILDREN_ONLY || 6
+ 'all' | INCLUDE_ALL_DESCENDANTS || 17
+ }
+
+ def 'Cps Path query with syntax error throws a CPS Path Exception.'() {
+ when: 'trying to execute a query with a syntax (parsing) error'
+ objectUnderTest.queryDataNodes(FUNCTIONAL_TEST_DATASPACE_1, BOOKSTORE_ANCHOR_1, 'cpsPath that cannot be parsed' , OMIT_DESCENDANTS)
+ then: 'a cps path exception is thrown'
+ thrown(CpsPathException)
+ }
+
+ @Ignore
+ def 'Cps Path query across anchors with #scenario.'() {
+ when: 'a query is executed to get a data nodes across anchors by the given CpsPath'
+ def result = objectUnderTest.queryDataNodesAcrossAnchors(FUNCTIONAL_TEST_DATASPACE_1, cpsPath, OMIT_DESCENDANTS)
+ then: 'the correct dataspace is queried'
+ assert result.dataspace.toSet() == [FUNCTIONAL_TEST_DATASPACE_1].toSet()
+ and: 'correct anchors are queried'
+ assert result.anchorName.toSet() == [BOOKSTORE_ANCHOR_1, BOOKSTORE_ANCHOR_2].toSet()
+ and: 'the correct number of nodes is returned'
+ assert result.size() == expectedXpathsPerAnchor.size() * NUMBER_OF_ANCHORS_PER_DATASPACE_WITH_BOOKSTORE_DATA
+ and: 'the queried nodes have expected xpaths'
+ assert result.xpath.toSet() == expectedXpathsPerAnchor.toSet()
+ where: 'the following data is used'
+ scenario | cpsPath || expectedXpathsPerAnchor
+ 'container node' | '/bookstore' || ["/bookstore"]
+ 'list node' | '/bookstore/categories' || ["/bookstore/categories[@code='1']", "/bookstore/categories[@code='2']", "/bookstore/categories[@code='3']", "/bookstore/categories[@code='4']"]
+ 'string leaf-condition' | '/bookstore[@bookstore-name="Easons"]' || ["/bookstore"]
+ 'integer leaf-condition' | '/bookstore/categories[@code="1"]/books[@price=15]' || ["/bookstore/categories[@code='1']/books[@title='The Gruffalo']"]
+ 'multiple list-ancestors' | '//books/ancestor::categories' || ["/bookstore/categories[@code='1']", "/bookstore/categories[@code='2']", "/bookstore/categories[@code='3']", "/bookstore/categories[@code='4']"]
+ 'one ancestor with list value' | '//books/ancestor::categories[@code="1"]' || ["/bookstore/categories[@code='1']"]
+ 'list with index value in the xpath prefix' | '//categories[@code="1"]/books/ancestor::bookstore' || ["/bookstore"]
+ 'ancestor with parent list' | '//books/ancestor::bookstore/categories' || ["/bookstore/categories[@code='1']", "/bookstore/categories[@code='2']", "/bookstore/categories[@code='3']", "/bookstore/categories[@code='4']"]
+ 'ancestor with parent list element' | '//books/ancestor::bookstore/categories[@code="2"]' || ["/bookstore/categories[@code='2']"]
+ 'ancestor combined with text condition' | '//books/title[text()="Matilda"]/ancestor::bookstore' || ["/bookstore"]
+ }
+
+ @Ignore
+ def 'Cps Path query across anchors with #scenario descendants.'() {
+ when: 'a query is executed to get a data node by the given cps path'
+ def result = objectUnderTest.queryDataNodesAcrossAnchors(FUNCTIONAL_TEST_DATASPACE_1, '/bookstore', fetchDescendantsOption)
+ then: 'the correct dataspace was queried'
+ assert result.dataspace.toSet() == [FUNCTIONAL_TEST_DATASPACE_1].toSet()
+ and: 'correct number of datanodes are returned'
+ assert countDataNodesInTree(result) == expectedNumberOfNodesPerAnchor * NUMBER_OF_ANCHORS_PER_DATASPACE_WITH_BOOKSTORE_DATA
+ where: 'the following data is used'
+ scenario | fetchDescendantsOption || expectedNumberOfNodesPerAnchor
+ 'no' | OMIT_DESCENDANTS || 1
+ 'direct' | DIRECT_CHILDREN_ONLY || 6
+ 'all' | INCLUDE_ALL_DESCENDANTS || 17
+ }
+
+ @Ignore
+ def 'Cps Path query across anchors with ancestors and #scenario descendants.'() {
+ when: 'a query is executed to get a data node by the given cps path'
+ def result = objectUnderTest.queryDataNodesAcrossAnchors(FUNCTIONAL_TEST_DATASPACE_1, '//books/ancestor::bookstore', fetchDescendantsOption)
+ then: 'the correct dataspace was queried'
+ assert result.dataspace.toSet() == [FUNCTIONAL_TEST_DATASPACE_1].toSet()
+ and: 'correct number of datanodes are returned'
+ assert countDataNodesInTree(result) == expectedNumberOfNodesPerAnchor * NUMBER_OF_ANCHORS_PER_DATASPACE_WITH_BOOKSTORE_DATA
+ where: 'the following data is used'
+ scenario | fetchDescendantsOption || expectedNumberOfNodesPerAnchor
+ 'no' | OMIT_DESCENDANTS || 1
+ 'direct' | DIRECT_CHILDREN_ONLY || 6
+ 'all' | INCLUDE_ALL_DESCENDANTS || 17
+ }
+
+ def 'Cps Path query across anchors with syntax error throws a CPS Path Exception.'() {
+ when: 'trying to execute a query with a syntax (parsing) error'
+ objectUnderTest.queryDataNodesAcrossAnchors(FUNCTIONAL_TEST_DATASPACE_1, 'cpsPath that cannot be parsed' , OMIT_DESCENDANTS)
+ then: 'a cps path exception is thrown'
+ thrown(CpsPathException)
+ }
+
}
diff --git a/integration-test/src/test/groovy/org/onap/cps/integration/performance/base/CpsPerfTestBase.groovy b/integration-test/src/test/groovy/org/onap/cps/integration/performance/base/CpsPerfTestBase.groovy
index e75f1dce36..d339f6ddcf 100644
--- a/integration-test/src/test/groovy/org/onap/cps/integration/performance/base/CpsPerfTestBase.groovy
+++ b/integration-test/src/test/groovy/org/onap/cps/integration/performance/base/CpsPerfTestBase.groovy
@@ -20,11 +20,8 @@
package org.onap.cps.integration.performance.base
-import org.onap.cps.spi.FetchDescendantsOption
-
-import java.time.OffsetDateTime
-import org.onap.cps.integration.base.CpsIntegrationSpecBase
import org.onap.cps.rest.utils.MultipartFileUtil
+import org.onap.cps.spi.FetchDescendantsOption
import org.springframework.web.multipart.MultipartFile
class CpsPerfTestBase extends PerfTestBase {
@@ -41,8 +38,8 @@ class CpsPerfTestBase extends PerfTestBase {
def setupPerformanceInfraStructure() {
cpsAdminService.createDataspace(CPS_PERFORMANCE_TEST_DATASPACE)
- def modelAsString = CpsIntegrationSpecBase.readResourceDataFile('bookstore/bookstore.yang')
- cpsModuleService.createSchemaSet(CPS_PERFORMANCE_TEST_DATASPACE, CpsIntegrationSpecBase.BOOKSTORE_SCHEMA_SET, [bookstore: modelAsString])
+ def modelAsString = readResourceDataFile('bookstore/bookstore.yang')
+ cpsModuleService.createSchemaSet(CPS_PERFORMANCE_TEST_DATASPACE, BOOKSTORE_SCHEMA_SET, [bookstore: modelAsString])
}
def createInitialData() {
@@ -55,16 +52,16 @@ class CpsPerfTestBase extends PerfTestBase {
def createWarmupData() {
def data = "{\"bookstore\":{}}"
stopWatch.start()
- addAnchorsWithData(1, CpsIntegrationSpecBase.BOOKSTORE_SCHEMA_SET, 'warmup', data)
+ addAnchorsWithData(1, CPS_PERFORMANCE_TEST_DATASPACE, BOOKSTORE_SCHEMA_SET, 'warmup', data)
stopWatch.stop()
def durationInMillis = stopWatch.getTotalTimeMillis()
- recordAndAssertPerformance('Creating warmup anchor with tiny data tree', 250, durationInMillis)
+ recordAndAssertPerformance('Creating warmup anchor with tiny data tree', 500, durationInMillis)
}
def createLargeBookstoresData() {
- def data = CpsIntegrationSpecBase.readResourceDataFile('bookstore/largeModelData.json')
+ def data = readResourceDataFile('bookstore/largeModelData.json')
stopWatch.start()
- addAnchorsWithData(5, CpsIntegrationSpecBase.BOOKSTORE_SCHEMA_SET, 'bookstore', data)
+ addAnchorsWithData(5, CPS_PERFORMANCE_TEST_DATASPACE, BOOKSTORE_SCHEMA_SET, 'bookstore', data)
stopWatch.stop()
def durationInMillis = stopWatch.getTotalTimeMillis()
recordAndAssertPerformance('Creating bookstore anchors with large data tree', 3_000, durationInMillis)
@@ -75,23 +72,23 @@ class CpsPerfTestBase extends PerfTestBase {
def multipartFile = Mock(MultipartFile)
multipartFile.getOriginalFilename() >> file.getName()
multipartFile.getInputStream() >> new FileInputStream(file)
- cpsModuleService.createSchemaSet(CPS_PERFORMANCE_TEST_DATASPACE, PerfTestBase.LARGE_SCHEMA_SET, MultipartFileUtil.extractYangResourcesMap(multipartFile))
+ cpsModuleService.createSchemaSet(CPS_PERFORMANCE_TEST_DATASPACE, LARGE_SCHEMA_SET, MultipartFileUtil.extractYangResourcesMap(multipartFile))
}
def addOpenRoadData() {
- def data = CpsIntegrationSpecBase.readResourceDataFile('openroadm/innerNode.json')
+ def data = generateOpenRoadData(50)
stopWatch.start()
- addAnchorsWithData(5, PerfTestBase.LARGE_SCHEMA_SET, 'openroadm', data)
+ addAnchorsWithData(5, CPS_PERFORMANCE_TEST_DATASPACE, LARGE_SCHEMA_SET, 'openroadm', data)
stopWatch.stop()
def durationInMillis = stopWatch.getTotalTimeMillis()
recordAndAssertPerformance('Creating openroadm anchors with large data tree', 25_000, durationInMillis)
}
- def addAnchorsWithData(numberOfAnchors, schemaSetName, anchorNamePrefix, data) {
- (1..numberOfAnchors).each {
- cpsAdminService.createAnchor(CPS_PERFORMANCE_TEST_DATASPACE, schemaSetName, anchorNamePrefix + it)
- cpsDataService.saveData(CPS_PERFORMANCE_TEST_DATASPACE, anchorNamePrefix + it, data, OffsetDateTime.now())
- }
+ def generateOpenRoadData(numberOfNodes) {
+ def innerNode = readResourceDataFile('openroadm/innerNode.json')
+ return '{ "openroadm-devices": { "openroadm-device": [' +
+ (1..numberOfNodes).collect { innerNode.replace('NODE_ID_HERE', it.toString()) }.join(',') +
+ ']}}'
}
def 'Warm the database'() {
@@ -101,8 +98,8 @@ class CpsPerfTestBase extends PerfTestBase {
assert countDataNodesInTree(result) == 1
stopWatch.stop()
def durationInMillis = stopWatch.getTotalTimeMillis()
- then: 'all data is read within 15 seconds (warm up not critical)'
- recordAndAssertPerformance("Warming database", 15_000, durationInMillis)
+ then: 'all data is read within 25 seconds (warm up not critical)'
+ recordAndAssertPerformance("Warming database", 25_000, durationInMillis)
}
}
diff --git a/integration-test/src/test/groovy/org/onap/cps/integration/performance/base/NcmpRegistryPerfTestBase.groovy b/integration-test/src/test/groovy/org/onap/cps/integration/performance/base/NcmpRegistryPerfTestBase.groovy
index adece2ebf5..d169bd7571 100644
--- a/integration-test/src/test/groovy/org/onap/cps/integration/performance/base/NcmpRegistryPerfTestBase.groovy
+++ b/integration-test/src/test/groovy/org/onap/cps/integration/performance/base/NcmpRegistryPerfTestBase.groovy
@@ -40,12 +40,12 @@ class NcmpRegistryPerfTestBase extends PerfTestBase {
def setupPerformanceInfraStructure() {
cpsAdminService.createDataspace(NCMP_PERFORMANCE_TEST_DATASPACE)
- def modelAsString = CpsIntegrationSpecBase.readResourceDataFile('ncmp-registry/dmi-registry@2022-05-10.yang')
+ def modelAsString = readResourceDataFile('ncmp-registry/dmi-registry@2022-05-10.yang')
cpsModuleService.createSchemaSet(NCMP_PERFORMANCE_TEST_DATASPACE, REGISTRY_SCHEMA_SET, [registry: modelAsString])
}
def createInitialData() {
- def data = CpsIntegrationSpecBase.readResourceDataFile('ncmp-registry/1000-cmhandles.json')
+ def data = readResourceDataFile('ncmp-registry/1000-cmhandles.json')
cpsAdminService.createAnchor(NCMP_PERFORMANCE_TEST_DATASPACE, REGISTRY_SCHEMA_SET, REGISTRY_ANCHOR)
cpsDataService.saveData(NCMP_PERFORMANCE_TEST_DATASPACE, REGISTRY_ANCHOR, data, OffsetDateTime.now())
}
diff --git a/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/CpsAdminServiceLimits.groovy b/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/CpsAdminServiceLimits.groovy
new file mode 100644
index 0000000000..2c7c6ce35c
--- /dev/null
+++ b/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/CpsAdminServiceLimits.groovy
@@ -0,0 +1,50 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2023 Nordix Foundation
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the 'License');
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an 'AS IS' BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.cps.integration.performance.cps
+
+import org.onap.cps.integration.performance.base.CpsPerfTestBase
+import org.springframework.dao.DataAccessResourceFailureException
+
+class CpsAdminServiceLimits extends CpsPerfTestBase {
+
+ def objectUnderTest
+
+ def setup() { objectUnderTest = cpsAdminService }
+
+ def 'Get anchors from multiple schema set names limit exceeded: 32,766 (~ 2^15) schema set names.'() {
+ given: 'more than 32,766 schema set names'
+ def schemaSetNames = (0..32_766).collect { "size-of-this-name-does-not-matter-for-limit-" + it }
+ when: 'single get is executed to get all the anchors'
+ objectUnderTest.getAnchors(CPS_PERFORMANCE_TEST_DATASPACE, schemaSetNames)
+ then: 'a database exception is thrown'
+ thrown(DataAccessResourceFailureException.class)
+ }
+
+ def 'Querying anchor names limit exceeded: 32,766 (~ 2^15) modules.'() {
+ given: 'more than 32,766 module names'
+ def moduleNames = (0..32_766).collect { "size-of-this-name-does-not-matter-for-limit-" + it }
+ when: 'single query is executed to get all the anchors'
+ objectUnderTest.queryAnchorNames(CPS_PERFORMANCE_TEST_DATASPACE, moduleNames)
+ then: 'a database exception is thrown'
+ thrown(DataAccessResourceFailureException.class)
+ }
+
+}
diff --git a/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/CpsDataServiceLimits.groovy b/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/CpsDataServiceLimits.groovy
new file mode 100644
index 0000000000..1cb4ed800c
--- /dev/null
+++ b/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/CpsDataServiceLimits.groovy
@@ -0,0 +1,63 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2023 Nordix Foundation
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the 'License');
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an 'AS IS' BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.cps.integration.performance.cps
+
+import java.time.OffsetDateTime
+import org.onap.cps.integration.performance.base.CpsPerfTestBase
+import org.springframework.dao.DataAccessResourceFailureException
+import org.springframework.transaction.TransactionSystemException
+
+import static org.onap.cps.spi.FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS
+
+class CpsDataServiceLimits extends CpsPerfTestBase {
+
+ def objectUnderTest
+
+ def setup() { objectUnderTest = cpsDataService }
+
+ def 'Multiple get limit exceeded: 32,764 (~ 2^15) xpaths.'() {
+ given: 'more than 32,764 xpaths'
+ def xpaths = (0..32_764).collect { "/size/of/this/path/does/not/matter/for/limit[@id='" + it + "']" }
+ when: 'single operation is executed to get all datanodes with given xpaths'
+ objectUnderTest.getDataNodesForMultipleXpaths(CPS_PERFORMANCE_TEST_DATASPACE, 'bookstore1', xpaths, INCLUDE_ALL_DESCENDANTS)
+ then: 'a database exception is thrown'
+ thrown(DataAccessResourceFailureException.class)
+ }
+
+ def 'Delete multiple datanodes limit exceeded: 32,767 (~ 2^15) xpaths.'() {
+ given: 'more than 32,767 xpaths'
+ def xpaths = (0..32_767).collect { "/size/of/this/path/does/not/matter/for/limit[@id='" + it + "']" }
+ when: 'single operation is executed to delete all datanodes with given xpaths'
+ objectUnderTest.deleteDataNodes(CPS_PERFORMANCE_TEST_DATASPACE, 'bookstore1', xpaths, OffsetDateTime.now())
+ then: 'a database exception is thrown'
+ thrown(TransactionSystemException.class)
+ }
+
+ def 'Delete datanodes from multiple anchors limit exceeded: 32,766 (~ 2^15) anchors.'() {
+ given: 'more than 32,766 anchor names'
+ def anchorNames = (0..32_766).collect { "size-of-this-name-does-not-matter-for-limit-" + it }
+ when: 'single operation is executed to delete all datanodes in given anchors'
+ objectUnderTest.deleteDataNodes(CPS_PERFORMANCE_TEST_DATASPACE, anchorNames, OffsetDateTime.now())
+ then: 'a database exception is thrown'
+ thrown(DataAccessResourceFailureException.class)
+ }
+
+}
diff --git a/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/GetPerfTest.groovy b/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/GetPerfTest.groovy
index 30e8bf23d4..4676c908b9 100644
--- a/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/GetPerfTest.groovy
+++ b/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/GetPerfTest.groovy
@@ -21,7 +21,10 @@
package org.onap.cps.integration.performance.cps
import org.onap.cps.integration.performance.base.CpsPerfTestBase
-import org.onap.cps.spi.FetchDescendantsOption
+
+import static org.onap.cps.spi.FetchDescendantsOption.DIRECT_CHILDREN_ONLY
+import static org.onap.cps.spi.FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS
+import static org.onap.cps.spi.FetchDescendantsOption.OMIT_DESCENDANTS
class GetPerfTest extends CpsPerfTestBase {
@@ -29,11 +32,40 @@ class GetPerfTest extends CpsPerfTestBase {
def setup() { objectUnderTest = cpsDataService }
- def 'Read complete data trees from multiple anchors with #scenario.'() {
+ def 'Read top-level node with #scenario.'() {
+ when: 'get data nodes from 1 anchor'
+ stopWatch.start()
+ def result = objectUnderTest.getDataNodes(CPS_PERFORMANCE_TEST_DATASPACE, anchor, '/openroadm-devices', fetchDescendantsOption)
+ stopWatch.stop()
+ assert countDataNodesInTree(result) == expectedNumberOfDataNodes
+ def durationInMillis = stopWatch.getTotalTimeMillis()
+ then: 'all data is read within #durationLimit ms'
+ recordAndAssertPerformance("Read datatrees with ${scenario}", durationLimit, durationInMillis)
+ where: 'the following parameters are used'
+ scenario | fetchDescendantsOption | anchor || durationLimit | expectedNumberOfDataNodes
+ 'no descendants' | OMIT_DESCENDANTS | 'openroadm1' || 100 | 1
+ 'direct descendants' | DIRECT_CHILDREN_ONLY | 'openroadm2' || 100 | 1 + 50
+ 'all descendants' | INCLUDE_ALL_DESCENDANTS | 'openroadm3' || 350 | 1 + 50 * 86
+ }
+
+ def 'Read data trees for multiple xpaths'() {
+ given: 'a collection of xpaths to get'
+ def xpaths = (1..50).collect { "/openroadm-devices/openroadm-device[@device-id='C201-7-1A-" + it + "']" }
+ when: 'get data nodes from 1 anchor'
+ stopWatch.start()
+ def result = objectUnderTest.getDataNodesForMultipleXpaths(CPS_PERFORMANCE_TEST_DATASPACE, 'openroadm4', xpaths, INCLUDE_ALL_DESCENDANTS)
+ stopWatch.stop()
+ assert countDataNodesInTree(result) == 50 * 86
+ def durationInMillis = stopWatch.getTotalTimeMillis()
+ then: 'all data is read within 350 ms'
+ recordAndAssertPerformance("Read datatrees for multiple xpaths", 350, durationInMillis)
+ }
+
+ def 'Read complete data trees using #scenario.'() {
when: 'get data nodes for 5 anchors'
stopWatch.start()
(1..5).each {
- def result = objectUnderTest.getDataNodes(CPS_PERFORMANCE_TEST_DATASPACE, anchorPrefix + it, xpath, FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS)
+ def result = objectUnderTest.getDataNodes(CPS_PERFORMANCE_TEST_DATASPACE, anchorPrefix + it, xpath, INCLUDE_ALL_DESCENDANTS)
assert countDataNodesInTree(result) == expectedNumberOfDataNodes
}
stopWatch.stop()
@@ -42,10 +74,10 @@ class GetPerfTest extends CpsPerfTestBase {
recordAndAssertPerformance("Read datatrees using ${scenario}", durationLimit, durationInMillis)
where: 'the following xpaths are used'
scenario | anchorPrefix | xpath || durationLimit | expectedNumberOfDataNodes
- 'bookstore root' | 'bookstore' | '/' || 130 | 78
- 'bookstore top element' | 'bookstore' | '/bookstore' || 130 | 78
- 'openroadm root' | 'openroadm' | '/' || 750 | 2151
- 'openroadm top element' | 'openroadm' | '/openroadm-devices' || 750 | 2151
+ 'bookstore root' | 'bookstore' | '/' || 250 | 78
+ 'bookstore top element' | 'bookstore' | '/bookstore' || 250 | 78
+ 'openroadm root' | 'openroadm' | '/' || 1000 | 1 + 50 * 86
+ 'openroadm top element' | 'openroadm' | '/openroadm-devices' || 1000 | 1 + 50 * 86
}
}
diff --git a/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/QueryPerfTest.groovy b/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/QueryPerfTest.groovy
new file mode 100644
index 0000000000..496842096f
--- /dev/null
+++ b/integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/QueryPerfTest.groovy
@@ -0,0 +1,106 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2023 Nordix Foundation
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the 'License');
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an 'AS IS' BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.cps.integration.performance.cps
+
+import org.onap.cps.integration.performance.base.CpsPerfTestBase
+
+import static org.onap.cps.spi.FetchDescendantsOption.DIRECT_CHILDREN_ONLY
+import static org.onap.cps.spi.FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS
+import static org.onap.cps.spi.FetchDescendantsOption.OMIT_DESCENDANTS
+
+class QueryPerfTest extends CpsPerfTestBase {
+
+ def objectUnderTest
+
+ def setup() { objectUnderTest = cpsQueryService }
+
+ def 'Query complete data trees with #scenario.'() {
+ when: 'query data nodes (using a fresh anchor with identical data for each test)'
+ stopWatch.start()
+ def result = objectUnderTest.queryDataNodes(CPS_PERFORMANCE_TEST_DATASPACE, anchor, cpsPath, INCLUDE_ALL_DESCENDANTS)
+ stopWatch.stop()
+ def durationInMillis = stopWatch.getTotalTimeMillis()
+ then: 'the expected number of nodes is returned'
+ assert countDataNodesInTree(result) == expectedNumberOfDataNodes
+ and: 'all data is read within #durationLimit ms'
+ recordAndAssertPerformance("Query 1 anchor ${scenario}", durationLimit, durationInMillis)
+ where: 'the following parameters are used'
+ scenario | anchor | cpsPath || durationLimit | expectedNumberOfDataNodes
+ 'top element' | 'openroadm1' | '/openroadm-devices' || 250 | 50 * 86 + 1
+ 'leaf condition' | 'openroadm2' | '//openroadm-device[@ne-state="inservice"]' || 650 | 50 * 86
+ 'ancestors' | 'openroadm3' | '//openroadm-device/ancestor::openroadm-devices' || 250 | 50 * 86 + 1
+ 'leaf condition + ancestors' | 'openroadm4' | '//openroadm-device[@status="success"]/ancestor::openroadm-devices' || 500 | 50 * 86 + 1
+ }
+
+ def 'Query complete data trees across all anchors with #scenario.'() {
+ when: 'query data nodes across all anchors'
+ stopWatch.start()
+ def result = objectUnderTest.queryDataNodesAcrossAnchors('cpsPerformanceDataspace', cpspath, INCLUDE_ALL_DESCENDANTS)
+ stopWatch.stop()
+ def durationInMillis = stopWatch.getTotalTimeMillis()
+ then: 'the expected number of nodes is returned'
+ assert countDataNodesInTree(result) == expectedNumberOfDataNodes
+ and: 'all data is read within #durationLimit ms'
+ recordAndAssertPerformance("Query across anchors ${scenario}", durationLimit, durationInMillis)
+ where: 'the following parameters are used'
+ scenario | cpspath || durationLimit | expectedNumberOfDataNodes
+ // FIXME Current implementation of queryDataNodesAcrossAnchors throws NullPointerException for next case. Uncomment after CPS-1582 is done.
+ // 'top element' | '/openroadm-devices' || 1 | 5 * (50 * 86 + 1)
+ 'leaf condition' | '//openroadm-device[@ne-state="inservice"]' || 2500 | 5 * (50 * 86)
+ 'ancestors' | '//openroadm-device/ancestor::openroadm-devices' || 12000 | 5 * (50 * 86 + 1)
+ 'leaf condition + ancestors' | '//openroadm-device[@status="success"]/ancestor::openroadm-devices' || 1000 | 5 * (50 * 86 + 1)
+ }
+
+ def 'Query with leaf condition and #scenario.'() {
+ when: 'query data nodes (using a fresh anchor with identical data for each test)'
+ stopWatch.start()
+ def result = objectUnderTest.queryDataNodes(CPS_PERFORMANCE_TEST_DATASPACE, anchor, '//openroadm-device[@status="success"]', fetchDescendantsOption)
+ stopWatch.stop()
+ def durationInMillis = stopWatch.getTotalTimeMillis()
+ then: 'the expected number of nodes is returned'
+ assert countDataNodesInTree(result) == expectedNumberOfDataNodes
+ and: 'all data is read within #durationLimit ms'
+ recordAndAssertPerformance("Query with ${scenario}", durationLimit, durationInMillis)
+ where: 'the following parameters are used'
+ scenario | fetchDescendantsOption | anchor || durationLimit | expectedNumberOfDataNodes
+ 'no descendants' | OMIT_DESCENDANTS | 'openroadm1' || 100 | 50
+ 'direct descendants' | DIRECT_CHILDREN_ONLY | 'openroadm2' || 400 | 50 * 2
+ 'all descendants' | INCLUDE_ALL_DESCENDANTS | 'openroadm3' || 500 | 50 * 86
+ }
+
+ def 'Query ancestors with #scenario.'() {
+ when: 'query data nodes (using a fresh anchor with identical data for each test)'
+ stopWatch.start()
+ def result = objectUnderTest.queryDataNodes(CPS_PERFORMANCE_TEST_DATASPACE, anchor, '//openroadm-device[@ne-state="inservice"]/ancestor::openroadm-devices', fetchDescendantsOption)
+ stopWatch.stop()
+ def durationInMillis = stopWatch.getTotalTimeMillis()
+ then: 'the expected number of nodes is returned'
+ assert countDataNodesInTree(result) == expectedNumberOfDataNodes
+ and: 'all data is read within #durationLimit ms'
+ recordAndAssertPerformance("Query ancestors with ${scenario}", durationLimit, durationInMillis)
+ where: 'the following parameters are used'
+ scenario | fetchDescendantsOption | anchor || durationLimit | expectedNumberOfDataNodes
+ 'no descendants' | OMIT_DESCENDANTS | 'openroadm1' || 100 | 1
+ 'direct descendants' | DIRECT_CHILDREN_ONLY | 'openroadm2' || 250 | 1 + 50
+ 'all descendants' | INCLUDE_ALL_DESCENDANTS | 'openroadm3' || 400 | 1 + 50 * 86
+ }
+
+}
diff --git a/integration-test/src/test/groovy/org/onap/cps/integration/performance/ncmp/CmHandleQueryPerfTest.groovy b/integration-test/src/test/groovy/org/onap/cps/integration/performance/ncmp/CmHandleQueryPerfTest.groovy
index 87327030c7..443dd7efd7 100644
--- a/integration-test/src/test/groovy/org/onap/cps/integration/performance/ncmp/CmHandleQueryPerfTest.groovy
+++ b/integration-test/src/test/groovy/org/onap/cps/integration/performance/ncmp/CmHandleQueryPerfTest.groovy
@@ -22,7 +22,6 @@ package org.onap.cps.integration.performance.ncmp
import java.util.stream.Collectors
import org.onap.cps.integration.performance.base.NcmpRegistryPerfTestBase
-import org.springframework.dao.DataAccessResourceFailureException
import static org.onap.cps.spi.FetchDescendantsOption.OMIT_DESCENDANTS
import static org.onap.cps.spi.FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS
@@ -43,21 +42,12 @@ class CmHandleQueryPerfTest extends NcmpRegistryPerfTestBase {
def result = cpsDataService.getDataNodesForMultipleXpaths(NCMP_PERFORMANCE_TEST_DATASPACE, REGISTRY_ANCHOR, xpaths, INCLUDE_ALL_DESCENDANTS)
stopWatch.stop()
def durationInMillis = stopWatch.getTotalTimeMillis()
- then: 'the required operations are performed within 3 seconds'
- recordAndAssertPerformance("CpsPath Registry attributes Query", 3_000, durationInMillis)
+ then: 'the required operations are performed within 1200 ms'
+ recordAndAssertPerformance("CpsPath Registry attributes Query", 1200, durationInMillis)
and: 'all but 1 (other node) are returned'
result.size() == 999
and: 'the tree contains all the expected descendants too'
assert countDataNodesInTree(result) == 5 * 999
}
- def 'Multiple get limit exceeded: 32,764 (~ 2^15) xpaths.'() {
- given: 'more than 32,764 xpaths)'
- def xpaths = (0..32_764).collect(i -> "/size/of/this/path/does/not/matter/for/limit[@id='" + i + "']")
- when: 'single get is executed to get all the parent objects and their descendants'
- cpsDataService.getDataNodesForMultipleXpaths(NCMP_PERFORMANCE_TEST_DATASPACE, REGISTRY_ANCHOR, xpaths, INCLUDE_ALL_DESCENDANTS)
- then: 'an exception is thrown'
- thrown(DataAccessResourceFailureException.class)
- }
-
}
diff --git a/integration-test/src/test/resources/data/bookstore/bookstore.yang b/integration-test/src/test/resources/data/bookstore/bookstore.yang
index 2179fb93d9..62ebc73201 100644
--- a/integration-test/src/test/resources/data/bookstore/bookstore.yang
+++ b/integration-test/src/test/resources/data/bookstore/bookstore.yang
@@ -21,37 +21,56 @@ module stores {
type string;
}
- list categories {
+ container premises {
+ list addresses {
+ key "house-number street";
- key "code";
-
- leaf code {
- type string;
+ leaf house-number {
+ type uint16;
+ }
+ leaf street {
+ type string;
+ }
+ leaf town {
+ type string;
+ }
+ leaf county {
+ type string;
+ }
+ }
}
- leaf name {
- type string;
- }
+ list categories {
- list books {
- key title;
+ key "code";
- leaf title {
- type string;
- }
- leaf lang {
+ leaf code {
type string;
}
- leaf-list authors {
+
+ leaf name {
type string;
}
- leaf pub_year {
- type year;
- }
- leaf price {
- type uint64;
+
+ list books {
+ key title;
+
+ leaf title {
+ type string;
+ }
+ leaf lang {
+ type string;
+ }
+ leaf-list authors {
+ type string;
+ }
+ leaf-list editions {
+ type year;
+ }
+ leaf price {
+ type uint64;
+ }
}
}
}
- }
}
diff --git a/integration-test/src/test/resources/data/bookstore/bookstoreData.json b/integration-test/src/test/resources/data/bookstore/bookstoreData.json
index 1c6cb88f98..12df20e55b 100644
--- a/integration-test/src/test/resources/data/bookstore/bookstoreData.json
+++ b/integration-test/src/test/resources/data/bookstore/bookstoreData.json
@@ -1,6 +1,22 @@
{
"bookstore": {
"bookstore-name": "Easons",
+ "premises": {
+ "addresses": [
+ {
+ "house-number": 2,
+ "street": "Main Street",
+ "town": "Maynooth",
+ "county": "Kildare"
+ },
+ {
+ "house-number": 24,
+ "street": "Grafton Street",
+ "town": "Dublin",
+ "county": "Dublin"
+ }
+ ]
+ },
"categories": [
{
"code": 1,
@@ -10,14 +26,14 @@
"title": "Matilda",
"lang": "English",
"authors": ["Roald Dahl"],
- "pub_year": 1988,
+ "editions": [1988, 2000],
"price": 10
},
{
"title": "The Gruffalo",
"lang": "English",
"authors": ["Julia Donaldson"],
- "pub_year": 1999,
+ "editions": [1999],
"price": 15
}
]
@@ -30,7 +46,7 @@
"title": "Annihilation",
"lang": "English",
"authors": ["Jeff VanderMeer"],
- "pub_year": 2014,
+ "editions": [2014],
"price": 15
}
]
@@ -43,12 +59,52 @@
"title": "Good Omens",
"lang": "English",
"authors": ["Neil Gaiman", "Terry Pratchett"],
- "pub_year": 2006,
+ "editions": [2006],
"price": 13
+ },
+ {
+ "title": "The Colour of Magic",
+ "lang": "English",
+ "authors": ["Terry Pratchett"],
+ "editions": [1983],
+ "price": 12
+ },
+ {
+ "title": "The Light Fantastic",
+ "lang": "English",
+ "authors": ["Terry Pratchett"],
+ "editions": [1986],
+ "price": 14
+ },
+ {
+ "title": "A Book with No Language",
+ "lang": "",
+ "authors": ["Joe Bloggs"],
+ "editions": [2023],
+ "price": 20
+ }
+ ]
+ },
+ {
+ "code": 4,
+ "name": "Computing",
+ "books" : [
+ {
+ "title": "Debian GNU/Linux",
+ "lang": "German",
+ "authors": ["Peter H. Ganten", "Wulf Alex"],
+ "editions": [2007, 2013, 2021],
+ "price": 39
+ },
+ {
+ "title": "Logarithm tables",
+ "lang": "N/A",
+ "authors": ["Joe Bloggs"],
+ "editions": [2009],
+ "price": 11
}
]
}
-
]
}
-} \ No newline at end of file
+}
diff --git a/integration-test/src/test/resources/data/bookstore/largeModelData.json b/integration-test/src/test/resources/data/bookstore/largeModelData.json
index bdc22a7172..4a92a1da74 100644
--- a/integration-test/src/test/resources/data/bookstore/largeModelData.json
+++ b/integration-test/src/test/resources/data/bookstore/largeModelData.json
@@ -10,14 +10,14 @@
"title": "Matilda",
"lang": "English",
"authors": ["Roald Dahl"],
- "pub_year": 1988,
+ "editions": [1988, 2000],
"price": 10
},
{
"title": "The Gruffalo",
"lang": "English",
"authors": ["Julia Donaldson"],
- "pub_year": 1999,
+ "editions": [1999],
"price": 15
}
]
@@ -30,7 +30,7 @@
"title": "Annihilation",
"lang": "English",
"authors": ["Jeff VanderMeer"],
- "pub_year": 2014,
+ "editions": [2014],
"price": 15
}
]
@@ -43,7 +43,7 @@
"title": "Good Omens",
"lang": "English",
"authors": ["Neil Gaiman", "Terry Pratchett"],
- "pub_year": 2006,
+ "editions": [2006],
"price": 13
}
]
@@ -56,14 +56,14 @@
"title": "Matilda",
"lang": "English",
"authors": ["Roald Dahl"],
- "pub_year": 1988,
+ "editions": [1988, 2000],
"price": 10
},
{
"title": "The Gruffalo",
"lang": "English",
"authors": ["Julia Donaldson"],
- "pub_year": 1999,
+ "editions": [1999],
"price": 15
}
]
@@ -76,7 +76,7 @@
"title": "Annihilation",
"lang": "English",
"authors": ["Jeff VanderMeer"],
- "pub_year": 2014,
+ "editions": [2014],
"price": 15
}
]
@@ -89,7 +89,7 @@
"title": "Good Omens",
"lang": "English",
"authors": ["Neil Gaiman", "Terry Pratchett"],
- "pub_year": 2006,
+ "editions": [2006],
"price": 13
}
]
@@ -102,14 +102,14 @@
"title": "Matilda",
"lang": "English",
"authors": ["Roald Dahl"],
- "pub_year": 1988,
+ "editions": [1988, 2000],
"price": 10
},
{
"title": "The Gruffalo",
"lang": "English",
"authors": ["Julia Donaldson"],
- "pub_year": 1999,
+ "editions": [1999],
"price": 15
}
]
@@ -122,7 +122,7 @@
"title": "Annihilation",
"lang": "English",
"authors": ["Jeff VanderMeer"],
- "pub_year": 2014,
+ "editions": [2014],
"price": 15
}
]
@@ -135,7 +135,7 @@
"title": "Good Omens",
"lang": "English",
"authors": ["Neil Gaiman", "Terry Pratchett"],
- "pub_year": 2006,
+ "editions": [2006],
"price": 13
}
]
@@ -148,14 +148,14 @@
"title": "Matilda",
"lang": "English",
"authors": ["Roald Dahl"],
- "pub_year": 1988,
+ "editions": [1988, 2000],
"price": 10
},
{
"title": "The Gruffalo",
"lang": "English",
"authors": ["Julia Donaldson"],
- "pub_year": 1999,
+ "editions": [1999],
"price": 15
}
]
@@ -168,7 +168,7 @@
"title": "Annihilation",
"lang": "English",
"authors": ["Jeff VanderMeer"],
- "pub_year": 2014,
+ "editions": [2014],
"price": 15
}
]
@@ -181,7 +181,7 @@
"title": "Good Omens",
"lang": "English",
"authors": ["Neil Gaiman", "Terry Pratchett"],
- "pub_year": 2006,
+ "editions": [2006],
"price": 13
}
]
@@ -194,14 +194,14 @@
"title": "Matilda",
"lang": "English",
"authors": ["Roald Dahl"],
- "pub_year": 1988,
+ "editions": [1988, 2000],
"price": 10
},
{
"title": "The Gruffalo",
"lang": "English",
"authors": ["Julia Donaldson"],
- "pub_year": 1999,
+ "editions": [1999],
"price": 15
}
]
@@ -214,7 +214,7 @@
"title": "Annihilation",
"lang": "English",
"authors": ["Jeff VanderMeer"],
- "pub_year": 2014,
+ "editions": [2014],
"price": 15
}
]
@@ -227,7 +227,7 @@
"title": "Good Omens",
"lang": "English",
"authors": ["Neil Gaiman", "Terry Pratchett"],
- "pub_year": 2006,
+ "editions": [2006],
"price": 13
}
]
@@ -240,14 +240,14 @@
"title": "Matilda",
"lang": "English",
"authors": ["Roald Dahl"],
- "pub_year": 1988,
+ "editions": [1988, 2000],
"price": 10
},
{
"title": "The Gruffalo",
"lang": "English",
"authors": ["Julia Donaldson"],
- "pub_year": 1999,
+ "editions": [1999],
"price": 15
}
]
@@ -260,7 +260,7 @@
"title": "Annihilation",
"lang": "English",
"authors": ["Jeff VanderMeer"],
- "pub_year": 2014,
+ "editions": [2014],
"price": 15
}
]
@@ -273,7 +273,7 @@
"title": "Good Omens",
"lang": "English",
"authors": ["Neil Gaiman", "Terry Pratchett"],
- "pub_year": 2006,
+ "editions": [2006],
"price": 13
}
]
@@ -286,14 +286,14 @@
"title": "Matilda",
"lang": "English",
"authors": ["Roald Dahl"],
- "pub_year": 1988,
+ "editions": [1988, 2000],
"price": 10
},
{
"title": "The Gruffalo",
"lang": "English",
"authors": ["Julia Donaldson"],
- "pub_year": 1999,
+ "editions": [1999],
"price": 15
}
]
@@ -306,7 +306,7 @@
"title": "Annihilation",
"lang": "English",
"authors": ["Jeff VanderMeer"],
- "pub_year": 2014,
+ "editions": [2014],
"price": 15
}
]
@@ -319,7 +319,7 @@
"title": "Good Omens",
"lang": "English",
"authors": ["Neil Gaiman", "Terry Pratchett"],
- "pub_year": 2006,
+ "editions": [2006],
"price": 13
}
]
@@ -332,14 +332,14 @@
"title": "Matilda",
"lang": "English",
"authors": ["Roald Dahl"],
- "pub_year": 1988,
+ "editions": [1988, 2000],
"price": 10
},
{
"title": "The Gruffalo",
"lang": "English",
"authors": ["Julia Donaldson"],
- "pub_year": 1999,
+ "editions": [1999],
"price": 15
}
]
@@ -352,7 +352,7 @@
"title": "Annihilation",
"lang": "English",
"authors": ["Jeff VanderMeer"],
- "pub_year": 2014,
+ "editions": [2014],
"price": 15
}
]
@@ -365,7 +365,7 @@
"title": "Good Omens",
"lang": "English",
"authors": ["Neil Gaiman", "Terry Pratchett"],
- "pub_year": 2006,
+ "editions": [2006],
"price": 13
}
]
@@ -378,14 +378,14 @@
"title": "Matilda",
"lang": "English",
"authors": ["Roald Dahl"],
- "pub_year": 1988,
+ "editions": [1988, 2000],
"price": 10
},
{
"title": "The Gruffalo",
"lang": "English",
"authors": ["Julia Donaldson"],
- "pub_year": 1999,
+ "editions": [1999],
"price": 15
}
]
@@ -398,7 +398,7 @@
"title": "Annihilation",
"lang": "English",
"authors": ["Jeff VanderMeer"],
- "pub_year": 2014,
+ "editions": [2014],
"price": 15
}
]
@@ -411,7 +411,7 @@
"title": "Good Omens",
"lang": "English",
"authors": ["Neil Gaiman", "Terry Pratchett"],
- "pub_year": 2006,
+ "editions": [2006],
"price": 13
}
]
@@ -424,14 +424,14 @@
"title": "Matilda",
"lang": "English",
"authors": ["Roald Dahl"],
- "pub_year": 1988,
+ "editions": [1988, 2000],
"price": 10
},
{
"title": "The Gruffalo",
"lang": "English",
"authors": ["Julia Donaldson"],
- "pub_year": 1999,
+ "editions": [1999],
"price": 15
}
]
@@ -444,7 +444,7 @@
"title": "Annihilation",
"lang": "English",
"authors": ["Jeff VanderMeer"],
- "pub_year": 2014,
+ "editions": [2014],
"price": 15
}
]
@@ -457,7 +457,7 @@
"title": "Good Omens",
"lang": "English",
"authors": ["Neil Gaiman", "Terry Pratchett"],
- "pub_year": 2006,
+ "editions": [2006],
"price": 13
}
]
@@ -470,14 +470,14 @@
"title": "Matilda",
"lang": "English",
"authors": ["Roald Dahl"],
- "pub_year": 1988,
+ "editions": [1988, 2000],
"price": 10
},
{
"title": "The Gruffalo",
"lang": "English",
"authors": ["Julia Donaldson"],
- "pub_year": 1999,
+ "editions": [1999],
"price": 15
}
]
@@ -490,7 +490,7 @@
"title": "Annihilation",
"lang": "English",
"authors": ["Jeff VanderMeer"],
- "pub_year": 2014,
+ "editions": [2014],
"price": 15
}
]
@@ -503,7 +503,7 @@
"title": "Good Omens",
"lang": "English",
"authors": ["Neil Gaiman", "Terry Pratchett"],
- "pub_year": 2006,
+ "editions": [2006],
"price": 13
}
]
diff --git a/integration-test/src/test/resources/data/openroadm/innerNode.json b/integration-test/src/test/resources/data/openroadm/innerNode.json
index 403d732f55..90f8aa168c 100644
--- a/integration-test/src/test/resources/data/openroadm/innerNode.json
+++ b/integration-test/src/test/resources/data/openroadm/innerNode.json
@@ -1,10056 +1,402 @@
{
- "openroadm-devices": {
- "openroadm-device": [
- {
- "device-id": "C201-7-1A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-2A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-3A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-4A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-5A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-6A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-7A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-8A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-9A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-10A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-11A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-12A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-13A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-14A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-15A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-16A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-17A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-18A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-19A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-20A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-21A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-22A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-23A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-24A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- },
- {
- "device-id": "C201-7-25A-NODE_ID_HERE",
- "ne-state": "inservice",
- "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
- "org-openroadm-device": {
- "degree": [
- {
- "degree-number": 1,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 2,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 3,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 4,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 5,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 6,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 7,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 8,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 9,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 10,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 11,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 12,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 13,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 14,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 15,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 16,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 17,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 18,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 19,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 20,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 21,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 22,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 23,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 24,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 25,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 26,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 27,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- },
- {
- "degree-number": 28,
- "max-wavelengths": 128,
- "circuit-packs": [
- {
- "index": 1
- }
- ],
- "connection-ports": [
- {
- "index": 1
- }
- ]
- }
- ]
- },
- "status": "success"
- }
- ]
- }
+ "device-id": "C201-7-1A-NODE_ID_HERE",
+ "ne-state": "inservice",
+ "commission-date-time": "2022-11-06T14:12:23.260487-06:00",
+ "org-openroadm-device": {
+ "degree": [
+ {
+ "degree-number": 1,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 2,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 3,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 4,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 5,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 6,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 7,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 8,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 9,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 10,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 11,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 12,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 13,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 14,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 15,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 16,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 17,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 18,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 19,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 20,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 21,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 22,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 23,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 24,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 25,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 26,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 27,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ },
+ {
+ "degree-number": 28,
+ "max-wavelengths": 128,
+ "circuit-packs": [
+ {
+ "index": 1
+ }
+ ],
+ "connection-ports": [
+ {
+ "index": 1
+ }
+ ]
+ }
+ ]
+ },
+ "status": "success"
}