Aruba SwitchAPI
1.0.0
Aruba SwitchAPI Aruba 스위치(ArubaOS)를 요청하기 위한 PHP 라이브러리입니다. 이 라이브러리는 스위치의 구성을 검색, 생성, 업데이트 및 삭제할 수 있습니다. 다음과 같은 작업에 익숙해졌으면 합니다.
경고 : 이 라이브러리는 불완전하며 주로 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 클래스를 인스턴스화하고 사용하기 위한 필수 구성 정보를 준비하는 데 사용됩니다. 생성자에서 다음을 전달해야 합니다.
선택적 매개변수:
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 ());
}
여기에서 사용 가능한 모든 방법을 찾아볼 수 있습니다.