From 12502f7ff8cc5b8a1c867e43d0bf30bc59a8908c Mon Sep 17 00:00:00 2001 From: Tina Tang Date: Tue, 18 Oct 2016 16:35:48 +0800 Subject: [PATCH] [GH-30] Add fc port list support Adds a new API get_fc_port in class UnitySystem to get all the fc ports of the system. --- storops/unity/enums.py | 4 + storops/unity/resource/system.py | 5 +- test/unity/resource/test_port.py | 27 +- test/unity/resource/test_system.py | 8 + test/unity/rest_data/fcPort/all.json | 696 +++++++++++++++++++++++ test/unity/rest_data/fcPort/index.json | 16 + test/unity/rest_data/fcPort/spa_fc4.json | 56 ++ test/unity/rest_data/fcPort/type.json | 135 +++++ 8 files changed, 944 insertions(+), 3 deletions(-) create mode 100755 test/unity/rest_data/fcPort/all.json create mode 100755 test/unity/rest_data/fcPort/index.json create mode 100755 test/unity/rest_data/fcPort/spa_fc4.json create mode 100755 test/unity/rest_data/fcPort/type.json diff --git a/storops/unity/enums.py b/storops/unity/enums.py index c31469e6..d6af1133 100644 --- a/storops/unity/enums.py +++ b/storops/unity/enums.py @@ -544,6 +544,10 @@ class ConnectorTypeEnum(UnityEnum): RJ45 = (1, 'RJ45') LC = (2, 'LC') MINI_SAS_HD = (3, 'MiniSAS HD') + COPPER_PIGTAIL = (4, "Copper pigtail") + NO_SEPARABLE_CONNECTOR = (5, "No separable connector") + NAS_COPPER = (6, "NAS copper") + NOT_PRESENT = (7, "Not present") class EPSpeedValuesEnum(UnityEnum): diff --git a/storops/unity/resource/system.py b/storops/unity/resource/system.py index cca5bd0a..bd1fcbe8 100644 --- a/storops/unity/resource/system.py +++ b/storops/unity/resource/system.py @@ -39,7 +39,7 @@ from storops.unity.resource.snap import UnitySnapList from storops.unity.resource.sp import UnityStorageProcessorList from storops.unity.resource.port import UnityEthernetPortList, \ - UnityIscsiPortalList + UnityIscsiPortalList, UnityFcPortList from storops.unity.resource.vmware import UnityCapabilityProfileList __author__ = 'Jay Xu' @@ -67,6 +67,9 @@ def get_sp(self, _id=None, name=None, **filters): def get_iscsi_portal(self, _id=None, **filters): return self._get_unity_rsc(UnityIscsiPortalList, _id=_id, **filters) + def get_fc_port(self, _id=None, **filters): + return self._get_unity_rsc(UnityFcPortList, _id=_id, **filters) + def get_ethernet_port(self, _id=None, name=None, **filters): return self._get_unity_rsc(UnityEthernetPortList, _id=_id, name=name, **filters) diff --git a/test/unity/resource/test_port.py b/test/unity/resource/test_port.py index 07c6ae68..c1a25fa6 100644 --- a/test/unity/resource/test_port.py +++ b/test/unity/resource/test_port.py @@ -21,9 +21,10 @@ from hamcrest import assert_that, equal_to, instance_of, only_contains, raises from storops.exception import UnityEthernetPortSpeedNotSupportError, \ UnityEthernetPortMtuSizeNotSupportError -from storops.unity.enums import ConnectorTypeEnum, EPSpeedValuesEnum +from storops.unity.enums import ConnectorTypeEnum, EPSpeedValuesEnum, \ + FcSpeedEnum from storops.unity.resource.port import UnityEthernetPort, UnityIpPort, \ - UnityIpPortList, UnityIscsiPortal, UnityIscsiNode + UnityIpPortList, UnityIscsiPortal, UnityIscsiNode, UnityFcPort from storops.unity.resource.sp import UnityStorageProcessor from test.unity.rest_mock import t_rest, patch_rest @@ -125,3 +126,25 @@ def test_get_properties(self): equal_to('iqn.1992-04.com.emc:cx.fnm00150600267.a0')) assert_that(portal.netmask, equal_to('255.255.255.0')) assert_that(portal.gateway, equal_to('10.244.213.1')) + + +class UnityFcPortTest(TestCase): + @patch_rest + def test_get_properties(self): + port = UnityFcPort('spa_fc4', cli=t_rest()) + assert_that(port.existed, equal_to(True)) + assert_that(port.slot_number, equal_to(4)) + assert_that( + port.wwn, + equal_to("50:06:01:60:C7:E0:01:DA:50:06:01:62:47:E0:01:DA")) + assert_that(port.available_speeds, + only_contains(FcSpeedEnum._4GbPS, + FcSpeedEnum._8GbPS, + FcSpeedEnum._16GbPS, + FcSpeedEnum.AUTO)) + assert_that(port.connector_type, + equal_to(ConnectorTypeEnum.LC)) + assert_that(port.name, + equal_to("SP A FC Port 4")) + assert_that(port.storage_processor, + equal_to(UnityStorageProcessor('spa', cli=t_rest()))) diff --git a/test/unity/resource/test_system.py b/test/unity/resource/test_system.py index 33e509e5..a7707e75 100644 --- a/test/unity/resource/test_system.py +++ b/test/unity/resource/test_system.py @@ -38,6 +38,7 @@ from storops.unity.resource.nfs_server import UnityNfsServerList from storops.unity.resource.nfs_share import UnityNfsShareList from storops.unity.resource.pool import UnityPoolList +from storops.unity.resource.port import UnityFcPortList from storops.unity.resource.lun import UnityLunList from storops.unity.resource.port import UnityIpPortList from storops.unity.resource.snap import UnitySnapList @@ -367,6 +368,13 @@ def test_get_doc_resource(self): assert_that(doc, contains_string( 'For a file system or VMware NFS datastore')) + @patch_rest + def test_get_fc_port(self): + unity = t_unity() + fi_list = unity.get_fc_port() + assert_that(fi_list, instance_of(UnityFcPortList)) + assert_that(len(fi_list), equal_to(12)) + class UnityDpeTest(TestCase): @patch_rest diff --git a/test/unity/rest_data/fcPort/all.json b/test/unity/rest_data/fcPort/all.json new file mode 100755 index 00000000..7925407a --- /dev/null +++ b/test/unity/rest_data/fcPort/all.json @@ -0,0 +1,696 @@ +{ + "@base": "https://10.244.223.61/api/types/fcPort/instances?fields=availableSpeeds,cascadeNames,connectorType,currentSpeed,health,id,nPortId,name,needsReplacement,operationalStatus,parent,portRepCapabilities,requestedSpeed,sfpSupportedProtocols,sfpSupportedSpeeds,shortName,slotNumber,wwn,parentStorageProcessor.id,storageProcessor.id,parentIOModule.id&per_page=2000&compact=true", + "updated": "2016-10-18T01:56:10.923Z", + "links": [ + { + "href": "&page=1", + "rel": "self" + } + ], + "entries": [ + { + "content": { + "storageProcessor": { + "id": "spa" + }, + "parent": { + "resource": "storageProcessor", + "id": "spa" + }, + "portRepCapabilities": [ + 0 + ], + "parentStorageProcessor": { + "id": "spa" + }, + "name": "SP A FC Port 4", + "availableSpeeds": [ + 4, + 8, + 16, + 0 + ], + "needsReplacement": false, + "sfpSupportedSpeeds": [ + 4000, + 8000, + 16000 + ], + "sfpSupportedProtocols": [ + 1 + ], + "operationalStatus": [ + 2, + 32785 + ], + "health": { + "descriptionIds": [ + "ALRT_PORT_LINK_DOWN_NOT_IN_USE" + ], + "descriptions": [ + "The port link is down, but not in use. No action is required." + ], + "value": 5 + }, + "cascadeNames": [ + "FC Port 4", + "SP A" + ], + "nPortId": 4294967295, + "shortName": "FC Port 4", + "wwn": "50:06:01:60:C7:E0:01:DA:50:06:01:62:47:E0:01:DA", + "connectorType": 2, + "id": "spa_fc4", + "slotNumber": 4 + } + }, + { + "content": { + "storageProcessor": { + "id": "spa" + }, + "parent": { + "resource": "storageProcessor", + "id": "spa" + }, + "portRepCapabilities": [ + 1 + ], + "parentStorageProcessor": { + "id": "spa" + }, + "name": "SP A FC Port 5", + "availableSpeeds": [ + 4, + 8, + 16, + 0 + ], + "needsReplacement": false, + "sfpSupportedSpeeds": [ + 4000, + 8000, + 16000 + ], + "sfpSupportedProtocols": [ + 1 + ], + "operationalStatus": [ + 2, + 32785 + ], + "health": { + "descriptionIds": [ + "ALRT_PORT_LINK_DOWN_NOT_IN_USE" + ], + "descriptions": [ + "The port link is down, but not in use. No action is required." + ], + "value": 5 + }, + "cascadeNames": [ + "FC Port 5", + "SP A" + ], + "nPortId": 4294967295, + "shortName": "FC Port 5", + "wwn": "50:06:01:60:C7:E0:01:DA:50:06:01:63:47:E0:01:DA", + "connectorType": 2, + "id": "spa_fc5", + "slotNumber": 5 + } + }, + { + "content": { + "storageProcessor": { + "id": "spa" + }, + "name": "SP A I/O Module 1 FC Port 0", + "parent": { + "resource": "ioModule", + "id": "spa_iom_1" + }, + "portRepCapabilities": [ + 1 + ], + "connectorType": 2, + "availableSpeeds": [ + 4, + 8, + 16, + 0 + ], + "needsReplacement": false, + "sfpSupportedSpeeds": [ + 4000, + 8000, + 16000 + ], + "sfpSupportedProtocols": [ + 1 + ], + "operationalStatus": [ + 32784, + 2 + ], + "health": { + "descriptionIds": [ + "ALRT_PORT_LINK_UP" + ], + "descriptions": [ + "The port is operating normally." + ], + "value": 5 + }, + "cascadeNames": [ + "FC Port 0", + "I/O Module 1", + "SP A" + ], + "nPortId": 10554112, + "parentIOModule": { + "id": "spa_iom_1" + }, + "shortName": "I/O Module 1 FC Port 0", + "wwn": "50:06:01:60:C7:E0:01:DA:50:06:01:64:47:E0:01:DA", + "currentSpeed": 8, + "id": "spa_iom_1_fc0", + "slotNumber": 0 + } + }, + { + "content": { + "storageProcessor": { + "id": "spa" + }, + "name": "SP A I/O Module 1 FC Port 1", + "parent": { + "resource": "ioModule", + "id": "spa_iom_1" + }, + "portRepCapabilities": [ + 1 + ], + "connectorType": 2, + "availableSpeeds": [ + 4, + 8, + 16, + 0 + ], + "needsReplacement": false, + "sfpSupportedSpeeds": [ + 4000, + 8000, + 16000 + ], + "sfpSupportedProtocols": [ + 1 + ], + "operationalStatus": [ + 2, + 32784 + ], + "health": { + "descriptionIds": [ + "ALRT_PORT_LINK_UP" + ], + "descriptions": [ + "The port is operating normally." + ], + "value": 5 + }, + "cascadeNames": [ + "FC Port 1", + "I/O Module 1", + "SP A" + ], + "nPortId": 10558208, + "parentIOModule": { + "id": "spa_iom_1" + }, + "shortName": "I/O Module 1 FC Port 1", + "wwn": "50:06:01:60:C7:E0:01:DA:50:06:01:65:47:E0:01:DA", + "currentSpeed": 8, + "id": "spa_iom_1_fc1", + "slotNumber": 1 + } + }, + { + "content": { + "storageProcessor": { + "id": "spa" + }, + "parentIOModule": { + "id": "spa_iom_1" + }, + "parent": { + "resource": "ioModule", + "id": "spa_iom_1" + }, + "portRepCapabilities": [ + 1 + ], + "name": "SP A I/O Module 1 FC Port 2", + "availableSpeeds": [ + 4, + 8, + 16, + 0 + ], + "needsReplacement": false, + "sfpSupportedSpeeds": [ + 4000, + 8000, + 16000 + ], + "sfpSupportedProtocols": [ + 1 + ], + "operationalStatus": [ + 32785, + 2 + ], + "health": { + "descriptionIds": [ + "ALRT_PORT_LINK_DOWN_NOT_IN_USE" + ], + "descriptions": [ + "The port link is down, but not in use. No action is required." + ], + "value": 5 + }, + "cascadeNames": [ + "FC Port 2", + "I/O Module 1", + "SP A" + ], + "nPortId": 4294967295, + "shortName": "I/O Module 1 FC Port 2", + "wwn": "50:06:01:60:C7:E0:01:DA:50:06:01:66:47:E0:01:DA", + "connectorType": 2, + "id": "spa_iom_1_fc2", + "slotNumber": 2 + } + }, + { + "content": { + "storageProcessor": { + "id": "spa" + }, + "parentIOModule": { + "id": "spa_iom_1" + }, + "parent": { + "resource": "ioModule", + "id": "spa_iom_1" + }, + "portRepCapabilities": [ + 1 + ], + "name": "SP A I/O Module 1 FC Port 3", + "availableSpeeds": [ + 4, + 8, + 16, + 0 + ], + "needsReplacement": false, + "sfpSupportedSpeeds": [ + 4000, + 8000, + 16000 + ], + "sfpSupportedProtocols": [ + 1 + ], + "operationalStatus": [ + 2, + 32785 + ], + "health": { + "descriptionIds": [ + "ALRT_PORT_LINK_DOWN_NOT_IN_USE" + ], + "descriptions": [ + "The port link is down, but not in use. No action is required." + ], + "value": 5 + }, + "cascadeNames": [ + "FC Port 3", + "I/O Module 1", + "SP A" + ], + "nPortId": 4294967295, + "shortName": "I/O Module 1 FC Port 3", + "wwn": "50:06:01:60:C7:E0:01:DA:50:06:01:67:47:E0:01:DA", + "connectorType": 2, + "id": "spa_iom_1_fc3", + "slotNumber": 3 + } + }, + { + "content": { + "storageProcessor": { + "id": "spb" + }, + "parent": { + "resource": "storageProcessor", + "id": "spb" + }, + "portRepCapabilities": [ + 0 + ], + "parentStorageProcessor": { + "id": "spb" + }, + "name": "SP B FC Port 4", + "availableSpeeds": [ + 4, + 8, + 16, + 0 + ], + "needsReplacement": false, + "sfpSupportedSpeeds": [ + 4000, + 8000, + 16000 + ], + "sfpSupportedProtocols": [ + 1 + ], + "operationalStatus": [ + 32785, + 2 + ], + "health": { + "descriptionIds": [ + "ALRT_PORT_LINK_DOWN_NOT_IN_USE" + ], + "descriptions": [ + "The port link is down, but not in use. No action is required." + ], + "value": 5 + }, + "cascadeNames": [ + "FC Port 4", + "SP B" + ], + "nPortId": 4294967295, + "shortName": "FC Port 4", + "wwn": "50:06:01:60:C7:E0:01:DA:50:06:01:6A:47:E0:01:DA", + "connectorType": 2, + "id": "spb_fc4", + "slotNumber": 4 + } + }, + { + "content": { + "storageProcessor": { + "id": "spb" + }, + "parent": { + "resource": "storageProcessor", + "id": "spb" + }, + "portRepCapabilities": [ + 1 + ], + "parentStorageProcessor": { + "id": "spb" + }, + "name": "SP B FC Port 5", + "availableSpeeds": [ + 4, + 8, + 16, + 0 + ], + "needsReplacement": false, + "sfpSupportedSpeeds": [ + 4000, + 8000, + 16000 + ], + "sfpSupportedProtocols": [ + 1 + ], + "operationalStatus": [ + 2, + 32785 + ], + "health": { + "descriptionIds": [ + "ALRT_PORT_LINK_DOWN_NOT_IN_USE" + ], + "descriptions": [ + "The port link is down, but not in use. No action is required." + ], + "value": 5 + }, + "cascadeNames": [ + "FC Port 5", + "SP B" + ], + "nPortId": 4294967295, + "shortName": "FC Port 5", + "wwn": "50:06:01:60:C7:E0:01:DA:50:06:01:6B:47:E0:01:DA", + "connectorType": 2, + "id": "spb_fc5", + "slotNumber": 5 + } + }, + { + "content": { + "storageProcessor": { + "id": "spb" + }, + "name": "SP B I/O Module 1 FC Port 0", + "parent": { + "resource": "ioModule", + "id": "spb_iom_1" + }, + "portRepCapabilities": [ + 1 + ], + "connectorType": 2, + "availableSpeeds": [ + 4, + 8, + 16, + 0 + ], + "needsReplacement": false, + "sfpSupportedSpeeds": [ + 4000, + 8000, + 16000 + ], + "sfpSupportedProtocols": [ + 1 + ], + "operationalStatus": [ + 32784, + 2 + ], + "health": { + "descriptionIds": [ + "ALRT_PORT_LINK_UP" + ], + "descriptions": [ + "The port is operating normally." + ], + "value": 5 + }, + "cascadeNames": [ + "FC Port 0", + "I/O Module 1", + "SP B" + ], + "nPortId": 10553856, + "parentIOModule": { + "id": "spb_iom_1" + }, + "shortName": "I/O Module 1 FC Port 0", + "wwn": "50:06:01:60:C7:E0:01:DA:50:06:01:6C:47:E0:01:DA", + "currentSpeed": 8, + "id": "spb_iom_1_fc0", + "slotNumber": 0 + } + }, + { + "content": { + "storageProcessor": { + "id": "spb" + }, + "name": "SP B I/O Module 1 FC Port 1", + "parent": { + "resource": "ioModule", + "id": "spb_iom_1" + }, + "portRepCapabilities": [ + 1 + ], + "connectorType": 2, + "availableSpeeds": [ + 4, + 8, + 16, + 0 + ], + "needsReplacement": false, + "sfpSupportedSpeeds": [ + 4000, + 8000, + 16000 + ], + "sfpSupportedProtocols": [ + 1 + ], + "operationalStatus": [ + 32784, + 2 + ], + "health": { + "descriptionIds": [ + "ALRT_PORT_LINK_UP" + ], + "descriptions": [ + "The port is operating normally." + ], + "value": 5 + }, + "cascadeNames": [ + "FC Port 1", + "I/O Module 1", + "SP B" + ], + "nPortId": 10557952, + "parentIOModule": { + "id": "spb_iom_1" + }, + "shortName": "I/O Module 1 FC Port 1", + "wwn": "50:06:01:60:C7:E0:01:DA:50:06:01:6D:47:E0:01:DA", + "currentSpeed": 8, + "id": "spb_iom_1_fc1", + "slotNumber": 1 + } + }, + { + "content": { + "storageProcessor": { + "id": "spb" + }, + "parentIOModule": { + "id": "spb_iom_1" + }, + "parent": { + "resource": "ioModule", + "id": "spb_iom_1" + }, + "portRepCapabilities": [ + 1 + ], + "name": "SP B I/O Module 1 FC Port 2", + "availableSpeeds": [ + 4, + 8, + 16, + 0 + ], + "needsReplacement": false, + "sfpSupportedSpeeds": [ + 4000, + 8000, + 16000 + ], + "sfpSupportedProtocols": [ + 1 + ], + "operationalStatus": [ + 32785, + 2 + ], + "health": { + "descriptionIds": [ + "ALRT_PORT_LINK_DOWN_NOT_IN_USE" + ], + "descriptions": [ + "The port link is down, but not in use. No action is required." + ], + "value": 5 + }, + "cascadeNames": [ + "FC Port 2", + "I/O Module 1", + "SP B" + ], + "nPortId": 4294967295, + "shortName": "I/O Module 1 FC Port 2", + "wwn": "50:06:01:60:C7:E0:01:DA:50:06:01:6E:47:E0:01:DA", + "connectorType": 2, + "id": "spb_iom_1_fc2", + "slotNumber": 2 + } + }, + { + "content": { + "storageProcessor": { + "id": "spb" + }, + "parentIOModule": { + "id": "spb_iom_1" + }, + "parent": { + "resource": "ioModule", + "id": "spb_iom_1" + }, + "portRepCapabilities": [ + 1 + ], + "name": "SP B I/O Module 1 FC Port 3", + "availableSpeeds": [ + 4, + 8, + 16, + 0 + ], + "needsReplacement": false, + "sfpSupportedSpeeds": [ + 4000, + 8000, + 16000 + ], + "sfpSupportedProtocols": [ + 1 + ], + "operationalStatus": [ + 32785, + 2 + ], + "health": { + "descriptionIds": [ + "ALRT_PORT_LINK_DOWN_NOT_IN_USE" + ], + "descriptions": [ + "The port link is down, but not in use. No action is required." + ], + "value": 5 + }, + "cascadeNames": [ + "FC Port 3", + "I/O Module 1", + "SP B" + ], + "nPortId": 4294967295, + "shortName": "I/O Module 1 FC Port 3", + "wwn": "50:06:01:60:C7:E0:01:DA:50:06:01:6F:47:E0:01:DA", + "connectorType": 2, + "id": "spb_iom_1_fc3", + "slotNumber": 3 + } + } + ] +} diff --git a/test/unity/rest_data/fcPort/index.json b/test/unity/rest_data/fcPort/index.json new file mode 100755 index 00000000..ac3b4fcb --- /dev/null +++ b/test/unity/rest_data/fcPort/index.json @@ -0,0 +1,16 @@ +{ + "indices": [ + { + "url": "/api/types/fcPort?compact=True&fields=attributes.description,attributes.displayValue,attributes.initialValue,attributes.name,attributes.type,description,documentation,name,type", + "response": "type.json" + }, + { + "url": "/api/types/fcPort/instances?compact=True&fields=availableSpeeds,cascadeNames,connectorType,currentSpeed,health,id,nPortId,name,needsReplacement,operationalStatus,parent,parentIOModule,parentStorageProcessor,portRepCapabilities,requestedSpeed,sfpSupportedProtocols,sfpSupportedSpeeds,shortName,slotNumber,storageProcessor,wwn", + "response": "all.json" + }, + { + "url": "/api/instances/fcPort/spa_fc4?compact=True&fields=availableSpeeds,cascadeNames,connectorType,currentSpeed,health,id,nPortId,name,needsReplacement,operationalStatus,parent,parentIOModule,parentStorageProcessor,portRepCapabilities,requestedSpeed,sfpSupportedProtocols,sfpSupportedSpeeds,shortName,slotNumber,storageProcessor,wwn", + "response": "spa_fc4.json" + } + ] + } diff --git a/test/unity/rest_data/fcPort/spa_fc4.json b/test/unity/rest_data/fcPort/spa_fc4.json new file mode 100755 index 00000000..f584b81a --- /dev/null +++ b/test/unity/rest_data/fcPort/spa_fc4.json @@ -0,0 +1,56 @@ +{ + "content": { + "storageProcessor": { + "id": "spa" + }, + "parent": { + "resource": "storageProcessor", + "id": "spa" + }, + "portRepCapabilities": [ + 0 + ], + "parentStorageProcessor": { + "id": "spa" + }, + "name": "SP A FC Port 4", + "availableSpeeds": [ + 4, + 8, + 16, + 0 + ], + "needsReplacement": false, + "sfpSupportedSpeeds": [ + 4000, + 8000, + 16000 + ], + "sfpSupportedProtocols": [ + 1 + ], + "operationalStatus": [ + 2, + 32785 + ], + "health": { + "descriptionIds": [ + "ALRT_PORT_LINK_DOWN_NOT_IN_USE" + ], + "descriptions": [ + "The port link is down, but not in use. No action is required." + ], + "value": 5 + }, + "cascadeNames": [ + "FC Port 4", + "SP A" + ], + "nPortId": 4294967295, + "shortName": "FC Port 4", + "wwn": "50:06:01:60:C7:E0:01:DA:50:06:01:62:47:E0:01:DA", + "connectorType": 2, + "id": "spa_fc4", + "slotNumber": 4 + } +} diff --git a/test/unity/rest_data/fcPort/type.json b/test/unity/rest_data/fcPort/type.json new file mode 100755 index 00000000..d7a20f58 --- /dev/null +++ b/test/unity/rest_data/fcPort/type.json @@ -0,0 +1,135 @@ +{ + "content": { + "attributes": [ + { + "displayValue": "id", + "type": "String", + "name": "id", + "description": "Unique identifier of the fcPort instance. " + }, + { + "displayValue": "health", + "type": "health", + "name": "health", + "description": "Health information for the FC port, as defined by the health resource type. " + }, + { + "displayValue": "operationalStatus", + "type": "List", + "name": "operationalStatus", + "description": "Current operational status information for the FC port. " + }, + { + "displayValue": "parent", + "type": "resourceRef", + "name": "parent", + "description": "Resource type and unique identifier of the FC port's enclosure, as defined by the resourceRef resource type. " + }, + { + "displayValue": "slotNumber", + "type": "Integer", + "name": "slotNumber", + "description": "Physical location of the FC port. " + }, + { + "displayValue": "wwn", + "type": "String", + "name": "wwn", + "description": "World Wide Name (WWN) of the FC port. " + }, + { + "displayValue": "availableSpeeds", + "type": "List", + "name": "availableSpeeds", + "description": "Available data transmission speed values for the FC port. " + }, + { + "displayValue": "currentSpeed", + "type": "FcSpeedEnum", + "name": "currentSpeed", + "description": "Current data transmission speed of the FC port. " + }, + { + "displayValue": "requestedSpeed", + "type": "FcSpeedEnum", + "name": "requestedSpeed", + "description": "Data transmission speed requested by the user. " + }, + { + "displayValue": "sfpSupportedSpeeds", + "type": "List", + "name": "sfpSupportedSpeeds", + "description": "SFP (the small form-factor pluggable) supported speeds of the FC port. " + }, + { + "displayValue": "sfpSupportedProtocols", + "type": "List", + "name": "sfpSupportedProtocols", + "description": "SFP (the small form-factor pluggable) supported protocols of the FC port. " + }, + { + "displayValue": "connectorType", + "type": "ConnectorTypeEnum", + "name": "connectorType", + "description": "Physical connector type. " + }, + { + "displayValue": "storageProcessor", + "type": "storageProcessor", + "name": "storageProcessor", + "description": "SP on which the FC port directly or indirectly resides, as defined by the storageProcessor resource type. " + }, + { + "displayValue": "needsReplacement", + "type": "Boolean", + "name": "needsReplacement", + "description": "Indicates whether the FC port needs replacement. Values are:
  • true - FC port needs replacement.
  • false - FC port does not need replacement.
" + }, + { + "displayValue": "nPortId", + "type": "Integer", + "name": "nPortId", + "description": "Port on the node host or storage device used with FC point-to-point or FC switched fabric topologies. " + }, + { + "displayValue": "name", + "type": "String", + "name": "name", + "description": "FC port name. " + }, + { + "displayValue": "shortName", + "type": "String", + "name": "shortName", + "description": "FC port short name. " + }, + { + "displayValue": "cascadeNames", + "type": "List", + "name": "cascadeNames", + "description": "Hierarchical port name, which consists of the following components: I/O module name (if an I/O module is present) Port name Associated SP " + }, + { + "displayValue": "parentIOModule", + "type": "ioModule", + "name": "parentIOModule", + "description": "(Applies if the FC port resides on an I/O module.) Parent I/O module of the FC port, as defined by the ioModule resource type. " + }, + { + "displayValue": "parentStorageProcessor", + "type": "storageProcessor", + "name": "parentStorageProcessor", + "description": "(Applies if the FC port resides directly on an SP.) Parent SP of the FC port, as defined by the storageProcessor resource type. " + }, + { + "displayValue": "portRepCapabilities", + "type": "List", + "name": "portRepCapabilities", + "description": "FC port replication capability. " + } + ], + "documentation": "https://10.244.223.61/apidocs/classes/fcPort.html", + "name": "fcPort", + "description": "Fibre Channel (FC) front end port settings. Applies if the FC protocol is supported on the system and the corresponding license is installed. " + } +}