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();
- คุณสามารถค้นหาเอกสารฉบับเต็มได้ที่นี่
คลาส Config นี้ใช้เพื่อเตรียมข้อมูลการกำหนดค่าที่จำเป็นเพื่อเริ่มต้นและใช้คลาส SwitchAPI ใน Constructor คุณต้องผ่าน :
พารามิเตอร์เสริม:
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 ());
}
คลาสนี้ใช้ Exception เพื่อจัดการกับข้อผิดพลาด สำหรับการดำเนินการเล็กน้อย คุณควรสร้างอินสแตนซ์และร้องขอวิธีการภายในคำสั่ง 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 ());
}
คุณสามารถเรียกดูวิธีการทั้งหมดที่มีอยู่ได้ที่นี่