Aruba SwitchAPI adalah perpustakaan PHP untuk meminta sakelar Aruba (ArubaOS). Pustaka ini dapat mengambil, membuat, memperbarui, dan menghapus konfigurasi pada sakelar. Itu ingin digunakan untuk:
Peringatan : Pustaka ini tidak lengkap dan sebagian besar berorientasi pada POE, VLAN, port, dan pencari lokasi LED. Kontribusi dipersilahkan!
Anda dapat menemukan semua metode yang didukung di situs web Aruba, pilih peralatan Anda dan unduh dokumentasi 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();
. Anda dapat menemukan dokumentasi lengkapnya di sini.
Kelas Config ini digunakan untuk menyiapkan informasi konfigurasi wajib untuk membuat instance dan menggunakan kelas SwitchAPI. Di konstruktor Anda harus melewati:
Parameter opsional:
setTimeout()
untuk mengubah.setSSLVerifyPeer()
untuk mengubah.setSSLVerifyHost()
untuk mengubahnya.setAPIVersion()
untuk mengubah (hanya >= v7 yang didukung).Contoh :
// 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 ());
}
Kelas ini menggunakan Exception untuk menangani kesalahan, untuk eksekusi nominal Anda harus membuat instance dan meminta metode di dalam pernyataan try/catch.
Contoh :
// 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 ());
}
Anda dapat menelusuri semua metode yang tersedia di sini.