0% found this document useful (0 votes)
4 views190 pages

Brocade API Doc

The Brocade Network Advisor REST API Guide provides comprehensive information on the features and usage of the Network Advisor 12.3.0. It includes details on logging in, retrieving resources, and utilizing various APIs such as Topology, Traffic Flow, and Zoning. The document serves as a technical reference for users seeking to implement and interact with the Brocade Network Advisor REST API.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views190 pages

Brocade API Doc

The Brocade Network Advisor REST API Guide provides comprehensive information on the features and usage of the Network Advisor 12.3.0. It includes details on logging in, retrieving resources, and utilizing various APIs such as Topology, Traffic Flow, and Zoning. The document serves as a technical reference for users seeking to implement and interact with the Brocade Network Advisor REST API.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 190

53-1003160-01 ®

11 July 2014

Brocade Network Advisor


REST API Guide

Supporting Network Advisor 12.3.0


Copyright © 2014 Brocade Communications Systems, Inc. All Rights Reserved.
Brocade, the B-wing symbol, Brocade Assurance, ADX, AnyIO, DCX, Fabric OS, FastIron, HyperEdge, ICX, MLX, MyBrocade, NetIron,
OpenScript, VCS, VDX, and Vyatta are registered trademarks, and The Effortless Network and the On-Demand Data Center are
trademarks of Brocade Communications Systems, Inc., in the United States and in other countries. Other brands and product
names mentioned may be trademarks of others.
Notice: This document is for informational purposes only and does not set forth any warranty, expressed or implied, concerning
any equipment, equipment feature, or service offered or to be offered by Brocade. Brocade reserves the right to make changes to
this document at any time, without notice, and assumes no responsibility for its use. This informational document describes
features that may not be currently available. Contact a Brocade sales office for information on feature and product availability.
Export of technical data contained in this document may require an export license from the United States government.
The authors and Brocade Communications Systems, Inc. assume no liability or responsibility to any person or entity with respect
to the accuracy of this document or any loss, cost, liability, or damages arising from the information contained herein or the
computer programs that accompany it.
The product described by this document may contain open source software covered by the GNU General Public License or other
open source license agreements. To find out which open source software is included in Brocade products, view the licensing
terms applicable to the open source software, and obtain a copy of the programming source code, please visit
http://www.brocade.com/support/oscd.

Brocade Communications Systems, Incorporated


Corporate and Latin American Headquarters Asia-Pacific Headquarters
Brocade Communications Systems, Inc. Brocade Communications Systems China HK, Ltd.
130 Holger Way No. 1 Guanghua Road
San Jose, CA 95134 Chao Yang District
Tel: 1-408-333-8000 Units 2718 and 2818
Fax: 1-408-333-8101 Beijing 100020, China
E-mail: [email protected] Tel: +8610 6588 8888
Fax: +8610 6588 9999
E-mail: [email protected]

European Headquarters Asia-Pacific Headquarters


Brocade Communications Switzerland Sàrl Brocade Communications Systems Co., Ltd. (Shenzhen WFOE)
Centre Swissair Citic Plaza
Tour B - 4ème étage No. 233 Tian He Road North
29, Route de l'Aéroport Unit 1308 – 13th Floor
Case Postale 105 Guangzhou, China
CH-1215 Genève 15 Tel: +8620 3891 2000
Switzerland Fax: +8620 3891 2111
Tel: +41 22 799 5640 E-mail: [email protected]
Fax: +41 22 799 5641
E-mail: [email protected]

Document History
Title Publication number Summary of changes Date

Brocade Network Advisor REST API 53-1003160-01 New document July 2014
Guide
Contents

About This Document


How this document is organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Document conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Text formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Command syntax conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Notes, cautions, and warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Key terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Notice to the reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Additional information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Brocade resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Other industry resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Getting technical help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Document feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

Chapter 1 Overview of the Network Advisor REST API


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Network Advisor URIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Protocol support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Default HTTPS port (443) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Non-Default HTTPS port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Edition support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Chapter 2 Getting Started


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Before you begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Logging in. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Retrieving resource groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Retrieving FC fabrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Retrieving a specific FC fabric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Retrieving switches in the context of a fabric . . . . . . . . . . . . . . . . . . . 9
Retrieving switches and ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Creating a sample Python client . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Chapter 3 Using the Brocade Network Advisor REST API


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Brocade Network Advisor REST API Guide iii


53-1003160-01
Logging in and out. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Logging in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Logging out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Specifying content type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Accept HTTP request header. . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Content-type HTTP request header. . . . . . . . . . . . . . . . . . . . . . . 26
Versioning (backward compatibility) . . . . . . . . . . . . . . . . . . . . . . . . . 26
Using the Topology API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Using the SAN Fabric Discovery API . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Notes about the SAN Fabric Discovery API URIs . . . . . . . . . . . . 27
Limitations for the SAN Fabric Discovery API. . . . . . . . . . . . . . . 28
Using the Traffic Flow API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Using the Summary Data API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Using the Events API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Using the Zoning API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Zoning URIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Zoning operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Using the Historical Performance Data API . . . . . . . . . . . . . . . . . . . . 30
Fibre Channel Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Handling errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
URI error return behavior. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Chapter 4 Use Cases


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Zoning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Sample request payload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Sample Java code for performing the attach operation . . . . . . 38
Sample JSON responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Getting Traffic Flow Performance Data . . . . . . . . . . . . . . . . . . . . . . . 40
Sample Java code for retrieving flow information . . . . . . . . . . . 40
Sample JSON response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Retrieving performance data for the Transmit Frame Rate measure
42
Getting the Top N CRC errors port summary. . . . . . . . . . . . . . . . . . . 44
SAN fabric discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Discovering an FC fabric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Deleting an FC fabric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Binding the schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

iv Brocade Network Advisor REST API Guide


53-1003160-01
Chapter 5 API Reference
Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
ResourceGroups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Fabrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
FC Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
PhysicalSwitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
AccessGateway. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
FCPorts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
GigePorts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Connected-switch ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
End-device ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Trunks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
ISL Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
IFL connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
EndDeviceConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Access Gateway connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
End devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
SAN fabric discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Fabric discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Fabric deletion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Switch credentials update. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Summary data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Status summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Asset classification summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Network object count summary . . . . . . . . . . . . . . . . . . . . . . . . . 85
Events summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Bottleneck violations summary. . . . . . . . . . . . . . . . . . . . . . . . . . 87
Out-of-range violations summary . . . . . . . . . . . . . . . . . . . . . . . . 88
Port health violations summary . . . . . . . . . . . . . . . . . . . . . . . . . 89
VM violations summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Port summaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Product summaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
Traffic flow summaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109
Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114
Event retrieval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115
Event count. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Event acknowledgement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118
Zoning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119
Zone DBs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120
Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121
Zone aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123
Zone sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124
Zone transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125
Zone transaction management. . . . . . . . . . . . . . . . . . . . . . . . .126
Zoning object creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127
Zoning object deletion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128
Zoning object updating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129
Zone set activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
Initiator target zoning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132

Brocade Network Advisor REST API Guide v


53-1003160-01
Historical performance data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134
Authentication and session management. . . . . . . . . . . . . . . . . . . .144
Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145
Logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146

Appendix A Request and Response Schemas


Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
ResourceGroupsResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
FcFabricsResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148
FcSwitchesResponse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148
PhysicalSwitchesResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . .149
AccessGatewaysResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . .150
FcPortsResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150
EndDevicePortsResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
TrunksResponse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153
IslsResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153
IflsResponse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154
EndDeviceConnectionsResponse . . . . . . . . . . . . . . . . . . . . . . .154
AgConnectionsResponse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155
EndDevicesResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155
SAN fabric discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156
DiscoverFabricRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156
DiscoverFabricResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157
UpdateCredentialsRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . .157
FlowDefinitionsResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
FlowsResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
Summary data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
SummaryResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
StatusSummary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160
AssetClassificationSummary. . . . . . . . . . . . . . . . . . . . . . . . . . .161
NetworkObjectCountSummary . . . . . . . . . . . . . . . . . . . . . . . . .162
EventsSummary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
BottleneckViolationsSummary . . . . . . . . . . . . . . . . . . . . . . . . .163
OutOfRangeViolationsSummary . . . . . . . . . . . . . . . . . . . . . . . .164
PortHealthViolationsSummary . . . . . . . . . . . . . . . . . . . . . . . . .164
VmViolationsSummary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165
SummariesResponse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
PortsMonitorSummaryData . . . . . . . . . . . . . . . . . . . . . . . . . . .166
MonitorDistributionData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167
ProductsMonitorSummaryData . . . . . . . . . . . . . . . . . . . . . . . .167
FlowMonitorSummaryData . . . . . . . . . . . . . . . . . . . . . . . . . . . .168
Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168
EventsResponse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168
CountResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

vi Brocade Network Advisor REST API Guide


53-1003160-01
Zoning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
ZoneDbsResponse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
ZonesResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172
ZoneAliasesResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172
ZoneSetsResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172
ZoneTransactionResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . .172
ControlZoneTransactionRequest. . . . . . . . . . . . . . . . . . . . . . . .173
CreateZoningObjectRequest . . . . . . . . . . . . . . . . . . . . . . . . . . .173
DeleteZoningObjectRequest . . . . . . . . . . . . . . . . . . . . . . . . . . .173
UpdateZoningObjectRequest . . . . . . . . . . . . . . . . . . . . . . . . . .173
InitiatorTargetsRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Historical performance data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
PerformanceDataResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Authentication and session management. . . . . . . . . . . . . . . . . . . .175
LoginResponse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175

Brocade Network Advisor REST API Guide vii


53-1003160-01
viii Brocade Network Advisor REST API Guide
53-1003160-01
About This Document

In this chapter
• How this document is organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
• Document conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
• Notice to the reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
• Additional information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
• Getting technical help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
• Document feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

How this document is organized


This document is organized to help you find the information that you want as quickly and easily as
possible.
The document contains the following components:
• Chapter 1, “Overview of the Network Advisor REST API,” provides a high-level overview of the
API.
• Chapter 2, “Getting Started,” provides steps for getting started using the API in a tutorial
format.
• Chapter 3, “Using the Brocade Network Advisor REST API,” explains how to use the API.
• Chapter 5, “API Reference,” describes the calls supported by the API.
• Appendix A, “Request and Response Schemas,” lists the request and response schemas used
by the API calls.

Brocade Network Advisor REST API Guide ix


53-1003160-01
Document conventions
This section describes text formatting conventions and important notice formats used in this
document.

Text formatting
The narrative-text formatting conventions that are used are as follows:
bold text Identifies command names
Identifies the names of user-manipulated GUI elements
Identifies keywords and operands
Identifies text to enter at the GUI or CLI
italic text Provides emphasis
Identifies variables
Identifies paths and Internet addresses
Identifies document titles
code text Identifies CLI output
Identifies command syntax examples
For readability, command names in the narrative portions of this guide are presented in mixed
lettercase: for example, switchShow. In actual examples, command lettercase is all lowercase.

Command syntax conventions


Command syntax in this manual follows these conventions:

Convention Description

[] Keywords or arguments that appear within square brackets are optional. For example:
command [active | standby | disabled] = One (and only one) of this set of keywords may be
used.
command [active] [standby] [disabled] = Three independent options, and one or more may
be used on the same command line.
{x|y|z} A choice of required keywords appears in braces separated by vertical bars. You must
select one. For example:
command {active | standby | disabled} = One (and only one) of this set of keywords must
be used.
screen font Examples of information displayed on the screen.
<> Nonprinting characters, for example, passwords, appear in angle brackets.
[] Default responses to system prompts appear in square brackets.
italic text Identifies variables.
bold text Identifies literal command options and keywords.

NOTE
In standalone mode, interfaces are identified using slot/port notation. In Brocade VCS Fabric
technology® mode, interfaces are identified using switch/slot/port notation.

x Brocade Network Advisor REST API Guide


53-1003160-01
Nesting square brackets and curly braces
When reading a command entry, optional keywords are surrounded by square brackets and
mandatory keywords are surrounded by curly braces. Refer to “Command syntax conventions” on
page x for complete details.
In some cases, these brackets can be nested. In the following example, rbridge-id is optional as
denoted by the square brackets, but if you use it, then you must follow it with either a specific
rbridge-id or the word “all.”
command [rbridge-id {rbridge-id | all}]
However, square brackets can appear within curly braces, showing that while a keyword is
mandatory, supporting operands may be optional, as shown in the following example:
command {security [active] [standby] [disabled]}
command {security [active | standby | disabled]}

Notes, cautions, and warnings


The following notices and statements are used in this manual. They are listed below in order of
increasing severity of potential hazards.

NOTE
A note provides a tip, guidance, or advice, emphasizes important information, or provides a
reference to related information.

ATTENTION
An Attention statement indicates potential damage to hardware or data.

CAUTION
A Caution statement alerts you to situations that can be potentially hazardous to you or cause
damage to hardware, firmware, software, or data.

DANGER
A Danger statement indicates conditions or situations that can be potentially lethal or extremely
hazardous to you. Safety labels are also attached directly to products to warn of these conditions
or situations.

Key terms
For definitions specific to Brocade and Fibre Channel, see the technical glossaries on MyBrocade.
Refer to “Brocade resources” on page xii for instructions on accessing MyBrocade.
For definitions of SAN-specific terms, visit the Storage Networking Industry Association online
dictionary at:
http://www.snia.org/education/dictionary

Brocade Network Advisor REST API Guide xi


53-1003160-01
Notice to the reader
This document may contain references to the trademarks of the following corporations. These
trademarks are the properties of their respective companies and corporations.
These references are made for informational purposes only.

Corporation Referenced Trademarks and Products

Microsoft Corporation Windows, Windows NT, Internet Explorer


Oracle Corporation Oracle, Java
Netscape Communications Corporation Netscape
Red Hat, Inc. Red Hat, Red Hat Network, Maximum RPM, Linux Undercover

Additional information
This section lists additional Brocade and industry-specific documentation that you might find
helpful.

Brocade resources
To get up-to-the-minute information, go to http://my.brocade.com to register at no cost for a user ID
and password.
White papers, online demonstrations, and data sheets are available through the Brocade website
at:
http://www.brocade.com/products-solutions/products/index.page
For additional Brocade documentation, visit the Brocade website:
http://www.brocade.com
Release notes are available on the MyBrocade website.

Other industry resources


For additional resource information, visit the Technical Committee T11 website. This website
provides interface standards for high-performance and mass storage applications for Fibre
Channel, storage management, and other applications:
http://www.t11.org
For information about the Fibre Channel industry, visit the Fibre Channel Industry Association
website:
http://www.fibrechannel.org

xii Brocade Network Advisor REST API Guide


53-1003160-01
Getting technical help
Contact your switch support supplier for hardware, firmware, and software support, including
product repairs and part ordering. To expedite your call, have the following information available:
1. General Information
• Switch model
• Switch operating system version
• Software name and software version, if applicable
• Error numbers and messages received
• Detailed description of the problem, including the switch or fabric behavior immediately
following the problem, and specific questions
• Description of any troubleshooting steps already performed and the results
• Serial console and Telnet session logs
• syslog message logs
2. Switch Serial Number
The switch serial number and corresponding bar code are provided on the serial number label,
as illustrated below:

The serial number label is located on the switch ID pull-out tab located on the bottom of the
port side of the switch.
3. World Wide Name (WWN)
Use the show license id command to display the WWN of the chassis.
If you cannot use the show license id command because the switch is inoperable, you can get
the WWN from the same place as the serial number, except for the Brocade DCX. For the
Brocade DCX, access the numbers on the WWN cards by removing the Brocade logo plate at
the top of the nonport side of the chassis.

Document feedback
Quality is our first concern at Brocade and we have made every effort to ensure the accuracy and
completeness of this document. However, if you find an error or an omission, or you think that a
topic needs further development, we want to hear from you. Forward your feedback to:
[email protected]
Provide the title and version number of the document and as much detail as possible about your
comment, including the topic heading and page number and your suggestions for improvement.

Brocade Network Advisor REST API Guide xiii


53-1003160-01
xiv Brocade Network Advisor REST API Guide
53-1003160-01
Chapter

Overview of the Network Advisor REST API 1

In this chapter
• Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
• Network Advisor URIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
• Protocol support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
• Edition support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Introduction
The Network Advisor REST API provides you with a Web services interface for configuring and
monitoring Brocade switches. Brocade Network Advisor 12.3.0 has been updated to provide a
REST API for storage area network (SAN) provisioning. The REST APIs are organized into various
services such as Topology, Authentication, and Zoning.
You can use the Network Advisor REST API to build your own Network Advisor clients. You can also
use third-party REST API clients to interact with Network Advisor.

FIGURE 1 Architectural overview

The Network Advisor REST API provides GET and POST uniform resource identifiers (URIs) that you
can use to retrieve information and perform certain management and configuration tasks.

NOTE
This release of the Network Advisor REST API supports only SAN fabrics.

Brocade Network Advisor REST API Guide 1


53-1003160-01
1 Network Advisor URIs

Network Advisor URIs


Network Advisor URIs consists of two parts:
• Base URI: The base URI is specific to the Network Advisor server. All URIs accessing the same
server use the same base URI.
• Request URI: The request URI is the URI that you use to perform a GET or POST request. This
part of the URI is the same across all Network Advisor servers.
The following are examples of Network Advisor URIs (the text in bold is the base URI part and the
rest is the request part).
• POST URI examples:
• http://10.24.48.103/rest/fcfabrics/10:00:00:05:1E:90:52:07/createzoningobject
• http://10.24.48.103/rest/fcfabrics/10:00:00:05:1E:90:52:07/deletezoningobject
• http://10.24.48.103/rest/fcfabrics/10:00:00:05:1E:90:52:07/updatezoningobject
• http://10.24.48.103/rest/fcfabrics/10:00:00:05:1E:90:52:07/activatezoneset
• GET URI examples:
• http://10.24.48.103/rest/resourcegroups
• http://10.24.48.103/rest/fcfabrics
NOTE
URIs are case-sensitive.

Protocol support
The Network Advisor REST API supports HTTP and HTTPS, unlike Network Advisor which only
supports HTTPS.
All REST HTTP requests are redirected to the HTTPS port. By default, the HTTPS port number is
443. However, this port can be changed during the installation of Network Advisor or after
installation through the server management console.

Default HTTPS port (443)


If the HTTPS port is 443 (default), you can use the HTTP and HTTPS protocols as show in the
following two example URIs. In the HTTP case, the request is redirected to HTTPS.
http://<server_IP>/rest/resourcegroups
https://<server_IP>/rest/resourcegroups

Non-Default HTTPS port


If the HTTPS port is changed to a non-default value, the REST URI must specify HTTPS as the
protocol and must also specify the port number to send the requests to, as shown in the following
example. If not, Network Advisor refuses connection requests.
https://<server_IP>:<non-default_port_number>/rest/resourcegroups

2 Brocade Network Advisor REST API Guide


53-1003160-01
Edition support 1

Edition support
The following table lists the REST API support for the Network Advisor editions.l
TABLE 1 Edition support
Network Advisor edition REST API availability

Enterprise YES
Professional Plus YES
Professional NO
Headless YES

Brocade Network Advisor REST API Guide 3


53-1003160-01
1 Edition support

4 Brocade Network Advisor REST API Guide


53-1003160-01
Chapter

Getting Started 2

In this chapter
• Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
• Before you begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
• Logging in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
• Retrieving resource groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
• Retrieving FC fabrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
• Retrieving a specific FC fabric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
• Retrieving switches in the context of a fabric . . . . . . . . . . . . . . . . . . . . . . . . . 9
• Retrieving switches and ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
• Creating a sample Python client. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Introduction
This chapter describes how to log in to Network Advisor using its REST API and perform a few basic
information retrieval operations. In addition, this chapter shows you how to build a sample client
application using the Python programming language.

Before you begin


This chapter assumes that you are familiar with the concept of REST APIs.
Before you can use the Network Advisor REST API:
• Make sure that Network Advisor 12.3.0 or later is installed on your network.
• Obtain a username and password for accessing Network Advisor through the REST API.
• Make sure that you have a tool for interacting with REST APIs.
The Advanced Rest Console application is used in this chapter, but you can use any other REST
API tool.

Brocade Network Advisor REST API Guide 5


53-1003160-01
2 Logging in

Logging in
To log in to Network Advisor, complete the following steps.
1. Enter the following URI in the URL field of your REST client tool.
http://<ip_address>/rest/login

2. Define the following HTTP request headers.


TABLE 1 Request headers
Header name Value

WSUsername The user name supplied by your Network Advisor administrator.


WSPassword The password supplied by your Network Advisor administrator.
Accept The content type of the returned data.
Specify the following content type to receive the response data in the JSON format:
application/vnd.brocade.networkadvisor+json;version=v1
If you prefer the XML format, enter the following value:
application/vnd.brocade.networkadvisor+xml;version=v1

3. Set the HTTP request method to POST.


4. Send the request.
The following is an example of login request headers sent to Network Advisor:
Request headers
Accept: application/vnd.brocade.networkadvisor+json;version=v1
WSUsername: Administrator
Origin: chrome-extension://hgmloofddffdnphfgcellkdfbfbjeloo
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/32.0.1700.102 Safari/537.36
WSPassword: password
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8

If the request is successful, Network Advisor creates a new client session and returns, in the
response headers, the token WStoken, which identifies the session.
The following is an example of the output of a successful request:
Status
200 OK Show explanation Loading time: 5592

Response headers
Via: 1.1 Secure Proxy
Connection: Keep-Alive
Proxy-Connection: Keep-Alive
Transfer-Encoding: chunked
Date: Mon, 03 Feb 2014 06:01:39 GMT
Content-Type: application/vnd.brocade.networkadvisor+json;version="v1"
Server: Apache-Coyote/1.1
WStoken: ghe/4Q//I0EJcxD6UPdO9/fvI94=
Raw
JSON

6 Brocade Network Advisor REST API Guide


53-1003160-01
Retrieving resource groups 2

The JSON content of the response should look like the following:
{
serverName: "DCM-x3650-103"
serverIp: "10.24.48.103"
}

This response returns the name of the Network Advisor and its IP address.

NOTE
Different tools may display the JSON or XML responses differently.

5. Record the value of the WStoken response header.


In this example, the value of the WStoken field is ghe/4Q//I0EJcxD6UPdO9/fvI94=. You need
this token for all subsequent Network Advisor REST API requests.

NOTE
A client session has a default idle timeout of 10 minutes after which the token is no longer
valid. If you try to use an invalid token, an error message is returned:
errorCode=4009, errorMsg=Invalid token in header.

Retrieving resource groups


To retrieve resource groups defined in Network Advisor, complete the following steps.
1. Enter the following URI in the URL field:
http://<ip_address>/rest/resourcegroups

2. Define the following HTTP request headers.


TABLE 2 Request headers
Header name Value

WStoken The session token header returned after a successful login.


Accept application/vnd.brocade.networkadvisor+json;version=v1

3. Set the HTTP request method to GET.


4. Send the request.
The following is an example of resource groups returned by Network Advisor:
{
resourceGroups: [16]
0: {
key: "10:00:00:05:33:A6:B6:17"
name: "10:00:00:05:33:A6:B6:17"
type: "FC_FABRIC"
}
1: {
key: "10:00:00:05:1E:DB:1E:1E"
name: "10:00:00:05:1E:DB:1E:1E"
type: "FC_FABRIC"
...
}

Brocade Network Advisor REST API Guide 7


53-1003160-01
2 Retrieving FC fabrics

Retrieving FC fabrics
You can use the REST API to retrieve FC fabrics in the context of a resource group. The resource
group “All” encompasses all fabrics.
To retrieve all fabrics, complete the following steps.
1. Enter the following URI in the URL field:
http://<ip_address>/rest/resourcegroups/All/fcfabrics

2. Define the following HTTP request headers.


TABLE 3 Request headers
Header name Value

WStoken The session token header returned after a successful login.


Accept application/vnd.brocade.networkadvisor+json;version=v1

3. Set the HTTP request method to GET.


4. Send the request.
The following is an example of fabrics returned by Network Advisor:
{
fcFabrics: [3]
0: {
key: "10:00:00:05:1E:A7:1F:EB"
seedSwitchWwn: "10:00:00:05:1E:A7:1F:EB"
name: "10:00:00:05:1E:A7:1F:EB"
secure: false
adEnvironment: false
contact: null
location: null
description: null
principalSwitchWwn: "10:00:00:05:1E:A7:1F:EB"
fabricName: ""
virtualFabricId: -1
seedSwitchIpAddress: "10.24.33.195"
}
1: {
key: "10:00:00:05:1E:DB:1E:1E"
seedSwitchWwn: "10:00:00:05:1E:DB:1E:1E"
name: "10:00:00:05:1E:DB:1E:1E"
secure: false
adEnvironment: false
contact: null
location: null
description: null
principalSwitchWwn: "10:00:00:05:1E:DB:1E:1E"
fabricName: ""
virtualFabricId: -1
seedSwitchIpAddress: "10.24.33.193"
}
...
}

8 Brocade Network Advisor REST API Guide


53-1003160-01
Retrieving a specific FC fabric 2

Retrieving a specific FC fabric


In the previous section, you retrieved a list of all FC fabrics. Every fabric in the list has a unique
identifier specified by the key parameter. You can use it to retrieve information about a specific
fabric.
To retrieve information about the fabric with the 10:00:00:05:1E:A7:1F:EB key, complete the
following steps.
1. Enter the following URI in the URL field:
http://<ip_address>/rest/resourcegroups/All/fcfabrics/10:00:00:05:1E:A7:1F:EB

2. Define the following HTTP request headers.


TABLE 4 Request headers
Header name Value

WStoken The session token header returned after a successful login.


Accept application/vnd.brocade.networkadvisor+json;version=v1

3. Set the HTTP request method to GET.


4. Send the request.
The following is an example of the response returned by Network Advisor:
{
fcFabrics: [1]
0: {
key: "10:00:00:05:1E:A7:1F:EB"
seedSwitchWwn: "10:00:00:05:1E:A7:1F:EB"
name: "10:00:00:05:1E:A7:1F:EB"
secure: false
adEnvironment: false
contact: null
location: null
description: null
principalSwitchWwn: "10:00:00:05:1E:A7:1F:EB"
fabricName: ""
virtualFabricId: -1
seedSwitchIpAddress: "10.24.33.195"
}
}

Retrieving switches in the context of a fabric


To retrieve the switches under a fabric, send a GET request with the following URI:
http://<ip_address>/rest/resourcegroups/All/fcfabrics/fcfkey/fcswitches

For example, to retrieve the switches in the context of the fabric with key 10:00:00:05:1E:A7:1F:EB,
use the following URI:
http://<ip_address>/rest/resourcegroups/All/fcfabrics/10:00:00:05:1E:A7:1F:EB/fcs
witches

Brocade Network Advisor REST API Guide 9


53-1003160-01
2 Retrieving switches in the context of a fabric

Use the same request headers as the ones used in the previous section (“Retrieving a specific FC
fabric”). The following is a sample response:
{
fcSwitches: [2]
0: {
key: "50:00:51:ED:B1:E5:EF:03"
name: "fcr_xd_1_20"
wwn: "50:00:51:ED:B1:E5:EF:03"
virtualFabricId: -1
domainId: 1
baseSwitch: false
role: "SUBORDINATE"
fcsRole: "None"
adCapable: false
operationalStatus: "UNKNOWN"
state: "UNKNOWN"
statusReason: null
cryptoCapable: false
fcrCapable: false
fcipCapable: false
lfEnabled: false
defaultLogicalSwitch: false
fmsMode: false
dynamicLoadSharingCapable: false
portBasedRoutingPresent: false
inOrderDeliveryCapable: false
persistentDidEnabled: false
fcipCircuitCapable: false
maxFcipTunnels: -1
maxFcipCircuits: -1
fcipLicensed: false
autoSnmpEnabled: true
}
1: {
key: "10:00:00:27:F8:A7:A1:25"
name: "REST_5100_33_194"
wwn: "10:00:00:27:F8:A7:A1:25"
virtualFabricId: -1
domainId: 28
baseSwitch: false
role: "SUBORDINATE"
fcsRole: "None"
adCapable: true
operationalStatus: "UNKNOWN"
state: "ONLINE"
statusReason: "Switch Status is HEALTHY."
cryptoCapable: false
fcrCapable: false
fcipCapable: false
lfEnabled: false
defaultLogicalSwitch: true
fmsMode: false
...
maxFcipTunnels: 0
maxFcipCircuits: 0
fcipLicensed: false
autoSnmpEnabled: true
}
}

10 Brocade Network Advisor REST API Guide


53-1003160-01
Retrieving switches and ports 2

Retrieving switches and ports


Retrieving switches and ports in the context of a resource group is similar to retrieving fabrics (refer
to“Retrieving FC fabrics”). The only difference is the URI that you use.
To retrieve all switches, use the following URI:
http://<ip_address>/rest/resourcegroups/All/fcswitches

The following is a sample response:


{
fcSwitches: [11]
0: {
key: "10:00:00:14:C9:E5:56:AB"
name: "REST_6520_33_189"
wwn: "10:00:00:14:C9:E5:56:AB"
virtualFabricId: -1
domainId: 2
baseSwitch: false
role: "SUBORDINATE"
fcsRole: "None"
adCapable: true
operationalStatus: "MARGINAL"
state: "ONLINE"
statusReason: "Switch Status is MARGINAL. Contributors: * Power Supply: 1 bad.
(MARGINAL). * Fan: 1 bad (MARGINAL)."
cryptoCapable: false
fcrCapable: false
fcipCapable: false
lfEnabled: false
defaultLogicalSwitch: true
fmsMode: false
dynamicLoadSharingCapable: true
portBasedRoutingPresent: false
inOrderDeliveryCapable: false
persistentDidEnabled: false
fcipCircuitCapable: false
maxFcipTunnels: 0
maxFcipCircuits: 0
fcipLicensed: false
autoSnmpEnabled: true
}
...

To retrieve all ports, use the following URI:


http://<ip_address>/rest/resourcegroups/All/fcports

The following is a sample response:


{
fcPorts: [325]
0: {
key: "20:22:00:27:F8:A7:A1:25"
wwn: "20:22:00:27:F8:A7:A1:25"
name: "port34"
slotNumber: 0
portNumber: 34
userPortNumber: 34
portId: "1c2200"

Brocade Network Advisor REST API Guide 11


53-1003160-01
2 Creating a sample Python client

portIndex: 34
areaId: 34
type: "U_PORT"
status: "DISABLED"
statusMessage: ""
lockedPortType: "U_PORT"
speed: "8"
speedsSupported: "1,2,4,8"
maxPortSpeed: 8
desiredCredits: 0
bufferAllocated: 0
estimatedDistance: 0
actualDistance: 0
longDistanceSetting: 0
remoteNodeWwn: ""
remotePortWwn: ""
licensed: false
swapped: false
trunked: false
trunkMaster: false
persistentlyDisabled: false
ficonSupported: true
blocked: false
prohibitPortNumbers: null
prohibitPortCount: 0
npivCapable: true
npivEnabled: true
fcFastWriteEnabled: false
islRrdyEnabled: false
rateLimitCapable: false
rateLimited: false
qosCapable: false
qosEnabled: false
fcrFabricId: 0
state: "OFFLINE"
occupied: false
masterPortNumber: -1
}
...

Creating a sample Python client


This section shows you how to create a sample Network Advisor REST API Python client. Python
version 3.3.3 for Windows (MSC v.1600 64 bit (AMD64)) is used for creating the client.
This sample client logs in to Network Advisor and uses the returned session token to retrieve a list
of all FC fabrics.
To create a sample client using the Python programming language, complete the following steps.
1. Create a new file using you favorite Python editor.
2. Add the following code to the file and replace the example IP address 10.24.41.138 with the IP
address of your Network Advisor server.
import http.client
import json

# Create HTTPConnection object and connect to the server.

12 Brocade Network Advisor REST API Guide


53-1003160-01
Creating a sample Python client 2

connection = http.client.HTTPConnection("10.24.41.138")

###########################
# Log in to Network Advisor
###########################

# Send login requrest


connection.request('POST', 'http://10.24.41.138/rest/login',
headers={"WSUsername":"Administrator",
"WSPassword":"password",

"Accept":"application/vnd.brocade.networkadvisor+json;version=v1"})

print()
print("Sending login request to Network Advisor...")

# Get the response


response = connection.getresponse()

# Display the response status


print()
print ("Status= ", response.status)

# If successful (status = 200), display the returned Network Advisor session


token
if response.status == 200:
WStoken = response.getheader('WStoken')
print()
print("Login successful!")
print("WStoken: ", WStoken)
else:
print()
print (response.status, response.reason)

connection.close()

###########################
# Retrieve fabrics
###########################

# Send GET requrest


connection.connect()
connection.request('GET',
'http://10.24.41.138/rest/resourcegroups/All/fcfabrics',
headers={"WStoken":WStoken,

"Accept":"application/vnd.brocade.networkadvisor+json;version=v1"})

print()
print("--------------------------------------------------------------------")
print("Getting list of all fabrics...")

# Get the response


response = connection.getresponse()

# Display the response status


print()
print ("Status= ", response.status)

# If successful (status = 200), display the returned list in JSON format

Brocade Network Advisor REST API Guide 13


53-1003160-01
2 Creating a sample Python client

if response.status == 200:
print()
print("List of fabrics:")
json_response_bytes = response.read()
json_response_string = str(json_response_bytes, encoding='utf8')
list_of_fabrics_dict=json.loads(json_response_string)
print(json.dumps(list_of_fabrics_dict, indent=4))
print("Number of FC fabrics: ", len(list_of_fabrics_dict["fcFabrics"]))
else:
print()
print (response.status, response.reason)

connection.close()

##############################
# Retrieve details of a fabric
##############################

# Get the key of the first fabric in the list


fabric_key = list_of_fabrics_dict["fcFabrics"][0]["key"]

# Send GET requrest


connection.connect()
connection.request('GET',
'http://10.24.41.138/rest/resourcegroups/All/fcfabrics/'+fabric_key,
headers={"WStoken":WStoken,

"Accept":"application/vnd.brocade.networkadvisor+json;version=v1"})

print()
print("--------------------------------------------------------------------")
print("Get fabric '+fabric_key+'details...")

# Get the response


response = connection.getresponse()

# Display the response status


print()
print ("Status= ", response.status)

# If successful (status = 200), display the returned list in JSON format


if response.status == 200:
print()
print("Fabric details:")
json_response_bytes = response.read()
json_response_string = str(json_response_bytes, encoding='utf8')
fabric_details_dict=json.loads(json_response_string)
print(json.dumps(fabric_details_dict, indent=4))
else:
print()
print (response.status, response.reason)

connection.close()

######################################################
# Retrieve list of switches in the context of a fabric
######################################################

# Send GET requrest

14 Brocade Network Advisor REST API Guide


53-1003160-01
Creating a sample Python client 2

connection.connect()
connection.request('GET',
'http://10.24.41.138/rest/resourcegroups/All/fcfabrics/'+fabric_key+'/fcswitc
hes',
headers={"WStoken":WStoken,

"Accept":"application/vnd.brocade.networkadvisor+json;version=v1"})

print()
print("--------------------------------------------------------------------")
print("Get the list of switches under fabric "+fabric_key+" ...")

# Get the response


response = connection.getresponse()

# Display the response status


print()
print ("Status= ", response.status)

# If successful (status = 200), display the returned list in JSON format


if response.status == 200:
print()
print("List of switches:")
json_response_bytes = response.read()
json_response_string = str(json_response_bytes, encoding='utf8')
list_of_fabric_switches_dict=json.loads(json_response_string)
print(json.dumps(list_of_fabric_switches_dict, indent=4))
else:
print()
print (response.status, response.reason)

connection.close()

3. Save the file as my_na_client.py.


4. Run the program by entering the following command at the command prompt:
C:\Python33>python my_na_client.py

If successful, you should see output similar to the following:


Sending login request to Network Advisor...

Status= 200

Login successful!
WStoken: RPTZz0z5ayVkvqIuy7quIEbjap8=

-----------------------------------------------------------------------------
Getting list of all fabrics...

Status= 200

List of fabrics:
{
"fcFabrics": [
{
"seedSwitchWwn": "10:00:00:05:33:A6:B6:17",
"name": "10:00:00:05:33:A6:B6:17",
"secure": false,

Brocade Network Advisor REST API Guide 15


53-1003160-01
2 Creating a sample Python client

"principalSwitchWwn": "10:00:00:05:33:A6:B6:17",
"fabricName": "****8G FABRIC FOR REST******",
"seedSwitchIpAddress": "10.24.33.191",
"virtualFabricId": -1,
"contact": null,
"key": "10:00:00:05:33:A6:B6:17",
"adEnvironment": false,
"description": null,
"location": null
},
{
"seedSwitchWwn": "10:00:00:05:1E:A7:1F:EB",
"name": "10:00:00:05:1E:A7:1F:EB",
"secure": false,
"principalSwitchWwn": "10:00:00:05:1E:A7:1F:EB",
"fabricName": "",
"seedSwitchIpAddress": "10.24.33.195",
"virtualFabricId": -1,
"contact": null,
"key": "10:00:00:05:1E:A7:1F:EB",
"adEnvironment": false,
"description": null,
"location": null
},
{
"seedSwitchWwn": "10:00:00:05:1E:DB:1E:1E",
"name": "10:00:00:05:1E:DB:1E:1E",
"secure": false,
"principalSwitchWwn": "10:00:00:05:1E:DB:1E:1E",
"fabricName": "",
"seedSwitchIpAddress": "10.24.33.193",
"virtualFabricId": -1,
"contact": null,
"key": "10:00:00:05:1E:DB:1E:1E",
"adEnvironment": false,
"description": null,
"location": null
}
]
}
Number of FC fabrics: 3

-----------------------------------------------------------------------------
Get fabric '+fabric_key+'details...

Status= 200

Fabric details:
{
"fcFabrics": [
{
"seedSwitchWwn": "10:00:00:05:33:A6:B6:17",
"name": "10:00:00:05:33:A6:B6:17",
"secure": false,
"principalSwitchWwn": "10:00:00:05:33:A6:B6:17",
"fabricName": "****8G FABRIC FOR REST******",
"seedSwitchIpAddress": "10.24.33.191",
"virtualFabricId": -1,
"contact": null,
"key": "10:00:00:05:33:A6:B6:17",

16 Brocade Network Advisor REST API Guide


53-1003160-01
Creating a sample Python client 2

"adEnvironment": false,
"description": null,
"location": null
}
]
}

-----------------------------------------------------------------------------
Get the list of switches under fabric 10:00:00:05:33:A6:B6:17...

Status= 200

List of switches:
{
"fcSwitches": [
{
"statusReason": null,
"fcipLicensed": false,
"autoSnmpEnabled": true,
"state": "UNKNOWN",
"persistentDidEnabled": false,
"lfEnabled": false,
"fcipCapable": false,
"fcsRole": "None",
"maxFcipTunnels": -1,
"maxFcipCircuits": -1,
"wwn": "50:00:51:ED:B1:E5:EF:04",
"type": 41,
"fcrCapable": false,
"portBasedRoutingPresent": false,
"cryptoCapable": false,
"fmsMode": false,
"name": "fcr_xd_1_30",
"defaultLogicalSwitch": false,
"fcipCircuitCapable": false,
"baseSwitch": false,
"virtualFabricId": -1,
"adCapable": false,
"key": "50:00:51:ED:B1:E5:EF:04",
"operationalStatus": "UNKNOWN",
"role": "SUBORDINATE",
"domainId": 1,
"inOrderDeliveryCapable": false,
"dynamicLoadSharingCapable": false
},
{
"statusReason": null,
"fcipLicensed": false,
"autoSnmpEnabled": true,
"state": "UNKNOWN",
"persistentDidEnabled": false,
"lfEnabled": false,
"fcipCapable": false,
"fcsRole": "None",
"maxFcipTunnels": -1,
"maxFcipCircuits": -1,
"wwn": "50:00:51:ED:B1:E1:EE:14",
"type": 40,
"fcrCapable": false,
"portBasedRoutingPresent": false,

Brocade Network Advisor REST API Guide 17


53-1003160-01
2 Creating a sample Python client

"cryptoCapable": false,
"fmsMode": false,
"name": "fcr_fd_160",
"defaultLogicalSwitch": false,
"fcipCircuitCapable": false,
"baseSwitch": false,
"virtualFabricId": -1,
"adCapable": false,
"key": "50:00:51:ED:B1:E1:EE:14",
"operationalStatus": "UNKNOWN",
"role": "SUBORDINATE",
"domainId": 160,
"inOrderDeliveryCapable": false,
"dynamicLoadSharingCapable": false
},
{
"statusReason": null,
"fcipLicensed": false,
"autoSnmpEnabled": true,
"state": "UNKNOWN",
"persistentDidEnabled": false,
"lfEnabled": false,
"fcipCapable": false,
"fcsRole": "None",
"maxFcipTunnels": -1,
"maxFcipCircuits": -1,
"wwn": "50:00:51:ED:B1:E5:EF:06",
"type": 41,
"fcrCapable": false,
"portBasedRoutingPresent": false,
"cryptoCapable": false,
"fmsMode": false,
"name": "fcr_xd_1_30",
"defaultLogicalSwitch": false,
"fcipCircuitCapable": false,
"baseSwitch": false,
"virtualFabricId": -1,
"adCapable": false,
"key": "50:00:51:ED:B1:E5:EF:06",
"operationalStatus": "UNKNOWN",
"role": "SUBORDINATE",
"domainId": 1,
"inOrderDeliveryCapable": false,
"dynamicLoadSharingCapable": false
},
{
"statusReason": "Switch Status is MARGINAL. Contributors:\n* Power
Supply: 1 bad. (MARGINAL).\n* Fan: 1 bad (MARGINAL).",
"fcipLicensed": false,
"autoSnmpEnabled": true,
"state": "ONLINE",
"persistentDidEnabled": false,
"lfEnabled": false,
"fcipCapable": false,
"fcsRole": "None",
"maxFcipTunnels": 0,
"maxFcipCircuits": 0,
"wwn": "10:00:00:14:C9:E5:56:AB",
"type": 133,
"fcrCapable": false,

18 Brocade Network Advisor REST API Guide


53-1003160-01
Creating a sample Python client 2

"portBasedRoutingPresent": false,
"cryptoCapable": false,
"fmsMode": false,
"name": "REST_6520_33_189",
"defaultLogicalSwitch": true,
"fcipCircuitCapable": false,
"baseSwitch": false,
"virtualFabricId": -1,
"adCapable": true,
"key": "10:00:00:14:C9:E5:56:AB",
"operationalStatus": "MARGINAL",
"role": "SUBORDINATE",
"domainId": 2,
"inOrderDeliveryCapable": false,
"dynamicLoadSharingCapable": true
},
{
"statusReason": "Switch Status is HEALTHY.",
"fcipLicensed": false,
"autoSnmpEnabled": true,
"state": "ONLINE",
"persistentDidEnabled": false,
"lfEnabled": false,
"fcipCapable": false,
"fcsRole": "None",
"maxFcipTunnels": 0,
"maxFcipCircuits": 0,
"wwn": "10:00:00:05:33:A6:B6:17",
"type": 118,
"fcrCapable": false,
"portBasedRoutingPresent": false,
"cryptoCapable": false,
"fmsMode": false,
"name": "REST_6505_33_191",
"defaultLogicalSwitch": true,
"fcipCircuitCapable": false,
"baseSwitch": false,
"virtualFabricId": -1,
"adCapable": true,
"key": "10:00:00:05:33:A6:B6:17",
"operationalStatus": "UNKNOWN",
"role": "PRINCIPAL",
"domainId": 191,
"inOrderDeliveryCapable": false,
"dynamicLoadSharingCapable": true
}
]
}

Brocade Network Advisor REST API Guide 19


53-1003160-01
2 Creating a sample Python client

20 Brocade Network Advisor REST API Guide


53-1003160-01
Chapter

Using the Brocade Network Advisor REST API 3

In this chapter
• Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
• Logging in and out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
• Specifying content type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
• Versioning (backward compatibility). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
• Using the Topology API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
• Using the SAN Fabric Discovery API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
• Using the Traffic Flow API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
• Using the Summary Data API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
• Using the Events API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
• Using the Zoning API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
• Using the Historical Performance Data API . . . . . . . . . . . . . . . . . . . . . . . . . . 30
• Fibre Channel Routing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
• Handling errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Introduction
This chapter describes how to use the Brocade Network Advisor REST API.

Logging in and out


The Network Advisor REST API provides URIs for logging in and out.

Logging in
Use the /login POST URI to log in. This URI returns the BNA Server credentials in a LoginResponse.
<BASE_URI>/login

Login request headers


A valid user name and password are required for login and this is sent through the HTTP request
headers. You must add the headers while forming the HTTP POST request.

Brocade Network Advisor REST API Guide 21


53-1003160-01
3 Logging in and out

The following are the header names and values. The password must be passed in as clear text.
TABLE 5 Login request headers
Request header name Request header value

Accept The content type


WSusername The valid Network Advisor user name
WSpassword The password

Login response header


Upon successful authentication, a new client session is created and a token is returned through
the HTTP response header. The token identifies the client’s Network Advisor session and must be
used for all subsequent web service requests. The token expires after 10 minutes of no activity.
TABLE 6 Login response header
Response header name Request header value

WStoken The token

For information about the login response schema, refer to “LoginResponse.”

Sample login request (Java)


The following is sample Java code for establishing a REST API session with Network Advisor. For a
Python example, see “Creating a sample Python client.”
HttpURLConnection con = null;
try {
/**
* Create the HTTP connection object with the URI, method and headers
*/
URL obj = new URL("http://10.24.48.103/rest/login");
con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.addRequestProperty("WSusername", "Administrator");
con.addRequestProperty("WSpassword", "password");
con.addRequestProperty("Accept",
"application/vnd.brocade.networkadvisor+json;version=v1");

System.out.println("CALLING POST http://10.24.48.103/rest/login");

/**
* Make the HTTP call
*/
int responseCode = con.getResponseCode();
System.out.println("Response code is " + responseCode);
if (HttpURLConnection.HTTP_OK != responseCode) {
PRINT_ERROR(con);
assert false : "REST FAILED for login, responseCode = " + responseCode;
}

String token = con.getHeaderField("WStoken");


if (null != token) {
System.out.println("GOT TOKEN FROM RS RESPONSE = " + token);
PRINT_RESPONSE(con);

22 Brocade Network Advisor REST API Guide


53-1003160-01
Logging in and out 3

}
} catch (IOException ie) {
System.out.println(ie.toString());
} finally {
if (null != con) {
con.disconnect();
}
}

Sample JSON response


The following is a sample JSON response to a login request.
CALLING POST http://10.24.41.138/rest/login
Response code is 200
GOT TOKEN FROM RS RESPONSE = Yh8veQHgxR6v6KgNR9Eioeg7168=

{"serverName":"W2K8R2-41-138","serverIp":"10.24.41.138"}

Sample XML response


The following is a sample XML response to a login request.
CALLING POST http://10.24.48.103/rest/login
Response code is 200
GOT TOKEN FROM RS RESPONSE = kPkOm7PX4WempcfP7B8iZrb5RDY=

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns2:LoginResponse


xmlns:ns2="http://www.brocade.com/networkadvisor/webservices/v1/authservice/respo
nse"><serverName>DCM-x3650-103</serverName><serverIp>10.24.48.103</serverIp></ns2
:LoginResponse>

Sample error response


The following is a sample error response to a login request.
CALLING POST http://10.24.48.103/rest/login
Response code is 500
<html><head><title>JBoss Web/7.2.0.Final - JBWEB000064: Error
report</title><style><!--H1
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-si
ze:22px;} H2
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-si
ze:16px;} H3
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-si
ze:14px;} BODY
{font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P
{font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;
}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style>
</head><body><h1>JBWEB000065: HTTP Status 500 - RSException [errorCode=4005,
errorMsg=Invalid username or password]</h1><HR size="1"
noshade="noshade"><p><b>JBWEB000309: type</b> JBWEB000066: Exception
report</p><p><b>JBWEB000068: message</b> <u>RSException [errorCode=4005,
errorMsg=Invalid username or password]</u></p><p><b>JBWEB000069: description</b>
<u>JBWEB000145: The server encountered an internal error that prevented it from
fulfilling this request.</u></p><p><b>JBWEB000070: exception</b>
<pre>org.jboss.resteasy.spi.UnhandledException: RSException [errorCode=4005,
errorMsg=Invalid username or password]

Brocade Network Advisor REST API Guide 23


53-1003160-01
3 Logging in and out

org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatch
er.java:264)
org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousD
ispatcher.java:209)
org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.j
ava:557)
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:5
24)
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:1
26)
org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(Serv
letContainerDispatcher.java:208)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServl
etDispatcher.java:55)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServl
etDispatcher.java:50)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)</pre></p><p><b>JBWEB
000071: root cause</b> <pre>RSException [errorCode=4005, errorMsg=Invalid
username or password]
com.brocade.dcm.webservices.server.util.WebServiceCommonUtil.throwException(WebSe
rviceCommonUtil.java:98)
com.brocade.dcm.webservices.server.sessionmgmt.WebSessionManager.validateUsername
Password(WebSessionManager.java:485)
com.brocade.dcm.webservices.server.sessionmgmt.WebSessionManager.createSession(We
bSessionManager.java:169)
com.brocade.dcm.webservices.server.security.LoginRequestInterceptor.preProcess(Lo
ginRequestInterceptor.java:105)
com.brocade.dcm.webservices.server.security.LoginRequestInterceptor$Proxy$_$$_Wel
dClientProxy.preProcess(LoginRequestInterceptor$Proxy$_$$_WeldClientProxy.java)
org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:247)
org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222)
org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:211)
org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.j
ava:542)
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:5
24)
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:1
26)
org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(Serv
letContainerDispatcher.java:208)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServl
etDispatcher.java:55)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServl
etDispatcher.java:50)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)</pre></p><p><b>JBWEB
000072: note</b> <u>JBWEB000073: The full stack trace of the root cause is
available in the JBoss Web/7.2.0.Final logs.</u></p><HR size="1"
noshade="noshade"><h3>JBoss Web/7.2.0.Final</h3></body></html>

Logging out
Use the /logout POST URI to log out. Successful completion of the request results in the deletion of
the client session. The logout request does not require any request payload except for the session
token, which must be passed in an HTTP header parameter. Because there is no return value to
this request, an HTTP status code of 204 (No Content) is returned upon success.
<BASE_URI>/logout

24 Brocade Network Advisor REST API Guide


53-1003160-01
Specifying content type 3

Logout request headers


A valid token is required for logout and this is sent through the HTTP request header. You must add
the header while forming the HTTP POST request.
TABLE 7 Logout request headers
Request header name Request header value

WStoken The token obtained from login

Sample logout request (Python)


The following is an example of an HTTP POST request for logout sent using Python.
HttpClient hc = new HttpClient();
method = new PostMethod("http://10.24.48.103/rest/logout");
method.addRequestHeader("WStoken", token);

Sample logout request (Java)


The following is sample Java code for terminating a REST API session with Network Advisor.
HttpURLConnection con = null;
try {
/**
* Create the HTTP connection object with the URI, method and headers
*/
URL obj = new URL("http://10.24.48.103/rest/logout");
con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.addRequestProperty("WStoken", "wppCy/NGdC4o5gGFJjXRMv7blhc=");

System.out.println("CALLING POST http://10.24.48.103/rest/logout");

/**
* Make the HTTP call
*/
int responseCode = con.getResponseCode();
System.out.println("Response code is " + responseCode);
if (HttpURLConnection.HTTP_NO_CONTENT != responseCode) {
PRINT_ERROR(con);
assert false : "REST FAILED for logout, responseCode = " + responseCode;
}
} catch (IOException ie) {
System.out.println(ie.toString());
} finally {
if (null != con) {
con.disconnect();
}
}

Specifying content type


All Brocade Network Advisor REST API requests that return data support both XML and JSON
formats. Depending on the content type you request, the proper data format is returned.

Brocade Network Advisor REST API Guide 25


53-1003160-01
3 Versioning (backward compatibility)

Accept HTTP request header


In the case of GET requests, your client must specify the format of the data of the responses. You
do this by providing the HTTP header information. The content type for the response data is
specified through the HTTP request header named “Accept”.
The value for the content type has the following format:
MEDIA type/MIME subtype;Version Identifier

For example:
application/vnd.brocade.networkadvisor+xml;version=v1
application/vnd.brocade.networkadvisor+json;version=v1

In this release, the version is v1. For information about the version identifier, refer to “Versioning
(backward compatibility).”
When forming an HTTP GET request, you must specify the request header. The following header
values are supported:
TABLE 8 GET request header values (Accept header)
Request header name Request header value Response data format

Accept application/vnd.brocade.networkadvisor+xml;version=v1 XML


Accept application/vnd.brocade.networkadvisor+json;version=v1 JSON

If you do not provide a request header when calling URIs, the response data is returned in XML
format.

Content-type HTTP request header


In the case of POST requests, in addition to specifying the response data format, as described in
“Accept HTTP request header,” you must also specify the format of the data you are sending
through the input request payload. You do this by providing the HTTP Content-type header.
TABLE 9 POST request header values (Content-type header)
Request header name Request header value Request data format

Content-type application/vnd.brocade.networkadvisor+xml;version=v1 XML


Content-type application/vnd.brocade.networkadvisor+json;version=v1 JSON

Versioning (backward compatibility)


The Network Advisor REST API provides backward compatibility. However, not all API changes allow
for backward compatibility.

26 Brocade Network Advisor REST API Guide


53-1003160-01
Using the Topology API 3

Using the Topology API


The Topology API provides GET URIs for retrieving information about the network resource shown in
the following figure.

FIGURE 1 Topology API URI hierarchy

Using the SAN Fabric Discovery API


The SAN Fabric Discovery API provides POST URIs for discovering, updating, and deleting SAN
fabrics.

Notes about the SAN Fabric Discovery API URIs


• All SAN Fabric Discovery API URIs are POST requests.
• You can discover all types of SAN fabrics supported by the Brocade Network Advisor.
• You can update the switch credentials and the SNMP configuration used to discover the fabric
after the fabric is discovered.
• You can delete a fabric based on the fabric key.
• In the event that discovery of one of the virtual fabrics fails, the response payload contains the
Fabric Identifier (FID) of the fabric that failed to get discovered.
• All the contexts are discovered by default in the VF setup. You cannot select the contexts to be
discovered, but you can delete the unwanted contexts through the “deletefabric” URI.
• The value for snmpRetries should be from 1 through 5. The default is 3.
• The value for snmpTimeout should be from 3 through 999. The default is 5.
• In the event that SNMP registration fails, the discovery of the fabric still succeeds. However,
you can retrieve the events to check for any specific SNMP registration failure messages.

Brocade Network Advisor REST API Guide 27


53-1003160-01
3 Using the Traffic Flow API

• In the case of SNMP V3, if the privacy protocol is specified, the authorization protocol is
required; it cannot be null.
• The default user name is “admin”.
• The default password is “password”.

Limitations for the SAN Fabric Discovery API


• There is no support for monitoring or unmonitoring a discovered fabric.
• There is no provision to change the seed switch.
• There is no support for discovering M model switches.

Using the Traffic Flow API


The Traffic Flow API provides URIs for retrieving traffic flow information. Basically, in the context of a
specific FC Switch, you can get the flow definitions and the flows.
The flow definition and flow supports the minimum required properties needed to correlate with
the traffic flow summary data.

Using the Summary Data API


In support of Fabric Vision, Network Advisor calculates and publishes various kinds of summary
data. You can retrieve these summaries through the REST API. They can be obtained in the context
of a resource group, fabric, switch, or port.
The Summary Data API supports the URIs shown in the following figure.

FIGURE 2 Summary Data API URI hierarchy

28 Brocade Network Advisor REST API Guide


53-1003160-01
Using the Events API 3

Using the Events API


The Events API provides URIs that you can use to retrieve Network Advisor events. The URIs provide
query parameters that allow you to filter the results.
For example, to retrieve the first 100 special trap events, you could use the following URI:
<BASE_URI>/resourcegroups/All/events?startindex=0&count=100&specialEvent=true&ori
gin=trap

In this example, you instruct the server to send 100 events that are categorized as specialEvents
and that originated as TARP events.

Using the Zoning API


The Zoning API provides GET and POST URIs for zone administration.

Zoning URIs
The HTTP request header “Accept” must be specified to indicate the content type of the response
payload. For more information, refer to “Specifying content type.”
The HTTP request header “WSToken” must be specified with the token received from login. For
more information, refer to “Logging in and out.”

Zoning operations
When performing POST zoning operations for creating, deleting, and updating zoning objects, note
the following:
• All POST zoning operations are valid only within the context of a zoning transaction.
• The appropriate request instance must be formed and sent through the POST request.
• All operations within the context of a zoning transaction are local to Network Advisor. Only on
the commit of a zoning transaction, the data is pushed as a big blob to the switch.
• Multiple zoning objects can be created, deleted, or updated in one call.
• Unlike on the switch, Network Advisor does support the creation of empty zoning objects.
Before data can be committed to the switch, the zoning objects must contain data.
• Operations such as CreateZoningObject map to multiple operations within Network Advisor.
Failure of such an operation could internally be partial success. As a best practice, check the
contents of the zoning database before proceeding or abort the transaction and proceed with a
new transaction.
• Because in the case of a commit, there could be multiple reasons for failure, the REST API
returns the exact same error messages returned by the switch in response to commit failures.
• For LSAN zoning, zone names must start with LSAN_. And the members must be identified by
WWNs only.
• Empty LSAN zones cannot be created.
• LSAN zoning is supported only in the context of a backbone fabric.

Brocade Network Advisor REST API Guide 29


53-1003160-01
3 Using the Historical Performance Data API

Using the Historical Performance Data API


You can use the URIs provided by the Historical Performance Data API to retrieve historical
performance data for ports, switches, and flows based on a measure.

Fibre Channel Routing


This section describes important aspects of Fibre Channel Routing (FCR) setup.
All the URIs related to fabrics, switches, ports, end devices, connections, and connected ports are
applicable.
The Backbone and Edge fabrics are returned in the fabric URIs (refer to “Fabrics”).
The FC switches including the Front and Xlate phantom switches are returned in the switch URIs
(refer to “FC Switch”). The type parameter in FcSwitch contains the values 40 and 41 for the Front
and Xlate phantoms, respectively.
The FC ports, including the ports on the phantom switches, are returned in the port URIs (refer to
“FCPorts”). Front phantom switches are created in the Edge fabric for every EX-port connection to
the Backbone. Xlate phantom switches are created in the Edge fabric for every other Edge fabric
from which an end device is imported.
Within each Edge fabric, the Front phantom is connected to an Xlate phantom and a real switch
(one connected to the BB via the EX-port) in the fabric. The Front phantom port, which connects to
the real switch in the Edge fabric, has a WWN that is the same as the EX-port in the Backbone
fabric. So, in order to make the Front phantom port key unique, it is prefixed with FF.
Similarly the Xlate phantom port keys are prefixed with XF. These connections are E-port to E-port
ISLs and are returned in the connection URIs (refer to “ISL Connections”). The connected switch
ports to the Front phantom port can also be retrieved by the connected switch port URIs (refer to
“FCPorts”).
The imported devices in an Edge fabric are returned in the end device URIs (refer to “End devices”).
These imported devices are connected to the Xlate phantom via end device connections (refer to
“ISL Connections”).
The connected end device ports to the Xlate phantom port can also be retrieved by the end device
port URIs (refer to “FCPorts”).
The physical connection between a switch in the Backbone and a switch in the Edge is an
Inter-Fabric link and this is returned via the IFL URIs (refer to “ISL Connections”). These IFLS are
visible only when all the Backbone and Edge fabrics are discovered. The complete FCR topology
can only be returned when all Backbone and Edge fabrics are discovered.

Handling errors
The exception for all REST errors is RSException. This exception contains an integer error code and
a string error message. The exception is a string of the following format:
RSException [errorCode=<int>, errorMsg=<string>]

REST operations are HTTP requests, so the execution of an operation returns an HTTP status code.

30 Brocade Network Advisor REST API Guide


53-1003160-01
Handling errors 3

For successful operations the status code is usually 200 (OK) or 204 (No Content). In the case of
an error, depending on the reason for failure, any of the HTTP status codes may be returned.
However, in the case of an API error, the HTTP status code is 500 (Internal Server Error). More
details on the server error can be obtained from the RSException embedded in the HTTP response.
Table 10 describes the RSException error codes.
TABLE 10 Error codes
Error code Error message

1000 Interval server error


1001 Invalid filter type
1002 Invalid filter operation
1003 Invalid filter value
1004 Filter value is null or empty
1005 Invalid key property format
1006 Key property is null or empty
1007 Key property number format exception
1008 Mismatch in number of elements in filter properties
1009 Input request object is null
1010 Invalid request object
1011 Filter value number format exception
1012 Exception while getting information from database
1013 Key parameter is null or empty
1014 Adapter error while marshalling bound type to value type
1015 Adapter error while unmarshalling value type to bound type
2000 Fabric not found
2001 Switch not found
2002 Resource group not found
2003 Port not found
2004 Blade not found
2005 End device not found
2006 Connection not found
2007 Node not found
2008 End device connection not found
2009 Host not found
2010 HBA not found
2011 Access Gateway not found
2012 Flow Definition not found
2013 Flow not found
3001 Invalid zone name prefix
3002 Initiator is null or empty

Brocade Network Advisor REST API Guide 31


53-1003160-01
3 Handling errors

TABLE 10 Error codes (Continued)


Error code Error message

3003 Target is null or empty


3004 Initiator is an invalid wwn
3005 Target is an invalid wwn
3006 Only inactive zoneset can be activated
3007 Only active zoneset can be deactivated
3008 Invalid lsan zone name
3009 Zoning object name is null or empty
3010 Update action is invalid
3011 EdgeFabricWwns is null or empty
3012 Cannot create empty lsan zone
3013 Operation supported on backbone fabric only.
10003 Common DCFM error
16001 Zone does not exist
16002 Zoneset does not exist
16003 Zonealias does not exist
16004 Member does not exist
16101 Unknown error
16102 Unknown interop mode
16103 Transaction does not exist
16104 Not the owner of the transaction
16105 Password encryption error
16106 Session authentication error
16107 Hostname error
16108 Transaction already exists
16109 Transaction commit error
16110 Empty zoning objects
16111 Save zone database to switch failed
16112 Save imported zone database failed
16113 Zoning object already exists
16114 Parent does not exist
16115 Not supported in zone transaction
16116 Null zone database
16117 Not supported
16118 Transaction start failed
16119 Transaction abort failed
16120 Activate failed

32 Brocade Network Advisor REST API Guide


53-1003160-01
Handling errors 3

TABLE 10 Error codes (Continued)


Error code Error message

16121 Deactivate failed


16122 Clear zone database failed
16123 Unable to retrieve zone database
16124 Online member does not exist
16125 Invalid backbone fabric
16126 Activation failed
16301 Database error
20301 Dao exception while getting managed BB fabrics
20101 Unknown exception while getting managed BB fabrics
4001 Token in header is null or empty
4002 User name in header is null or empty
4003 Password in header is null or empty
4004 Failed to get token
4005 Invalid user name or password
4006 Failed to parse soap header
4007 Failed to create session
4008 Failed to add token outbound
4009 Invalid token in header
4010 Unknown host exception
4011 Client limit exceeded
5000 Action not supported
5001 Event not found
6000 Switch IP address is null or empty
6001 Snmp version is invalid. Valid values are v3 or v1.
6002 Snmp timeout is invalid. Valid values are 3 to 999.
6003 Snmp retries is invalid. Valid values are 1 to 5.
6004 Operation supported only under resource group All.
6005 Authentication protocol is invalid.
6006 Privacy protocol is invalid.
6007 Privacy password is null or empty.
6008 Authentication password is null or empty.
6009 Failed to delegate request.
6010 Invalid queue for this operation.
6011 Error in queue creation.
6012 Error in encrypting switch password.
6013 Operation not supported on this switch.

Brocade Network Advisor REST API Guide 33


53-1003160-01
3 Handling errors

TABLE 10 Error codes (Continued)


Error code Error message

6014 Switch user name is null or empty.


6015 Switch password is null or empty.
6016 Set switch credentials failed.
6017 Set switch snmp credentials failed.
6018 Unsupported edition.
6019 All virtual fabrics already discovered.
6020 Discovery failed.
6021 DNS error.
6022 Fabric unstable.
6023 Discovery redundant.
6024 Seed switch not in fabric.
6025 Duplicate fabric name.
6026 Unsupported switch mode.
6027 IO error.
6028 Malformed URL.
6029 Internal error.
6030 Seed switch authentication failed.
6031 Password decryption failed
6032 Seed switch HTTP not ok.
6033 Seed switch HTTPS not ok.
6034 Seed switch not fcs primary.
6035 Unsupported firmware version.
6036 Seed switch host name verification failed.
6037 AD detected.
6038 Fabric name exists.
6039 Unsupported vendor.
6040 Undiscovered mmodel switch.
6041 Seed switch SSL certificate validation failed.
6042 Invalid firmware.
6043 Fabric count limit reached.
6044 Eos fabric count limit reached.
6045 Syslog registration warning
6046 No chassis access
6047 Insufficient privilege.
6048 Virtual fabric list not visible.
6049 Invalid snmp version.

34 Brocade Network Advisor REST API Guide


53-1003160-01
Handling errors 3

TABLE 10 Error codes (Continued)


Error code Error message

6050 Session limit reached.


6051 Account locked.
6052 Account disabled.
6053 Connection timeout.
6054 FCoE not supported.
6055 Switch unmanageable.
6056 Seed switch not supported.
6057 Snmp survey failed.
6058 Mixed fabric.
6059 M model not supported.
6060 Invalid product type.
6061 Switch initializing.
6062 Invalid network address.
6063 No available trap registrations.
6064 Product deleted.
6065 Protocol error.
6066 Protocol mismatch.
6067 Switch timeout.
6068 Too many sessions.
6069 Trap registration failed.
6070 Trap registration lost.
6071 Link never connected.
6072 Connection lost.
6073 Link disabled.
6074 Switch unmanageable, unknown firmware.
6075 Request failed.
6076 Not capable.
6077 User does not have proper AOR to discover fabrics.
6078 Privacy protocol setting requires Authorization protocol setting.
7000 Cannot create user defined network scope.
8000 Ports exceeded limit.
8001 Switches exceeded limit.
8002 Flows exceeded limit.
8003 End date is null or empty. Please provide enddate for startdate.
8004 Start date is null or empty. Please provide startdate for enddate.
8005 Duration exceeds limit for given granularity.

Brocade Network Advisor REST API Guide 35


53-1003160-01
3 Handling errors

TABLE 10 Error codes (Continued)


Error code Error message

8006 Range from start date to end date exceeds limit for given granularity.
8007 Start date is beyond end date.
99010 Opaque key value not found

URI error return behavior


This section explains the error a user can expect when a URI fails. Parsing of the URI follows a
pattern and returns an error in the following order.
1. The server checks the URI, including the path parameters, for correctness. If the URI is not
valid (for example, a word in the URI is misspelled), the resource cannot be found and you get
back an HTTP status code of 404 (Not Found).
2. If the URI is correct, the server checks the query parameter values for correctness. If the query
parameters are invalid, the REST operation fails with HTTP status code of 500 (Internal Server
Error) and an RSException. The value of the error code depends on the exact error.
3. If the previous two steps succeed, which means that the URI is syntactically correct, the server
parses the URI from left to right. If any resource corresponding to the path parameters is not
present, then the appropriate “Does Not Exist” or “Not Found” error is reported. For example:
<BASE-URI>/resourcegroups/{rgkey}/fcswitches/{fcskey}
In the example URI, if the resource group specified by rgkey does not exist, you receive the
appropriate error code. If rgkey is valid, then the server checks whether fcskey exists. If not, the
appropriate error code is generated.
4. The server returns “Not Found” errors if you are looking for a specific object that cannot be
found.
5. In the case of a collection like fcswitches, the response is either a populated or empty list. The
return of an empty list indicates that there are no instances within the requested collection.
6. If you are using a filter like “/fcswitches?property1=<value>,” and if there is no switch in the
fabric with that property, an empty response is returned.

NOTE
Filtering is not the same as using a key. Filters let you sift out a smaller list from a larger one.
The smaller list could be an empty list.

The following is an example of an exception generated due to a REST operation failure:


REST FAILED WITH HTTPSTATUS = 500
RSException [errorCode=2001, errorMsg=Switch not found]

36 Brocade Network Advisor REST API Guide


53-1003160-01
Chapter

Use Cases 4

In this chapter
• Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
• Zoning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
• Getting Traffic Flow Performance Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
• Getting the Top N CRC errors port summary . . . . . . . . . . . . . . . . . . . . . . . . . 44
• SAN fabric discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
• Binding the schema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Introduction
This chapter discusses common use cases for the Network Advisor REST API.

Zoning
Zoning is the means by which administrators partition their SAN into logical groups of devices that
can access each other.
When zoning a SAN, it is best to implement 1-to-1 zoning, where each zone contains a single
initiator and a single target. Single-initiator zoning has the advantage of eliminating host-to-host
visibility, which results in less RSCN traffic.
You can use the REST API to carry out single-initiator to single- or multiple-target zoning using the
attach/detach URIs.
To attach a single initiator with one or more targets, perform the following steps.
1. Establish a REST session with Network Advisor (refer to “Logging in”).
The network consisting of the initiator and targets is assumed to be discovered in Network
Advisor. If not, you can use the Network Advisor client or the Network Advisor REST API to
discover the fabrics of interest (refer to “SAN fabric discovery”).
2. Create the InitiatorTargetsRequest.xml file with the payload information consisting of the
initiator and target WWNs and other properties defined in the REST schema of the
InitiatorTargetsRequest request object (refer to the “InitiatorTargetsRequest”).

NOTE
The InitiatorTargetsRequest REST schema is published in the directory
<INSTALL-DIR>/conf/rest-schema, where <INSTALL-DIR> is the Network Advisor installation
directory.

Brocade Network Advisor REST API Guide 37


53-1003160-01
4 Zoning

3. Perform the attach operation by calling the following POST URI.


<BASE_URI>/resourcegroups/All/fcfabrics/fcfkey/attach
4. To detach the initiator from the same targets, the payload is the same, but the POST URI is
different.
<BASE_URI>/resourcegroups/All/fcfabrics/fcfkey/detach

Sample request payload


The following is an example request payload.
<tns:InitiatorTargetsRequest
xmlns:tns="http://www.brocade.com/networkadvisor/webservices/v1/zoneservice/r
equest">
<lsanZoning>false</lsanZoning>
<initiator>10:00:00:05:1E:53:0B:93</initiator>
<targets>20:01:00:11:0D:C6:01:01</targets>
<targets>20:06:00:11:0D:C6:01:01</targets>
<activate>true</activate>
</tns:InitiatorTargetsRequest>

Sample Java code for performing the attach operation


The following is the sample Java code for performing the attach operation. This sample code
assumes that some tool has been used to generate the required code for the requests (refer to
“Binding the schema”).
HttpURLConnection con = null;
try {
URL obj = new
URL("http://10.24.48.103/rest/resourcegroups/All/fcfabrics/10:00:00:27:F8:42:
B4:0D/attach");
con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.addRequestProperty("WStoken", "wppCy/NGdC4o5gGFJjXRMv7blhc=");
con.addRequestProperty("Accept",
"application/vnd.brocade.networkadvisor+json;version=v1");
con.addRequestProperty("Content-type",
"application/vnd.brocade.networkadvisor+xml;version=v1");

JAXBContext jaxbContext =
JAXBContext.newInstance(InitiatorTargetsRequest.class);
Unmarshaller u = jaxbContext.createUnmarshaller();
Object element = u.unmarshal(new File("./InitiatorTargetsRequest.xml"));
Marshaller m = jaxbContext.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
m.marshal(element, con.getOutputStream());
System.out.println("CALLING POST
http://10.24.48.103/rest/resourcegroups/All/fcfabrics/10:00:00:27:F8:42:B4:0D
/attach");
int responseCode = con.getResponseCode();
System.out.println("REQUEST HTTPSTATUS = " + responseCode);
if (responseCode != HttpURLConnection.HTTP_OK
&& responseCode != HttpURLConnection.HTTP_NO_CONTENT
&& responseCode != HttpURLConnection.HTTP_PARTIAL
&& responseCode != HttpURLConnection.HTTP_ACCEPTED) {

38 Brocade Network Advisor REST API Guide


53-1003160-01
Zoning 4

PRINT_ERROR(con);
assert false : "Fabric Discovery FAILED, responseCode = " +
responseCode;
}
PRINT_RESPONSE(con);
} catch (IOException ie) {
System.out.println(ie.toString());
} finally {
if (null != con) {
con.disconnect();
}
}

Sample JSON responses


The following are sample JSON responses showing zone databases before and after the attach
operation.
CALLING POST http://10.24.48.103/rest/login
REQUEST HTTPSTATUS = 200
GOT TOKEN FROM RS RESPONSE = 5ryMd4/SBrWX9kDqH1AhLfPdFz4=
{"serverName":"DCM-x3650-103","serverIp":"10.24.48.103"}

CALLING GET http://10.24.48.103/rest/resourcegroups/All/fcfabrics


REQUEST HTTPSTATUS = 200
{"fcFabrics":[{"key":"10:00:00:27:F8:42:B4:0D","seedSwitchWwn":"10:00:00:27:F
8:42:B4:0D","name":"10:00:00:27:F8:42:B4:0D","secure":false,"adEnvironment":f
alse,"contact":null,"location":null,"description":null,"principalSwitchWwn":"
10:00:00:27:F8:42:B4:0D","fabricName":"","virtualFabricId":128,"seedSwitchIpA
ddress":"10.24.48.191"}]}

CALLING GET
http://10.24.48.103/rest/resourcegroups/All/fcfabrics/10:00:00:27:F8:42:B4:0D
/zonedbs
REQUEST HTTPSTATUS = 200
{"zonedbs":[{"key":"10:00:00:27:F8:42:B4:0D-false","active":false,"checksum":
4043007525,"zones":[],"zonealiases":[],"zonesets":[]},{"key":"10:00:00:27:F8:
42:B4:0D-true","active":true,"checksum":1895126470,"zones":[],"zonealiases":n
ull,"zonesets":[]}]}

CALLING POST
http://10.24.48.103/rest/resourcegroups/All/fcfabrics/10:00:00:27:F8:42:B4:0D
/attach
MARSHALLED request
REQUEST HTTPSTATUS = 204

CALLING GET
http://10.24.48.103/rest/resourcegroups/All/fcfabrics/10:00:00:27:F8:42:B4:0D
/zonedbs
REQUEST HTTPSTATUS = 200
{"zonedbs":[{"key":"10:00:00:27:F8:42:B4:0D-false","active":false,"checksum":
3900215559,"zones":[{"key":"NARestZone_100000051E530B93-false","name":"NARest
Zone_100000051E530B93","type":"STANDARD","active":false,"aliasNames":[],"memb
erNames":["10:00:00:05:1E:53:0B:93","20:01:00:11:0D:C6:01:01","20:06:00:11:0D
:C6:01:01"]}],"zonealiases":[],"zonesets":[{"key":"NARestZoneSet-false","name
":"NARestZoneSet","active":false,"zoneNames":["NARestZone_100000051E530B93"]}
]},{"key":"10:00:00:27:F8:42:B4:0D-true","active":true,"checksum":1349809297,
"zones":[{"key":"NARestZone_100000051E530B93-true","name":"NARestZone_1000000

Brocade Network Advisor REST API Guide 39


53-1003160-01
4 Getting Traffic Flow Performance Data

51E530B93","type":"STANDARD","active":true,"aliasNames":null,"memberNames":["
10:00:00:05:1E:53:0B:93","20:01:00:11:0D:C6:01:01","20:06:00:11:0D:C6:01:01"]
}],"zonealiases":null,"zonesets":[{"key":"NARestZoneSet-true","name":"NARestZ
oneSet","active":true,"zoneNames":["NARestZone_100000051E530B93"]}]}]}

CALLING POST http://10.24.48.103/rest/logout


REQUEST HTTPSTATUS = 204

NOTE
The text in bold shows that a zone with the requested initiator and targets has been created
and activated.

Getting Traffic Flow Performance Data


Network Advisor collects and persists performance data for the various SCSI and
Frame measures related to traffic flows. You can use the Network Advisor REST
API to retrieve this historical performance data.
To collect performance data for traffic flows, perform the following steps.
1. Establish a REST API session with Network Advisor (refer to “Logging in”).
The network consisting of the initiator and targets is assumed to be discovered in Network
Advisor. If not, you can use the Network Advisor client or the Network Advisor REST API to
discover the fabrics of interest (refer to “SAN fabric discovery”).
2. Set up the monitor flows between the initiator and target ports using the Network Advisor client
flow dialogs.
For more information about setting up monitor flows, refer to the Network Advisor
documentation.
After you create the flow definitions for the initiator and target, Network Advisor starts
collecting the performance data for the flows.
3. Use the following GET URI and pseudo code for retrieving flow information.
The following is the URI.
<BASE_URI>/resourcegroups/{rgkey}/fcswitches/{fcskey}/flows

Sample Java code for retrieving flow information


The following is sample Java code for retrieving flow information.
HttpURLConnection con = null;
try {
/**
* Create the HTTP connection object with the URI, method and headers
*/
URL obj = new
URL("http://10.24.48.103/rest/resourcegroups/All/fcswitches/10:00:00:05:33:13:78:
7E/flows");
con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
con.addRequestProperty("WStoken", "wppCy/NGdC4o5gGFJjXRMv7blhc=");

40 Brocade Network Advisor REST API Guide


53-1003160-01
Getting Traffic Flow Performance Data 4

System.out.println("CALLING GET
http://10.24.48.103/rest/resourcegroups/All/fcswitches/10:00:00:05:1E:40:40:00/fl
ows");

/**
* Make the HTTP call
*/
int responseCode = con.getResponseCode();
System.out.println("Response code is " + responseCode);
if (HttpURLConnection.HTTP_SUCCESS != responseCode) {
PRINT_ERROR(con);
assert false : "REST FAILED, responseCode = " + responseCode;
}
} catch (IOException ie) {
System.out.println(ie.toString());
} finally {
if (null != con) {
con.disconnect();
}
}

Sample JSON response


The following is the JSON response.
/**
* Getting the list of flows on a specific switch
*/
CALLING GET
http://10.24.48.103/rest/resourcegroups/All/fcswitches/10:00:00:05:33:13:78:7E/fl
ows
REQUEST HTTPSTATUS = 200
{"flows":[{"key":"fldbid-7","flowDefinitionName":"web_server_flow","featureType":
"MONITOR","srcDevicePorts":["031900"],"destDevicePorts":["011a00"],"srcSwitchPort
":"0/25","destSwitchPort":"","bidirectional":false,"sfid":"","dfid":"","lunIds":[
],"frameSize":0,"framePattern":"","subFlowMd5hash":"","mirrorPort":""},{"key":"fl
dbid-11","flowDefinitionName":"traffic_flow","featureType":"MONITOR","srcDevicePo
rts":["aa01e2"],"destDevicePorts":["031900"],"srcSwitchPort":"","destSwitchPort":
"0/25","bidirectional":false,"sfid":"","dfid":"","lunIds":[],"frameSize":0,"frame
Pattern":"","subFlowMd5hash":"","mirrorPort":""},{"key":"fldbid-8","flowDefinitio
nName":"traffic_flow","featureType":"MONITOR","srcDevicePorts":["aa01e4"],"destDe
vicePorts":["031900"],"srcSwitchPort":"","destSwitchPort":"0/25","bidirectional":
false,"sfid":"","dfid":"","lunIds":[],"frameSize":0,"framePattern":"","subFlowMd5
hash":"","mirrorPort":""},{"key":"fldbid-9","flowDefinitionName":"traffic_flow","
featureType":"MONITOR","srcDevicePorts":["aa01e8"],"destDevicePorts":["031900"],"
srcSwitchPort":"","destSwitchPort":"0/25","bidirectional":false,"sfid":"","dfid":
"","lunIds":[],"frameSize":0,"framePattern":"","subFlowMd5hash":"","mirrorPort":"
"},{"key":"fldbid-12","flowDefinitionName":"traffic_flow","featureType":"MONITOR"
,"srcDevicePorts":["011a00"],"destDevicePorts":["031900"],"srcSwitchPort":"","des
tSwitchPort":"0/25","bidirectional":false,"sfid":"","dfid":"","lunIds":[],"frameS
ize":0,"framePattern":"","subFlowMd5hash":"","mirrorPort":""},{"key":"fldbid-13",
"flowDefinitionName":"traffic_flow","featureType":"MONITOR","srcDevicePorts":["01
1b00"],"destDevicePorts":["031900"],"srcSwitchPort":"","destSwitchPort":"0/25","b
idirectional":false,"sfid":"","dfid":"","lunIds":[],"frameSize":0,"framePattern":
"","subFlowMd5hash":"","mirrorPort":""},{"key":"fldbid-15","flowDefinitionName":"
traffic_flow","featureType":"MONITOR","srcDevicePorts":["fffcaa"],"destDevicePort
s":["031900"],"srcSwitchPort":"","destSwitchPort":"0/25","bidirectional":false,"s
fid":"","dfid":"","lunIds":[],"frameSize":0,"framePattern":"","subFlowMd5hash":""

Brocade Network Advisor REST API Guide 41


53-1003160-01
4 Getting Traffic Flow Performance Data

,"mirrorPort":""},{"key":"fldbid-10","flowDefinitionName":"traffic_flow","feature
Type":"MONITOR","srcDevicePorts":["aa01ef"],"destDevicePorts":["031900"],"srcSwit
chPort":"","destSwitchPort":"0/25","bidirectional":false,"sfid":"","dfid":"","lun
Ids":[],"frameSize":0,"framePattern":"","subFlowMd5hash":"","mirrorPort":""},{"ke
y":"fldbid-16","flowDefinitionName":"traffic_flow","featureType":"MONITOR","srcDe
vicePorts":["032b01"],"destDevicePorts":["031900"],"srcSwitchPort":"","destSwitch
Port":"0/25","bidirectional":false,"sfid":"","dfid":"","lunIds":[],"frameSize":0,
"framePattern":"","subFlowMd5hash":"","mirrorPort":""},{"key":"fldbid-17","flowDe
finitionName":"traffic_flow","featureType":"MONITOR","srcDevicePorts":["010500"],
"destDevicePorts":["031900"],"srcSwitchPort":"","destSwitchPort":"0/25","bidirect
ional":false,"sfid":"","dfid":"","lunIds":[],"frameSize":0,"framePattern":"","sub
FlowMd5hash":"","mirrorPort":""},{"key":"fldbid-14","flowDefinitionName":"traffic
_flow","featureType":"MONITOR","srcDevicePorts":["*"],"destDevicePorts":["031900"
],"srcSwitchPort":"","destSwitchPort":"0/25","bidirectional":false,"sfid":"","dfi
d":"","lunIds":[],"frameSize":0,"framePattern":"","subFlowMd5hash":"","mirrorPort
":""}]}

Retrieving performance data for the Transmit Frame Rate measure


Depending on the desired measure, you can choose the appropriate URI to get the historical
performance data for the traffic flows within the scope of the switch. If Transmit Frame Rate is the
measure of interest, the following GET URI returns the performance data for this measure.
<BASE_URI>/resourcegroups/{rgkey}/fcswitches/{fcskey}/timeseriestxframerate?granularity=<val
ue>&startdate=<value>&enddate=<value>

Sample Java code


The following is sample java code for retrieving performance data for the Transmit Frame Rate
measure.
HttpURLConnection con = null;
try {
/**
* Create the HTTP connection object with the URI, method and headers
*/
URL obj = new
URL("http://10.24.48.103/rest/resourcegroups/All/fcswitches/10:00:00:05:33:13:78:
7E/timeseriestxframerate?startdate=1402012800000&enddate=1402023600000&granularit
y=GRANULARITY_30MIN");
con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
con.addRequestProperty("WStoken", "wppCy/NGdC4o5gGFJjXRMv7blhc=");

System.out.println("CALLING GET
http://10.24.48.103/rest/resourcegroups/All/fcswitches/10:00:00:05:33:13:78:7E/ti
meseriestxframerate?startdate=1402012800000&enddate=1402023600000&granularity=GRA
NULARITY_30MIN");

/**
* Make the HTTP call
*/
int responseCode = con.getResponseCode();
System.out.println("Response code is " + responseCode);
if (HttpURLConnection.HTTP_SUCCESS != responseCode) {
PRINT_ERROR(con);
assert false : "REST FAILED, responseCode = " + responseCode;
}

42 Brocade Network Advisor REST API Guide


53-1003160-01
Getting Traffic Flow Performance Data 4

} catch (IOException ie) {


System.out.println(ie.toString());
} finally {
if (null != con) {
con.disconnect();
}
}

Sample JSON response


The following is the JSON response for retrieving performance data for the Transmit Frame Rate
measure.
CALLING GET
http://10.24.48.103/rest/resourcegroups/All/fcswitches/10:00:00:05:33:13:78:7E/ti
meseriestxframerate?startdate=1402012800000&enddate=1402023600000&granularity=GRA
NULARITY_30MIN
REQUEST HTTPSTATUS = 200
{"performanceDatas":[{"targetKey":"fldbid-16","targetType":"FLOW","timeSeriesData
s":[]},{"targetKey":"fldbid-13","targetType":"FLOW","timeSeriesDatas":[{"timeInSe
conds":1402023599,"value":0.0,"lo":0.0,"hi":0.0,"sum":0.0},{"timeInSeconds":14020
21799,"value":0.0,"lo":0.0,"hi":0.0,"sum":0.0},{"timeInSeconds":1402019999,"value
":0.0,"lo":0.0,"hi":0.0,"sum":0.0},{"timeInSeconds":1402018199,"value":0.0,"lo":0
.0,"hi":0.0,"sum":0.0},{"timeInSeconds":1402016399,"value":0.0,"lo":0.0,"hi":0.0,
"sum":0.0},{"timeInSeconds":1402014599,"value":0.0,"lo":0.0,"hi":0.0,"sum":0.0}]}
,{"targetKey":"fldbid-10","targetType":"FLOW","timeSeriesDatas":[{"timeInSeconds"
:1402023599,"value":0.0030000000000000005,"lo":0.0,"hi":0.005,"sum":0.0},{"timeIn
Seconds":1402021799,"value":0.005833333333333334,"lo":0.004,"hi":0.009,"sum":0.0}
,{"timeInSeconds":1402019999,"value":0.006000000000000001,"lo":0.0,"hi":0.014,"su
m":0.0},{"timeInSeconds":1402018199,"value":0.006666666666666665,"lo":0.0,"hi":0.
013,"sum":0.0},{"timeInSeconds":1402016399,"value":0.007666666666666666,"lo":0.0,
"hi":0.011,"sum":0.0},{"timeInSeconds":1402014599,"value":0.006333333333333333,"l
o":0.0,"hi":0.013,"sum":0.0}]},{"targetKey":"fldbid-9","targetType":"FLOW","timeS
eriesDatas":[{"timeInSeconds":1402023599,"value":0.004833333333333333,"lo":0.0,"h
i":0.009,"sum":0.0},{"timeInSeconds":1402021799,"value":0.006166666666666667,"lo"
:0.004,"hi":0.009,"sum":0.0},{"timeInSeconds":1402019999,"value":0.00433333333333
3334,"lo":0.0,"hi":0.011,"sum":0.0},{"timeInSeconds":1402018199,"value":0.0066666
66666666665,"lo":0.0,"hi":0.013,"sum":0.0},{"timeInSeconds":1402016399,"value":0.
007833333333333333,"lo":0.0,"hi":0.014,"sum":0.0},{"timeInSeconds":1402014599,"va
lue":0.004166666666666667,"lo":0.0,"hi":0.012,"sum":0.0}]},{"targetKey":"fldbid-1
1","targetType":"FLOW","timeSeriesDatas":[{"timeInSeconds":1402023599,"value":0.0
05,"lo":0.0,"hi":0.011,"sum":0.0},{"timeInSeconds":1402021799,"value":0.004833333
333333334,"lo":0.0,"hi":0.009,"sum":0.0},{"timeInSeconds":1402019999,"value":0.00
6666666666666668,"lo":0.0,"hi":0.013,"sum":0.0},{"timeInSeconds":1402018199,"valu
e":0.007166666666666666,"lo":0.0,"hi":0.014,"sum":0.0},{"timeInSeconds":140201639
9,"value":0.005833333333333334,"lo":0.0,"hi":0.012,"sum":0.0},{"timeInSeconds":14
02014599,"value":0.004166666666666667,"lo":0.0,"hi":0.01,"sum":0.0}]},{"targetKey
":"fldbid-15","targetType":"FLOW","timeSeriesDatas":[]},{"targetKey":"fldbid-14",
"targetType":"FLOW","timeSeriesDatas":[{"timeInSeconds":1402023599,"value":0.0188
3333333333333,"lo":0.009,"hi":0.028,"sum":0.0},{"timeInSeconds":1402021799,"value
":0.023499999999999997,"lo":0.017,"hi":0.036,"sum":0.0},{"timeInSeconds":14020199
99,"value":0.022166666666666668,"lo":0.008,"hi":0.034,"sum":0.0},{"timeInSeconds"
:1402018199,"value":0.02933333333333334,"lo":0.01,"hi":0.048,"sum":0.0},{"timeInS
econds":1402016399,"value":0.02916666666666667,"lo":0.01,"hi":0.045,"sum":0.0},{"
timeInSeconds":1402014599,"value":0.021500000000000002,"lo":0.004,"hi":0.043,"sum
":0.0}]},{"targetKey":"fldbid-17","targetType":"FLOW","timeSeriesDatas":[]},{"tar
getKey":"fldbid-8","targetType":"FLOW","timeSeriesDatas":[{"timeInSeconds":140202
3599,"value":0.005833333333333334,"lo":0.004,"hi":0.009,"sum":0.0},{"timeInSecond
s":1402021799,"value":0.006666666666666667,"lo":0.004,"hi":0.01,"sum":0.0},{"time

Brocade Network Advisor REST API Guide 43


53-1003160-01
4 Getting the Top N CRC errors port summary

InSeconds":1402019999,"value":0.005,"lo":0.0,"hi":0.012,"sum":0.0},{"timeInSecond
s":1402018199,"value":0.008499999999999999,"lo":0.004,"hi":0.013,"sum":0.0},{"tim
eInSeconds":1402016399,"value":0.007666666666666666,"lo":0.0,"hi":0.014,"sum":0.0
},{"timeInSeconds":1402014599,"value":0.006833333333333333,"lo":0.0,"hi":0.013,"s
um":0.0}]},{"targetKey":"fldbid-12","targetType":"FLOW","timeSeriesDatas":[{"time
InSeconds":1402023599,"value":0.0,"lo":0.0,"hi":0.0,"sum":0.0},{"timeInSeconds":1
402021799,"value":0.0,"lo":0.0,"hi":0.0,"sum":0.0},{"timeInSeconds":1402019999,"v
alue":0.0,"lo":0.0,"hi":0.0,"sum":0.0},{"timeInSeconds":1402018199,"value":0.0,"l
o":0.0,"hi":0.0,"sum":0.0},{"timeInSeconds":1402016399,"value":0.0,"lo":0.0,"hi":
0.0,"sum":0.0},{"timeInSeconds":1402014599,"value":0.0,"lo":0.0,"hi":0.0,"sum":0.
0}]}],"granularity":"GRANULARITY_30MIN","duration":null,"startDate":1402012800000
,"endDate":1402023600000}

In this response, you can see the value for Transmit Frame Rate within the provided start and end
times. Each entry has the target key specified and this can be used in combination with the flow
data you received from the previous flows response to plot the data.

Getting the Top N CRC errors port summary


Physical layer errors cause signal degradation on the transmitter or receiver end and results in loss
of transmitted data. The most common physical layer error reported is the CRC error which
indicates frame corruption. CRC errors along with “encode out” errors usually point to a cabling or
SFP-related problem.
The Network Advisor REST API supports the retrieval of summary information for various
performance measures such as CRC errors, C3 discards, and BB credit zero.
For example, if you are interested in getting the top 10 ports reporting CRC errors, perform the
following steps.
1. Establish a REST API session with Network Advisor (refer to “Logging in”).
The network consisting of the fabrics is assumed to be discovered in Network Advisor. If not,
you can use the Network Advisor client or the Network Advisor REST API to discover the fabrics
of interest (refer to “SAN fabric discovery”).
2. Use the following GET URI for retrieving the top 10 ports reporting CRC errors.
<BASE_URI>/resourcegroups/{rgkey}/crcerrors?timeline=<value>&timescope=<value>&l
imit=<value>&portscope=<value>&descending=<value>

SAN fabric discovery


Discovering an FC fabric
The Network Advisor REST API provides support for SAN Fabric discovery through the following
POST URI:
<Base_URI>/resourcegroups/All/discoverfabric
When calling this URI, you must pass the following:
• Session token
This token is returned in an HTTP header (WSToken) after a successful login request.

44 Brocade Network Advisor REST API Guide


53-1003160-01
SAN fabric discovery 4

• XML file (DiscoverFabricRequest.xml) containing the payload DiscoverFabricRequest object.


The payload object specifies the parameters that are needed for FC fabric discovery
(for example, user name, password, and the seed switch IP address. For more information
about the parameters defined by the DiscoverFabricRequest object, refer to
DiscoverFabricRequest.

NOTE
The REST XML schema for DiscoverFabricRequest is published in the directory
<INSTALL-DIR>/conf/rest-schema, where <INSTALL-DIR> is the installation directory of Network
Advisor. The schema for DiscoverFabricRequest provides more details on the default values for
some of the properties.

Sample DiscoverFabricRequest.xml file contents


The following is an example of XML payload for SAN fabric discovery.
<tns:DiscoverFabricRequest
xmlns:tns="http://www.brocade.com/networkadvisor/webservices/v1/discoveryservice/
request">
<switchIpAddress>10.24.45.92</switchIpAddress>
<userName>admin</userName>
<password>password</password>
<fabricName>ApsFabric</fabricName>
</tns:DiscoverFabricRequest>

Sample SAN fabric discovery code (Java)


The following is an example of Java code for SAN fabric discovery. This sample code assumes that
some tool has been used to generate the required code for the requests (refer to “Binding the
schema”)
HttpURLConnection con = null;
try {
/**
* Create the HTTP connection object with the URI, method, and headers
*/
URL obj = new
URL("http://10.24.48.103/rest/resourcegroups/All/discoverfabric");
con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.addRequestProperty("WStoken", "wppCy/NGdC4o5gGFJjXRMv7blhc=");
con.addRequestProperty("Accept",
"application/vnd.brocade.networkadvisor+json;version=v1");
con.addRequestProperty("Content-type",
"application/vnd.brocade.networkadvisor+xml;version=v1");

/**
* Unmarshal the XML data into the Java content object
*/
JAXBContext jaxbContext = JAXBContext.newInstance(DiscoverFabricRequest.class);
Unmarshaller u = jaxbContext.createUnmarshaller();
Object element = u.unmarshal(new File("./DiscoverFabricRequest.xml"));

/**
* Marshal the java object into the connection o/p stream
*/

Brocade Network Advisor REST API Guide 45


53-1003160-01
4 SAN fabric discovery

Marshaller m = jaxbContext.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
m.marshal(element, con.getOutputStream());

System.out.println("CALLING POST
http://10.24.48.103/rest/resourcegroups/All/discoverfabric");

/**
* Make the HTTP call
*/
int responseCode = con.getResponseCode();
System.out.println("Response code is " + responseCode);
if (responseCode != HttpURLConnection.HTTP_OK
&& responseCode != HttpURLConnection.HTTP_NO_CONTENT
&& responseCode != HttpURLConnection.HTTP_PARTIAL
&& responseCode != HttpURLConnection.HTTP_ACCEPTED) {
PRINT_ERROR(con);
assert false : "Fabric Discovery FAILED, responseCode = " + responseCode;
}

if (responseCode == HttpURLConnection.HTTP_PARTIAL) {
String location = con.getHeaderField("Location");
if (null != location) {
System.out.println("URI FOR NEXT PAGE = " + location);
}
}
PRINT_RESPONSE(con);
} catch (IOException ie) {
System.out.println(ie.toString());
} finally {
if (null != con) {
con.disconnect();
}
}

Sample SAN fabric discovery JSON response


The following is an example of a SAN fabric discovery JSON response.
/**
* Establishing REST Session
*/
CALLING POST http://10.24.41.138/rest/login
Response code is 200
GOT TOKEN FROM RS RESPONSE = Yh8veQHgxR6v6KgNR9Eioeg7168=

{"serverName":"W2K8R2-41-138","serverIp":"10.24.41.138"}

/**
* Getting FC fabrics list BEFORE discoverfabric operation, it is empty
*/
CALLING GET http://10.24.41.138/rest/resourcegroups/All/fcfabrics
REQUEST HTTPSTATUS = 200
{"fcFabrics":[]}

/**
* Executing discoverfabric, all virtual fabrics if any have been discovered
*/
CALLING POST http://10.24.48.103/rest/resourcegroups/All/discoverfabric

46 Brocade Network Advisor REST API Guide


53-1003160-01
SAN fabric discovery 4

REQUEST HTTPSTATUS = 200


{"virtualFabricIds":[]}

/**
* Getting FC fabrics list AFTER discoverfabric operation, fabrics exist
*/
CALLING GET http://10.24.48.103/rest/resourcegroups/All/fcfabrics
REQUEST HTTPSTATUS = 200
{"fcFabrics":[{"key":"10:00:00:05:1E:40:40:02","seedSwitchWwn":"10:00:00:05:1E:40
:40:02","name":"ApsFabric-10:00:00:05:1e:40:40:01","secure":false,"adEnvironment"
:false,"contact":null,"location":null,"description":null,"principalSwitchWwn":"10
:00:00:05:1E:40:40:02","fabricName":"","virtualFabricId":2,"seedSwitchIpAddress":
"10.24.45.92"},{"key":"10:00:00:05:1E:40:40:01","seedSwitchWwn":"10:00:00:05:1E:4
0:40:01","name":"ApsFabric","secure":false,"adEnvironment":false,"contact":null,"
location":null,"description":null,"principalSwitchWwn":"10:00:00:05:1E:40:40:01",
"fabricName":"","virtualFabricId":1,"seedSwitchIpAddress":"10.24.45.92"},{"key":"
10:00:00:05:1E:40:40:00","seedSwitchWwn":"10:00:00:05:1E:40:40:00","name":"ApsFab
ric-10:00:00:05:1e:40:40:01-10:00:00:05:1e:40:40:02","secure":false,"adEnvironmen
t":false,"contact":null,"location":null,"description":null,"principalSwitchWwn":"
10:00:00:05:1E:40:40:00","fabricName":"","virtualFabricId":128,"seedSwitchIpAddre
ss":"10.24.45.92"}]}

Sample error response for wrong password


The following is an example of a SAN fabric discovery incorrect password error message.
CALLING POST http://10.24.48.103/rest/resourcegroups/All/discoverfabric
REQUEST HTTPSTATUS = 500
RSException errorCode=6030, errorMsg=Seed switch authentication failed.

Deleting an FC fabric
You can use the following POST URI to delete an existing fabric in Network Advisor.
<BASE_URI>/resourcegroups/All/fcfabrics/fcfkey/deletefabric
This POST operation does not require any request payload except for the session token which is
passed back in an HTTP header parameter after a successful login.
This POST operation is performed on the fabric specified by fcfkey.

Sample Java code for deleting an FC fabric


The following is the sample Java code for deleting an FC fabric.
HttpURLConnection con = null;
try {
/**
* Create the HTTP connection object with the URI, method and headers
*/
URL obj = new
URL("http://10.24.48.103/rest/resourcegroups/All/fcfabrics/10:00:00:05:1E:40:40:0
0/deletefabric");
con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.addRequestProperty("WStoken", "wppCy/NGdC4o5gGFJjXRMv7blhc=");

Brocade Network Advisor REST API Guide 47


53-1003160-01
4 Binding the schema

System.out.println("CALLING POST
http://10.24.48.103/rest/resourcegroups/All/fcfabrics/10:00:00:05:1E:40:40:00/del
etefabric");

/**
* Make the HTTP call
*/
int responseCode = con.getResponseCode();
System.out.println("Response code is " + responseCode);
if (HttpURLConnection.HTTP_NO_CONTENT != responseCode) {
PRINT_ERROR(con);
assert false : "Delete Fabric FAILED, responseCode = " + responseCode;
}
} catch (IOException ie) {
System.out.println(ie.toString());
} finally {
if (null != con) {
con.disconnect();
}
}

Binding the schema


Most of the POST operations supported by the Network Advisor REST API require input data. This
data is passed in the form of an XML payload.
To access the XML payload using Java, this example uses the Java Architecture for XML (JAXB)
binding. JAXB simplifies access to an XML document from a Java program by presenting the XML
document to the program in a Java format. As part of the JAXB framework, JAXB provides APIs for
unmarshaling and marshalling XML data.
To bind the schema, perform the following steps.
1. Unmarshal the XML data into a Java object, as shown in the following Java code example.
JAXBContext jaxbContext =
JAXBContext.newInstance(InitiatorTargetsRequest.class);
Unmarshaller u = jaxbContext.createUnmarshaller();
Object element = u.unmarshal(new File("./InitiatorTargetsRequest.xml"));

In this example, you can see that in order to unmarshal the XML data into Java objects, you
first need the Java class that represents the XML data, meaning binding the XML schema to
the Java class. That means that you need to generate the set of Java classes that represent the
REST XML schema.
2. Marshal the jaxbContext object into the HttpURLConnection output stream, as shown in the
following Java code example.
Marshaller m = jaxbContext.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
m.marshal(element, con.getOutputStream());

The REST schema is published in the directory <INSTALL-DIR>/conf/rest-schema, where


<INSTALL-DIR> is the Network Advisor installation directory.
In this example, the standard JDK’s xjc application which is the XML-to-Java compiler was used to
generate the needed Java classes from the REST XML schema (xjc is included as part of JDK since
Java SE 6). Shown below is the ant target to use xjc to generate the java artifacts.

48 Brocade Network Advisor REST API Guide


53-1003160-01
Binding the schema 4

<target name="generate-artifacts" depends="init">


<property name="java.home" value="env.JAVA_HOME"/>
<property name="xjc.destination" value="<where you want the java classes>"/>
<property name="xjc.source" value="<INSTALL-DIR>/conf/rest-schema"/>
<exec dir="${java.home}\bin" executable="xjc">
<arg line="-d ${xjc.destination} ${xjc.source}"/>
</exec>
</target>

Brocade Network Advisor REST API Guide 49


53-1003160-01
4 Binding the schema

50 Brocade Network Advisor REST API Guide


53-1003160-01
Chapter

API Reference 5

In this chapter
• Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
• SAN fabric discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
• Summary data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
• Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
• Zoning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
• Historical performance data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
• Authentication and session management . . . . . . . . . . . . . . . . . . . . . . . . . . 144

Topology
• “ResourceGroups”
• “Fabrics”
• “FC Switch”
• “PhysicalSwitch”
• “AccessGateway”
• “FCPorts”
• “GigePorts”
• “Connected-switch ports”
• “End-device ports”
• “Trunks”
• “ISL Connections”
• “IFL connections”
• “EndDeviceConnection”
• “Access Gateway connection”
• “End devices”

Brocade Network Advisor REST API Guide 51


53-1003160-01
5 Topology

ResourceGroups
Network Advisor supports “network scopes.” A network scope is a grouping of resources, a sort of
a convenience mechanism to enable you to retrieve data for any grouping of your choice. In the
Network Advisor REST API, a “resource group” is the equivalent of a “network scope.”
Resource groups can be predefined system groups or they can be user-defined groups. They are
keyed by unique names. Each resource group, whether system-defined or user-defined, is of a
particular type as defined by the enumeration NetworkScopeType. The resource group type
enables you to differentiate user-defined groups from other groups.
The system-defined resource group named “All” encompasses all resources. The resource group is
the starting point for all of the supported URIs in the Network Advisor REST API.

GET URIs
URI Description

<BASE_URI>/resourcegroups Returns all the resource groups in the system.


<BASE_URI>/resourcegroups/rgkey Returns the specified resource group.

Path parameters
Name Description

rgkey Resource group identifier.

Response parameters
Property Description

key The unique identifier for the resource group. The key is the unique resource group
name with spaces encoded.
name The unique name of the resource group.
type The type of resource group.

Notes
The response schema is ResourceGroupsResponse.

52 Brocade Network Advisor REST API Guide


53-1003160-01
Topology 5

Fabrics
Retrieves information about FC fabrics.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcfabrics Retrieves FC fabrics for the given resource group.


<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey Retrieves the details of the specified FC fabric.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.

Response parameters
Property Description

key Unique identifier for the fabric. The key is the principal switch WWN.
seedSwitchWwn WWN of the switch used as the seed switch to discover the fabric.
name The name of the fabric as configured in Network Advisor.
secure Whether the fabric is running secure Fabric OS.
adEnvironment The admin domain environment of the fabric.
contact User-assigned fabric contact.
location User-assigned fabric location.
description User-assigned fabric description.
principalSwitchWwn WWN of the principal fabric switch.
fabricName Fabric name persisted on switches running Fabric OS 7.0 and later.
virtualFabricId Virtual fabric ID. A positive value indicates VF is enabled; otherwise -1.
seedSwitchIpAddress IP address of the seed switch. Could be either an IPv4 or IPv6 address.

Notes
• The resource group “All” encompasses all fabrics while the resource group FC_FABRIC
retrieves a subset of the fabrics.
• Even though a user-defined resource group can be a group of fabrics, products, or ports, FC
fabrics can be retrieved in the context of an FC fabric or user-defined resource group of only
fabrics. As there is no containment hierarchy within products or ports for FC fabrics, for a
PRODUCT_GROUP, PORT_GROUP, or USER_DEFINED resource group of products or ports, the
list is empty.
• The fabric is keyed by its unique principal switch WWN.

Brocade Network Advisor REST API Guide 53


53-1003160-01
5 Topology

FC Switch
Retrieves information about FC switches.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcswitches Retrieves the FC switches of the given resource


group.
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey Retrieves information about the specified FC switch.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Retrieves the FC switches of the given FC fabric.
witches
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Retrieves information about the specified FC switch.
witches/fcskey

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.
fcskey FC switch identifier.

Response parameters
Property Description

key The unique identifier for the switch, which is the switch WWN.
type The switch type, the sw_bd_type of the switch.
name The switch name.
wwn The switch WWN.
virtualFabricId The virtual fabric ID. A positive value indicates VF is enabled; otherwise -1.
domainId The domain ID of the switch.
baseSwitch Indicates whether it is a base switch.
role The role of the switch. Refer to RoleType.
fcsRole The FCS role of the switch. This is applicable only when FCS policy is on.
adCapable Indicates the switch’s capability for Admin domain.
operationalStatus The operational status of the switch. Refer to OperStatusType.
state The state of the switch. Refer to StateType.
statusReason The status reason, the contributors to the status.
lfEnabled Indicates if logical fabric is enabled on the switch.
defaultLogicalSwitch Indicates if the switch is the default logical switch.
fmsMode Indicates the FMS mode in FICON environment.

54 Brocade Network Advisor REST API Guide


53-1003160-01
Topology 5

Property Description

dynamicLoadSharingCapable Indicates the switch’s capability for dynamic load sharing.


portBasedRoutingPresent Indicates the switch’s capability for port-based routing.
inOrderDeliveryCapable Indicates whether in order delivery is enabled.
persistentDidEnabled Indicates whether persistent domain ID is enabled.
autoSnmpEnabled Indicates if automatic SNMP configuration is enabled.

Notes
• The resource group “All” encompasses all switches while a ResourceGroup of type
PRODUCT_GROUP scopes a subset of the switches. Even though a USER_DEFINED resource
group can be a group of fabrics, products or ports, FC switches can be retrieved at the context
of a USER_DEFINED resource group of fabrics or products only. As there is no containment
hierarchy within ports for FC switches, for a USER_DEFINED resource group of ports, the list is
empty.
• In the cases where the URI contains the FC fabric, FC fabrics can be retrieved at the context of
FC_FABRIC or USER_DEFINED resource groups of fabrics only. As there is no containment
hierarchy within products or ports for FC fabrics, for a PRODUCT_GROUP, PORT_GROUP or
USER_DEFINED resource group of products of ports, the URIs with FC fabric key will return an
empty list of FC switches.
• The FC switch is keyed by its unique switch WWN. The result is FcSwitchesResponse
containing a list of FcSwitch.

Brocade Network Advisor REST API Guide 55


53-1003160-01
5 Topology

PhysicalSwitch
Retrieves information about physical switches. This includes properties such as IP address, switch
serial number, model, and so on.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/p Retrieves the PhysicalSwitch for a given FC switch.


hysicalswitches
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Retrieves the physical switch of the given FC switch.
witches/fcskey/physicalswitches

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.
fcskey FC switch identifier.

Response parameters
Property Description

key The unique identifier for the switch, which is the WWN.
wwn The WWN of the switch.
ipAddress The IP address of the switch. Could be either IPv4 or IPv6 address.
userId The Telnet user name used to log in to switch.
firmwareVersion The firmware version of the switch.
vendor The vendor information of the switch
supplierSerialNumber The supplier serial number of the switch.
partNumber The part number of the switch.
modelNumber The model of the switch, such as Brocade 6505 and Brocade 6520.
manufacturer The manufacturer for the switch.
switchSerialNumber The factory serial number of the switch.
vendorVersion The vendor version of the switch.
vendorPartNumber The vendor part number of the switch.
snmpInformsEnabled Indicates if the SNMP informs is enabled.
contact The contact details of the switch. Syscontact from the RFC 1213 MIB.
location The location details for the switch. Syslocation from RFC 1213 MIB.
description The description of the switch. Sysdescr from RFC 1213 MIB.

56 Brocade Network Advisor REST API Guide


53-1003160-01
Topology 5

Notes
• The physical switch is keyed by the physical switch WWN.
• This resource contains the properties that depict the physical nature of a logical FC switch.
• The response schema is PhysicalSwitchesResponse.
• There is no physical switch for Front and Xlate phantom switches.

Brocade Network Advisor REST API Guide 57


53-1003160-01
5 Topology

AccessGateway
Retrieves Access Gateway information.

GET URIs
URI Description

<BASE_URI>/resourcegroups/ALL/accessgateways Returns a list of Access Gateways.


<BASE_URI>/resourcegroups/ALL/accessgateways/agke Returns the details of the given gateway.
y

Path parameters
Name Description

agkey Access gateway identifier.

Response parameters
Property Description

key The unique identifier for the access gateway, which is the WWN.
name The AG name.
wwn The AG WWN.
operationalStatus The operational status of the AG. Refer to OperStatusType.
state The state of the AG. Refer to StateType.
statusReason The status reason, the contributors to the status.
firmwareVersion The firmware version of the AG.

Notes
• When a switch is in Access Gateway mode, it does not possess a domain ID and is not part of
any fabric. It acts as a gateway for multiple devices to log in to a specific switch, which is part
of a fabric, via a single F_Port. The N_Port on the Access Gateway connects to the FC switch’s
F_Port and end devices are connected to the Access Gateway’s F_Port. These ports can be
retrieved in the context of that Access Gateway. For information about port URIs related to
Access Gateway, refer to “FCPorts.”
• The end devices and their ports can also be retrieved in the context of an Access Gateway. For
information, refer to “Connected-switch ports” and “End devices”.
• The connection between an FC switch and the Access Gateway is represented as an
AgConnection object. For more information about the AgConnection-related URIs, refer to
“Access Gateway connection”.
• Access Gateways can be retrieved only in the context of the resource group “All.” They cannot
be retrieved with respect to any other resource group such as fabric, product, or port.
• An Access Gateway is keyed by its unique WWN.
• The response schema is AccessGatewaysResponse.

58 Brocade Network Advisor REST API Guide


53-1003160-01
Topology 5

FCPorts
Retrieves information about FC ports.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcports Returns a list of FC ports for the given resource


group.
<BASE_URI>/resourcegroups/rgkey/fcports/fcpkey Returns details of the given port.
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/f Returns a list of FC ports for the given FC switch.
cports
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/f Returns details of the given port.
cports/fcpkey
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Returns a list of FC ports for the given FC switch
witches/fcskey/fcports under the given FC fabric.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Returns details of the given port.
witches/fcskey/fcports/fcpkey
<BASE_URI>/resourcegroups/rgkey/accessgateways/ag Returns a list of FC ports for the given access
key/fcports gateway.
<BASE_URI>/resourcegroups/rgkey/accessgateways/ag Returns details of the given port of the given access
key/fcports/fcpkey gateway.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.
fcskey FC switch identifier.
fcpkey FC port identifier.
agkey Access gateway identifier.

Response parameters
Property Description

key The unique identifier for the port, which is the WWN.
NOTE: The key of the Front phantom port is FF-wwn.
The key of Xlate phantom port is XF-wwn.
wwn The WWN of the port.
name The user-assigned port name.
slotNumber The slot number. The default value is 0.
portNumber The logical port number within the slot. In case of directors, this port number is unique
within the slot.
userPortNumber The user port number. This is a unique port number within a chassis.

Brocade Network Advisor REST API Guide 59


53-1003160-01
5 Topology

Property Description

portId The port ID.


portIndex The port index, number used in identifying port in zoning.
areaId The area number of the port.
type The port type. The specific mode currently enabled for the port.
status The status of the port. Refer to PortStatusType.
statusMessage Any additional port level status similar to what is seen in CLI, like Segmented, Speed
Mismatch, Trunk master, and so on.
lockedPortType Indicates the locked port type. Ports can be locked down so that they can come up
only in that mode.
speed The port speed currently configured on the switch.
speedsSupported The supported port speed as a list of comma-separated values.
maxPortSpeed The maximum supported speed on the switch.
desiredCredits The number of BB credits desired by the port.
bufferAllocated The number of BB credits allocated to the port.
estimatedDistance The estimated distance of the link.
actualDistance The actual distance of the link.
longDistanceSetting Indicates if long distance setting is enabled.
remoteNodeWwn WWN of the node at the remote end of this switch port.
remotePortWwn WWN of the port at the remote end of this switch port.
licensed Indicates if the port is licensed.
swapped Indicates if the port is swapped.
trunked Indicates if the port is trunked.
trunkMaster Indicates if the port is trunk master. Applicable only if the port is trunked.
persistentlyDisabled Indicates if the port is persistently disabled.
ficonSupported Indicates if the port is FICON supported.
blocked Indicates if the port is blocked.
prohibitPortNumbers Indicates the ports prohibited with the current port as configured in the “Allow”
prohibit metric (PDCM).
prohibitPortCount The count of prohibited ports.
npivCapable Indicates if port is NPIV-capable.
npivEnabled Indicates if is NPIV-capable is enabled.
fcFastWriteEnabled Indicates if FC Fast Write is enabled.
islRrdyEnabled Indicates if ISL receiver ready is enabled.
rateLimitCapable Indicates if the port is capable of rate limiting.
rateLimited Indicates if the port has rate limiting enabled.
qosCapable Indicates if the port is QOS-capable.
qosEnabled Indicates if the port is QOS-enabled.
fcrFabricId The FCR fabric ID. Applicable if the port is configured as an EX_Port.

60 Brocade Network Advisor REST API Guide


53-1003160-01
Topology 5

Property Description

state The state of the port. The state type is in the schema.
occupied Indicates if the port is occupied.
masterPortNumber The trunk’s master port number for the trunk member ports. For trunk master port, it
will be its own port number. For non-trunk ports, it will have the default value -1.

Notes
• This release supports only FC and GigE ports.
• The ports can be retrieved in the context of a resource group, a switch, or an access gateway.
The resource group “All” encompasses all ports while a resource group of type PORT_GROUP
or USER_DEFINED scopes a subset of the ports.

NOTE
In the cases where the URI contains an FC fabric, the FC fabrics can be retrieved in the context
of the FC_FABRIC or USER_DEFINED resource group of fabrics only.

• As there is no containment hierarchy within products or ports for FC fabrics, for a


PRODUCT_GROUP, PORT_GROUP or USER_DEFINED resource group, the URIs with an FC
fabric key return an empty list of FC ports.
On a similar note, in the cases where the URI contains the FC switch, FC switches can be
retrieved at the context of FC_FABRIC, PRODUCT_GROUP or USER_DEFINED resource group of
fabrics or products only. As there is no containment hierarchy within ports for FC switches, for
a PORT_GROUP or USER_DEFINED resource group or ports, the URIs with FC switch key return
an empty list of FC ports.
The FC port is keyed by its unique port WWN. The result is FcPortsResponse containing a list
of FcPorts. The responses are paginated.

Brocade Network Advisor REST API Guide 61


53-1003160-01
5 Topology

GigePorts
Retrieves information about GigE ports.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/gigeports Returns a list of GigE ports for the given resource


group.
<BASE_URI>/resourcegroups/rgkey/gigeports/gpkey Returns details of the given GigE port.
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/g Returns a list of GigE ports for the given FC switch.
igeports
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/g Returns details of the given GigE port.
igeports/gpkey
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Returns a list of GigE ports for the given FC switch
witches/fcskey/gigeports under the given FC fabric.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Returns details of the given GigE port.
witches/fcskey/gigeports/gpkey

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.
fcskey FC switch identifier.
gpkey GigE port identifier.

Response parameters
Property Description

key The unique identifier for the port, which is the MAC address.
portNumber The GigE port number, 0 for ge0 and 1 for ge1.
slotNumber The slot number on which the GigE port is present.
enabled Indicates if the port is enabled.
speed The port speed.
maxSpeed The maximum port speed.
macAddress The MAC address of the port.
portName The GigE port name.
operationalStatus The status of the port.
ledState The LED state.
speedLedState The speed LED state.
portType The port type.

62 Brocade Network Advisor REST API Guide


53-1003160-01
Topology 5

Property Description

persistentlyDisabled Indicates whether the port is persistently disabled.


remoteMacAddress The MAC address of the port attached to the 10 GigE port.
userPortNumber The user port number. This is a unique port number within a chassis.
portIndex The port index, number used in identifying port in zoning.

Brocade Network Advisor REST API Guide 63


53-1003160-01
5 Topology

Connected-switch ports
Retrieves information about connected-switch ports.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcports/fcpkey/con Returns the details of the connected-switch ports


nectedswitchports connected to the port specified by fcpkey.
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/f Returns a list of connected-switch ports for the given
cports/fcpkey/connectedswitchports FC port of the given FC switch.
<BASE_URI>/resourcegroups/rgkey/accessgateways/ag Returns a list of connected-switch ports for the given
key/fcports/fcpkey/connectedswitchports port of the given access gateway.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Returns the details of the connected-switch ports
witches/fcskey/fcports/fcpkey/connectedswitchports connected to the port specified by fcpkey for a
specific switch in a specific fabric.

Path parameters
Name Description

rgkey Resource group identifier.


fcpkey FC fabric port identifier.
fcfkey FC fabric identifier.
fcskey FC switch identifier.

Response parameters
Property Description

key The unique identifier for the port, which is the WWN.
domainId The domain ID of the switch to which this device port is connected.
wwn The device port WWN.
deviceNodeWwn The WWN of the node of this device port.
switchPortWwn The switch port WWN to which this device port is physically connected.
number The port number of this device port.
portId The port ID.
type The port type.
symbolicName The port symbolic name.
fc4Type The port fc4type.
cos The port class of service.
hardwareAddress The hardware address.
npvPhysical Indicates if this is a physical device port or a logical NPIV port.

64 Brocade Network Advisor REST API Guide


53-1003160-01
Topology 5

Notes
• Connected-switch ports are connected ports (switch port to switch port and access gateway
port to switch port).
• The port is keyed by its unique WWN.
• The connected-switch ports response schema is FcPortsResponse.

Brocade Network Advisor REST API Guide 65


53-1003160-01
5 Topology

End-device ports
Retrieves information about end-device ports.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcports/fcpkey/end Returns the details of the end-device ports connected


deviceports to the port specified by fcpkey.
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/f Returns a list of end-device ports for the given FC port
cports/fcpkey/enddeviceports of the given FC switch.
<BASE_URI>/resourcegroups/rgkey/accessgateways/ag Returns a list of end-device ports for the given FC port
key/fcports/fcpkey/enddeviceports of the given access gateway.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Returns a list of end-device ports for the given FC port
witches/fcskey/fcports/fcpkey/enddeviceports of the given FC switch in the specified fabric.

Path parameters
Name Description

rgkey Resource group identifier.


fcpkey FC fabric port identifier.
fcfkey FC fabric identifier.
fcskey FC switch identifier.

Response parameters
Property Description

key The unique identifier for the port, which is the WWN.
domainId The domain ID of the switch to which this device port is connected.
wwn The device port WWN.
deviceNodeWwn The WWN of the node of this device port.
switchPortWwn The switch port WWN to which this device port is physically connected.
number The port number of this device port.
portId The port ID.
type The port type.
symbolicName The port symbolic name.
fc4Type The port fc4type.
cos The port class of service.
hardwareAddress The hardware address.
npvPhysical Indicates if this is a physical device port or a logical NPIV port.

66 Brocade Network Advisor REST API Guide


53-1003160-01
Topology 5

Notes
• End-device ports are the ports with end devices connected to them like initiators, targets, or
N_Ports from an access gateway (switch port to node port and access gateway port to node
port).
• The end-device ports response schema is EndDevicePortsReponse.
• The port is keyed by its unique WWN.

Brocade Network Advisor REST API Guide 67


53-1003160-01
5 Topology

Trunks
Retrieves information about ISL trunks.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/tr Returns a list of ISL trunks for the given FC switch.


unks
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Returns a list of ISL trunks for the given FC switch of
witches/fcskey/trunks the given FC fabric.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.
fcskey FC switch identifier.

Response parameters
Property Description

key The unique identifier for the trunk, which is the master port WWN.
switchWwn The WWN of the switch having this trunk.
masterPortWwn The WWN of the master port.
memberPortWwns The member port WWNs.

Notes
• The trunk is keyed by its master port WWN.
• The response schema is TrunksResponse.

68 Brocade Network Advisor REST API Guide


53-1003160-01
Topology 5

ISL Connections
Retrieves information about inter-switch links (ISL) connections. These are connections between
switches within a fabric.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/isls Returns list of ISL connections for the given FC fabric.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.

Response parameters
Property Description

key The unique identifier for the ISL, which is formed as


sourceSwitchWwn;sourcePortWwn;destSwitchWwn;destPortWwn.
fabricWwn The WWN of the fabric to which this ISL belongs.
sourceSwitchWwn The source switch WWN.
sourcePortWwn The source switch port WWN.
destSwitchWwn The destination switch WWN.
destSwitchPortWwn The destination switch port WWN.
cost The cost of the ISL link.
trunked Indicates whether ISL link is part of a trunk.

Notes
• The response schema is IslResponse.

Brocade Network Advisor REST API Guide 69


53-1003160-01
5 Topology

IFL connections
Returns information about inter-fabric links (IFL) connections (connections between fabrics in an
FCR setup).

GET URIs
URI Description

<BASE_URI>/resourcegroups/All/ifls Returns list of IFL connections for all resource groups.


<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/ifls Returns list of IFL connections for the given backbone
FC fabric.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.

Response parameters
Property Description

key The unique identifier for the IFL, which is formed as backboneSwitchWwn;
backboneSwitchPortWwn;edgeSwitchWwn;edgeSwitchPortWwn.
edgeFabricName The name of the edge fabric.
edgeSwitchName The name of the edge switch.
edgeSwitchIPAddress The IP address of the edge switch.
edgeSwitchWwn The edge switch WWN.
edgeSwitchPortWwn The edge switch port WWN.
backboneFabricName The name of the backbone fabric.
backboneSwitchName The name of the backbone switch.
backboneSwitchIPAddress The IP address of the backbone switch.
backboneSwitchWwn The backbone switch WWN.
backboneSwitchPortWwn The backbone switch port WWN.
trunkingEnabled Indicates whether IFL link is part of a trunk.
speed The speed of the IFL link.
speedConfigured The configured speed of the IFL link.
longDistanceMode The long distance mode setting.
desiredDistance The desired distance setting.
linkCost The cost of the IFL link.

70 Brocade Network Advisor REST API Guide


53-1003160-01
Topology 5

Notes
• The response schema is IflResponse.

Brocade Network Advisor REST API Guide 71


53-1003160-01
5 Topology

EndDeviceConnection
Retrieves information about end-device connections (from switch to end device including those
from access gateway to end device).

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/en Returns a list of connections of end-device directly


ddeviceconnections connected to the given fabric.
<BASE_URI>/resourcegroups/rgkey/accessgateways/ag Returns a list of connections of end-device directly
key/enddeviceconnections connected to the given access gateway.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.
agkey Access gateway identifier.

Response parameters
Property Description

key The unique identifier, which is formed as


switchWwn/agWwn;switchPortWwn/agPortWwn;deviceWwn;devicePortWwn.
fabricWwn The WWN of the fabric to which this connection belongs.
deviceWwn The WWN of the device at the end of this connection.
devicePortWwn The WWN of the device port at the end of this connection.
switchWwn The WWN of the switch at the end of this connection.
switchPortWwn The WWN of the switch port at the end of this connection.
agWwn The WWN of the AG at the end of this connection.
agPortWwn The WWN of the AG port at the end of this connection.
logical Indicates if this a logical connection.

Notes
• The response schema is EndDeviceConnectionResponse.

72 Brocade Network Advisor REST API Guide


53-1003160-01
Topology 5

Access Gateway connection


Retrieves information about access gateway connections (connections between an access
gateway and an FC switch).

GET URIs
URI Description

<BASE_URI>/resourcegroups/All/agconnections Retrieves a list of the access gateway connections for


all of the resource groups.
<BASE_URI>/resourcegroups/All/accessgateways/agkey Retrieves a list of the access gateway connections for
/agconnections the given access gateway.

Path parameters
Name Description

agkey Access gateway identifier.

Response parameters
Property Description

key The unique identifier, which is formed as


sourceSwitchWwn;sourcePortWwn;destinationSwitchWwn;destinationPortWwn.
sourceSwitchWwn The source switch WWN.
sourcePortWwn The source switch port WWN.
sourceUserPortNumber The source switch port user port number.
sourcePortType The source switch port type.
destinationSwitchWwn The destination switch WWN.
destinationPortWwn The destination switch port WWN.
destinationUserPortNumber The destination switch port user port number.
destinationPortType The destination switch port type.

Notes
• The response schema is AgConnectionsResponse.

Brocade Network Advisor REST API Guide 73


53-1003160-01
5 Topology

End devices
Retrieves information about end devices. These are initiators and targets discovered during fabric
discovery.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/en Returns a list of end devices for the given FC fabric.


ddevices
<BASE_URI>/resourcegroups/rgkey/accessgateways/ag Returns a list of end devices for the given access
key/enddevices gateway.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.
agkey Access gateway identifier.

Response parameters
Property Description

key The unique identifier, which is the WWN.


wwn The WWN of the device.
type The possible values are Initiator, Target, Initiator+Target, Unknown (Initiator or Target).
deviceType The type of device. Refer to DeviceType.
symbolicName The symbolic name.
fdmiHostName The FDMI host name.
vendor The vendor of this device.
capability The capability.
proxyDevice Indicates if this is a proxy device. If one of the device ports of this device has a
translated domain, that device port is set as the proxy and this device is treated as
virtual.
name The name of the device as defined by the user.
ipAddress The IP address of the device as defined by the user.
contact The contact detail of the device as defined by the user.
location The physical location of the device as defined by the user.
description The description of the device as defined by user.
fabricWwn The WWN of the fabric to which this device belongs.
fdmiSerialNumber The serial number available via FDMI.
fdmiFirmwareVersion The firmware version available via FDMI.

74 Brocade Network Advisor REST API Guide


53-1003160-01
Topology 5

Property Description

fdmiDriverVersion The driver version available via FDMI, ex: 2.1.0.2.


fdmiManufacturer The manufacturer available via FDMI, ex: Brocade.
fdmiModel The model available via FDMI, ex: Brocade-825.
fdmiHardwareVersion The hardware version available via FDMI, ex: Rev-C.
fdmiModelDescription The model description available via FDMI, ex: Brocade-825.
fdmiNodeName The node name available via FDMI, ex: 20:00:00:05:1e:7c:64:94.

Notes
• The response schema is EndDevicesResponse.
• End devices are keyed by their unique WWN.

Brocade Network Advisor REST API Guide 75


53-1003160-01
5 SAN fabric discovery

SAN fabric discovery


This section lists the SAN fabric discovery URIs. These URIs are provided in the context of the
system-defined resource group “All.”
• “Fabric discovery”
• “Fabric deletion”
• “Switch credentials update”

76 Brocade Network Advisor REST API Guide


53-1003160-01
SAN fabric discovery 5

Fabric discovery
Discovers fabrics.

POST URIs
URI Description

<BASE_URI>/resourcegroups/All/discoverfabric Initiates fabric discovery.


Returns a list of the fabric VFIDs that failed discovery,
if any. The XML payload associated with this request
is the Discoverfabricrequest schema.

Request parameters
Property Description

switchIpAddress The IP address of the seed switch used for discovering the fabric.
userName The user name required for discovering the fabric.
password The password required for discovering the fabric.
fabricName The user-defined name of the fabric to be assigned.
snmpVersion The SNMP version to be used in discovering the fabric.
snmpTimeout The SNMP timeout to be used in discovering the fabric.
snmpRetries The number of SNMP retries to be used in discovering the fabric.
snmpReadCommunityString The SNMP read community string to be used in discovering the fabric
(SNMP V1 only).
snmpWriteCommunityString The SNMP write community string to be used in discovering the fabric (SNMP
V1 only).
snmpUserName The SNMP user name for discovering the fabric (SNMP V3 only).
snmpContextName The SNMP context name for discovering the fabric (SNMP V3 only).
snmpAuthorizationProtocol The SNMP authorization protocol for discovering the fabric. Refer to
AuthorizationProtocolType (SNMP V3 only).
snmpAuthorizationPassword The SNMP authorization password for discovering the fabric (SNMP V3 only).
snmpPrivacyProtocol The SNMP privacy protocol for discovering the fabric. Refer to
PrivacyProtocolType (SNMP V3 only).
snmpPrivacyPassword The SNMP privacy protocol for discovering the fabric (SNMP V3 only).

Notes
• The FC fabric that is discovered contains the IP address and WWN of the seed switch that was
used for discovery in the DiscoverFabricRequest XML payload.
• The request schema is DiscoverFabricRequest.
• The response schema is DiscoverFabricResponse.

Brocade Network Advisor REST API Guide 77


53-1003160-01
5 SAN fabric discovery

Fabric deletion
Remove fabrics from Network Advisor.

POST URIs
URI Description

<BASE_URI>/resourcegroups/All/fcfabrics/fcfkey/delete Removes fabrics of the specified FC fabrics.


fabric

Path parameters
Name Description

fcfkey Identifier of the fabric to be deleted.

Notes
• There is no request or response payload for this operation.

78 Brocade Network Advisor REST API Guide


53-1003160-01
SAN fabric discovery 5

Switch credentials update


Updates switch credentials and SNMP configurations after fabric discovery using a request XML
payload (an UpdateCredentialsRequest object).

POST URIs
URI Description

<BASE_URI>/resourcegroups/All/fcswitches/fcskey/ Updates switch credentials and SNMP configurations


updatecredentials for the specified FC switch.

Path parameters
Name Description

fcfkey FC fabric identifier.

Request parameters
Property Description

userName The user name to be updated.


password The password to be updated.
fabricName The user-defined name of the fabric to be updated.
snmpVersion The SNMP version to be updated.
snmpTimeout The SNMP timeout to be updated.
snmpRetries The number of SNMP retries to be updated.
snmpReadCommunityString The SNMP read community string to be updated.
snmpWriteCommunityString The SNMP write community string to be updated.
snmpUserName The SNMP user name to be updated.
snmpContextName The SNMP context name for discovering the fabric.
snmpAuthorizationProtocol The SNMP authorization protocol to be updated.
snmpAuthorizationPassword The SNMP authorization password to be updated.
snmpPrivacyProtocol The SNMP privacy protocol to be updated.
snmpPrivacyPassword The SNMP privacy protocol password to be updated.

Notes
• The request schema is UpdateCredentialsRequest, which is an XML payload sent with the
POST request.

Brocade Network Advisor REST API Guide 79


53-1003160-01
5 Summary data

Summary data
You can use the URIs in this section to retrieve summary data. They can be obtained in the context
of a resource group, fabric, switch, or port.
Depending on the scope of the context, the relevant summary data is returned. There are various
query parameters such as timeline, timescope, limit, and so on, that can be used to further filter
the summary data as shown in the following table.
TABLE 1 Query parameters for Summary URIs
Name Type Default value

Timeline (Date expressed as a long long Current time (which is set as -1)
milliseconds value) (limit of 30 days past
current time)
timescope TimeScope THIRTY_MINUTES
portscope MonitorPortType ALL
Limit (max value is 10) Integer 10
descending Boolean true

The URIs return a SummaryResponse containing the requested summary.


TABLE 2 Response parameters for Summary URIs
Property Description

summary The requested summary.


summaryName The name of the summary returned.
timeLine The requested timeline for the summary.
timeScope The requested timescope for the summary. Refer to TimeScope.
limit The requested limit for the summary.
portScope The requested port scope for the summary. Refer to MonitorPortType.
descending The requested order for the summary.

• “Status summary”
• “Asset classification summary”
• “Network object count summary”
• “Events summary”
• “Bottleneck violations summary”
• “Out-of-range violations summary”
• “Port health violations summary”
• “VM violations summary”
• “Port summaries”
• “Product summaries”
• “Traffic flow summaries”

80 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data 5

Status summary
Retrieves status summary data for all the discovered products.
The returned summary is StatusSummary. This contains a list of entries, one for each status. Each
entry shows the number of products for that particular status.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/statussummary Retrieves status summary data for the specified


resource group.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/sta Retrieves status summary data for the specified FC
tussummary fabric.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.

Example
The following is an example of returned summary data in the JSON format, showing the following
information:
• 10 products in healthy status.
• 2 products are down.
• 11 products in marginal status.
{"summary":
{"statusCounts":
{"HEALTHY":10,
"DOWN":2,
"MARGINAL":11}},
"summaryName":"StatusSummary",
"timeLine":null,
"timeScope":null,
"limit":null,
"portScope":null,
"descending":null}

Brocade Network Advisor REST API Guide 81


53-1003160-01
5 Summary data

Asset classification summary


Retrieves asset classification summary data. The returned summary is
AssetClassificationSummary. This contains a list of entries, one for each ClassificationCategory.
Each entry shows the AssetClassification for that particular ClassificationCategory.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/assetclassifications Retrieves asset classification summary data for the


ummary specified resource group.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/ass Retrieves asset classification summary data for the
etclassificationsummary specified FC fabric.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.

Example
The following is an example of returned summary data in the JSON format, showing the following
information:
• One of the classification categories is LOCATION.
• There is one Marginal Brocade 5300 switch under the classification category “MODEL.”
• There is one healthy product with the software “_main_bld06” under the classification
category “FIRMWARE_VERSION.”
{"summary":
{"classificationCounts":
{"LOCATION":
{"counts":
{"End User Premise.":
{"category":"End User Premise.",
"count":{"statusCounts":{"HEALTHY":10,"DOWN":2,"MARGINAL":11}}}},
"category":"LOCATION"},
"MODEL":
{"counts":
{"Brocade 300":
{"category":"Brocade 300",
"count":{"statusCounts":{"HEALTHY":1}}},
"Brocade 5300":
{"category":"Brocade 5300",
"count":{"statusCounts":{"MARGINAL":1}}},
"Brocade 8000":
{"category":"Brocade 8000",
"count":{"statusCounts":{"DOWN":1}}},
"Brocade DCX-4S":
{"category":"Brocade DCX-4S",
"count":{"statusCounts":{"DOWN":1}}},
"Brocade 6505":

82 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data 5

{"category":"Brocade 6505",
"count":{"statusCounts":{"HEALTHY":2}}},
"Brocade 5100":
{"category":"Brocade 5100",
"count":{"statusCounts":{"MARGINAL":7,"HEALTHY":5}}},
"Brocade DCX 8510-4":
{"category":"Brocade DCX 8510-4",
"count":{"statusCounts":{"HEALTHY":2}}},
"Brocade 6520":
{"category":"Brocade 6520",
"count":{"statusCounts":{"MARGINAL":1}}},
"Brocade 7600":
{"category":"Brocade 7600",
"count":{"statusCounts":{"MARGINAL":1}}},
"Brocade 6510":
{"category":"Brocade 6510",
"count":{"statusCounts":{"MARGINAL":1}}}},
"category":"MODEL"},
"FIRMWARE_VERSION":
{"counts":
{"v6.2.2e":
{"category":"v6.2.2e",
"count":{"statusCounts":{"MARGINAL":1}}},
"v6.2.0a":
{"category":"v6.2.0a",
"count":{"statusCounts":{"MARGINAL":1}}},
"v7.3.0_main_bld21":
{"category":"v7.3.0_main_bld21",
"count":{"statusCounts":{"HEALTHY":4,"DOWN":1,"MARGINAL":5}}},
"v7.3.0_main_bld07":
{"category":"v7.3.0_main_bld07",
"count":{"statusCounts":{"MARGINAL":1}}},
"v7.3.0_main_bld18":
{"category":"v7.3.0_main_bld18",
"count":{"statusCounts":{"MARGINAL":1,"HEALTHY":1}}},
"v7.3.0_main_bld06":
{"category":"v7.3.0_main_bld06",
"count":{"statusCounts":{"HEALTHY":1}}},
"v7.2.1":
{"category":"v7.2.1",
"count":{"statusCounts":{"MARGINAL":1,"HEALTHY":2}}},
"v7.2.0":
{"category":"v7.2.0",
"count":{"statusCounts":{"HEALTHY":1}}},
"v6.0.0":
{"category":"v6.0.0",
"count":{"statusCounts":{"MARGINAL":1}}},
"v7.1.1a_rc1_bld04":
{"category":"v7.1.1a_rc1_bld04",
"count":{"statusCounts":{"DOWN":1}}},
"v7.3.0_main_bld11":
{"category":"v7.3.0_main_bld11",
"count":{"statusCounts":{"HEALTHY":1}}}},
"category":"FIRMWARE_VERSION"},
"CONTACT":
{"counts":
{"Field Support.":
{"category":"Field Support.",
"count":{"statusCounts":{"HEALTHY":10,"DOWN":2,"MARGINAL":11}}}},
"category":"CONTACT"}}},

Brocade Network Advisor REST API Guide 83


53-1003160-01
5 Summary data

"summaryName":"AssetClassificationSummary",
"timeLine":null,
"timeScope":null,
"limit":null,
"portScope":null,
"descending":null}

84 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data 5

Network object count summary


Retrieves network object count summary data. The returned summary is
NetworkObjectCountSummary.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/networkobjectcount Retrieves network object count summary data for the


summary specified resource group.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/net Retrieves network object count summary data for the
workobjectcountsummary specified FC fabric.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.

Example
The following is an example of returned summary data in the JSON format:
{"summary":
{"fabricCount":4,
"switchCount":23,
"hostCount":0,
"ipDeviceCount":1,
"ethernetFabricCount":0},
"summaryName":"NetworkObjectCountSummary",
"timeLine":null,
"timeScope":null,
"limit":null,
"portScope":null,
"descending":null}

This example shows that there are four fabrics and 23 switches in the network.

Brocade Network Advisor REST API Guide 85


53-1003160-01
5 Summary data

Events summary
Specifies the count of events of a particular type for a particular severity. The returned summary is
EventsSummary.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/eventssummary?tim Retrieves event count summary data for the specified


escope=<value> resource group.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/eve Retrieves event count summary data for the specified
ntssummary?timescope=<value> FC fabric.
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/e Retrieves event count summary data for the specified
ventssummary?timescope=<value> FC switch.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Retrieves event count summary data for the specified
witches/fcskey/eventssummary?timescope=<value> FC switch of the specified FC fabric.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.
fcskey FC switch identifier.

Example
The following is an example of returned summary data in the JSON format:
{"summary":
"eventsSeverityCounter":
{"emergencyCount":{"trapCount":0,"inmEventCount":0,"securityCount":0,"syslogCount":0},
"alertCount":{"trapCount":0,"inmEventCount":0,"securityCount":0,"syslogCount":0},
"criticalCount":{"trapCount":0,"inmEventCount":0,"securityCount":0,"syslogCount":0},
"errorCount":{"trapCount":0,"inmEventCount":96,"securityCount":0,"syslogCount":0},
"warningCount":{"trapCount":0,"inmEventCount":1,"securityCount":0,"syslogCount":0},
"noticeCount":{"trapCount":0,"inmEventCount":0,"securityCount":0,"syslogCount":0},
"infoCount":{"trapCount":0,"inmEventCount":4,"securityCount":0,"syslogCount":16},
"debugCount":{"trapCount":0,"inmEventCount":0,"securityCount":0,"syslogCount":0}}},
"summaryName":"EventsSummary",
"timeLine":null,
"timeScope":"ThirtyMinutes",
"limit":null,
"portScope":null,
"descending":null}

This example indicates that there is one INM event at the WARNING level and 16 syslog events at
the INFO level.

86 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data 5

Bottleneck violations summary


Retrieves bottleneck violations summary data.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/bottleneckviolations Retrieves bottleneck violations summary data for the


summary?timeline=<value>&timescope=<value>&ports specified resource group.
cope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/bot Retrieves bottleneck violations summary data for the
tleneckviolationssummary?timeline=<value>&timescope specified FC fabric.
=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/b Retrieves bottleneck violations summary data for the
ottleneckviolationssummary?timeline=<value>&timesco specified FC switch.
pe=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcports/fcpkey/bottl Retrieves bottleneck violations summary data for the
eneckviolationssummary?timeline=<value>&timescope= specified FC port.
<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Retrieves bottleneck violations summary data for the
witches/fcskey/bottleneckviolationssummary?timeline= specified FC switch under the specified FC fabric.
<value>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Retrieves bottleneck violations summary data for the
witches/fcskey/fcports/fcpkey/bottleneckviolationssum specified FC port under the specified switch.
mary?timeline=<value>&timescope=<value>&portscope
=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/f Retrieves bottleneck violations summary data for the
cports/fcpkey/bottleneckviolationssummary?timeline=< specified FC port. This specified port is under a
value>&timescope=<value>&portscope=<value> specific switch across all the resource groups.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.
fcpkey FC fabric port identifier.
fcskey FC switch identifier.

Brocade Network Advisor REST API Guide 87


53-1003160-01
5 Summary data

Out-of-range violations summary


Retrieves OutOfRange violations summary data.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/outofrangeviolation Retrieves OutOfRange violations summary data for


ssummary?timeline=<value>&timescope=<value>&port the specified resource group.
scope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/out Retrieves OutOfRange violations summary data for
ofrangeviolationssummary?timeline=<value>&timescop the specified FC fabric.
e=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/o Retrieves OutOfRange violations summary data for
utofrangeviolationssummary?timeline=<value>&timesco the specified FC switch.
pe=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcports/fcpkey/outo Retrieves OutOfRange violations summary data for
frangeviolationssummary?timeline=<value>&timescope the specified FC port.
=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Retrieves OutOfRange violations summary data for
witches/fcskey/outofrangeviolationssummary?timeline= the specified FC switch. This specified switch is under
<value>&timescope=<value>&portscope=<value> a specific fabric across all the resource groups.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Retrieves OutOfRange violations summary data for
witches/fcskey/fcports/fcpkey/outofrangeviolationssum the specified FC port under the specified switch in
mary?timeline=<value>&timescope=<value>&portscope the context of the specified fabric.
=<value>

<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/f Retrieves OutOfRange violations summary data for


cports/fcpkey/outofrangeviolationssummary?timeline=< the specified FC port under the specified switch.
value>&timescope=<value>&portscope=<value>

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.
fcpkey FC fabric port identifier.
fcskey FC switch identifier.

88 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data 5

Port health violations summary


Retrieves port health violations summary data.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/porthealthviolations Retrieves PortHealth violations summary data for the


summary?timeline=<value>&timescope=<value>&ports specified resource group.
cope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/por Retrieves PortHealth violations summary data for the
thealthviolationssummary?timeline=<value>&timescope specified FC fabric.
=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/p Retrieves PortHealth violations summary data for the
orthealthviolationssummary?timeline=<value>&timesco specified FC switch.
pe=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcports/fcpkey/port Retrieves PortHealth violations summary data for the
healthviolationssummary?timeline=<value>&timescope specified FC port.
=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Retrieves PortHealth violations summary data for the
witches/fcskey/porthealthviolationssummary?timeline= specified FC switch in the context of the specified
<value>&timescope=<value>&portscope=<value> fabric.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Retrieves PortHealth violations summary data for the
witches/fcskey/fcports/fcpkey/porthealthviolationssum specified FC port of the specified FC switch in the
mary?timeline=<value>&timescope=<value>&portscope context of the specified fabric.
=<value>

<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/f Retrieves PortHealth violations summary data for the


cports/fcpkey/porthealthviolationssummary?timeline=< specified FC port of the specified FC switch.
value>&timescope=<value>&portscope=<value>

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.
fcpkey FC fabric port identifier.
fcskey FC switch identifier.

Brocade Network Advisor REST API Guide 89


53-1003160-01
5 Summary data

VM violations summary
Retrieves VM violations summary data.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/vmviolationssumma Retrieves VM violations summary data for the


ry?timeline=<value>&timescope=<value>&portscope=< specified resource group.
value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/vm Retrieves VM violations summary data for the
violationssummary?timeline=<value>&timescope=<valu specified FC fabric.
e>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/v Retrieves VM violations summary data for the
mviolationssummary?timeline=<value>&timescope=<val specified FC switch.
ue>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcports/fcpkey/vmvi Retrieves VM violations summary data for the
olationssummary?timeline=<value>&timescope=<value specified FC port.
>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Retrieves VM violations summary data for the
witches/fcskey/vmviolationssummary?timeline=<value> specified FC switch in the context of the specified
&timescope=<value>&portscope=<value> FC fabric.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Retrieves VM violations summary data for the
witches/fcskey/fcports/fcpkey/vmviolationssummary?ti specified FC port of the specified FC switch the
meline=<value>&timescope=<value>&portscope=<valu context of the specified FC fabric.
e>

<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/f Retrieves VM violations summary data for the


cports/fcpkey/vmviolationssummary?timeline=<value>& specified FC port of the specified FC switch.
timescope=<value>&portscope=<value>

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.
fcpkey FC fabric port identifier.
fcskey FC switch identifier.

90 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data 5

Port summaries
Retrieves port summary data.
Depending on monitor and measure characteristics, there are various port summaries. The URIs in
the following table return a list of URIs for the possible port summaries in the specific context.
You can then use the returned URIs to get specific port-related summaries, such as Top N, Bottom
N, or Distribution data for a specific port measure.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/portsummaries Retrieves port summary data for the specified


resource group.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/por Retrieves port summary data for the specified FC
tsummaries fabric.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Retrieves port summary data for the specified FC
witches/fcskey/portsummaries switch of the specified FC fabric.
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/p Retrieves port summary data for the specified FC
ortsummaries switch.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.
fcskey FC switch identifier.

Notes
• The response schema is SummariesResponse.
• The class name and parameters of the returned summary data are also in the response.

Top N and Bottom N port summary URIs


The following table shows the mapping of URIs to specific measures.
TABLE 3 Mapping of Top N and Bottom N port summary URIs to specific measures
Measure Type URI Units

Port Utilization Percentage FC utilpercentage %tage


Traffic FC traffic
CRC Errors FC crcerrors
Link Resets FC linkresets
Signal Losses FC signallosses
Sync Losses FC synclosses

Brocade Network Advisor REST API Guide 91


53-1003160-01
5 Summary data

TABLE 3 Mapping of Top N and Bottom N port summary URIs to specific measures
Measure Type URI Units

Link Failures FC linkfailures


Sequence Errors FC sequenceerrors
Invalid Transmissions FC invalidtransmissions
C3 Discards FC c3discards
C3 Discards TX TO FC c3discardstxto
C3 Discards RX TO FC c3discardsrxto
C3 Discards Unreachable FC c3discardsunreachable
C3 Discards Other FC c3discardsother
Encode Error Out FC encodeerrorout
SFP Power FC sfppower
SFP Voltage FC sfpvoltage
SFP Current FC sfpcurrent
SFP Temperature FC sfptemperature
Invalid Ordered Sets FC invalidorderedsets
BB Credit Zero FC bbcreditzero
Truncated Frames FC truncatedframes
Cumulative Compression Ratio FCIP compressionratio
Latency FCIP latency
Dropped Packets FCIP droppedpackets
Link Retransmits FCIP linkretransmits
Timeout Retransmits FCIP timeoutretransmits
Fast Retransmits FCIP fastretransmits
Duplicate Ack Received FCIP dupackrecvd
Window Size RTT FCIP windowsizertt
TCP Out Of Order FCIP tcpooosegments
SlowStart Status Errors FCIP slowstartstatuserrors
Current Compression Ratio FCIP realtimecompressionratio

URIs for FC measures


<BASE_URI>/resourcegroups/rgkey/utilpercentage?timeline=<value>&timescope=<value>&limit=<value>&ports
cope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/utilpercentage?timeline=<value>&timescope=<value>&limit
=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/utilpercentage?timeline=<value>&timesc
ope=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/utilpercentage?timeline=<value>&timescope=<value>&li
mit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/traffic?timeline=<value>&timescope=<value>&limit=<value>&portscope=<v
alue>&descending=<value>

92 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data 5

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/traffic?timeline=<value>&timescope=<value>&limit=<value
>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/traffic?timeline=<value>&timescope=<val
ue>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/traffic?timeline=<value>&timescope=<value>&limit=<val
ue>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/crcerrors?timeline=<value>&timescope=<value>&limit=<value>&portscope=
<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/crcerrors?timeline=<value>&timescope=<value>&limit=<val
ue>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/crcerrors?timeline=<value>&timescope=<
value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/crcerrors?timeline=<value>&timescope=<value>&limit=<v
alue>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/linkresets?timeline=<value>&timescope=<value>&limit=<value>&portscope
=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/linkresets?timeline=<value>&timescope=<value>&limit=<va
lue>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/linkresets?timeline=<value>&timescope=
<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/linkresets?timeline=<value>&timescope=<value>&limit=<
value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/signallosses?timeline=<value>&timescope=<value>&limit=<value>&portsco
pe=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/signallosses?timeline=<value>&timescope=<value>&limit=<
value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/signallosses?timeline=<value>&timescop
e=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/signallosses?timeline=<value>&timescope=<value>&limit
=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/synclosses?timeline=<value>&timescope=<value>&limit=<value>&portscop
e=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/synclosses?timeline=<value>&timescope=<value>&limit=<v
alue>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/synclosses?timeline=<value>&timescope
=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/synclosses?timeline=<value>&timescope=<value>&limit=
<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/linkfailures?timeline=<value>&timescope=<value>&limit=<value>&portscop
e=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/linkfailures?timeline=<value>&timescope=<value>&limit=<v
alue>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/linkfailures?timeline=<value>&timescope
=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/linkfailures?timeline=<value>&timescope=<value>&limit=
<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/sequenceerrors?timeline=<value>&timescope=<value>&limit=<value>&port
scope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/sequenceerrors?timeline=<value>&timescope=<value>&limi
t=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/sequenceerrors?timeline=<value>&times
cope=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/sequenceerrors?timeline=<value>&timescope=<value>&li
mit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/invalidtransmissions?timeline=<value>&timescope=<value>&limit=<value>&
portscope=<value>&descending=<value>

Brocade Network Advisor REST API Guide 93


53-1003160-01
5 Summary data

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/invalidtransmissions?timeline=<value>&timescope=<value>
&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/invalidtransmissions?timeline=<value>&ti
mescope=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/invalidtransmissions?timeline=<value>&timescope=<valu
e>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/c3discards?timeline=<value>&timescope=<value>&limit=<value>&portscop
e=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/c3discards?timeline=<value>&timescope=<value>&limit=<v
alue>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/c3discards?timeline=<value>&timescope
=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/c3discards?timeline=<value>&timescope=<value>&limit=
<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/c3discardstxto?timeline=<value>&timescope=<value>&limit=<value>&ports
cope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/c3discardstxto?timeline=<value>&timescope=<value>&limit
=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/c3discardstxto?timeline=<value>&timesc
ope=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/c3discardstxto?timeline=<value>&timescope=<value>&li
mit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/c3discardsrxto?timeline=<value>&timescope=<value>&limit=<value>&ports
cope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/c3discardsrxto?timeline=<value>&timescope=<value>&limit
=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/c3discardsrxto?timeline=<value>&timesc
ope=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/c3discardsrxto?timeline=<value>&timescope=<value>&li
mit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/c3discardsunreachable?timeline=<value>&timescope=<value>&limit=<value
>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/c3discardsunreachable?timeline=<value>&timescope=<valu
e>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/c3discardsunreachable?timeline=<value>
&timescope=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/c3discardsunreachable?timeline=<value>&timescope=<v
alue>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/c3discardsother?timeline=<value>&timescope=<value>&limit=<value>&port
scope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/c3discardsother?timeline=<value>&timescope=<value>&lim
it=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/c3discardsother?timeline=<value>&times
cope=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/c3discardsother?timeline=<value>&timescope=<value>&l
imit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/encodeerrorout?timeline=<value>&timescope=<value>&limit=<value>&ports
cope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/encodeerrorout?timeline=<value>&timescope=<value>&limi
t=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/encodeerrorout?timeline=<value>&timesc
ope=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/encodeerrorout?timeline=<value>&timescope=<value>&li
mit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/sfppower?timeline=<value>&timescope=<value>&limit=<value>&portscope=
<value>&descending=<value>

94 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data 5

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/sfppower?timeline=<value>&timescope=<value>&limit=<val
ue>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/sfppower?timeline=<value>&timescope=
<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/sfppower?timeline=<value>&timescope=<value>&limit=<
value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/sfpvoltage?timeline=<value>&timescope=<value>&limit=<value>&portscope
=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/sfpvoltage?timeline=<value>&timescope=<value>&limit=<v
alue>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/sfpvoltage?timeline=<value>&timescope
=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/sfpvoltage?timeline=<value>&timescope=<value>&limit=
<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/sfpcurrent?timeline=<value>&timescope=<value>&limit=<value>&portscope
=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/sfpcurrent?timeline=<value>&timescope=<value>&limit=<v
alue>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/sfpcurrent?timeline=<value>&timescope
=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/sfpcurrent?timeline=<value>&timescope=<value>&limit=
<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/sfptemperature?timeline=<value>&timescope=<value>&limit=<value>&port
scope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/sfptemperature?timeline=<value>&timescope=<value>&limi
t=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/sfptemperature?timeline=<value>&times
cope=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/sfptemperature?timeline=<value>&timescope=<value>&li
mit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/invalidorderedsets?timeline=<value>&timescope=<value>&limit=<value>&p
ortscope=<value>&decending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/invalidorderedsets?timeline=<value>&timescope=<value>&l
imit=<value>&portscope=<value>&decending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/invalidorderedsets?timeline=<value>&tim
escope=<value>&limit=<value>&portscope=<value>&decending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/invalidorderedsets?timeline=<value>&timescope=<value>
&limit=<value>&portscope=<value>&decending=<value>
<BASE_URI>/resourcegroups/rgkey/bbcreditzero?timeline=<value>&timescope=<value>&limit=<value>&portsco
pe=<value>&decending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/bbcreditzero?timeline=<value>&timescope=<value>&limit=
<value>&portscope=<value>&decending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/bbcreditzero?timeline=<value>&timescop
e=<value>&limit=<value>&portscope=<value>&decending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/bbcreditzero?timeline=<value>&timescope=<value>&limit
=<value>&portscope=<value>&decending=<value>
<BASE_URI>/resourcegroups/rgkey/truncatedframes?timeline=<value>&timescope=<value>&limit=<value>&por
tscope=<value>&decending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/truncatedframes?timeline=<value>&timescope=<value>&li
mit=<value>&portscope=<value>&decending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/truncatedframes?timeline=<value>&time
scope=<value>&limit=<value>&portscope=<value>&decending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/truncatedframes?timeline=<value>&timescope=<value>&
limit=<value>&portscope=<value>&decending=<value>

Brocade Network Advisor REST API Guide 95


53-1003160-01
5 Summary data

URIs for FCIP measures


<BASE_URI>/resourcegroups/rgkey/compressionratio?timeline=<value>&timescope=<value>&limit=<value>&po
rtscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/compressionratio?timeline=<value>&timescope=<value>&li
mit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/compressionratio?timeline=<value>&time
scope=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/compressionratio?timeline=<value>&timescope=<value>
&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/latency?timeline=<value>&timescope=<value>&limit=<value>&portscope=<
value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/latency?timeline=<value>&timescope=<value>&limit=<valu
e>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/latency?timeline=<value>&timescope=<v
alue>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/latency?timeline=<value>&timescope=<value>&limit=<val
ue>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/droppedpackets?timeline=<value>&timescope=<value>&limit=<value>&port
scope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/droppedpackets?timeline=<value>&timescope=<value>&lim
it=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/droppedpackets?timeline=<value>&times
cope=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/droppedpackets?timeline=<value>&timescope=<value>&l
imit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/linkretransmits?timeline=<value>&timescope=<value>&limit=<value>&ports
cope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/linkretransmits?timeline=<value>&timescope=<value>&limit
=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/linkretransmits?timeline=<value>&timesc
ope=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/linkretransmits?timeline=<value>&timescope=<value>&li
mit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/timeoutretransmits?timeline=<value>&timescope=<value>&limit=<value>&p
ortscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/timeoutretransmits?timeline=<value>&timescope=<value>&
limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeoutretransmits?timeline=<value>&ti
mescope=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeoutretransmits?timeline=<value>&timescope=<value
>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fastretransmits?timeline=<value>&timescope=<value>&limit=<value>&ports
cope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fastretransmits?timeline=<value>&timescope=<value>&limi
t=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/fastretransmits?timeline=<value>&timesc
ope=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/fastretransmits?timeline=<value>&timescope=<value>&li
mit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/dupackrecvd?timeline=<value>&timescope=<value>&limit=<value>&portsco
pe=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/dupackrecvd?timeline=<value>&timescope=<value>&limit=
<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/dupackrecvd?timeline=<value>&timescop
e=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/dupackrecvd?timeline=<value>&timescope=<value>&limi
t=<value>&portscope=<value>&descending=<value>

96 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data 5

<BASE_URI>/resourcegroups/rgkey/windowsizertt?timeline=<value>&timescope=<value>&limit=<value>&portsc
ope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/windowsizertt?timeline=<value>&timescope=<value>&limit=
<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/windowsizertt?timeline=<value>&timesco
pe=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/windowsizertt?timeline=<value>&timescope=<value>&lim
it=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/tcpooosegments?timeline=<value>&timescope=<value>&limit=<value>&por
tscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/tcpooosegments?timeline=<value>&timescope=<value>&li
mit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/tcpooosegments?timeline=<value>&time
scope=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/tcpooosegments?timeline=<value>&timescope=<value>&
limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/slowstartstatuserrors?timeline=<value>&timescope=<value>&limit=<value>
&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/slowstartstatuserrors?timeline=<value>&timescope=<value
>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/slowstartstatuserrors?timeline=<value>&t
imescope=<value>&limit=<value>&portscope=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/slowstartstatuserrors?timeline=<value>&timescope=<valu
e>&limit=<value>&portscope=<value>&descending=<value>

Distribution port summary URIs


The following table shows the mapping of the URIs to specific measures.
TABLE 4 Measure-to-URI mapping
Measure Type URI Units

Port Utilization Percentage FC distributionutilpercentage %tage


Traffic FC distributiontraffic
CRC Errors FC distributioncrcerrors count
Link Resets FC distributionlinkresets count
Signal Losses FC distributionsignallosses count
Sync Losses FC distributionsynclosses count
Link Failures FC distributionlinkfailures count
Sequence Errors FC distributionsequenceerrors count
Invalid Transmissions FC distributioninvalidtransmissions count
C3 Discards FC distributionc3discards count
C3 Discards TX TO FC distributionc3discardstxto count
C3 Discards RX TO FC distributionc3discardsrxto count
C3 Discards Unreachable FC distributionc3discardsunreachable count
C3 Discards Other FC distributionc3discardsother count
Encode Error Out FC distributionencodeerrorout count
SFP Power FC distributionsfppower
SFP Voltage FC distributionsfpvoltage

Brocade Network Advisor REST API Guide 97


53-1003160-01
5 Summary data

TABLE 4 Measure-to-URI mapping (Continued)


Measure Type URI Units

SFP Current FC distributionsfpcurrent


SFP Temperature FC distributionsfptemperature
Invalid Ordered Sets FC distributioninvalidorderedsets count
BB Credit Zero FC distributionbbcreditzero count
Truncated Frames FC distributiontruncatedframes count
Cumulative Compression Ratio FCIP distributioncompressionratio
Latency FCIP distributionlatency
Dropped Packets FCIP distributiondroppedpackets count
Link Retransmits FCIP distributionlinkretransmits count
Timeout Retransmits FCIP distributiontimeoutretransmits count
Fast Retransmits FCIP distributionfastretransmits count
Duplicate Ack Received FCIP distributiondupackrecvd
Window Size RTT FCIP distributionwindowsizertt
TCP Out Of Order FCIP distributiontcpooosegments count
SlowStart Status Errors FCIP distributionslowstartstatuserrors count
Current Compression Ratio FCIP distributionrealtimecompressionrati
o

URIs for FC measures


<BASE_URI>/resourcegroups/rgkey/distributionutilpercentage?timeline=<value>&timescope=<value>&portscope
=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionutilpercentage?timeline=<value>&timescope=<v
alue>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionutilpercentage?timeline=<valu
e>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionutilpercentage?timeline=<value>&timescope=
<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributiontraffic?timeline=<value>&timescope=<value>&portscope=<value
>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributiontraffic?timeline=<value>&timescope=<value>&p
ortscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributiontraffic?timeline=<value>&time
scope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributiontraffic?timeline=<value>&timescope=<value>
&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributioncrcerrors?timeline=<value>&timescope=<value>&portscope=<val
ue>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributioncrcerrors?timeline=<value>&timescope=<value>
&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributioncrcerrors?timeline=<value>&ti
mescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributioncrcerrors?timeline=<value>&timescope=<valu
e>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionlinkresets?timeline=<value>&timescope=<value>&portscope=<v
alue>

98 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data 5

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionlinkresets?timeline=<value>&timescope=<value
>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionlinkresets?timeline=<value>&t
imescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionlinkresets?timeline=<value>&timescope=<valu
e>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionsignallosses?timeline=<value>&timescope=<value>&portscope=
<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionsignallosses?timeline=<value>&timescope=<valu
e>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionsignallosses?timeline=<value>
&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionsignallosses?timeline=<value>&timescope=<v
alue>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionsynclosses?timeline=<value>&timescope=<value>&portscope=<
value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionsynclosses?timeline=<value>&timescope=<value
>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionsynclosses?timeline=<value>
&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionsynclosses?timeline=<value>&timescope=<val
ue>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionlinkfailures?timeline=<value>&timescope=<value>&portscope=<
value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionlinkfailures?timeline=<value>&timescope=<value
>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionlinkfailures?timeline=<value>
&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionlinkfailures?timeline=<value>&timescope=<val
ue>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionsequenceerrors?timeline=<value>&timescope=<value>&portscop
e=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionsequenceerrors?timeline=<value>&timescope=<
value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionsequenceerrors?timeline=<val
ue>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionsequenceerrors?timeline=<value>&timescope
=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributioninvalidtransmissions?timeline=<value>&timescope=<value>&port
scope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributioninvalidtransmissions?timeline=<value>&timesco
pe=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributioninvalidtransmissions?timeline
=<value>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributioninvalidtransmissions?timeline=<value>&timesc
ope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionc3discards?timeline=<value>&timescope=<value>&portscope=<
value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionc3discards?timeline=<value>&timescope=<value
>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionc3discards?timeline=<value>
&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionc3discards?timeline=<value>&timescope=<val
ue>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionc3discardstxto?timeline=<value>&timescope=<value>&portscope
=<value>

Brocade Network Advisor REST API Guide 99


53-1003160-01
5 Summary data

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionc3discardstxto?timeline=<value>&timescope=<v
alue>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionc3discardstxto?timeline=<valu
e>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionc3discardstxto?timeline=<value>&timescope=
<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionc3discardsrxto?timeline=<value>&timescope=<value>&portscop
e=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionc3discardsrxto?timeline=<value>&timescope=<v
alue>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionc3discardsrxto?timeline=<valu
e>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionc3discardsrxto?timeline=<value>&timescope=
<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionc3discardsunreachable?timeline=<value>&timescope=<value>&
portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionc3discardsunreachable?timeline=<value>&times
cope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionc3discardsunreachable?timeli
ne=<value>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionc3discardsunreachable?timeline=<value>&tim
escope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionc3discardsother?timeline=<value>&timescope=<value>&portsco
pe=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionc3discardsother?timeline=<value>&timescope=<
value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionc3discardsother?timeline=<val
ue>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionc3discardsother?timeline=<value>&timescope
=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionencodeerrorout?timeline=<value>&timescope=<value>&portscop
e=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionencodeerrorout?timeline=<value>&timescope=<
value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionencodeerrorout?timeline=<val
ue>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionencodeerrorout?timeline=<value>&timescope=
<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionsfppower?timeline=<value>&timescope=<value>&portscope=<va
lue>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionsfppower?timeline=<value>&timescope=<value>
&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionsfppower?timeline=<value>&ti
mescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionsfppower?timeline=<value>&timescope=<valu
e>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionsfpvoltage?timeline=<value>&timescope=<value>&portscope=<v
alue>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionsfpvoltage?timeline=<value>&timescope=<value
>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionsfpvoltage?timeline=<value>&
timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionsfpvoltage?timeline=<value>&timescope=<val
ue>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionsfpcurrent?timeline=<value>&timescope=<value>&portscope=<v
alue>

100 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data 5

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionsfpcurrent?timeline=<value>&timescope=<value
>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionsfpcurrent?timeline=<value>&
timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionsfpcurrent?timeline=<value>&timescope=<val
ue>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionsfptemperature?timeline=<value>&timescope=<value>&portscop
e=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionsfptemperature?timeline=<value>&timescope=<
value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionsfptemperature?timeline=<val
ue>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionsfptemperature?timeline=<value>&timescope=
<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributioninvalidorderedsets?timeline=<value>&timescope=<value>&ports
cope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributioninvalidorderedsets?timeline=<value>&timescope
=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributioninvalidorderedsets?timeline=<
value>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributioninvalidorderedsets?timeline=<value>&timesco
pe=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionbbcreditzero?timeline=<value>&timescope=<value>&portscope=
<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionbbcreditzero?timeline=<value>&timescope=<val
ue>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionbbcreditzero?timeline=<value
>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionbbcreditzero?timeline=<value>&timescope=<v
alue>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributiontruncatedframes?timeline=<value>&timescope=<value>&portsco
pe=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributiontruncatedframes?timeline=<value>&timescope=
<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributiontruncatedframes?timeline=<va
lue>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributiontruncatedframes?timeline=<value>&timescope
=<value>&portscope=<value>

URIs for FCIP measures


<BASE_URI>/resourcegroups/rgkey/distributioncompressionratio?timeline=<value>&timescope=<value>&portsc
ope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributioncompressionratio?timeline=<value>&timescope=
<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributioncompressionratio?timeline=<v
alue>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributioncompressionratio?timeline=<value>&timescop
e=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionlatency?timeline=<value>&timescope=<value>&portscope=<valu
e>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionlatency?timeline=<value>&timescope=<value>&
portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionlatency?timeline=<value>&tim
escope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionlatency?timeline=<value>&timescope=<value>
&portscope=<value>

Brocade Network Advisor REST API Guide 101


53-1003160-01
5 Summary data

<BASE_URI>/resourcegroups/rgkey/distributiondroppedpackets?timeline=<value>&timescope=<value>&portsco
pe=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributiondroppedpackets?timeline=<value>&timescope=<
value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributiondroppedpackets?timeline=<val
ue>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributiondroppedpackets?timeline=<value>&timescope
=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionlinkretransmits?timeline=<value>&timescope=<value>&portscop
e=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionlinkretransmits?timeline=<value>&timescope=<v
alue>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionlinkretransmits?timeline=<val
ue>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionlinkretransmits?timeline=<value>&timescope=
<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributiontimeoutretransmits?timeline=<value>&timescope=<value>&ports
cope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributiontimeoutretransmits?timeline=<value>&timescope
=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributiontimeoutretransmits?timeline=
<value>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributiontimeoutretransmits?timeline=<value>&timesco
pe=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionfastretransmits?timeline=<value>&timescope=<value>&portscop
e=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionfastretransmits?timeline=<value>&timescope=<v
alue>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionfastretransmits?timeline=<val
ue>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionfastretransmits?timeline=<value>&timescope=
<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributiondupackrecvd?timeline=<value>&timescope=<value>&portscope=
<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributiondupackrecvd?timeline=<value>&timescope=<val
ue>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributiondupackrecvd?timeline=<value
>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributiondupackrecvd?timeline=<value>&timescope=<v
alue>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributionwindowsizertt?timeline=<value>&timescope=<value>&portscope
=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionwindowsizertt?timeline=<value>&timescope=<va
lue>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionwindowsizertt?timeline=<value
>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionwindowsizertt?timeline=<value>&timescope=<
value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/distributiontcpooosegments?timeline=<value>&timescope=<value>&portsco
pe=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributiontcpooosegments?timeline=<value>&timescope=
<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributiontcpooosegments?timeline=<va
lue>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributiontcpooosegments?timeline=<value>&timescope
=<value>&portscope=<value>

102 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data 5

<BASE_URI>/resourcegroups/rgkey/distributionslowstartstatuserrors?timeline=<value>&timescope=<value>&por
tscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionslowstartstatuserrors?timeline=<value>&timesco
pe=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionslowstartstatuserrors?timeline
=<value>&timescope=<value>&portscope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionslowstartstatuserrors?timeline=<value>&times
cope=<value>&portscope=<value>

Brocade Network Advisor REST API Guide 103


53-1003160-01
5 Summary data

Product summaries
Retrieves URIs for retrieving product summary data.
Depending on monitor and measure charateristics, there are various product summaries. The
URIs in the following table return a list of URIs for the possible product summaries in the specified
context.
You can use the returned URIs to get specific product-related summary data, such as Top N,
Bottom N, or Distribution data for a specific product measure.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/productsummaries Retrieves product summary data for the specified


resource group.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/pro Retrieves product summary data for the specified
ductsummaries FC fabric.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Retrieves product summary data for the specified
witches/fcskey/productsummaries FC switch.
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/p Retrieves product summary data for the specified
roductsummaries FC switch in the context of the specified FC fabric.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.
fcskey FC switch identifier.

Notes
• The response schema is SummariesResponse.
• The class name of the summary returned is also in the response.

Top N and Bottom N product summary URIs


The following table shows the mapping of the URIs to the specific measures.
TABLE 5 Mapping of Top N and Bottom N product summary URIs to specific measures
Measure URI Units

Memory Utilization Percentage memoryutilpercentage %tage


CPU Utilization Percentage cpuutilpercentage %tage
Temperature temperature degrees C
Fan Speed fanspeed rpm
Response Time responsetime seconds
System Up Time systemuptime seconds

104 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data 5

TABLE 5 Mapping (Continued)of Top N and Bottom N product summary URIs to specific measures
Measure URI Units

Ports Not In Use portsnotinuse integer


Ping Packet Loss Percentage pingpktlosspercentage %tage

Product summary URIs


<BASE_URI>/resourcegroups/rgkey/memoryutilpercentage?timeline=<value>&timescope=<value>&limit=<value
>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/memoryutilpercentage?timeline=<value>&timescope=<valu
e>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/memoryutilpercentage?timeline=<value>
&timescope=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/memoryutilpercentage?timeline=<value>&timescope=<val
ue>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/cpuutilpercentage?timeline=<value>&timescope=<value>&limit=<value>&de
scending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/cpuutilpercentage?timeline=<value>&timescope=<value>&li
mit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/cpuutilpercentage?timeline=<value>&tim
escope=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/cpuutilpercentage?timeline=<value>&timescope=<value>
&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/temperature?timeline=<value>&timescope=<value>&limit=<value>&descen
ding=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/temperature?timeline=<value>&timescope=<value>&limit=
<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/temperature?timeline=<value>&timescop
e=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/temperature?timeline=<value>&timescope=<value>&limit
=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fanspeed?timeline=<value>&timescope=<value>&limit=<value>&descendin
g=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fanspeed?timeline=<value>&timescope=<value>&limit=<val
ue>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/fanspeed?timeline=<value>&timescope=
<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/fanspeed?timeline=<value>&timescope=<value>&limit=<
value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/responsetime?timeline=<value>&timescope=<value>&limit=<value>&desce
nding=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/responsetime?timeline=<value>&timescope=<value>&limit=
<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/responsetime?timeline=<value>&timesco
pe=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/responsetime?timeline=<value>&timescope=<value>&lim
it=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/systemuptime?timeline=<value>&timescope=<value>&limit=<value>&desce
nding=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/systemuptime?timeline=<value>&timescope=<value>&limit
=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/systemuptime?timeline=<value>&timesco
pe=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/systemuptime?timeline=<value>&timescope=<value>&lim
it=<value>&descending=<value>

Brocade Network Advisor REST API Guide 105


53-1003160-01
5 Summary data

<BASE_URI>/resourcegroups/rgkey/portsnotinuse?timeline=<value>&timescope=<value>&limit=<value>&desce
nding=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/portsnotinuse?timeline=<value>&timescope=<value>&limit
=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/portsnotinuse?timeline=<value>&timesco
pe=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/portsnotinuse?timeline=<value>&timescope=<value>&lim
it=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/pingpktlosspercentage?timeline=<value>&timescope=<value>&limit=<value
>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/pingpktlosspercentage?timeline=<value>&timescope=<valu
e>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/pingpktlosspercentage?timeline=<value>
&timescope=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/pingpktlosspercentage?timeline=<value>&timescope=<va
lue>&limit=<value>&descending=<value>

Product summary notes


The returned summary is ProductsMonitorSummaryData. It contains a list of
ProductPerformanceData. Each entry in the list shows the value of the measure for a particular
product.

Product summary notes example


The following is an example of returned summary data in the JSON format for temperature:
{"summary":
{"summaryData":[
{"targetKey":"10:00:00:14:C9:E5:56:AB",
"targetType":"FC_SWITCH",
"value":35.111,
"minValue":29.0,
"maxValue":39.0},
{"targetKey":"10:00:00:05:33:A6:B6:17",
"targetType":"FC_SWITCH",
"value":35.0,
"minValue":35.0,
"maxValue":35.0},
{"targetKey":"10:00:00:27:F8:A7:A1:25",
"targetType":"FC_SWITCH",
"value":33.25,
"minValue":25.0,
"maxValue":43.0},
...
{"targetKey":"10:00:00:05:1E:DB:1E:1E",
"targetType":"FC_SWITCH",
"value":23.333,
"minValue":17.0,
"maxValue":32.0}]},
"summaryName":"ProductsMonitorSummaryData",
"timeLine":-1,
"timeScope":"ThirtyMinutes",
"limit":10,
"portScope":null,
"descending":true}

106 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data 5

Distribution product summary


The following table shows the mapping of the URIs to the specific measures.
TABLE 6 Mapping of the product summary URIs to the specific measures
Measure URI Units

Memory Utilization Percentage distributionmemoryutilpercentage %tage


CPU Utilization Percentage distributioncpuutilpercentage %tage
Temperature distributiontemperature degrees C
Fan Speed distributionfanspeed rpm
Response Time distributionresponsetime seconds
System Up Time distributionsystemuptime seconds
Ports Not In Use distributionportsnotinuse integer
Ping Packet Loss Percentage distributionpingpktlosspercentage %tage

Distribution product summary URIs


<BASE_URI>/resourcegroups/rgkey/distributionmemoryutilpercentage?timeline=<value>&timescope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionmemoryutilpercentage?timeline=<value>&timesc
ope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionmemoryutilpercentage?timelin
e=<value>&timescope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionmemoryutilpercentage?timeline=<value>&time
scope=<value>
<BASE_URI>/resourcegroups/rgkey/distributioncpuutilpercentage?timeline=<value>&timescope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributioncpuutilpercentage?timeline=<value>&timescope
=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributioncpuutilpercentage?timeline=<
value>&timescope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributioncpuutilpercentage?timeline=<value>&timescop
e=<value>
<BASE_URI>/resourcegroups/rgkey/distributiontemperature?timeline=<value>&timescope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributiontemperature?timeline=<value>&timescope=<val
ue>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributiontemperature?timeline=<value
>&timescope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributiontemperature?timeline=<value>&timescope=<v
alue>
<BASE_URI>/resourcegroups/rgkey/distributionfanspeed?timeline=<value>&timescope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionfanspeed?timeline=<value>&timescope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionfanspeed?timeline=<value>&ti
mescope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionfanspeed?timeline=<value>&timescope=<valu
e>
<BASE_URI>/resourcegroups/rgkey/distributionresponsetime?timeline=<value>&timescope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionresponsetime?timeline=<value>&timescope=<va
lue>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionresponsetime?timeline=<valu
e>&timescope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionresponsetime?timeline=<value>&timescope=<
value>
<BASE_URI>/resourcegroups/rgkey/distributionsystemuptime?timeline=<value>&timescope=<value>

Brocade Network Advisor REST API Guide 107


53-1003160-01
5 Summary data

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionsystemuptime?timeline=<value>&timescope=<va
lue>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionsystemuptime?timeline=<valu
e>&timescope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionsystemuptime?timeline=<value>&timescope=<
value>
<BASE_URI>/resourcegroups/rgkey/distributionportsnotinuse?timeline=<value>&timescope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionportsnotinuse?timeline=<value>&timescope=<va
lue>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionportsnotinuse?timeline=<valu
e>&timescope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionportsnotinuse?timeline=<value>&timescope=<
value>
<BASE_URI>/resourcegroups/rgkey/distributionpingpktlosspercentage?timeline=<value>&timescope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/distributionpingpktlosspercentage?timeline=<value>&timesc
ope=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/distributionpingpktlosspercentage?timelin
e=<value>&timescope=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/distributionpingpktlosspercentage?timeline=<value>&time
scope=<value>

Distribution product summary notes


• The returned summary is MonitorDistributionData. This contains the minimum and maximum
values of the measure in the specified duration.
• The distribution count is a five-element array representing five buckets for the range of the
values, with each integer in the array indicating the number of products in that bucket of
measure.

Distribution product summary example


The following is an example of returned summary data in the JSON format for distribution
temperature:
{"summary":{
"distributionCount":[1,0,2,2,0],
"maxvalue":35.111,
"minvalue":23.333,
"startTimeinSec":1396910316,
"endTimeinSec":1396912116},
"summaryName":"MonitorDistributionData",
"timeLine":-1,
"timeScope":"ThirtyMinutes",
"limit":null,
"portScope":null,
"descending":null}

This response means that within the range 35.1 to 23.3, there are five buckets of temperature,
the first bucket representing the maximum. In addition, there is one product with the temperature
in the first bucket, two products with the temperature in third bucket, and two products with
temperature in the fourth bucket.

108 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data 5

Traffic flow summaries


Retrieves URIs that retrieve traffic flow summary data.
Depending on monitor and measure charateristics, there are various traffic flow summaries. The
URIs in the following table return a list of URIs for the possible traffic flow summaries in the
specific context.
You can use these URIs to get specific traffic flow-related summary data, such as Top N or Bottom
N data for a specific traffic measure.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/trafficflowsummarie Retrieves traffic flow summary data for the specified


s resource group.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/traf Retrieves traffic flow summary data for the specified
ficflowsummaries FC fabric.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcs Retrieves traffic flow summary data for the specified
witches/fcskey/trafficflowsummaries FC switch of the specified FC fabric.
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/t Retrieves traffic flow summary data for the specified
rafficflowsummaries FC switch.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.
fcfkey FC switch identifier.

Notes
• The response schema is SummariesResponse.

Top N and Bottom N traffic flow summary URIs


The following table states the mapping of the URI for the specific measure.
TABLE 7 Mapping of the Top N and Bottom N traffic flow summary URIs to the specific measures
Measure Type URI Units

SCSI Read Frame Count (frames) SCSI scsireadframecount count


SCSI Write Frame Count (frames SCSI scsiwriteframecount count
SCSI Read Frame Rate (f/s) SCSI scsireadframerate
SCSI Write Frame Rate (f/s) SCSI scsiwriteframerate
SCSI Read Data (bytes) SCSI scsireaddata
SCSI Write Data (bytes) SCSI scsiwritedata

Brocade Network Advisor REST API Guide 109


53-1003160-01
5 Summary data

TABLE 7 Mapping of the Top N and Bottom N traffic flow summary URIs to the specific measures
Measure Type URI Units

SCSI Read Data Rate (mbps) SCSI scsireaddatarate


SCSI Write Data Rate (mbps) SCSI scsiwritedatarate
Transmit Frame Count (frames) Frame txframecount count
Receive Frame Count (frames) Frame rxframecount count
Transmit Frame Rate (f/s) Frame txframerate
Receive Frame Rate (f/s) Frame rxframerate
Transmit Word Count (bytes) Frame txwordcount count
Receive Word Count (bytes) Frame rxwordcount count
Transmit Throughput (mbps) Frame txthroughput
Receive Throughput (mbps) Frame rxthroughput
Average Transmit Frame Size (bytes) Frame avgtxframesize
Average Receive Frame Size (bytes) Frame avgrxframesize
Generator Transmit Frame Count Frame generatortxframecount count
(frames)
Generator Receive Frame Count Frame generatorrxframecount count
(frames)
Mirrored Frames Count (frames) Frame mirroredframescount count
Mirrored Transmit Frames (frames) Frame mirroredtxframes count
Mirrored Receive Frames (frames) Frame mirroredrxframes count

URIs for SCSI measures


<BASE_URI>/resourcegroups/rgkey/scsireadframecount?timeline=<value>&timescope=<value>&limit=<value>&
descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/scsireadframecount?timeline=<value>&timescope=<value>
&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/scsireadframecount?timeline=<value>&ti
mescope=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/scsireadframecount?timeline=<value>&timescope=<value
>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/scsiwriteframecount?timeline=<value>&timescope=<value>&limit=<value>&
descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/scsiwriteframecount?timeline=<value>&timescope=<value>
&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/scsiwriteframecount?timeline=<value>&ti
mescope=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/scsiwriteframecount?timeline=<value>&timescope=<valu
e>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/scsireadframerate?timeline=<value>&timescope=<value>&limit=<value>&d
escending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/scsireadframerate?timeline=<value>&timescope=<value>&li
mit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/scsireadframerate?timeline=<value>&tim
escope=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/scsireadframerate?timeline=<value>&timescope=<value>
&limit=<value>&descending=<value>

110 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data 5

<BASE_URI>/resourcegroups/rgkey/scsiwriteframerate?timeline=<value>&timescope=<value>&limit=<value>&d
escending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/scsiwriteframerate?timeline=<value>&timescope=<value>&l
imit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/scsiwriteframerate?timeline=<value>&tim
escope=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/scsiwriteframerate?timeline=<value>&timescope=<value>
&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/scsireaddata?timeline=<value>&timescope=<value>&limit=<value>&descen
ding=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/scsireaddata?timeline=<value>&timescope=<value>&limit=
<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/scsireaddata?timeline=<value>&timesco
pe=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/scsireaddata?timeline=<value>&timescope=<value>&limi
t=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/scsiwritedata?timeline=<value>&timescope=<value>&limit=<value>&descen
ding=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/scsiwritedata?timeline=<value>&timescope=<value>&limit=
<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/scsiwritedata?timeline=<value>&timesco
pe=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/scsiwritedata?timeline=<value>&timescope=<value>&limi
t=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/scsireaddatarate?timeline=<value>&timescope=<value>&limit=<value>&des
cending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/scsireaddatarate?timeline=<value>&timescope=<value>&li
mit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/scsireaddatarate?timeline=<value>&time
scope=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/scsireaddatarate?timeline=<value>&timescope=<value>&
limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/scsiwritedatarate?timeline=<value>&timescope=<value>&limit=<value>&de
scending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/scsiwritedatarate?timeline=<value>&timescope=<value>&li
mit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/scsiwritedatarate?timeline=<value>&time
scope=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/scsiwritedatarate?timeline=<value>&timescope=<value>
&limit=<value>&descending=<value>

URIs for frame measures


<BASE_URI>/resourcegroups/rgkey/txframecount?timeline=<value>&timescope=<value>&limit=<value>&descen
ding=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/txframecount?timeline=<value>&timescope=<value>&limit=
<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/txframecount?timeline=<value>&timesco
pe=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/txframecount?timeline=<value>&timescope=<value>&limi
t=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/rxframecount?timeline=<value>&timescope=<value>&limit=<value>&desce
nding=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/rxframecount?timeline=<value>&timescope=<value>&limit=
<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/rxframecount?timeline=<value>&timesco
pe=<value>&limit=<value>&descending=<value>

Brocade Network Advisor REST API Guide 111


53-1003160-01
5 Summary data

<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/rxframecount?timeline=<value>&timescope=<value>&limi
t=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/txframerate?timeline=<value>&timescope=<value>&limit=<value>&descend
ing=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/txframerate?timeline=<value>&timescope=<value>&limit=<
value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/txframerate?timeline=<value>&timescope
=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/txframerate?timeline=<value>&timescope=<value>&limit
=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/rxframerate?timeline=<value>&timescope=<value>&limit=<value>&descend
ing=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/rxframerate?timeline=<value>&timescope=<value>&limit=<
value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/rxframerate?timeline=<value>&timescop
e=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/rxframerate?timeline=<value>&timescope=<value>&limit
=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/txwordcount?timeline=<value>&timescope=<value>&limit=<value>&descen
ding=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/txwordcount?timeline=<value>&timescope=<value>&limit=<
value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/txwordcount?timeline=<value>&timescop
e=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/txwordcount?timeline=<value>&timescope=<value>&limit
=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/rxwordcount?timeline=<value>&timescope=<value>&limit=<value>&descen
ding=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/rxwordcount?timeline=<value>&timescope=<value>&limit=<
value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/rxwordcount?timeline=<value>&timescop
e=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/rxwordcount?timeline=<value>&timescope=<value>&limit
=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/txthroughput?timeline=<value>&timescope=<value>&limit=<value>&descen
ding=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/txthroughput?timeline=<value>&timescope=<value>&limit=
<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/txthroughput?timeline=<value>&timescop
e=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/txthroughput?timeline=<value>&timescope=<value>&limit
=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/rxthroughput?timeline=<value>&timescope=<value>&limit=<value>&descen
ding=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/rxthroughput?timeline=<value>&timescope=<value>&limit=
<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/rxthroughput?timeline=<value>&timescop
e=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/rxthroughput?timeline=<value>&timescope=<value>&limi
t=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/avgtxframesize?timeline=<value>&timescope=<value>&limit=<value>&desc
ending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/avgtxframesize?timeline=<value>&timescope=<value>&limit
=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/avgtxframesize?timeline=<value>&timesc
ope=<value>&limit=<value>&descending=<value>

112 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data 5

<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/avgtxframesize?timeline=<value>&timescope=<value>&li
mit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/avgrxframesize?timeline=<value>&timescope=<value>&limit=<value>&desc
ending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/avgrxframesize?timeline=<value>&timescope=<value>&limit
=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/avgrxframesize?timeline=<value>&timesc
ope=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/avgrxframesize?timeline=<value>&timescope=<value>&li
mit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/generatortxframecount?timeline=<value>&timescope=<value>&limit=<value
>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/generatortxframecount?timeline=<value>&timescope=<valu
e>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/generatortxframecount?timeline=<value>
&timescope=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/generatortxframecount?timeline=<value>&timescope=<va
lue>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/generatorrxframecount?timeline=<value>&timescope=<value>&limit=<value
>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/generatorrxframecount?timeline=<value>&timescope=<valu
e>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/generatorrxframecount?timeline=<value>
&timescope=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/generatorrxframecount?timeline=<value>&timescope=<va
lue>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/mirroredframescount?timeline=<value>&timescope=<value>&limit=<value>
&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/mirroredframescount?timeline=<value>&timescope=<value
>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/mirroredframescount?timeline=<value>&t
imescope=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/mirroredframescount?timeline=<value>&timescope=<valu
e>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/mirroredtxframes?timeline=<value>&timescope=<value>&limit=<value>&de
scending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/mirroredtxframes?timeline=<value>&timescope=<value>&li
mit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/mirroredtxframes?timeline=<value>&time
scope=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/mirroredtxframes?timeline=<value>&timescope=<value>
&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/mirroredrxframes?timeline=<value>&timescope=<value>&limit=<value>&de
scending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/mirroredrxframes?timeline=<value>&timescope=<value>&li
mit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/mirroredrxframes?timeline=<value>&time
scope=<value>&limit=<value>&descending=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/mirroredrxframes?timeline=<value>&timescope=<value>
&limit=<value>&descending=<value>

Traffic flow summary notes


• The summaries are applicable to FC only.
• Query parameters include timeline, timescope, and limit.
• The class name of the summary returned is also in the response.

Brocade Network Advisor REST API Guide 113


53-1003160-01
5 Events

Events
The Events API provides GET and POST URIs for retrieving and acknowledging and
unacknowledging events.
The HTTP request header “Accept” must be specified to indicate the content type of the response
payload. For POST requests, the header “Content-type” must also be specified.
• “Event retrieval”
• “Event count”
• “Event acknowledgement”

114 Brocade Network Advisor REST API Guide


53-1003160-01
Events 5

Event retrieval
Returns events.
You can filter the events based on the properties stated in the URI.

GET URIs
URI Description

<BASE_URI>/resourcegroups/All/events?startindex=valu Returns events.


e&count=value&sourceaddr=value&origin=value&severit
y=value&module=value&specialevent=value

Example
Multiple filters are supported. For example, to retrieve the first 100 special trap events, use the
following URI:
http://10.24.48.103/rest/resourcegroups/All/events?startindex=0&count=100&specialEvent=true&origin=trap

Response parameters
Property Description

key The unique identifier.


severity The severity of the event.
acknowledged Indicates if the event is acknowledged.
sourceName The name of the source that triggered the event. This could be the name of the
switch or name of Network Advisor server in the case of application events.
sourceAddr The IP address of the source that triggered the event. This could be the IP
address of the source switch or IP address of Network Advisor server in the case
of application events.
lastOccurrenceHostTime The Network Advisor server timestamp when this event occurred last.
firstOccurrenceHostTime The Network Advisor server timestamp when this event occurred first.
eventCount The number of occurrences of the event. Count indicates the number of times
the same event occurred in a given ten minute window.
specialEvent Indicates whether the event is marked as a special event.
origin The event origin such as Trap, Syslog, and so on.
eventCategory The event category.
description The event description.
module The event module.
productAddress The IP address of the product from which the event has originated.
contributors The contributing factors for the event resulted due to a status change of the
switch.
nodeWwn The WWN of the product for which the event was generated.
portWwn The WWN of the port for which the event was generated.

Brocade Network Advisor REST API Guide 115


53-1003160-01
5 Events

Property Description

operationalStatus The operational status of the product associated with the event.
firstOccurrenceSwitchTime The first occurrence switch timestamp of the event.
lastOccurrenceSwitchTime The last occurrence switch timestamp of the event.
virtualFabricId The virtual fabric ID of the switch which triggered the event.
macAddress The MAC address of the access point from which this event is received. If the
event is received from the wireless controller or any other products, this will be
empty.

Notes
• The response schema is EventsResponse.

116 Brocade Network Advisor REST API Guide


53-1003160-01
Events 5

Event count
Returns the number of events.

GET URIs
URI Description

<BASE_URI>/resourcegroups/All/events/count?sourcea Returns the number of events for all resource groups.


ddr=value&origin=value&severity=value&module=value By specifying the filter values, you can get the number
&specialevent=value of events in that category without having to actually
get the events. This call merely returns the count.

Notes
• The response schema is CountResponse.

Brocade Network Advisor REST API Guide 117


53-1003160-01
5 Events

Event acknowledgement
Acknowledges or unacknowledges an event.

POST URIs
URI Description

<BASE_URI>/resourcegroups/All/events/ekey/acknow Acknowledges a specific event.


ledge
<BASE_URI>/resourcegroups/All/events/ekey/unackn Unacknowledges a specific event.
owledge

Path parameters
Name Description

ekey Event identifier.

Pagination support
Brocade Network Advisor supports up to 10 million events. So, retrieval of events is by pages. The
URI for the next page will be returned in the Location header. For paginated collections, the
response will contain the following additional parameters besides the actual list of events:
• startIndex — The index of the first result returned in this response, relative to the starting
index of all results that would be returned if no startIndex had been requested. In general, this
will be equal to the value requested by the startIndex, or 0 if no specific startIndex was
requested.
• itemsPerPage — The number of results returned per page in this response. In general, this will
be equal to the count query parameter, but could be less if there are less number of events
than requested left to return when starting at the current startIndex.
• totalResults — The total number of items that would be returned if there were no startIndex or
count specified. This value tells the user how many total results to expect, regardless of the
pagination in use, but taking into account the current filtering options in the request.
The HTTP status code for a successful execution of a pagination request will be 206 (Partial
Content) if there are more pages to be retrieved. In addition to returning the page of results, the
HTTP response Location header will be populated with the URI for the next page of the response
for a given request. Users may use this URI to navigate to the next page of response.

Limitations
• Multiple events are not duplicated but stored in the database as a single event with the
property eventCount indicating the number of occurrences of the event and first and last
occurrence times. These events will be returned as is.
• By default, the results are paginated. The user can use the URI of the next page, returned in
the Location header, to navigate to the next page. However, if the user changes the
parameters of that returned URI of the next page, then the results of the next page may not
match up with that of the previous page.

118 Brocade Network Advisor REST API Guide


53-1003160-01
Zoning 5

Zoning
The Zoning API provides GET and POST requests for zone monitoring and administration.
When using this API, you must specify the HTTP request header “Accept” to indicate the content
type of the response payload. For POST requests, you must also specify the header “Content-type”
(for more information, refer to “Specifying content type”).
In addition to the Accept and Content-type headers, you must also specify the HTTP request
header “WSToken,” which contains the session token sent back in response to the login request
(for more information, refer to “Logging in and out”).
• “Zone DBs”
• “Zones”
• “Zone aliases”
• “Zone sets”
• “Zone transactions”
• “Zone transaction management”
• “Zoning object creation”
• “Zoning object deletion”
• “Zoning object updating”
• “Zone set activation”

Brocade Network Advisor REST API Guide 119


53-1003160-01
5 Zoning

Zone DBs
Retrieves active and defined zone database information on any specific fabric.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/zon Returns the active and defined zone configuration in


edbs?active=value the given fabric.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.

Query parameters
Name Description

active Optional The zone database of interest. The complete database can be read in one
call and additional URIs showing the containment of the zoning objects are
also supported. The URIs support retrieval of LSAN zones as well.
This parameter is optional and if not specified, both the active and defined
zone configurations are returned in a ZoneDbsResponse.
To retrieve the active configuration, set this parameter to true.
To retrieve the defined configuration, set this parameter to false.

Response parameters
Name Description

key Zone identifier (principalSwitchWwn-active).


active Whether zone is active.
checksum Checksum value.
zones List of zones.
zonealiases List of zone alias names.
zonesets List of zone sets.

Notes
• The response schema is ZoneDbsResponse.

120 Brocade Network Advisor REST API Guide


53-1003160-01
Zoning 5

Zones
Returns the active and defined zones of a fabric. The query parameter “active” is optional and if
not specified, both the active and defined zones are returned in a ZonesResponse.
In order to retrieve the active zones, “active” should be set to “true”. If a value other than true is
specified, then that value will be mapped to Boolean (false) and defined zones will be returned.
Zones may also be retrieved based on ZoneType.
The query parameter type can be used to specify the ZoneType required. If not specified, then both
standard and LSAN zones are returned. If an invalid value is specified, then this will map to
ZoneType.STANDARD and standard zones will be returned.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/zon Returns the active and defined zones in the given


es?active=<value>&type=<value> fabric.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/zon Returns the details of the specified zone.
es/zkey

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.
zkey Zone identifier.

Query parameters
Name Description

active Optional Zone status (active or defined). If not specified, both active and defined
zones are returned in the response (ZonesResponse).
To retrieve active zones, set this parameter to true.
To retrieve defined zones, set this parameter to false.
type Optional ZoneType. If not specified, then both standard and LSAN zones are
returned. If an invalid value is specified, standard zones
(ZoneType.STANDARD) are returned.

Response parameters
Name Description

key Zone identifier (name-active).


name Zone name.
type Zone type (standard, ISAN).
active Whether zone is active.

Brocade Network Advisor REST API Guide 121


53-1003160-01
5 Zoning

Name Description

aliasNames List of zone alias names.


memberNames List of members. These can be WWNs or D,P.

Notes
• The response schema is ZonesResponse.

122 Brocade Network Advisor REST API Guide


53-1003160-01
Zoning 5

Zone aliases
Returns the zone aliases in the given zone.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/zon Returns the zone aliases in the given zone.


es/zkey/zonealiases
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/zon Returns the zone aliases in the given fabric.
ealiases
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/zon Returns the details of the given zone alias.
ealiases/zakey

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.
zkey Zone identifier.
zakey Zone alias identifier.

Response parameters
Name Description

key Alias key (name).


name Alias name.
memberNames List of members. These can be WWNs or D,P.

Notes
• The response schema is ZoneAliasesResponse.

Brocade Network Advisor REST API Guide 123


53-1003160-01
5 Zoning

Zone sets
Returns the active and defined zone sets in the given fabric. The query parameter “active” is
optional and if not specified, both the active and defined zone sets are returned in a
ZoneSetsResponse. In order to retrieve the active zone set, “active” should be set to “true”.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/zon Returns the active and defined zone sets in the given
esets?active=<value> fabric.
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/zon Returns the details of the given zone set.
esets/zskey
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/zon Returns the zones in the given zone set.
esets/zskey/zones

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.
zskey Zone set identifier.

Response parameters
Name Description

key Zone identifier (name-active).


name Zone set name.
active Whether zone set is active.
zoneNames List of zone names.

Query parameters
Name Description

active Optional ZoneSet status (active or defined). If not specified, both active and defined
zonesets are returned in the response (ZoneSetsResponse).
To retrieve active zonesets, set this parameter to true.
To retrieve defined zonesets, set this parameter to false.

Notes
• The response schema is ZoneSetsResponse.

124 Brocade Network Advisor REST API Guide


53-1003160-01
Zoning 5

Zone transactions
Returns the details of a zone transaction on a specific FC fabric.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/zon Returns the details of zone transactions on a given


etransaction fabric in a ZoneTransactionResponse. The returned
parameters specify whether the zone transaction is a
regular or LSAN.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.

Response parameters
Name Description

key Zone transaction identifier.


lsanZoning Zone transaction type (LSAN if true; regular otherwise.)
active Whether the zone transaction is active.
timeout Session timeout in seconds.

Notes
• The response schema is ZoneTransactionResponse.

Brocade Network Advisor REST API Guide 125


53-1003160-01
5 Zoning

Zone transaction management


To carry out zoning or LSAN zoning operations, the operations must be performed in the context of
a zoning transaction. The following URI provides support for starting, committing, and aborting a
zone transaction on a specific fabric.

POST URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/con Starts, commits, or aborts a zone transaction on a


trolzonetransaction specific fabric.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.

Request parameters
Name Description

lsanZoning Whether to carry out LSAN zoning (case-sensitive, use either true or false).
action The action to perform (START, ABORT or COMMIT). Refer to TransactionAction under
ControlZoneTransactionRequest.

Note
• You must create a request instance of type ControlZoneTransactionRequest and send it
through the POST request.
• If you are carrying out LSAN zoning, you must set the lsanZoning parameter to true. It is false
by default.
• LSAN zoning is supported only in the context of a backbone fabric.
• The Boolean properties in the input are case-sensitive. Only a value of “true” in the input
converts to a Boolean true. All other values are interpreted as Boolean false.
• The request schema is ControlZoneTransactionRequest.

126 Brocade Network Advisor REST API Guide


53-1003160-01
Zoning 5

Zoning object creation


Creates zoning objects.

POST URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/cre Creates defined zoning objects as specified in the


atezoningobject CreateZoningObjectRequest.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.

Request parameters
Name Description

zones The zones to be created. Only name, type, aliasNames, and memberNames within the
zone are considered.
zoneAliases The zonealiases to be created. Only name and memberNames within the zonealias are
considered.
zoneSets The zonesets to be created. Only name and zoneNames within the zoneset are
considered.
edgeFabricWwns The principal WWNs of the edge fabrics to which the LSAN zones must
be propagated. This parameter is applicable to LSAN zone creation only.

Notes
• Only the following properties in the request object are considered when creating zoning
objects:
- zones: name, type, aliasNames, and memberNames.
- zoneSets: name and zoneNames.
- zoneAliases: name and memberNames.
- edgeFabricWwns: The principal WWNs of the edge fabrics to which the LSAN zones must
be propagated. This parameter is applicable for LSAN zone creation only.

NOTE
The name of the object in the input is mandatory. In the event that zoning object names or
member names contain white spaces, the spaces are removed and the operation proceeds as
usual.

• The request schema is CreateZoningObjectRequest.

Brocade Network Advisor REST API Guide 127


53-1003160-01
5 Zoning

Zoning object deletion


Deletes zoning objects.

GET URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/del Deletes the defined zoning objects as specified in the


etezoningobject DeleteZoningObjectRequest.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.

Request parameters
Name Description

zoneNames The zone names to be deleted.


zoneAliasNames The zonealias names to be deleted.
zoneSetNames The zoneset names to be deleted.

Notes
• The request schema is DeleteZoningObjectRequest.

128 Brocade Network Advisor REST API Guide


53-1003160-01
Zoning 5

Zoning object updating


Updates zoning objects.
The URI in the following table provides support for updating zoning objects. This includes LSAN
zones.
Only defined zoning objects can be created, updated, or deleted. The active parameter is ignored
in the objects in the input requests.
Only the zoning object name, type, and member names are considered. The name of the object in
the input is mandatory.
In the event that zoning object names or member names contain white spaces, they will be
removed and the operation will proceed as usual.

POST URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/up Updates “defined” zoning objects as specified by


datezoningobject UpdateZoningObjectRequest.

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.

Request parameters
Name Description

action Whether to add or remove zones. Refer to UpdateAction under


UpdateZoningObjectRequest.
zones The zones to be updated. Only name, type, aliasNames, and memberNames within the
zone are considered.
zoneAliases The zonealiases to be updated. Only name and memberNames within the zonealias are
considered.
zoneSets The zonesets to be updated. Only name and zoneNames within the zoneset are
considered.
edgeFabricWwns The principal WWNs of the edge fabrics to which the LSAN zones must be propagated. This
parameter is applicable for LSAN zone update only.

Notes
Only the following properties in the request object are considered for an update operation.
• zones: name, type, aliasNames and memberNames.
• zoneSets: name and zoneNames.
• zoneAliases: name and memberNames.

Brocade Network Advisor REST API Guide 129


53-1003160-01
5 Zoning

• The request schema is UpdateZoningObjectRequest.

130 Brocade Network Advisor REST API Guide


53-1003160-01
Zoning 5

Zone set activation


Activates or deactivates a zone set.

POST URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/zon Activates a given zone set.


esets/zskey/activate
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/zon Deactivates a given zone set.
esets/zskey/deactivate

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.
zskey Zone set identifier.

Notes
• Activation or deactivation of a zone set is only supported outside the context of a zoning
transaction.

Brocade Network Advisor REST API Guide 131


53-1003160-01
5 Zoning

Initiator target zoning


Carries out initiator-to-target attach and detach operations.

POST URIs
URI Description

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/att Carries out initiator-to-target attach operations.


ach
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/det Carries out initiator-to-target detach operations.
ach

Path parameters
Name Description

rgkey Resource group identifier.


fcfkey FC fabric identifier.

Request parameters
Name Description

lsanZoning Whether this is an LSAN operation (case-sensitive, use either true or false).
zoneNamePrefix This parameter is by default NARestZone unless specified. For LSAN zoning, the prefix is
fixed as LSAN. All LSAN zone names start with LSAN_.
initiator The WWN of the initiator.
targets The WWN of the targets.
activate Whether to activate the zoneset (case-sensitive, use either true or false).
edgeFabricWwns The principal WWNs of the edge fabrics to which the LSAN zones must be propagated. This
parameter is applicable for LSAN zoning only.

Notes
• The InitiatorTargetsRequest instance must be formed and sent through the POST request.
• This URI supports single initiator to single target and single initiator to multiple target zoning.
• The initiator and targets must be WWNs.
• The active zone set name will be “NARestZoneSet.”
• In the case of single initiator – single target zoning, the zone name is
<zoneNamePrefix>_<no colon initiator WWN>_<no colon target WWN>.
• In the case of single initiator – multiple target zoning, the zone name will be
<zoneNamePrefix>_<no colon initiator WWN>.
• At least one initiator and one target in the input are mandatory.
• In the event that initiator or targets contain white spaces, they will be removed and the
operation will proceed as usual.

132 Brocade Network Advisor REST API Guide


53-1003160-01
Zoning 5

• You can control whether to activate the zone set using the activate property (applicable for
Standard zoning only).
• LSAN zoning is supported only in the context of a backbone fabric.
• The Boolean properties in the input are case-sensitive. Only a value of “true” in the input
converts to a Boolean true. All else is Boolean false.
• Attach means engaging an initiator with targets by activating the zone. Attach is meaningful
when the activate flag is true. Using the activate flag as false is a convenience operation to
create the zone for later attach use. When activate is false, there is no actual attach but only
that of creation. Similarly, detach means disengaging an initiator from targets by deactivating
the zone. If nothing is active, then there is nothing to detach. If a zone containing the initiator
and targets exists, it will not be deleted, but will be retained in the defined configuration for
later use.
• The request schema is InitiatorTargetsRequest.

Brocade Network Advisor REST API Guide 133


53-1003160-01
5 Historical performance data

Historical performance data


This section lists the URIs for retrieving historical performance data for ports, switches, and flows
based on a measure:
• Port performance data can be retrieved in the context of a resource group or switch.
• Switch performance data can be retrieved in the context of a resource group or fabric.
• Traffic flow performance data can be retrieved in the context of a specific switch only.
Depending on the scope of the context, the relevant performance data is returned.
In the URIs, you can specify query parameters as shown in the following table.
TABLE 8 Query parameters
Name Type Default value

duration (expressed in seconds) (takes precedence over long 3600 seconds (1 hour)
start and end dates)
startdate (date expressed as a long milliseconds value) long N/A
enddate (date expressed as a long milliseconds value) long N/A
granularity TimeSeriesGranularity GRANULARITY_MINIMUM

• If all the parameters (duration, start date and end date) are provided, duration takes
precedence.
• If the duration is less than or equal to 0, then it will default to 3600 seconds unless the start
and end dates are specified.
• The start and end dates are long values.
• The response schema is PerformanceDataResponse

Port-related performance data URIs


The following table shows the mapping of the URIs to the specific measures.
TABLE 9 Mapping of the port-related performance data URIs to the specific measures
Measure Type URI

Port Utilization Percentage FC timeseriesutilpercentage


Traffic FC timeseriestraffic
CRC Errors FC timeseriescrcerrors
Link Resets FC timeserieslinkresets
Signal Losses FC timeseriessignallosses
Sync Losses FC timeseriessynclosses
Link Failures FC timeserieslinkfailures
Sequence Errors FC timeseriessequenceerrors
Invalid Transmissions FC timeseriesinvalidtransmissions
C3 Discards FC timeseriesc3discards
C3 Discards TX TO FC timeseriesc3discardstxto

134 Brocade Network Advisor REST API Guide


53-1003160-01
Historical performance data 5

TABLE 9 Mapping of the port-related performance data URIs to the specific measures
Measure Type URI

C3 Discards RX TO FC timeseriesc3discardsrxto
C3 Discards Unreachable FC timeseriesc3discardsunreachable
C3 Discards Other FC timeseriesc3discardsother
Encode Error Out FC timeseriesencodeerrorout
SFP Power FC timeseriessfppower
SFP Voltage FC timeseriessfpvoltage
SFP Current FC timeseriessfpcurrent
SFP Temperature FC timeseriessfptemperature
Invalid Ordered Sets FC timeseriesinvalidorderedsets
BB Credit Zero FC timeseriesbbcreditzero
Truncated Frames FC timeseriestruncatedframes
Cumulative Compression Ratio FCIP timeseriescompressionratio
Latency FCIP timeserieslatency
Dropped Packets FCIP timeseriesdroppedpackets
Link Retransmits FCIP timeserieslinkretransmits
Timeout Retransmits FCIP timeseriestimeoutretransmits
Fast Retransmits FCIP timeseriesfastretransmits
Duplicate Ack Received FCIP timeseriesdupackrecvd
Window Size RTT FCIP timeserieswindowsizertt
TCP Out Of Order FCIP timeseriestcpooosegments
SlowStart Status Errors FCIP timeseriesslowstartstatuserrors
Current Compression Ratio FCIP timeseriesrealtimecompressionratio

Limitations
• There is an imposed limit of 100 ports. The number of ports within the chosen resource group,
fabric, or switch must not exceed 100.
• For GRANULARITY_MINIMUM, the duration or the start-to-end date range cannot exceed 1
day.
• For GRANULARITY_30MIN, the duration or the start-to-end date range cannot exceed 5 days.
• For GRANULARITY_2HOUR, the duration or the start-to-end date range cannot exceed 20
days.
• For GRANULARITY_1DAY, the duration or the start-to-end date range cannot exceed 200 days.

Notes
• The port-related performance data URIs are applicable for ports only.

Brocade Network Advisor REST API Guide 135


53-1003160-01
5 Historical performance data

URIs for FC measures


The following URIs are applicable for FC ports only.
<BASE_URI>/resourcegroups/rgkey/timeseriesutilpercentage?granularity=<value>&startdate=<value>&enddate=
<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesutilpercentage?granularity=<val
ue>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesutilpercentage?granularity=<value>&startdate=
<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriestraffic?granularity=<value>&startdate=<value>&enddate=<value>
&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriestraffic?granularity=<value>&sta
rtdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriestraffic?granularity=<value>&startdate=<value>
&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriescrcerrors?granularity=<value>&startdate=<value>&enddate=<valu
e>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriescrcerrors?granularity=<value>&
startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriescrcerrors?granularity=<value>&startdate=<valu
e>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeserieslinkresets?granularity=<value>&startdate=<value>&enddate=<val
ue>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeserieslinkresets?granularity=<value>
&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeserieslinkresets?granularity=<value>&startdate=<val
ue>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriessignallosses?granularity=<value>&startdate=<value>&enddate=<
value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriessignallosses?granularity=<valu
e>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriessignallosses?granularity=<value>&startdate=<v
alue>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriessynclosses?granularity=<value>&startdate=<value>&enddate=<va
lue>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriessynclosses?granularity=<value
>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriessynclosses?granularity=<value>&startdate=<val
ue>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeserieslinkfailures?granularity=<value>&startdate=<value>&enddate=<v
alue>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeserieslinkfailures?granularity=<value
>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeserieslinkfailures?granularity=<value>&startdate=<va
lue>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriessequenceerrors?granularity=<value>&startdate=<value>&enddate
=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriessequenceerrors?granularity=<v
alue>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriessequenceerrors?granularity=<value>&startdate
=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriesinvalidtransmissions?granularity=<value>&startdate=<value>&end
date=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesinvalidtransmissions?granularit
y=<value>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesinvalidtransmissions?granularity=<value>&start
date=<value>&enddate=<value>&duration=<value>

136 Brocade Network Advisor REST API Guide


53-1003160-01
Historical performance data 5

<BASE_URI>/resourcegroups/rgkey/timeseriesc3discards?granularity=<value>&startdate=<value>&enddate=<va
lue>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesc3discards?granularity=<value
>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesc3discards?granularity=<value>&startdate=<va
lue>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriesc3discardstxto?granularity=<value>&startdate=<value>&enddate=
<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesc3discardstxto?granularity=<va
lue>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesc3discardstxto?granularity=<value>&startdate=
<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriesc3discardsrxto?granularity=<value>&startdate=<value>&enddate
=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesc3discardsrxto?granularity=<va
lue>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesc3discardsrxto?granularity=<value>&startdate=
<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriesc3discardsunreachable?granularity=<value>&startdate=<value>&
enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesc3discardsunreachable?granul
arity=<value>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesc3discardsunreachable?granularity=<value>&st
artdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriesc3discardsother?granularity=<value>&startdate=<value>&enddat
e=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesc3discardsother?granularity=<v
alue>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesc3discardsother?granularity=<value>&startdate
=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriesencodeerrorout?granularity=<value>&startdate=<value>&enddate
=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesencodeerrorout?granularity=<v
alue>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesencodeerrorout?granularity=<value>&startdate
=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriessfppower?granularity=<value>&startdate=<value>&enddate=<val
ue>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriessfppower?granularity=<value>
&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriessfppower?granularity=<value>&startdate=<valu
e>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriessfpvoltage?granularity=<value>&startdate=<value>&enddate=<val
ue>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriessfpvoltage?granularity=<value>
&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriessfpvoltage?granularity=<value>&startdate=<val
ue>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriessfpcurrent?granularity=<value>&startdate=<value>&enddate=<val
ue>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriessfpcurrent?granularity=<value>
&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriessfpcurrent?granularity=<value>&startdate=<val
ue>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriessfptemperature?granularity=<value>&startdate=<value>&enddate
=<value>&duration=<value>

Brocade Network Advisor REST API Guide 137


53-1003160-01
5 Historical performance data

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriessfptemperature?granularity=<v
alue>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriessfptemperature?granularity=<value>&startdate
=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriesinvalidorderedsets?granularity=<value>&startdate=<value>&endd
ate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesinvalidorderedsets?granularity=
<value>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesinvalidorderedsets?granularity=<value>&startda
te=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriesbbcreditzero?granularity=<value>&startdate=<value>&enddate=<
value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesbbcreditzero?granularity=<valu
e>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesbbcreditzero?granularity=<value>&startdate=<v
alue>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriestruncatedframes?granularity=<value>&startdate=<value>&enddat
e=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriestruncatedframes?granularity=<
value>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriestruncatedframes?granularity=<value>&startdat
e=<value>&enddate=<value>&duration=<value>

URIs for FCIP measures


The following URIs are applicable for FCIP ports only.
<BASE_URI>/resourcegroups/rgkey/timeseriescompressionratio?granularity=<value>&startdate=<value>&endda
te=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriescompressionratio?granularity=<
value>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriescompressionratio?granularity=<value>&startdat
e=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeserieslatency?granularity=<value>&startdate=<value>&enddate=<value
>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeserieslatency?granularity=<value>&st
artdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeserieslatency?granularity=<value>&startdate=<value
>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriesdroppedpackets?granularity=<value>&startdate=<value>&enddat
e=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesdroppedpackets?granularity=<v
alue>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesdroppedpackets?granularity=<value>&startdate
=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeserieslinkretransmits?granularity=<value>&startdate=<value>&enddate
=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeserieslinkretransmits?granularity=<va
lue>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeserieslinkretransmits?granularity=<value>&startdate=
<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriestimeoutretransmits?granularity=<value>&startdate=<value>&endd
ate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriestimeoutretransmits?granularity
=<value>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriestimeoutretransmits?granularity=<value>&startd
ate=<value>&enddate=<value>&duration=<value>

138 Brocade Network Advisor REST API Guide


53-1003160-01
Historical performance data 5

<BASE_URI>/resourcegroups/rgkey/timeseriesfastretransmits?granularity=<value>&startdate=<value>&enddate
=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesfastretransmits?granularity=<v
alue>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesfastretransmits?granularity=<value>&startdate
=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriesdupackrecvd?granularity=<value>&startdate=<value>&enddate=<
value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesdupackrecvd?granularity=<valu
e>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesdupackrecvd?granularity=<value>&startdate=<
value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeserieswindowsizertt?granularity=<value>&startdate=<value>&enddate=
<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeserieswindowsizertt?granularity=<val
ue>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeserieswindowsizertt?granularity=<value>&startdate=<
value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriestcpooosegments?granularity=<value>&startdate=<value>&enddat
e=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriestcpooosegments?granularity=<
value>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriestcpooosegments?granularity=<value>&startdat
e=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriesslowstartstatuserrors?granularity=<value>&startdate=<value>&en
ddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesslowstartstatuserrors?granulari
ty=<value>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesslowstartstatuserrors?granularity=<value>&star
tdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriesrealtimecompressionratio?granularity=<value>&startdate=<value>
&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesrealtimecompressionratio?gran
ularity=<value>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesrealtimecompressionratio?granularity=<value>&
startdate=<value>&enddate=<value>&duration=<value>

Product-related performance data URIs


The following table shows the mapping of the URIs to the specific measures.
TABLE 10 Mapping of the product-related performance data URIs to the specific measures
Measure URI

Memory Utilization Percentage timeseriesmemoryutilpercentage


CPU Utilization Percentage timeseriescpuutilpercentage
Temperature timeseriestemperature
Fan Speed timeseriesfanspeed
Response Time timeseriesresponsetime
System Up Time timeseriessystemuptime
Ports Not In Use timeseriesportsnotinuse
Ping Packet Loss Percentage timeseriespingpktlosspercentage

Brocade Network Advisor REST API Guide 139


53-1003160-01
5 Historical performance data

Limitations
• There is an imposed limit of 100 switches. The number of switches within the chosen scope
must not exceed 100.
• For GRANULARITY_MINIMUM, the duration or the start-to-end date range cannot exceed 1
day.
• For GRANULARITY_30MIN, the duration or the start-to-end date range cannot exceed 5 days.
• For GRANULARITY_2HOUR, the duration or the start-to-end date range cannot exceed 20
days.
• For GRANULARITY_1DAY, the duration or the start-to-end date range cannot exceed 200 days.
Product-related performance data URIs
The following URIs are applicable for FC switches only.
<BASE_URI>/resourcegroups/rgkey/timeseriesmemoryutilpercentage?granularity=<value>&startdate=<value>&e
nddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/timeseriesmemoryutilpercentage?granularity=<value>&start
date=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriescpuutilpercentage?granularity=<value>&startdate=<value>&endd
ate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/timeseriescpuutilpercentage?granularity=<value>&startdate
=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriestemperature?granularity=<value>&startdate=<value>&enddate=<
value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/timeseriestemperature?granularity=<value>&startdate=<val
ue>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriesfanspeed?granularity=<value>&startdate=<value>&enddate=<val
ue>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/timeseriesfanspeed?granularity=<value>&startdate=<value
>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriesresponsetime?granularity=<value>&startdate=<value>&enddate=
<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/timeseriesresponsetime?granularity=<value>&startdate=<va
lue>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriessystemuptime?granularity=<value>&startdate=<value>&enddate=
<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/timeseriessystemuptime?granularity=<value>&startdate=<v
alue>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/timeseriesportsnotinuse?granularity=<value>&startdate=<value>&enddate=
<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/timeseriesportsnotinuse?granularity=<value>&startdate=<v
alue>&enddate=<value>&duration=<value>

Traffic flow-related performance data URIs


TABLE 11 Mapping of the traffic flow-related performance data URIs to the specific measures
Measure Type URI

SCSI Read Frame Count (frames) SCSI timeseriesscsireadframecount


SCSI Write Frame Count (frames SCSI timeseriesscsiwriteframecount
SCSI Read Frame Rate (f/s) SCSI timeseriesscsireadframerate
SCSI Write Frame Rate (f/s) SCSI timeseriesscsiwriteframerate

140 Brocade Network Advisor REST API Guide


53-1003160-01
Historical performance data 5

TABLE 11 Mapping of the traffic flow-related performance data URIs to the specific measures
Measure Type URI

SCSI Read Data (bytes) SCSI timeseriesscsireaddata


SCSI Write Data (bytes) SCSI timeseriesscsiwritedata
SCSI Read Data Rate (mbps) SCSI timeseriesscsireaddatarate
SCSI Write Data Rate (mbps) SCSI timeseriesscsiwritedatarate
Transmit Frame Count (frames) Frame timeseriestxframecount
Receive Frame Count (frames) Frame timeseriesrxframecount
Transmit Frame Rate (f/s) Frame timeseriestxframerate
Receive Frame Rate (f/s) Frame timeseriesrxframerate
Transmit Word Count (bytes) Frame timeseriestxwordcount
Receive Word Count (bytes) Frame timeseriesrxwordcount
Transmit Throughput (mbps) Frame timeseriestxthroughput
Receive Throughput (mbps) Frame timeseriesrxthroughput
Average Transmit Frame Size (bytes) Frame timeseriesavgtxframesize
Average Receive Frame Size (bytes) Frame timeseriesavgrxframesize
Generator Transmit Frame Count (frames) Frame timeseriesgeneratortxframecount
Generator Receive Frame Count (frames) Frame timeseriesgeneratorrxframecount
Mirrored Frames Count (frames) Frame timeseriesmirroredframescount
Mirrored Transmit Frames (frames) Frame timeseriesmirroredtxframes
Mirrored Receive Frames (frames) Frame timeseriesmirroredrxframes

Limitations
• There is an imposed limit of 100 flows. The number of flows within the chosen switch must not
exceed 100.
• For GRANULARITY_MINIMUM, the duration or the start-to-end date range cannot exceed 1
day.
• For GRANULARITY_30MIN, the duration or the start-to-end date range cannot exceed 5 days.
• For GRANULARITY_2HOUR, the duration or the start-to-end date range cannot exceed 20
days.
• For GRANULARITY_1DAY, the duration or the start-to-end date range cannot exceed 200 days.
The following URIs are applicable for traffic flows only. They are supported at the context of a
specific switch.

URIs for SCSI measures


<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesscsireadframecount?granularity
=<value>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesscsireadframecount?granularity=<value>&start
date=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesscsiwriteframecount?granularit
y=<value>&startdate=<value>&enddate=<value>&duration=<value>

Brocade Network Advisor REST API Guide 141


53-1003160-01
5 Historical performance data

<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesscsiwriteframecount?granularity=<value>&start
date=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesscsireadframerate?granularity=
<value>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesscsireadframerate?granularity=<value>&startda
te=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesscsiwriteframerate?granularity=
<value>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesscsiwriteframerate?granularity=<value>&startd
ate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesscsireaddata?granularity=<valu
e>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesscsireaddata?granularity=<value>&startdate=<
value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesscsiwritedata?granularity=<valu
e>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesscsiwritedata?granularity=<value>&startdate=<
value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesscsireaddatarate?granularity=<
value>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesscsireaddatarate?granularity=<value>&startdat
e=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesscsiwritedatarate?granularity=<
value>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesscsiwritedatarate?granularity=<value>&startdat
e=<value>&enddate=<value>&duration=<value>

URIs for frame measures


<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriestxframecount?granularity=<val
ue>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriestxframecount?granularity=<value>&startdate=<
value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesrxframecount?granularity=<val
ue>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesrxframecount?granularity=<value>&startdate=<
value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriestxframerate?granularity=<value
>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriestxframerate?granularity=<value>&startdate=<v
alue>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesrxframerate?granularity=<value
>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesrxframerate?granularity=<value>&startdate=<v
alue>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriestxwordcount?granularity=<valu
e>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriestxwordcount?granularity=<value>&startdate=<v
alue>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesrxwordcount?granularity=<valu
e>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesrxwordcount?granularity=<value>&startdate=<v
alue>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriestxthroughput?granularity=<valu
e>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriestxthroughput?granularity=<value>&startdate=<
value>&enddate=<value>&duration=<value>

142 Brocade Network Advisor REST API Guide


53-1003160-01
Historical performance data 5

<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesrxthroughput?granularity=<valu
e>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesrxthroughput?granularity=<value>&startdate=<
value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesavgtxframesize?granularity=<va
lue>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesavgtxframesize?granularity=<value>&startdate=
<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesavgrxframesize?granularity=<va
lue>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesavgrxframesize?granularity=<value>&startdate=
<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesgeneratortxframecount?granula
rity=<value>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesgeneratortxframecount?granularity=<value>&st
artdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesgeneratorrxframecount?granula
rity=<value>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesgeneratorrxframecount?granularity=<value>&st
artdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesmirroredframescount?granulari
ty=<value>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesmirroredframescount?granularity=<value>&star
tdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesmirroredtxframes?granularity=<
value>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesmirroredtxframes?granularity=<value>&startdat
e=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcfabrics/fcfkey/fcswitches/fcskey/timeseriesmirroredrxframes?granularity=
<value>&startdate=<value>&enddate=<value>&duration=<value>
<BASE_URI>/resourcegroups/rgkey/fcswitches/fcskey/timeseriesmirroredrxframes?granularity=<value>&startdat
e=<value>&enddate=<value>&duration=<value>

Brocade Network Advisor REST API Guide 143


53-1003160-01
5 Authentication and session management

Authentication and session management


Only a valid Brocade Network Advisor user can access its web services. This means that a login is
required and you must have a valid non-empty password to log in. The REST interface provides two
operations: login and logout of a client session.
• “Login”
• “Logout”

144 Brocade Network Advisor REST API Guide


53-1003160-01
Authentication and session management 5

Login
Logs in to a Network Advisor Server REST API session.

POST URIs
URI Description

<BASE_URI>/login Returns, if successful, the Network Advisor Server


credentials in a LoginResponse.

HTTP request headers


A valid user name and password (non-empty) is required for login and this is sent through the HTTP
request headers. You must add the headers while forming the POST request. The following are the
header names and values. The password is passed as plain text.
Request header name Request header value

Accept The content type.


WSusername The valid Network Advisor user name.
WSpassword The valid non-empty password. It is passed as plain text.

HTTP response header


Upon successful authentication, the server creates a new client session and returns a token
through the HTTP response header. The token identifies the client’s session and must be used for
all subsequent REST requests.
Response Header Name Request header value

WStoken The session token to be used for all subsequent REST requests. If no request is made
for 10 minutes or more, the session expires and you must log in again.

Response parameters
Name Description

serverName Server name.


serverIp Server IP address.

Brocade Network Advisor REST API Guide 145


53-1003160-01
5 Authentication and session management

Logout
Logs out from the Network Advisor server.

POST URIs
URI Description

<BASE_URI>/logout Ends the current session and logs you out.

HTTP request headers


A valid token is required for logout and this is sent through the HTTP request header. The user
adds the header while forming the POST request.
Request header name Request header value

WStoken The token obtained from login.

Notes
• The logout operation does not have a return value and thus there is no must specify the
content type.
• Successful completion of the request results in the deletion of the client session. An HTTP
status code of 204 (No Content) is returned upon success.

146 Brocade Network Advisor REST API Guide


53-1003160-01
Appendix

Request and Response Schemas A

In this chapter
• Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
• SAN fabric discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
• Summary data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
• Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
• Zoning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
• Historical performance data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
• Authentication and session management . . . . . . . . . . . . . . . . . . . . . . . . . . 175
This appendix lists the request and response schemas of the Network Advisor REST API.

Topology
ResourceGroupsResponse
<xs:simpleType name="ResourceGroupType">
<xs:restriction base="xs:string">
<xs:enumeration value="ALL"/>
<xs:enumeration value="FC_FABRIC"/>
<xs:enumeration value="PRODUCT_GROUP"/>
<xs:enumeration value="PORT_GROUP"/>
<xs:enumeration value="USER_DEFINED"/>
</xs:restriction>
</xs:simpleType>

<xs:complexType name="ResourceGroup">
<xs:sequence>
<xs:element name="key" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="type" type="tns:ResourceGroupType"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="ResourceGroupsResponse">
<xs:sequence>
<xs:element name="resourceGroups" type="ns1:ResourceGroup" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

Brocade Network Advisor REST API Guide 147


53-1003160-01
A Topology

FcFabricsResponse
<xs:<xs:complexType name="FcFabric">
<xs:sequence>
<xs:element name="key" type="xs:string"/>
<xs:element name="seedSwitchWwn" type="xs:string"/>
<xs:element name="name" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="secure" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="adEnvironment" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="contact" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="location" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="description" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="principalSwitchWwn" type="xs:string"/>
<xs:element name="fabricName" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="virtualFabricId" type="xs:short" nillable="true" minOccurs="0"/>
<xs:element name="seedSwitchIpAddress" type="xs:string"/>
</xs:sequence>
</xs:complexType>

<xs:<xs:complexType name="FcFabricsResponse">
<xs:sequence>
<xs:element name="fcFabrics" type="ns1:FcFabric" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

FcSwitchesResponse
<xs:complexType name="FcSwitch">
<xs:sequence>
<xs:element name="key" type="xs:string"/>
<xs:element name="type" type="xs:short"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="wwn" type="xs:string"/>
<xs:element name="virtualFabricId" type="xs:short" nillable="true" minOccurs="0"/>
<xs:element name="domainId" type="xs:short"/>
<xs:element name="baseSwitch" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="role" type="tns:RoleType" nillable="true" minOccurs="0"/>
<xs:element name="fcsRole" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="adCapable" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="operationalStatus" type="tns:OperStatusType" nillable="true"
minOccurs="0"/>
<xs:element name="state" type="tns:StateType" nillable="true" minOccurs="0"/>
<xs:element name="statusReason" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="lfEnabled" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="defaultLogicalSwitch" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="fmsMode" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="dynamicLoadSharingCapable" type="xs:boolean" nillable="true"
minOccurs="0"/>
<xs:element name="portBasedRoutingPresent" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="inOrderDeliveryCapable" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="persistentDidEnabled" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="autoSnmpEnabled" type="xs:boolean" nillable="true" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

<xs:simpleType name="RoleType">
<xs:restriction base="xs:string">
<xs:enumeration value="UNKNOWN"/>
<xs:enumeration value="PRINCIPAL"/>

148 Brocade Network Advisor REST API Guide


53-1003160-01
Topology A

<xs:enumeration value="SUBORDINATE"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="OperStatusType">
<xs:restriction base="xs:string">
<xs:enumeration value="UNKNOWN"/>
<xs:enumeration value="HEALTHY"/>
<xs:enumeration value="DOWN"/>
<xs:enumeration value="NOT_REACHABLE"/>
<xs:enumeration value="MARGINAL"/>
<xs:enumeration value="CRITICAL"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="StateType">
<xs:restriction base="xs:string">
<xs:enumeration value="UNKNOWN"/>
<xs:enumeration value="ONLINE"/>
<xs:enumeration value="OFFLINE"/>
</xs:restriction>
</xs:simpleType>

<xs:complexType name="FcSwitchesResponse">
<xs:sequence>
<xs:element name="fcSwitches" type="ns1:FcSwitch" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

PhysicalSwitchesResponse
<xs:complexType name="PhysicalSwitch">
<xs:sequence>
<xs:element name="key" type="xs:string"/>
<xs:element name="wwn" type="xs:string"/>
<xs:element name="ipAddress" type="xs:string"/>
<xs:element name="userId" type="xs:string"/>
<xs:element name="firmwareVersion" type="xs:string"/>
<xs:element name="vendor" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="supplierSerialNumber" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="partNumber" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="modelNumber" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="manufacturer" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="switchSerialNumber" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="vendorVersion" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="vendorPartNumber" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="snmpInformsEnabled" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="contact" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="location" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="description" type="xs:string" nillable="true" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="PhysicalSwitchesResponse">
<xs:sequence>
<xs:element name="physicalSwitches" type="ns1:PhysicalSwitch" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

Brocade Network Advisor REST API Guide 149


53-1003160-01
A Topology

AccessGatewaysResponse
<xs:complexType name="AccessGateway">
<xs:sequence>
<xs:element name="key" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="wwn" type="xs:string"/>
<xs:element name="operationalStatus" type="tns:OperStatusType"/>
<xs:element name="state" type="tns:StateType"/>
<xs:element name="statusReason" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="firmwareVersion" type="xs:string"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="AccessGatewaysResponse">
<xs:sequence>
<xs:element name="accessGateways" type="ns1:AccessGateway" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

FcPortsResponse
<xs:complexType name="FcPort">
<xs:sequence>
<xs:element name="key" type="xs:string"/>
<xs:element name="wwn" type="xs:string"/>
<xs:element name="name" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="slotNumber" type="xs:int" nillable="true" minOccurs="0"/>
<xs:element name="portNumber" type="xs:short"/>
<xs:element name="userPortNumber" type="xs:short"/>
<xs:element name="portId" type="xs:string"/>
<xs:element name="portIndex" type="xs:short"/>
<xs:element name="areaId" type="xs:short"/>
<xs:element name="type" type="tns:PortType"/>
<xs:element name="status" type="tns:PortStatusType"/>
<xs:element name="statusMessage" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="lockedPortType" type="tns:PortType" nillable="true" minOccurs="0"/>
<xs:element name="speed" type="xs:string"/>
<xs:element name="speedsSupported" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="maxPortSpeed" type="xs:int" nillable="true" minOccurs="0"/>
<xs:element name="desiredCredits" type="xs:int" nillable="true" minOccurs="0"/>
<xs:element name="bufferAllocated" type="xs:int" nillable="true" minOccurs="0"/>
<xs:element name="estimatedDistance" type="xs:int" nillable="true" minOccurs="0"/>
<xs:element name="actualDistance" type="xs:int" nillable="true" minOccurs="0"/>
<xs:element name="longDistanceSetting" type="xs:int" nillable="true" minOccurs="0"/>
<xs:element name="remoteNodeWwn" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="remotePortWwn" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="licensed" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="swapped" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="trunked" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="trunkMaster" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="persistentlyDisabled" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="ficonSupported" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="blocked" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="prohibitPortNumbers" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prohibitPortCount" type="xs:short" nillable="true" minOccurs="0"/>
<xs:element name="npivCapable" type="xs:boolean" nillable="true" minOccurs="0"/>

150 Brocade Network Advisor REST API Guide


53-1003160-01
Topology A

<xs:element name="npivEnabled" type="xs:boolean" nillable="true" minOccurs="0"/>


<xs:element name="fcFastWriteEnabled" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="islRrdyEnabled" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="rateLimitCapable" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="rateLimited" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="qosCapable" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="qosEnabled" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="fcrFabricId" type="xs:short" nillable="true" minOccurs="0"/>
<xs:element name="state" type="tns:StateType"/>
<xs:element name="occupied" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="masterPortNumber" type="xs:int" nillable="true" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

<xs:simpleType name="PortType">
<xs:restriction base="xs:string">
<xs:enumeration value="U_PORT"/>
<xs:enumeration value="E_PORT"/>
<xs:enumeration value="VE_PORT"/>
<xs:enumeration value="VEX_PORT"/>
<xs:enumeration value="EX_PORT"/>
<xs:enumeration value="F_PORT"/>
<xs:enumeration value="G_PORT"/>
<xs:enumeration value="L_PORT"/>
<xs:enumeration value="LB_PORT"/>
<xs:enumeration value="N_PORT"/>
<xs:enumeration value="N"/>
<xs:enumeration value="NL_PORT"/>
<xs:enumeration value="NL"/>
<xs:enumeration value="INITIATOR"/>
<xs:enumeration value="TARGET"/>
<xs:enumeration value="INITIATOR_TARGET"/>
<xs:enumeration value="INITIATOR_OR_TARGET"/>
<xs:enumeration value="GIGE_PORT"/>
<xs:enumeration value="UNKNOWN"/>
<xs:enumeration value="UNKNOWN_PORT"/>
<xs:enumeration value="LOOPBACK"/>
<xs:enumeration value="FL_PORT"/>
<xs:enumeration value="GX_PORT"/>
<xs:enumeration value="FX_PORT"/>
<xs:enumeration value="FCOE_HOST_PORT"/>
<xs:enumeration value="TE_PORT"/>
<xs:enumeration value="ETHER_PORT"/>
<xs:enumeration value="VIRTUAL_FCOE_PORT"/>
<xs:enumeration value="CNA_PORT"/>
<xs:enumeration value="PHYSICAL_NIC_PORT"/>
<xs:enumeration value="IP_DEVICE_PORT"/>
<xs:enumeration value="IP_STORAGE_PORT"/>
<xs:enumeration value="SAN_STORAGE_PORT"/>
<xs:enumeration value="L2_DUMMY_PORT"/>
<xs:enumeration value="VM_FC_HBA_PORT"/>
<xs:enumeration value="D_PORT"/>
<xs:enumeration value="FE_PORT"/>
<xs:enumeration value="NIC_PORT"/>
<xs:enumeration value="SIM_PORT"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="PortStatusType">
<xs:restriction base="xs:string">

Brocade Network Advisor REST API Guide 151


53-1003160-01
A Topology

<xs:enumeration value="UNKNOWN"/>
<xs:enumeration value="ONLINE"/>
<xs:enumeration value="IN_SYNC"/>
<xs:enumeration value="NO_SYNC"/>
<xs:enumeration value="NO_MODULE"/>
<xs:enumeration value="NO_LIGHT"/>
<xs:enumeration value="ENABLED"/>
<xs:enumeration value="DISABLED"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="StateType">
<xs:restriction base="xs:string">
<xs:enumeration value="UNKNOWN"/>
<xs:enumeration value="ONLINE"/>
<xs:enumeration value="OFFLINE"/>
</xs:restriction>
</xs:simpleType>

<xs:complexType name="FcPortsResponse">
<xs:complexContent>
<xs:extension base="ns2:PaginatedResponse">
<xs:sequence>
<xs:element name="fcPorts" type="ns1:FcPort" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>

<xs:complexType name="GigePort">
<xs:sequence>
<xs:element name="key" type="xs:string"/>
<xs:element name="portNumber" type="xs:int"/>
<xs:element name="slotNumber" type="xs:int"/>
<xs:element name="enabled" type="xs:boolean" minOccurs="0"/>
<xs:element name="speed" type="xs:long" nillable="true" minOccurs="0"/>
<xs:element name="maxSpeed" type="xs:long" nillable="true" minOccurs="0"/>
<xs:element name="macAddress" type="xs:string"/>
<xs:element name="portName" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="operationalStatus" type="tns:PortStatusType"/>
<xs:element name="ledState" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="speedLedState" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="portType" type="xs:string"/>
<xs:element name="persistentlyDisabled" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="remoteMacAddress" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="userPortNumber" type="xs:short"/>
<xs:element name="portIndex" type="xs:short"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="GigePortsResponse">
<xs:sequence>
<xs:element name="gigePorts" type="ns1:GigePort" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

EndDevicePortsResponse
<xs:complexType name="EndDevicePort">

152 Brocade Network Advisor REST API Guide


53-1003160-01
Topology A

<xs:sequence>
<xs:element name="key" type="xs:string"/>
<xs:element name="domainId" type="xs:int"/>
<xs:element name="wwn" type="xs:string"/>
<xs:element name="deviceNodeWwn" type="xs:string"/>
<xs:element name="switchPortWwn" type="xs:string" minOccurs="0"/>
<xs:element name="number" type="xs:short"/>
<xs:element name="portId" type="xs:string"/>
<xs:element name="type" type="xs:string"/>
<xs:element name="symbolicName" type="xs:string" minOccurs="0"/>
<xs:element name="fc4Type" type="xs:string" minOccurs="0"/>
<xs:element name="cos" type="xs:string" minOccurs="0"/>
<xs:element name="hardwareAddress" type="xs:string" minOccurs="0"/>
<xs:element name="npvPhysical" type="xs:boolean" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="EndDevicePortsResponse">
<xs:complexContent>
<xs:extension base="ns2:PaginatedResponse">
<xs:sequence>
<xs:element name="endDevicePorts" type="ns1:EndDevicePort" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>

TrunksResponse
<xs:complexType name="Trunk">
<xs:sequence>
<xs:element name="key" type="xs:string"/>
<xs:element name="switchWwn" type="xs:string"/>
<xs:element name="masterPortWwn" type="xs:string"/>
<xs:element name="memberPortWwns" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="TrunksResponse">
<xs:sequence>
<xs:element name="trunks" type="ns1:Trunk" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

IslsResponse
<xs:complexType name="Isl">
<xs:sequence>
<xs:element name="key" type="xs:string"/>
<xs:element name="fabricWwn" type="xs:string"/>
<xs:element name="sourceSwitchWwn" type="xs:string"/>
<xs:element name="sourcePortWwn" type="xs:string"/>
<xs:element name="destSwitchWwn" type="xs:string"/>
<xs:element name="destSwitchPortWwn" type="xs:string"/>
<xs:element name="cost" type="xs:int" nillable="true" minOccurs="0"/>
<xs:element name="trunked" type="xs:boolean" nillable="true" minOccurs="0"/>
</xs:sequence>

Brocade Network Advisor REST API Guide 153


53-1003160-01
A Topology

</xs:complexType>

<xs:complexType name="IslsResponse">
<xs:sequence>
<xs:element name="isls" type="ns1:Isl" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

IflsResponse
<xs:complexType name="Ifl">
<xs:complexContent>
<xs:extension base="ifl">
<xs:sequence>
<xs:element name="key" type="xs:string"/>
<xs:element name="edgeFabricName" type="xs:string"/>
<xs:element name="edgeSwitchName" type="xs:string"/>
<xs:element name="edgeSwitchIPAddress" type="xs:string"/>
<xs:element name="edgeSwitchWwn" type="xs:string"/>
<xs:element name="edgeSwitchPortWwn" type="xs:string"/>
<xs:element name="backboneFabricName" type="xs:string"/>
<xs:element name="backboneSwitchName" type="xs:string"/>
<xs:element name="backboneSwitchIPAddress" type="xs:string"/>
<xs:element name="backboneSwitchWwn" type="xs:string"/>
<xs:element name="backboneSwitchPortWwn" type="xs:string"/>
<xs:element name="trunkingEnabled" type="xs:boolean" nillable="true"/>
<xs:element name="speed" type="xs:int" nillable="true"/>
<xs:element name="speedConfigured" type="xs:int" nillable="true"/>
<xs:element name="longDistanceMode" type="xs:int" nillable="true"/>
<xs:element name="desiredDistance" type="xs:int" nillable="true"/>
<xs:element name="linkCost" type="xs:int" nillable="true"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>

<xs:complexType name="IflsResponse">
<xs:sequence>
<xs:element name="ifls" type="ns1:Ifl" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

EndDeviceConnectionsResponse
<xs:complexType name="EndDeviceConnection">
<xs:sequence>
<xs:element name="key" type="xs:string"/>
<xs:element name="fabricWwn" type="xs:string"/>
<xs:element name="deviceWwn" type="xs:string"/>
<xs:element name="devicePortWwn" type="xs:string"/>
<xs:element name="switchWwn" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="switchPortWwn" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="agWwn" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="agPortWwn" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="logical" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>

154 Brocade Network Advisor REST API Guide


53-1003160-01
Topology A

<xs:complexType name="EndDeviceConnectionsResponse">
<xs:complexContent>
<xs:extension base="ns2:PaginatedResponse">
<xs:sequence>
<xs:element name="endDeviceConnections" type="ns1:EndDeviceConnection" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>

AgConnectionsResponse
<xs:complexType name="AgConnection">
<xs:sequence>
<xs:element name="key" type="xs:string"/>
<xs:element name="sourceSwitchWwn" type="xs:string"/>
<xs:element name="sourcePortWwn" type="xs:string"/>
<xs:element name="sourceUserPortNumber" type="xs:short"/>
<xs:element name="sourcePortType" type="tns:PortType"/>
<xs:element name="destinationSwitchWwn" type="xs:string"/>
<xs:element name="destinationPortWwn" type="xs:string"/>
<xs:element name="destinationUserPortNumber" type="xs:short"/>
<xs:element name="destinationPortType" type="tns:PortType"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="AgConnectionsResponse">
<xs:sequence>
<xs:element name="agConnections" type="ns1:AgConnection" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

EndDevicesResponse
<xs:complexType name="EndDevice">
<xs:sequence>
<xs:element name="key" type="xs:string"/>
<xs:element name="wwn" type="xs:string"/>
<xs:element name="type" type="xs:string"/>
<xs:element name="deviceType" type="tns:DeviceType"/>
<xs:element name="symbolicName" type="xs:string" minOccurs="0"/>
<xs:element name="fdmiHostName" type="xs:string" minOccurs="0"/>
<xs:element name="vendor" type="xs:string" minOccurs="0"/>
<xs:element name="capability" type="xs:string" minOccurs="0"/>
<xs:element name="proxyDevice" type="xs:boolean" minOccurs="0"/>
<xs:element name="name" type="xs:string" minOccurs="0"/>
<xs:element name="ipAddress" type="xs:string" minOccurs="0"/>
<xs:element name="contact" type="xs:string" minOccurs="0"/>
<xs:element name="location" type="xs:string" minOccurs="0"/>
<xs:element name="description" type="xs:string" minOccurs="0"/>
<xs:element name="fabricWwn" type="xs:string" minOccurs="0"/>
<xs:element name="fdmiSerialNumber" type="xs:string" minOccurs="0"/>
<xs:element name="fdmiFirmwareVersion" type="xs:string" minOccurs="0"/>
<xs:element name="fdmiDriverVersion" type="xs:string" minOccurs="0"/>
<xs:element name="fdmiManufacturer" type="xs:string" minOccurs="0"/>
<xs:element name="fdmiModel" type="xs:string" minOccurs="0"/>

Brocade Network Advisor REST API Guide 155


53-1003160-01
A SAN fabric discovery

<xs:element name="fdmiHardwareVersion" type="xs:string" minOccurs="0"/>


<xs:element name="fdmiModelDescription" type="xs:string" minOccurs="0"/>
<xs:element name="fdmiNodeName" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

<xs:simpleType name="DeviceType">
<xs:restriction base="xs:string">
<xs:enumeration value="PHYSICAL"/>
<xs:enumeration value="VIRTUAL"/>
<xs:enumeration value="NPIV"/>
<xs:enumeration value="ISCSI"/>
<xs:enumeration value="PHYSICAL_VIRTUAL"/>
<xs:enumeration value="UNKNOWN"/>
</xs:restriction>
</xs:simpleType>

<xs:complexType name="EndDevicesResponse">
<xs:complexContent>
<xs:extension base="ns2:PaginatedResponse">
<xs:sequence>
<xs:element name="endDevices" type="ns1:EndDevice" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>

SAN fabric discovery


DiscoverFabricRequest
<xs:complexType name="DiscoverFabricRequest">
<xs:sequence>
<xs:element name="switchIpAddress" type="xs:string"/>
<xs:element name="userName" type="xs:string" default="admin" minOccurs="0"/>
<xs:element name="password" type="xs:string" default="password" minOccurs="0"/>
<xs:element name="fabricName" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="snmpVersion" type="ns1:SnmpVersionType" nillable="true" default="v3"
minOccurs="0"/>
<xs:element name="snmpTimeout" type="xs:int" default="5" minOccurs="0"/>
<xs:element name="snmpRetries" type="xs:int" default="3" minOccurs="0"/>
<xs:element name="snmpReadCommunityString" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="snmpWriteCommunityString" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="snmpUserName" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="snmpContextName" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="snmpAuthorizationProtocol" type="ns1:AuthorizationProtocolType"
nillable="true" minOccurs="0"/>
<xs:element name="snmpAuthorizationPassword" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="snmpPrivacyProtocol" type="ns1:PrivacyProtocolType" nillable="true"
minOccurs="0"/>
<xs:element name="snmpPrivacyPassword" type="xs:string" nillable="true" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

<xs:simpleType name="SnmpVersionType">
<xs:restriction base="xs:string">

156 Brocade Network Advisor REST API Guide


53-1003160-01
SAN fabric discovery A

<xs:enumeration value="V1"/>
<xs:enumeration value="V3"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="AuthorizationProtocolType">
<xs:restriction base="xs:int">
<xs:enumeration value="HMAC_MDS"/>
<xs:enumeration value="HMAC_SHA"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="PrivacyProtocolType">
<xs:restriction base="xs:int">
<xs:enumeration value="CBC_DES"/>
<xs:enumeration value="CFB_AES_128"/>
</xs:restriction>
</xs:simpleType>

DiscoverFabricResponse
<xs:complexType name="DiscoverFabricResponse">
<xs:sequence>
<xs:element name="virtualFabricIds" type="xs:int" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

UpdateCredentialsRequest
<xs:complexType name="UpdateCredentialsRequest">
<xs:sequence>
<xs:element name="userName" type="xs:string" default="admin" minOccurs="0"/>
<xs:element name="password" type="xs:string" default="password" minOccurs="0"/>
<xs:element name="snmpVersion" type="ns1:SnmpVersionType" nillable="true" default="v3"
minOccurs="0"/>
<xs:element name="snmpTimeout" type="xs:int" default="5" minOccurs="0"/>
<xs:element name="snmpRetries" type="xs:int" default="3" minOccurs="0"/>
<xs:element name="snmpReadCommunityString" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="snmpWriteCommunityString" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="snmpUserName" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="snmpContextName" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="snmpAuthorizationProtocol" type="ns1:AuthorizationProtocolType"
nillable="true" minOccurs="0"/>
<xs:element name="snmpAuthorizationPassword" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="snmpPrivacyProtocol" type="ns1:PrivacyProtocolType" nillable="true"
minOccurs="0"/>
<xs:element name="snmpPrivacyPassword" type="xs:string" nillable="true" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

<xs:simpleType name="SnmpVersionType">
<xs:restriction base="xs:string">
<xs:enumeration value="V1"/>
<xs:enumeration value="V3"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="AuthorizationProtocolType">

Brocade Network Advisor REST API Guide 157


53-1003160-01
A SAN fabric discovery

<xs:restriction base="xs:int">
<xs:enumeration value="HMAC_MDS"/>
<xs:enumeration value="HMAC_SHA"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="PrivacyProtocolType">
<xs:restriction base="xs:int">
<xs:enumeration value="CBC_DES"/>
<xs:enumeration value="CFB_AES_128"/>
</xs:restriction>
</xs:simpleType>

FlowDefinitionsResponse
<xs:complexType name="FlowDefinitionsResponse">
<xs:sequence>
<xs:element name="flowDefinitions" type="ns1:FlowDefinition" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="FlowDefinition">
<xs:sequence>
<xs:element name="key" type="xs:string"/> '
<xs:element name="name" type="xs:string"/>
<xs:element name="switchWwn" type="xs:string"/>
<xs:element name="srcDevicePorts" type="xs:string" maxOccurs="unbounded"/>
<xs:element name="destDevicePorts" type="xs:string" maxOccurs="unbounded"/>
<xs:element name="srcSwitchPort" type="xs:string"/>
<xs:element name="destSwitchPort" type="xs:string"/>
<xs:element name="bidirectional" type="xs:boolean" default="false"/>
<xs:element name="srcFabricId" type="xs:string" minOccurs="0"/>
<xs:element name="destFabricId" type="xs:string" minOccurs="0"/>
<xs:element name="lunIds" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="optionType" type="tns:FlowOptionType" default="INACTIVE"/>
<xs:element name="scsicmd" type="xs:string" minOccurs="0"/>
<xs:element name="frameOffset" type="xs:string" minOccurs="0"/>
<xs:element name="frameSize" type="xs:int" minOccurs="0"/>
<xs:element name="framePattern" type="xs:string" minOccurs="0"/>
<xs:element name="monitorFeatureState" type="tns:FlowFeatureState" default="DESELECTED"
minOccurs="0"/>
<xs:element name="generatorFeatureState" type="tns:FlowFeatureState" default="DESELECTED"
minOccurs="0"/>
<xs:element name="mirrorFeatureState" type="tns:FlowFeatureState" default="DESELECTED"
minOccurs="0"/>
<xs:element name="preDefined" type="xs:boolean" default="false" minOccurs="0"/>
<xs:element name="mirrorPort" type="xs:string" minOccurs="0"/>
</xs:sequence>
<xs:simpleType name="FlowOptionType">
<xs:restriction base="xs:string">
<xs:enumeration value="INACTIVE"/> ' flow definition not activated.
<xs:enumeration value="NO_CONFIG"/> ' Configuration not persisted on reboots
<xs:enumeration value="NO_ZONE_CHECK"/> ' Ignore zones in case of generator flow
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="FlowFeatureState">
<xs:restriction base="xs:string">
<xs:enumeration value="DESELECTED"/>

158 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data A

<xs:enumeration value="DEACTIVATED"/>
<xs:enumeration value="ACTIVATED"/>
</xs:restriction>
</xs:simpleType>

FlowsResponse
<xs:complexType name="FlowsResponse">
<xs:sequence>
<xs:element name="flows" type="ns1:Flow" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="Flow">
<xs:sequence>
<xs:element name="key" type="xs:string"/> ' the format is fldbid-<database id>
<xs:element name="flowDefinitionName" type="xs:string"/>
<xs:element name="featureType" type="tns:FlowFeatureType" default="MONITOR"/>
<xs:element name="srcDevicePorts" type="xs:string" maxOccurs="unbounded"/>
<xs:element name="destDevicePorts" type="xs:string" maxOccurs="unbounded"/>
<xs:element name="srcSwitchPort" type="xs:string"/>
<xs:element name="destSwitchPort" type="xs:string"/>
<xs:element name="bidirectional" type="xs:boolean" default="false"/>
<xs:element name="sfid" type="xs:string" minOccurs="0"/>
<xs:element name="dfid" type="xs:string" minOccurs="0"/>
<xs:element name="lunIds" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="frameSize" type="xs:int" minOccurs="0"/>
<xs:element name="framePattern" type="xs:string" minOccurs="0"/>
<xs:element name="subFlowMd5hash" type="xs:string" minOccurs="0"/>
<xs:element name="mirrorPort" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

<xs:simpleType name="FlowFeatureType">
<xs:restriction base="xs:string">
<xs:enumeration value="MONITOR"/>
<xs:enumeration value="GENERATOR"/>
<xs:enumeration value="MIRROR"/>
</xs:restriction>
</xs:simpleType>

Summary data
SummaryResponse
<xs:complexType name="SummaryResponse">
<xs:sequence>
<xs:element name="summary" type="xs:anyType"/>
<xs:element name="summaryName" type="xs:string"/>
<xs:element name="timeLine" type="xs:long" nillable="true" minOccurs="0"/>
<xs:element name="timeScope" type="ns1:TimeScope" nillable="true" minOccurs="0"/>
<xs:element name="limit" type="xs:short" nillable="true" minOccurs="0"/>
<xs:element name="portScope" type="ns1:MonitorPortType" nillable="true" minOccurs="0"/>
<xs:element name="descending" type="xs:boolean" nillable="true" minOccurs="0"/>
</xs:sequence>

Brocade Network Advisor REST API Guide 159


53-1003160-01
A Summary data

</xs:complexType>

<xs:simpleType name="MonitorPortType">
<xs:restriction base="xs:string">
<xs:enumeration value="ALL"/>
<xs:enumeration value="ISL"/>
<xs:enumeration value="HOST"/>
<xs:enumeration value="STORAGE"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="TimeScope">
<xs:restriction base="xs:string">
<xs:enumeration value="THIRTY_MINUTES"/>
<xs:enumeration value="ONE_HOUR"/>
<xs:enumeration value="SIX_HOURS"/>
<xs:enumeration value="TWELVE_HOURS"/>
<xs:enumeration value="ONE_DAY"/>
<xs:enumeration value="THREE_DAYS"/>
<xs:enumeration value="ONE_WEEK"/>
<xs:enumeration value="ONE_MONTH"/>
</xs:restriction>
</xs:simpleType>

StatusSummary
<xs:complexType name="StatusSummary">
<xs:sequence>
<xs:element name="statusCounts" type="tns:RESTAdaptedStatusMap"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="RESTAdaptedStatusMap">
<xs:sequence>
<xs:element name="entryList" type="tns:RESTStatusMapEntry" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="RESTStatusMapEntry">
<xs:sequence>
<xs:element name="key" type="tns:Status"/>
<xs:element name="value" type="xs:int"/>
</xs:sequence>
</xs:complexType>

<xs:simpleType name="Status">
<xs:restriction base="xs:string">
<xs:enumeration value="UNKNOWN"/>
<xs:enumeration value="MARGINAL"/>
<xs:enumeration value="DOWN"/>
<xs:enumeration value="HEALTHY"/>
<xs:enumeration value="REACHABLE"/>
<xs:enumeration value="UNREACHABLE"/>
<xs:enumeration value="PARTIALLY_REACHABLE"/>
<xs:enumeration value="UNHEALTHY"/>
</xs:restriction>
</xs:simpleType>

160 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data A

AssetClassificationSummary
<xs:complexType name="AssetClassificationSummary">
<xs:sequence>
<xs:element name="classificationCounts"
type="tns:RESTAdaptedAssetClassificationContainerMap"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="RESTAdaptedAssetClassificationContainerMap">
<xs:sequence>
<xs:element name="entryList" type="tns:RESTAssetClassificationContainerMapEntry"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="RESTAssetClassificationContainerMapEntry">
<xs:sequence>
<xs:element name="key" type="tns:ClassificationCategory"/>
<xs:element name="value" type="tns:AssetClassification"/>
</xs:sequence>
</xs:complexType>

<xs:simpleType name="ClassificationCategory">
<xs:restriction base="xs:string">
<xs:enumeration value="CLASS"/>
<xs:enumeration value="FIRMWARE_VERSION"/>
<xs:enumeration value="MODEL"/>
<xs:enumeration value="DEVICE_TYPE"/>
<xs:enumeration value="BUILD_LABEL"/>
<xs:enumeration value="LOCATION"/>
<xs:enumeration value="CONTACT"/>
<xs:enumeration value="DRIVER"/>
<xs:enumeration value="BIOS"/>
<xs:enumeration value="OS_TYPE"/>
</xs:restriction>
</xs:simpleType>

<xs:complexType name="AssetClassification">
<xs:sequence>
<xs:element name="counts" type="tns:RESTAdaptedAssetClassificationMap"/>
<xs:element name="category" type="tns:ClassificationCategory"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="RESTAdaptedAssetClassificationMap">
<xs:sequence>
<xs:element name="entryList" type="tns:RESTAssetClassificationMapEntry"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="RESTAssetClassificationMapEntry">
<xs:sequence>
<xs:element name="key" type="xs:string"/>
<xs:element name="value" type="tns:AssetClassificationCount"/>
</xs:sequence>
</xs:complexType>

Brocade Network Advisor REST API Guide 161


53-1003160-01
A Summary data

<xs:complexType name="AssetClassificationCount">
<xs:sequence>
<xs:element name="category" type="xs:string"/>
<xs:element name="count" type="tns:StatusSummary"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="StatusSummary">
<xs:sequence>
<xs:element name="statusCounts" type="tns:RESTAdaptedStatusMap"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="RESTAdaptedStatusMap">
<xs:sequence>
<xs:element name="entryList" type="tns:RESTStatusMapEntry" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="RESTStatusMapEntry">
<xs:sequence>
<xs:element name="key" type="tns:Status"/>
<xs:element name="value" type="xs:int"/>
</xs:sequence>
</xs:complexType>

<xs:simpleType name="Status">
<xs:restriction base="xs:string">
<xs:enumeration value="UNKNOWN"/>
<xs:enumeration value="MARGINAL"/>
<xs:enumeration value="DOWN"/>
<xs:enumeration value="HEALTHY"/>
<xs:enumeration value="REACHABLE"/>
<xs:enumeration value="UNREACHABLE"/>
<xs:enumeration value="PARTIALLY_REACHABLE"/>
<xs:enumeration value="UNHEALTHY"/>
</xs:restriction>
</xs:simpleType>

NetworkObjectCountSummary
<xs:complexType name=" NetworkObjectCountSummary ">
<xs:sequence>
<xs:element name="fcFabricCount" type="xs:int"/>
<xs:element name="fcSwitchCount" type="xs:int"/>
<xs:element name="hostCount" type="xs:int"/>
<xs:element name="ethernetSwitchCount" type="xs:int"/>
<xs:element name="ethernetFabricCount" type="xs:int"/>
</xs:sequence>
</xs:complexType>

EventsSummary
<xs:complexType name="EventsSummary">
<xs:sequence>
<xs:element name="eventsSeverityCounter" type="tns:EventsSeverityCounter"/>
</xs:sequence>
</xs:complexType>

162 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data A

<xs:complexType name="EventsSeverityCounter">
<xs:sequence>
<xs:element name="emergencyCount" type="tns:EventsTypeCounter"/>
<xs:element name="alertCount" type="tns:EventsTypeCounter"/>
<xs:element name="criticalCount" type="tns:EventsTypeCounter"/>
<xs:element name="errorCount" type="tns:EventsTypeCounter"/>
<xs:element name="warningCount" type="tns:EventsTypeCounter"/>
<xs:element name="noticeCount" type="tns:EventsTypeCounter"/>
<xs:element name="infoCount" type="tns:EventsTypeCounter"/>
<xs:element name="debugCount" type="tns:EventsTypeCounter"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="EventsTypeCounter">
<xs:sequence>
<xs:element name="trapCount" type="xs:int"/>
<xs:element name="inmEventCount" type="xs:int"/>
<xs:element name="securityCount" type="xs:int"/>
<xs:element name="syslogCount" type="xs:int"/>
</xs:sequence>
</xs:complexType>

BottleneckViolationsSummary
<xs:complexType name="BottleneckViolationsSummary">
<xs:sequence>
<xs:element name="bottleneckViolationsCounters"
type="tns:RESTAdaptedMapsBottleneckViolationsMap"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="RESTAdaptedMapsBottleneckViolationsMap">
<xs:sequence>
<xs:element name="entryList" type="tns:RESTMapsBottleneckViolationsMapEntry"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="RESTMapsBottleneckViolationsMapEntry">
<xs:sequence>
<xs:element name="key" type="tns:PortCategory"/>
<xs:element name="value" type="tns:BottleneckViolationsCounter" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="BottleneckViolationsCounter">
<xs:sequence>
<xs:element name="violationsPort" type="tns:ViolationsPort"/>
<xs:element name="bottleneckViolationsCount" type="xs:int"/>
<xs:element name="bottleneckLatencyCount" type="xs:int"/>
<xs:element name="bottleneckCongestionCount" type="xs:int"/>
</xs:sequence>
</xs:complexType>

<xs:simpleType name="PortCategory">
<xs:restriction base="xs:string">
<xs:enumeration value="ALL"/>
<xs:enumeration value="FC_SWITH_PORT_ISL"/>

Brocade Network Advisor REST API Guide 163


53-1003160-01
A Summary data

<xs:enumeration value="FC_SWITH_PORT_HOST"/>
<xs:enumeration value="FC_SWITH_PORT_STORAGE"/>
<xs:enumeration value="FC_DEVICE_HOST"/>
<xs:enumeration value="FC_DEVICE_STORAGE"/>
<xs:enumeration value="IPPORT"/>
<xs:enumeration value="FC_SWITH_PORT_UNOCCUPIED"/>
<xs:enumeration value="UNKNOWN"/>
</xs:restriction>
</xs:simpleType>

<xs:complexType name="ViolationsPort">
<xs:sequence>
<xs:element name="portWwn" type="xs:string"/>
</xs:sequence>
</xs:complexType>

OutOfRangeViolationsSummary
<xs:complexType name="OutOfRangeViolationsSummary">
<xs:sequence>
<xs:element name="outOfRangeViolationsCounters" type="tns:OutOfRangeViolationsCounter"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="OutOfRangeViolationsCounter">
<xs:sequence>
<xs:element name="category" type="tns:ViolationsCategory"/>
<xs:element name="violationsCount" type="xs:int" default="0"/>
<xs:element name="networkObjectCount" type="xs:int" default="0"/>
</xs:sequence>
</xs:complexType>

<xs:simpleType name="ViolationsCategory">
<xs:restriction base="xs:string">
<xs:enumeration value="UNKNOWN"/>
<xs:enumeration value="PORT_HEALTH"/>
<xs:enumeration value="TRAF_PERF"/>
<xs:enumeration value="FCIP_HEALTH"/>
<xs:enumeration value="FABRIC_HEALTH"/>
<xs:enumeration value="SW_RESOURCES"/>
<xs:enumeration value="SW_POLICY_STATUS"/>
<xs:enumeration value="FRU_HEALTH"/>
<xs:enumeration value="SEC_VIOLATIONS"/>
<xs:enumeration value="VM_VIOLATIONS"/>
</xs:restriction>
</xs:simpleType>

PortHealthViolationsSummary
<xs:complexType name="PortHealthViolationsSummary">
<xs:sequence>
<xs:element name="portHealthViolationsCounters"
type="tns:RESTAdaptedMapsPortHealthViolationsMap"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="RESTAdaptedMapsPortHealthViolationsMap">

164 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data A

<xs:sequence>
<xs:element name="entryList" type="tns:RESTMapsPortHealthViolationsMapEntry"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="RESTMapsPortHealthViolationsMapEntry">
<xs:sequence>
<xs:element name="key" type="tns:PortCategory"/>
<xs:element name="value" type="tns:PortHealthViolationsCounter" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="PortHealthViolationsCounter">
<xs:sequence>
<xs:element name="violationsPort" type="tns:ViolationsPort"/>
<xs:element name="crcErrorsCount" type="xs:int" default="0"/>
<xs:element name="invalidTxWordsCount" type="xs:int" default="0"/>
<xs:element name="lossOfSyncCount" type="xs:int" default="0"/>
<xs:element name="linkFailureCount" type="xs:int" default="0"/>
<xs:element name="lossOfSignalsCount" type="xs:int" default="0"/>
<xs:element name="protocolErrorsCount" type="xs:int" default="0"/>
<xs:element name="linkResetCount" type="xs:int" default="0"/>
<xs:element name="c3TimeoutsCount" type="xs:int" default="0"/>
<xs:element name="stateChangesCount" type="xs:int" default="0"/>
<xs:element name="sfpCurrentCount" type="xs:int" default="0"/>
<xs:element name="sfpRxPowerCount" type="xs:int" default="0"/>
<xs:element name="sfpTxPowerCount" type="xs:int" default="0"/>
<xs:element name="sfpVoltageCount" type="xs:int" default="0"/>
<xs:element name="sfpTemperatureCount" type="xs:int" default="0"/>
<xs:element name="sfpPowerOnHoursCount" type="xs:int" default="0"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="ViolationsPort">
<xs:sequence>
<xs:element name="portWwn" type="xs:string"/>
</xs:sequence>
</xs:complexType>

<xs:simpleType name="PortCategory">
<xs:restriction base="xs:string">
<xs:enumeration value="ALL"/>
<xs:enumeration value="FC_SWITH_PORT_ISL"/>
<xs:enumeration value="FC_SWITH_PORT_HOST"/>
<xs:enumeration value="FC_SWITH_PORT_STORAGE"/>
<xs:enumeration value="FC_DEVICE_HOST"/>
<xs:enumeration value="FC_DEVICE_STORAGE"/>
<xs:enumeration value="IPPORT"/>
<xs:enumeration value="FC_SWITH_PORT_UNOCCUPIED"/>
<xs:enumeration value="UNKNOWN"/>
</xs:restriction>
</xs:simpleType>

VmViolationsSummary
<xs:complexType name="VmViolationsSummary">
<xs:sequence>

Brocade Network Advisor REST API Guide 165


53-1003160-01
A Summary data

<xs:element name="vmViolationsCounters" type="tns:VmViolationsCounter"


maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="VmViolationsCounter">
<xs:sequence>
<xs:element name="violationsVm" type="tns:ViolationsVm"/>
<xs:element name="usageViolationsCount" type="xs:int"/>
<xs:element name="resetViolationsCount" type="xs:int"/>
<xs:element name="abortViolationsCount" type="xs:int"/>
<xs:element name="latencyViolationsCount" type="xs:int"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="ViolationsVm">
<xs:sequence>
<xs:element name="hostName" type="xs:string" default=""/>
<xs:element name="hostIpAddress" type="xs:string" default=""/>
<xs:element name="vmIpAddress" type="xs:string" default=""/>
<xs:element name="vmName" type="xs:string" default=""/>
</xs:sequence>
</xs:complexType>

SummariesResponse
<xs:complexType name="SummariesResponse">
<xs:sequence>
<xs:element name="summaries" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

PortsMonitorSummaryData
<xs:complexType name="PortsMonitorSummaryData">
<xs:sequence>
<xs:element name="summaryData" type="tns:PortPerformanceData" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="PortPerformanceData">
<xs:sequence>
<xs:element name="targetKey" type="xs:string"/>
<xs:element name="targetType" type="tns:TargetType"/>
<xs:element name="direction" type="tns:PortDirectionType" default="-1" minOccurs="0"/>
<xs:element name="inValue" type="xs:double" nillable="true" minOccurs="0"/>
<xs:element name="outValue" type="xs:double" nillable="true" minOccurs="0"/>
<xs:element name="inSumValue" type="xs:double" nillable="true" minOccurs="0"/>
<xs:element name="outSumValue" type="xs:double" nillable="true" minOccurs="0"/>
<xs:element name="inMinValue" type="xs:double" nillable="true" minOccurs="0"/>
<xs:element name="inMaxValue" type="xs:double" nillable="true" minOccurs="0"/>
<xs:element name="outMinValue" type="xs:double" nillable="true" minOccurs="0"/>
<xs:element name="outMaxValue" type="xs:double" nillable="true" minOccurs="0"/>
<xs:element name="value" type="xs:double" nillable="true" minOccurs="0"/>
<xs:element name="sumValue" type="xs:double" nillable="true" minOccurs="0"/>
<xs:element name="value1" type="xs:double" nillable="true" minOccurs="0"/>
<xs:element name="sumValue1" type="xs:double" nillable="true" minOccurs="0"/>
<xs:element name="value2" type="xs:double" nillable="true" minOccurs="0"/>

166 Brocade Network Advisor REST API Guide


53-1003160-01
Summary data A

<xs:element name="sumValue2" type="xs:double" nillable="true" minOccurs="0"/>


<xs:element name="value3" type="xs:double" nillable="true" minOccurs="0"/>
<xs:element name="sumValue3" type="xs:double" nillable="true" minOccurs="0"/>
<xs:element name="value4" type="xs:double" nillable="true" minOccurs="0"/>
<xs:element name="sumValue4" type="xs:double" nillable="true" minOccurs="0"/>
<xs:element name="value5" type="xs:double" nillable="true" minOccurs="0"/>
<xs:element name="sumValue5" type="xs:double" nillable="true" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

<xs:simpleType name="PortDirectionType">
<xs:restriction base="xs:string">
<xs:enumeration value="BOTH"/>
<xs:enumeration value="NONE"/>
<xs:enumeration value="RX"/>
<xs:enumeration value="TX"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="TargetType">
<xs:restriction base="xs:string">
<xs:enumeration value="FC_SWITCH"/>
<xs:enumeration value="FC_PORT"/>
<xs:enumeration value="GIGE_PORT"/>
<xs:enumeration value="HBA_PORT"/>
<xs:enumeration value="FLOW"/>
</xs:restriction>
</xs:simpleType>

MonitorDistributionData
<xs:complexType name="MonitorDistributionData">
<xs:sequence>
<xs:element name="distributionCount" type="xs:int" maxOccurs="unbounded"/>
<xs:element name="maxvalue" type="xs:double" default="0.0"/>
<xs:element name="minvalue" type="xs:double" default="0.0"/>
<xs:element name="startTimeinSec" type="xs:long" default="0"/>
<xs:element name="endTimeinSec" type="xs:long" default="0"/>
</xs:sequence>
</xs:complexType>

ProductsMonitorSummaryData
<xs:complexType name="ProductsMonitorSummaryData">
<xs:sequence>
<xs:element name="summaryData" type="tns:ProductPerformanceData" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="ProductPerformanceData">
<xs:sequence>
<xs:element name="targetKey" type="xs:string"/>
<xs:element name="targetType" type="tns:TargetType"/>
<xs:element name="value" type="xs:double"/>
<xs:element name="minValue" type="xs:double"/>
<xs:element name="maxValue" type="xs:double"/>
</xs:sequence>
</xs:complexType>

Brocade Network Advisor REST API Guide 167


53-1003160-01
A Events

<xs:simpleType name="TargetType">
<xs:restriction base="xs:string">
<xs:enumeration value="FC_SWITCH"/>
<xs:enumeration value="FC_PORT"/>
<xs:enumeration value="GIGE_PORT"/>
<xs:enumeration value="HBA_PORT"/>
<xs:enumeration value="FLOW"/>
</xs:restriction>
</xs:simpleType>

FlowMonitorSummaryData
<xs:complexType name="FlowMonitorSummaryData">
<xs:sequence>
<xs:element name="summaryData" type="tns:FlowMonitorData" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="FlowMonitorData">
<xs:sequence>
<xs:element name="targetKey" type="xs:string"/>
<xs:element name="targetType" type="tns:TargetType"/>
<xs:element name="value" type="xs:double"/>
<xs:element name="minValue" type="xs:double"/>
<xs:element name="maxValue" type="xs:double"/>
</xs:sequence>
</xs:complexType>

<xs:simpleType name="TargetType">
<xs:restriction base="xs:string">
<xs:enumeration value="FC_SWITCH"/>
<xs:enumeration value="FC_PORT"/>
<xs:enumeration value="GIGE_PORT"/>
<xs:enumeration value="HBA_PORT"/>
<xs:enumeration value="FLOW"/>
</xs:restriction>
</xs:simpleType>

Events
EventsResponse
<xs:complexType name="EventsResponse">
<xs:complexContent>
<xs:extension base="ns2:PaginatedResponse">
<xs:sequence>
<xs:element name="events" type="ns1:Event" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>

<xs:complexType name="PaginatedResponse" abstract="true">


<xs:sequence>

168 Brocade Network Advisor REST API Guide


53-1003160-01
Events A

<xs:element name="startIndex" type="xs:int" nillable="true" minOccurs="0"/>


<xs:element name="itemsPerPage" type="xs:int" nillable="true" minOccurs="0"/>
<xs:element name="totalResults" type="xs:int" nillable="true" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="Event">
<xs:sequence>
<xs:element name="key" type="xs:string"/> ' the format is edbid-<database id>
<xs:element name="severity" type="tns:Severity" nillable="true" minOccurs="0"/>
<xs:element name="acknowledged" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="sourceName" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="sourceAddr" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="lastOccurrenceHostTime" type="xs:dateTime" nillable="true" minOccurs="0"/>
<xs:element name="firstOccurrenceHostTime" type="xs:dateTime" nillable="true" minOccurs="0"/>
<xs:element name="eventCount" type="xs:int" nillable="true" minOccurs="0"/>
<xs:element name="specialEvent" type="xs:boolean" nillable="true" minOccurs="0"/>
<xs:element name="origin" type="tns:Origin" nillable="true" minOccurs="0"/>
<xs:element name="eventCategory" type="tns:Category" nillable="true" minOccurs="0"/>
<xs:element name="description" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="module" type="tns:Module" nillable="true" minOccurs="0"/>
<xs:element name="productAddress" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="contributors" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="nodeWwn" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="portWwn" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="operationalStatus" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="firstOccurrenceSwitchTime" type="xs:dateTime" nillable="true"
minOccurs="0"/>
<xs:element name="lastOccurrenceSwitchTime" type="xs:dateTime" nillable="true"
minOccurs="0"/>
<xs:element name="virtualFabricId" type="xs:short" nillable="true" minOccurs="0"/>
<xs:element name="macAddress" type="xs:string" nillable="true" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

<xs:simpleType name="Severity">
<xs:restriction base="xs:string">
<xs:enumeration value="EMERGENCY"/>
<xs:enumeration value="ALERT"/>
<xs:enumeration value="CRITICAL"/>
<xs:enumeration value="ERROR"/>
<xs:enumeration value="WARNING"/>
<xs:enumeration value="NOTICE"/>
<xs:enumeration value="INFO"/>
<xs:enumeration value="DEBUG"/>
<xs:enumeration value="UNKNOWN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Origin">
<xs:restriction base="xs:string">
<xs:enumeration value="UNKNOWN"/>
<xs:enumeration value="TRAP"/>
<xs:enumeration value="SYSLOG"/>
<xs:enumeration value="SNORT"/>
<xs:enumeration value="PSEUDOEVENT"/>
<xs:enumeration value="APPLICATION_EVENTS"/>
<xs:enumeration value="OTHERS"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Category">

Brocade Network Advisor REST API Guide 169


53-1003160-01
A Events

<xs:restriction base="xs:string">
<xs:enumeration value="UNKNOWN"/>
<xs:enumeration value="PRODUCT_EVENT"/>
<xs:enumeration value="LINK_INCIDENT_EVENT"/>
<xs:enumeration value="PRODUCT_AUDIT_EVENT"/>
<xs:enumeration value="PRODUCT_STATUS_EVENT"/>
<xs:enumeration value="SECURITY_EVENT"/>
<xs:enumeration value="USER_ACTION_EVENT"/>
<xs:enumeration value="MANAGEMENT_SERVER_EVENT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Module">
<xs:restriction base="xs:string">
<xs:enumeration value="UNKNOWN"/>
<xs:enumeration value="PRODUCT"/>
<xs:enumeration value="OPEN_TRUNKING"/>
<xs:enumeration value="CALL_HOME"/>
<xs:enumeration value="ETHERNET"/>
<xs:enumeration value="THRESHOLD_EXCEEDED"/>
<xs:enumeration value="LINK_INCIDENT"/>
<xs:enumeration value="PRODUCT_AUDIT"/>
<xs:enumeration value="DEVICE_STATUS"/>
<xs:enumeration value="SECURITY"/>
<xs:enumeration value="SCC_DCC"/>
<xs:enumeration value="SOFTWARE_EXCEPTION"/>
<xs:enumeration value="CLIENT_SERVER"/>
<xs:enumeration value="FAULT_MANAGEMENT"/>
<xs:enumeration value="ZONING"/>
<xs:enumeration value="CONFIG_MANAGEMENT"/>
<xs:enumeration value="TECH_SUPPORT"/>
<xs:enumeration value="NAMES"/>
<xs:enumeration value="DATA_ENCRYPTION"/>
<xs:enumeration value="FCIP"/>
<xs:enumeration value="CEE"/>
<xs:enumeration value="USER_MANAGEMENT"/>
<xs:enumeration value="FICON"/>
<xs:enumeration value="PORT_FENCING_MODULE"/>
<xs:enumeration value="HOST_MANAGEMENT"/>
<xs:enumeration value="FC_SECURITY_PROTOCOL"/>
<xs:enumeration value="HOST_PORT_MAPPING"/>
<xs:enumeration value="AUTHENTICATION"/>
<xs:enumeration value="SYSTEM_MONITOR"/>
<xs:enumeration value="BACKUP"/>
<xs:enumeration value="ACTIVE_SESSION_MANAGEMENT"/>
<xs:enumeration value="MANAGEMENT_SERVER_LICENSE"/>
<xs:enumeration value="STORAGE_PORT_MAPPING"/>
<xs:enumeration value="FCS"/>
<xs:enumeration value="ROUTER"/>
<xs:enumeration value="PERFORMANCE_MANAGEMENT"/>
<xs:enumeration value="TRACKING"/>
<xs:enumeration value="FABRIC_TRACKING"/>
<xs:enumeration value="PREFERENCES"/>
<xs:enumeration value="PORT_GROUPS"/>
<xs:enumeration value="HBA"/>
<xs:enumeration value="LAYOUT_MAP"/>
<xs:enumeration value="VM_PLUGIN"/>
<xs:enumeration value="CONFIGURATION_DEPLOYMENT"/>
<xs:enumeration value="CONFIGURATION_RETRIEVAL"/>
<xs:enumeration value="EVENT_ACTION"/>
<xs:enumeration value="BOOT_IMAGE_MANAGEMENT"/>

170 Brocade Network Advisor REST API Guide


53-1003160-01
Zoning A

<xs:enumeration value="PERFORMANCE_MONITOR"/>
<xs:enumeration value="FIRMWARE_MANAGEMENT"/>
<xs:enumeration value="SCOM_PLUGIN"/>
<xs:enumeration value="VIRTUAL_FABRICS"/>
<xs:enumeration value="SFLOW_MONITORING"/>
<xs:enumeration value="PROPERTIES"/>
<xs:enumeration value="POWER_CENTER"/>
<xs:enumeration value="VIRTUAL_PORT_WWN"/>
<xs:enumeration value="VLAN_MANAGEMENT"/>
<xs:enumeration value="LOOPBACK_TEST"/>
</xs:restriction>
</xs:simpleType>

CountResponse
<xs:complexType name="CountResponse">
<xs:sequence>
<xs:element name="_return" type="xs:int"/>
</xs:sequence>
</xs:complexType>

Zoning
ZoneDbsResponse
<xs:complexType name="ZoneDb">
<xs:sequence>
<xs:element name="key" type="xs:string"/>
<xs:element name="active" type="xs:boolean" default="false"/>
<xs:element name="checksum" type="xs:long" default="0"/>
<xs:element name="zones" type="tns:Zone" maxOccurs="unbounded"/>
<xs:element name="zonealiases" type="tns:ZoneAlias" maxOccurs="unbounded"/>
<xs:element name="zonesets" type="tns:ZoneSet" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="ZoneDbsResponse">
<xs:sequence>
<xs:element name="zonedbs" type="ns1:ZoneDb" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="Zone">
<xs:sequence>
<xs:element name="key" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="type" type="tns:ZoneType"/>
<xs:element name="active" type="xs:boolean"/>
<xs:element name="aliasNames" type="xs:string" maxOccurs="unbounded"/>
<xs:element name="memberNames" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:simpleType name="ZoneType">
<xs:restriction base="xs:string">

Brocade Network Advisor REST API Guide 171


53-1003160-01
A Zoning

<xs:enumeration value="STANDARD"/>
<xs:enumeration value="LSAN"/>
<xs:enumeration value="UNKNOWN"/>
</xs:restriction>
</xs:simpleType>

ZonesResponse
<xs:complexType name="ZonesResponse">
<xs:sequence>
<xs:element name="zones" type="ns1:Zone" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

ZoneAliasesResponse
<xs:complexType name="ZoneAlias">
<xs:sequence>
<xs:element name="key" type="xs:string"/
<xs:element name="name" type="xs:string"/>
<xs:element name="memberNames" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="ZoneAliasesResponse">
<xs:sequence>
<xs:element name="zoneAliases" type="ns1:ZoneAlias" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

ZoneSetsResponse
<xs:complexType name="ZoneSet">
<xs:sequence>
<xs:element name="key" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="active" type="xs:boolean"/>
<xs:element name="zoneNames" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="ZoneSetsResponse">
<xs:sequence>
<xs:element name="zonesets" type="ns1:ZoneSet" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

ZoneTransactionResponse
<xs:complexType name="ZoneTransaction">
<xs:sequence>
<xs:element name="key" type="xs:string"/>
<xs:element name="lsanZoning" type="xs:boolean"/>
<xs:element name="active" type="xs:boolean"/>
<xs:element name="timeout" type="xs:int"/>

172 Brocade Network Advisor REST API Guide


53-1003160-01
Zoning A

</xs:sequence>
</xs:complexType>

<xs:complexType name="ZoneTransactionResponse">
<xs:sequence>
<xs:element name="zoneTransaction" type="ns1:ZoneTransaction"/>
</xs:sequence>
</xs:complexType>

ControlZoneTransactionRequest
<xs:complexType name="ControlZoneTransactionRequest">
<xs:sequence>
<xs:element name="lsanZoning" type="xs:boolean" default="false"/> ' case sensitive, use either
true or false
<xs:element name="action" type="tns:TransactionAction"/>
</xs:sequence>
</xs:complexType>

<xs:simpleType name="TransactionAction">
<xs:restriction base="xs:string">
<xs:enumeration value="NONE"/>
<xs:enumeration value="START"/>
<xs:enumeration value="ABORT"/>
<xs:enumeration value="COMMIT"/>
</xs:restriction>
</xs:simpleType>

CreateZoningObjectRequest
<xs:complexType name="CreateZoningObjectRequest">
<xs:sequence>
<xs:element name="zones" type="ns1:Zone" maxOccurs="unbounded"/>
<xs:element name="zoneAliases" type="ns1:ZoneAlias" maxOccurs="unbounded"/>
<xs:element name="zoneSets" type="ns1:ZoneSet" maxOccurs="unbounded"/>
<xs:element name="edgeFabricWwns" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

DeleteZoningObjectRequest
<xs:complexType name="DeleteZoningObjectRequest">
<xs:sequence>
<xs:element name="zoneNames" type="xs:string" maxOccurs="unbounded"/>
<xs:element name="zoneAliasNames" type="xs:string" maxOccurs="unbounded"/>
<xs:element name="zoneSetNames" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

UpdateZoningObjectRequest
<xs:complexType name="UpdateZoningObjectRequest">
<xs:sequence>
<xs:element name="action" type="tns:UpdateAction"/>
<xs:element name="zones" type="ns1:Zone" maxOccurs="unbounded"/>

Brocade Network Advisor REST API Guide 173


53-1003160-01
A Historical performance data

<xs:element name="zoneAliases" type="ns1:ZoneAlias" maxOccurs="unbounded"/>


<xs:element name="zoneSets" type="ns1:ZoneSet" maxOccurs="unbounded"/>
<xs:element name="edgeFabricWwns" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:simpleType name="UpdateAction">
<xs:restriction base="xs:string">
<xs:enumeration value="NONE"/>
<xs:enumeration value="ADD"/>
<xs:enumeration value="REMOVE"/>
</xs:restriction>
</xs:simpleType>

InitiatorTargetsRequest
<xs:complexType name="InitiatorTargetsRequest">
<xs:sequence>
<xs:element name="lsanZoning" type="xs:boolean" default="false"/> ' case sensitive, use either
true or false
<xs:element name="zoneNamePrefix" type="xs:string" minOccurs="0"/>
<xs:element name="initiator" type="xs:string"/>
<xs:element name="targets" type="xs:string" maxOccurs="unbounded"/>
<xs:element name="activate" type="xs:boolean" default="false"/> ' case sensitive, use either
true or false
<xs:element name="edgeFabricWwns" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

Historical performance data


PerformanceDataResponse
<xs:complexType name="PerformanceDataResponse">
<xs:sequence>
<xs:element name="performanceDatas" type="ns1:PerformanceData" maxOccurs="unbounded"/>
<xs:element name="granularity" type="ns1:TimeSeriesGranularity" minOccurs="0"/>
<xs:element name="duration" type="xs:long" nillable="true" minOccurs="0"/>
<xs:element name="startDate" type="xs:long" nillable="true" minOccurs="0"/>
<xs:element name="endDate" type="xs:long" nillable="true" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="PerformanceData">
<xs:sequence>
<xs:element name="targetKey" type="xs:string"/>
<xs:element name="targetType" type="tns:TargetType"/>
<xs:element name="timeSeriesDatas" type="tns:TimeSeriesData" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="TimeSeriesData">
<xs:sequence>
<xs:element name="timeInSeconds" type="xs:int"/>
<xs:element name="value" type="xs:double"/>

174 Brocade Network Advisor REST API Guide


53-1003160-01
Authentication and session management A

<xs:element name="lo" type="xs:double"/>


<xs:element name="hi" type="xs:double"/>
<xs:element name="sum" type="xs:double"/>
</xs:sequence>
</xs:complexType>

<xs:simpleType name="TargetType">
<xs:restriction base="xs:string">
<xs:enumeration value="FC_SWITCH"/>
<xs:enumeration value="FC_PORT"/>
<xs:enumeration value="GIGE_PORT"/>
<xs:enumeration value="HBA_PORT"/>
<xs:enumeration value="FLOW"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="TimeSeriesGranularity">
<xs:restriction base="xs:string">
<xs:enumeration value="GRANULARITY_MINIMUM"/>
<xs:enumeration value="GRANULARITY_30MIN"/>
<xs:enumeration value="GRANULARITY_2HOUR"/>
<xs:enumeration value="GRANULARITY_1DAY"/>
</xs:restriction>
</xs:simpleType>

Authentication and session management


LoginResponse
<xs:complexType name="LoginResponse">
<xs:sequence>
<xs:element name="serverName" type="xs:string" minOccurs="0"/>
<xs:element name="serverIp" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

Brocade Network Advisor REST API Guide 175


53-1003160-01
A Authentication and session management

176 Brocade Network Advisor REST API Guide


53-1003160-01

You might also like