Aruba SwitchAPI
1.0.0
Aruba SwitchAPI Aruba スイッチ (ArubaOS) をリクエストするための PHP ライブラリです。このライブラリは、スイッチ上の構成を取得、作成、更新、削除できます。用途:
警告: このライブラリは不完全であり、主に POE、VLAN、ポート、LED ロケーターを対象としています。貢献は大歓迎です!
Aruba の Web サイトでサポートされているすべてのメソッドを検索し、機器を選択して API ドキュメントをダウンロードできます。
composer require benclerc/aruba-switchapi
使用してライブラリをインストールします。require 'vendor/autoload.php';
。$configSwitch = new ArubaConfig('123.123.123.123', 'admin', 'password');
。$switch = new ArubaSwitchAPI($configSwitch);
。$runningConf = $switch->getRunningConfig();
。 完全なドキュメントはここで見つけることができます。
この Config クラスは、SwitchAPI クラスをインスタンス化して使用するために必須の構成情報を準備するために使用されます。コンストラクターでは、次のものを渡す必要があります。
オプションのパラメータ:
setTimeout()
を使用します。setSSLVerifyPeer()
を使用します。setSSLVerifyHost()
を使用して変更します。setAPIVersion()
を使用します (v7 以上のみがサポートされます)。例 :
// Basic configuration
$ configSwitch = new Aruba Config ( ' 123.123.123.123 ' , ' admin ' , ' password ' );
// Configuration for very slow switchs/long requests
$ configSwitch = new Aruba Config ( ' 123.123.123.123 ' , ' admin ' , ' password ' );
$ configSwitch -> setTimeout ( 20000 );
// Unsecure configuration
$ configSwitch = new Aruba Config ( ' 123.123.123.123 ' , ' admin ' , ' password ' );
$ configSwitch -> setSSLVerifyPeer ( FALSE )-> setSSLVerifyHost ( FALSE );
// Special API version
$ configSwitch = new Aruba Config ( ' 123.123.123.123 ' , ' admin ' , ' password ' );
$ configSwitch -> setAPIVersion ( ' v8 ' );
// The class logins to the switch when being instanciated hence the try/catch statement.
try {
$ switch = new Aruba SwitchAPI ( $ configSwitch );
} catch ( Exception $ e ) {
echo ( ' Handle error : ' . $ e -> getMessage ());
}
このクラスは例外を使用してエラーを処理します。通常の実行では、try/catch ステートメント内でメソッドをインスタンス化してリクエストする必要があります。
例:
// Blink for 1 min LED locator
try {
$ res = $ switch -> blinkLedLocator ( 2 , 1 );
if ( $ res ) {
echo ( ' Blink succeeded ' );
} else {
echo ( ' Blink failed ' );
}
} catch ( Exception $ e ) {
echo ( ' Handle error : ' . $ e -> getMessage ());
}
// Create a VLAN
try {
$ res = $ switch -> createVlan ( 666 , ' HELL ' );
if ( $ res ) {
echo ( ' The VLAN has been created. ' );
} else {
echo ( ' Error : the VLAN was not created. ' );
}
} catch ( Exception $ e ) {
echo ( ' Handle error : ' . $ e -> getMessage ());
}
// Get status of all ports
try {
$ res = $ switch -> getPortsStatus ();
if ( $ res != FALSE ) {
foreach ( $ res as $ key => $ value ) {
$ status = ( $ value -> is_port_enabled ) ? ' up ' : ' down ' ;
echo ( ' Port ' . $ value -> id . ' is ' . $ status . ' <br> ' );
}
} else {
echo ( ' Error : status could not be retrieved. ' );
}
} catch ( Exception $ e ) {
echo ( ' Handle error : ' . $ e -> getMessage ());
}
// Set untagged VLAN 666 on port 42
try {
$ res = $ switch -> setUVlanPort ( 666 , ' 42 ' );
if ( $ res ) {
echo ( ' The VLAN 666 has been affected to the port 42. ' );
} else {
echo ( ' Error : the VLAN was not affected. ' );
}
} catch ( Exception $ e ) {
echo ( ' Handle error : ' . $ e -> getMessage ());
}
ここで利用可能なすべてのメソッドを参照できます。