Aruba SwitchAPI
1.0.0
Aruba SwitchAPI هي مكتبة PHP لطلب محولات Aruba (ArubaOS). يمكن لهذه المكتبة استرداد التكوين وإنشاءه وتحديثه وحذفه على المحول. يمكن استخدامه من أجل:
تحذير : هذه المكتبة غير مكتملة وموجهة بشكل أساسي نحو POE وVLAN والمنفذ ومحدد موقع LED. المساهمات هي موضع ترحيب!
يمكنك العثور على جميع الطرق المدعومة على موقع Aruba الإلكتروني، واختيار المعدات الخاصة بك وتنزيل وثائق 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();
. يمكنك العثور على وثائق كاملة هنا.
يتم استخدام فئة التكوين هذه لإعداد معلومات التكوين الإلزامية لإنشاء فئة 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 ());
}
تستخدم هذه الفئة الاستثناء لمعالجة الأخطاء، وبالنسبة للتنفيذ الاسمي، يجب عليك إنشاء مثيل وطلب الأساليب داخل عبارات المحاولة/التقاط.
أمثلة :
// 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 ());
}
يمكنك تصفح جميع الطرق المتاحة هنا.