Cisco DCNM Web サービス API ガイド リリース 5.1(1a)
概要
概要
発行日;2012/02/02 | 英語版ドキュメント(2011/07/18 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 3MB) | フィードバック

目次

概要

Web サービスについて

SOAP メッセージ

セッション ID を作成するための SOAP メッセージ

API コールを行うための SOAP メッセージ

エラー処理

Web サービスのライセンス要件

その他の関連資料

関連資料

標準規格

概要

この章では、Data Center Network Management(DCNM)Web サービスの Application Program Interface(API)について説明します。

この章の内容は、次のとおりです。

「Web サービスについて」

「Web サービスのライセンス要件」

「その他の関連資料」

Web サービスについて

DCNM サーバ上で Cisco DCNM Web サービスの API を使用すると、NX-OS デバイスを設定できます。SOAP プロトコルを使用して、XML ベースの API 要求を作成します。DCNM サーバでは、XML 管理インターフェイスを使用してデバイスを設定します。XML 管理インターフェイスの詳細については、『 Cisco Nexus 7000 Series NX-OS XML Management Interface User Guide, Release 4.2 』を参照してください。

Web サービスの API は、DCNM クライアントで使用できる機能のサブセットを提供します。DCNM の詳細については、『 Cisco DCNM Fundamentals Configuration Guide, Release 4.2 』を参照してください。

ここでは、次の内容について説明します。

「SOAP メッセージ」

「エラー処理」

SOAP メッセージ

DCNM サーバと交換する SOAP メッセージには、ヘッダーにユーザ ID とパスワードが含まれ、本体に API コールが含まれます。

DCNM サーバ上の DCNM Web サービスについて記述した XSD および WSDL ファイルは、DCNM インストール ディレクトリの ws-client フォルダにあります。DCNM サーバは、デフォルトで C:\Program Files\Cisco Systems\DCNM にインストールされます。

SOAP の詳細については、 http://www.w3.org/TR/soap を参照してください。

ここでは、次の内容について説明します。

「セッション ID を作成するための SOAP メッセージ」

「API コールを行うための SOAP メッセージ」

セッション ID を作成するための SOAP メッセージ

例 1-1 に、SecurityApp サービスの createSessionID メソッドでセッション ID を取得するために送信する、最初の SOAP メッセージを示します。以後のすべての SOAP メッセージでは、戻されたセッション ID を使用します。SecurityApp サービスの createSessionID メソッドを使用し、DCNM サーバのユーザ ID およびパスワードを指定します。

例 1-1 セッション ID を取得するための SOAP メッセージ

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Header>
<m:credentialHeader xmlns:m="http://security.app.ws.dcm.dcbu.cisco.com/SecurityAppService">
<userId>admin</userId>
<password>admin</password>
</m:credentialHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<m:createSessionId xmlns:m="http://security.app.ws.dcm.dcbu.cisco.com/SecurityAppService">
<aOpContext/>
</m:createSessionId>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
 

例 1-2 に、戻されたセッション ID「9A7C0399AC161F3601FEB227E2ADA634」を示します。以後の API コールではこのセッション ID を使用します。

例 1-2 セッション ID を取得するための SOAP メッセージに対する応答

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<m:createSessionIdResponse xmlns:m="http://security.app.ws.dcm.dcbu.cisco.com/SecurityAppService">
<result xmlns:basictypes="http://basictypes.dcm.dcbu.cisco.com" xmlns:common="http://common.dcm.dcbu.cisco.com" xmlns:datatype="http://datatype.model.dcm.dcbu.cisco.com" xmlns:enumkind="http://enumkind.model.dcm.dcbu.cisco.com" xmlns:util="http://util.common.dcm.dcbu.cisco.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/XMLSchema xml.xsd" xsi:type="xs:string">9A7C0399AC161F3601FEB227E2ADA634</result>
</m:createSessionIdResponse>
</env:Body>
</env:Envelope>
 

API コールを行うための SOAP メッセージ

例 1-3 に、InventoryApp サービスの getAllChassisInNetwork メソッドでシャーシ インベントリを要求するために送信する SOAP メッセージを示します。

例 1-3 シャーシ インベントリを要求する SOAP メッセージ

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Header>
<m:credentialHeader xmlns:m="http://inventory.app.ws.dcm.dcbu.cisco.com/InventoryAppService">
<sessionId>9A7C0399AC161F3601FEB227E2ADA634</sessionId>
</m:credentialHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<m:getAllChassisInNetwork xmlns:m="http://inventory.app.ws.dcm.dcbu.cisco.com/InventoryAppService">
<opContext/>
</m:getAllChassisInNetwork>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
 

例 1-4 に、シャーシ インベントリ要求に対する応答を示します。

例 1-4 シャーシ インベントリを要求する SOAP メッセージに対する応答

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<m:getAllChassisInNetworkResponse xmlns:m="http://inventory.app.ws.dcm.dcbu.cisco.com/InventoryAppService">
<return collectionType="List" xmlns:basictypes="http://basictypes.dcm.dcbu.cisco.com" xmlns:common="http://common.dcm.dcbu.cisco.com" xmlns:datatype="http://datatype.model.dcm.dcbu.cisco.com" xmlns:enumkind="http://enumkind.model.dcm.dcbu.cisco.com" xmlns:physical="http://physical.model.dcm.dcbu.cisco.com" xmlns:tns="http://physical.model.dcm.dcbu.cisco.com" xmlns:util="http://util.common.dcm.dcbu.cisco.com" xmlns:vdc="http://vdc.model.dcm.dcbu.cisco.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://physical.model.dcm.dcbu.cisco.com physical.xsd" xsi:type="physical:Chassis_ListType">
<itemList xsi:type="physical:Chassis">
<instClassName>com.cisco.dcbu.dcm.model.physical.Chassis</instClassName>
<instanceClassId>6143</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.physical.Chassis:neId=2,chassisId=TBM11256510</instanceName>
<instanceState>Unmodified</instanceState>
<version>3</version>
<description>Nexus7000 C7010 (10 Slot) Chassis</description>
<name>Chassis</name>
<productId>N7K-C7010</productId>
<serialNumber>TBM11256510</serialNumber>
<chassisPowerSupplyRef xsi:type="physical:ChassisPowerSupplySetting">
<instClassName>com.cisco.dcbu.dcm.model.physical.ChassisPowerSupplySetting</instClassName>
<powerSupplyRedundancyMode>Redundant</powerSupplyRedundancyMode>
</chassisPowerSupplyRef>
<chassisPowerSupplyStatusRef xsi:type="physical:ChassisPowerSupplyStatus">
<instClassName>com.cisco.dcbu.dcm.model.physical.ChassisPowerSupplyStatus</instClassName>
<instanceClassId>6252</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.physical.ChassisPowerSupplyStatus:neId=2,chassisId=TBM11256510</instanceName>
<instanceState>Unmodified</instanceState>
<version>0</version>
<availablePowerSupply>2329.00</availablePowerSupply>
<operationalRedundancyStatus>Redundant</operationalRedundancyStatus>
<totalPowerSupply>5480.00</totalPowerSupply>
<usedPowerSupply>3151.0</usedPowerSupply>
</chassisPowerSupplyStatusRef>
<networkElementRef xsi:type="vdc:NetworkElement">
<instClassName>com.cisco.dcbu.dcm.model.vdc.NetworkElement</instClassName>
<instanceClassId>2</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.vdc.NetworkElement:neId=2</instanceName>
<instanceState>Unmodified</instanceState>
<version>6</version>
<abstractNetworkElementStatusRef xsi:type="vdc:AbstractNetworkElementStatus">
<instClassName>com.cisco.dcbu.dcm.model.vdc.AbstractNetworkElementStatus</instClassName>
<instanceClassId>6146</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.vdc.AbstractNetworkElementStatus:neId=2</instanceName>
<instanceState>Unmodified</instanceState>
<version>1</version>
<mgmtState>Managed</mgmtState>
<userId>administration</userId>
</abstractNetworkElementStatusRef>
<hostName>DCNM-9</hostName>
<mgmtIpAddress>172.27.139.76</mgmtIpAddress>
<platformName>Nexus7000</platformName>
<platformType>Cisco Nexus7000 Series</platformType>
<platformVersion>4.0(1)</platformVersion>
<chassisRef xsi:type="physical:Chassis">
<instanceName>com.cisco.dcbu.dcm.model.physical.Chassis:neId=2,chassisId=TBM11256510</instanceName>
</chassisRef>
</networkElementRef>
<redundancySettingsRef xsi:type="physical:RedundancySetting">
<instClassName>com.cisco.dcbu.dcm.model.physical.RedundancySetting</instClassName>
<redundancyMode>HA</redundancyMode>
</redundancySettingsRef>
<redundancyStatusRef xsi:type="physical:RedundancyStatus">
<instClassName>com.cisco.dcbu.dcm.model.physical.RedundancyStatus</instClassName>
<instanceClassId>6250</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.physical.RedundancyStatus:neId=2,chassisId=TBM11256510</instanceName>
<instanceState>Unmodified</instanceState>
<version>0</version>
<operationalRedundancyMode>None</operationalRedundancyMode>
</redundancyStatusRef>
<slotCol collectionType="Set" xsi:type="physical:Slot_SetType">
<itemSet xsi:type="physical:Slot">
<instClassName>com.cisco.dcbu.dcm.model.physical.Slot</instClassName>
<instanceClassId>6150</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.physical.Slot:neId=2,chassisId=TBM11256510,slotNumber=3</instanceName>
<instanceState>Unmodified</instanceState>
<version>1</version>
<chassisRef xsi:type="physical:Chassis">
<instanceName>com.cisco.dcbu.dcm.model.physical.Chassis:neId=2,chassisId=TBM11256510</instanceName>
</chassisRef>
<slotNumber>3</slotNumber>
</itemSet>
<itemSet xsi:type="physical:Slot">
<instClassName>com.cisco.dcbu.dcm.model.physical.Slot</instClassName>
<instanceClassId>6148</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.physical.Slot:neId=2,chassisId=TBM11256510,slotNumber=1</instanceName>
<instanceState>Unmodified</instanceState>
<version>1</version>
<chassisRef xsi:type="physical:Chassis">
<instanceName>com.cisco.dcbu.dcm.model.physical.Chassis:neId=2,chassisId=TBM11256510</instanceName>
</chassisRef>
<slotNumber>1</slotNumber>
</itemSet>
<itemSet xsi:type="physical:Slot">
<instClassName>com.cisco.dcbu.dcm.model.physical.Slot</instClassName>
<instanceClassId>6152</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.physical.Slot:neId=2,chassisId=TBM11256510,slotNumber=5</instanceName>
<instanceState>Unmodified</instanceState>
<version>1</version>
<chassisRef xsi:type="physical:Chassis">
<instanceName>com.cisco.dcbu.dcm.model.physical.Chassis:neId=2,chassisId=TBM11256510</instanceName>
</chassisRef>
<slotNumber>5</slotNumber>
</itemSet>
<itemSet xsi:type="physical:Slot">
<instClassName>com.cisco.dcbu.dcm.model.physical.Slot</instClassName>
<instanceClassId>6156</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.physical.Slot:neId=2,chassisId=TBM11256510,slotNumber=12</instanceName>
<instanceState>Unmodified</instanceState>
<version>1</version>
<chassisRef xsi:type="physical:Chassis">
<instanceName>com.cisco.dcbu.dcm.model.physical.Chassis:neId=2,chassisId=TBM11256510</instanceName>
</chassisRef>
<slotNumber>12</slotNumber>
</itemSet>
<itemSet xsi:type="physical:Slot">
<instClassName>com.cisco.dcbu.dcm.model.physical.Slot</instClassName>
<instanceClassId>6154</instanceClassId>
<instanceName>com.cisco.dcbu.dcm.model.physical.Slot:neId=2,chassisId=TBM11256510,slotNumber=11</instanceName>
<instanceState>Unmodified</instanceState>
<version>1</version>
<chassisRef xsi:type="physical:Chassis">
<instanceName>com.cisco.dcbu.dcm.model.physical.Chassis:neId=2,chassisId=TBM11256510</instanceName>
</chassisRef>
<slotNumber>11</slotNumber>
</itemSet>
</slotCol>
</itemList>
</return>
</m:getAllChassisInNetworkResponse>
</env:Body>
</env:Envelope>

エラー処理

各メソッドの下に、発生する可能性のある例外が示されます。

Web サービスのライセンス要件

次の表に、この機能のライセンス要件を示します。

 

製品
ライセンス要件

Cisco DCNM

Web サービスにライセンスは不要です。ライセンス パッケージに含まれていない機能はすべて Cisco DCNM にバンドルされており、費用は一切発生しません。Cisco DCNM ライセンス方式の詳細については、『 Cisco DCNM Installation and Licensing Guide 』を参照してください。

その他の関連資料

Web サービス API の実装に関連する詳細情報については、次の項を参照してください。

「関連資料」

「標準規格」

関連資料

関連項目
マニュアル名

XML 管理インターフェイス

Cisco Nexus 7000 Series NX-OS XML Management Interface User Guide, Release 4.2

DCNM クライアント

Cisco DCNM Fundamentals Configuration Guide, Release 4.2

標準規格

標準規格
タイトル

この機能でサポートされる新規または改訂された標準規格はありません。また、この機能による既存の標準規格サポートの変更はありません。

--