PHP code example of benclerc / fortinet-fortimanagerapi
1. Go to this page and download the library: Download benclerc/fortinet-fortimanagerapi library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
benclerc / fortinet-fortimanagerapi example snippets
// Basic configuration
$configConnection = new \Fortinet\FortiManagerAPI\Config('123.123.123.123', 'admin', 'password');
// Configuration for very slow firewalls/long requests
$configConnection = new \Fortinet\FortiManagerAPI\Config('123.123.123.123', 'admin', 'password');
$configConnection->setTimeout(20000);
// Unsecure configuration
$configConnection = new \Fortinet\FortiManagerAPI\Config('123.123.123.123', 'admin', 'password');
$configConnection->setSSLVerifyPeer(FALSE)->setSSLVerifyHost(FALSE);
// The class logins to the FortiManager when being instanciated hence the try/catch statement.
// Here I use the class PolicyManager for the example but it the same for the other classes.
try {
$policyManager = new \Fortinet\FortiManagerAPI\PolicyManager($configConnection);
} catch (Exception $e) {
echo('Handle error : '.$e->getMessage());
}
// Get an address object named OBJ_IP in global database
try {
$res = $policyManager->getOneGlobalObjectFirewallAddress('OBJ_IP');
echo('Subnet is : '.$res->results[0]->subnet[0].'/'.$res->results[0]->subnet[1]);
} catch (Exception $e) {
echo('Handle error : '.$e->getMessage());
}
// Get an address object named OBJ_IP in 'root' ADOM
try {
$res = $policyManager->getOneAdomObjectFirewallAddress('root', 'OBJ_IP');
echo('Subnet is : '.$res->results[0]->subnet[0].'/'.$res->results[0]->subnet[1]);
} catch (Exception $e) {
echo('Handle error : '.$e->getMessage());
}
// Add a new address object in the global database
// Define the object
$ip = new stdClass;
$ip->name = 'OBJ_IP';
$ip->type = 'ipmask';
$ip->subnet = '10.1.1.0/24';
// Send the request to the FortiManager
try {
$res = $policyManager->addGlobalObjectFirewallAddress($ip);
echo('Success !');
} catch (Exception $e) {
echo('Handle error : '.$e->getMessage());
}
// Add a new address object in 'root' ADOM
// Send the request to the FortiManager
try {
$res = $policyManager->addAdomObjectFirewallAddress('root', $ip);
echo('Success !');
} catch (Exception $e) {
echo('Handle error : '.$e->getMessage());
}
// Lock workspace ('root' VDOM)
$policyManager->execAdomWorkspaceLock('root');
// Create many IP objects
$error = FALSE;
for ($i=1; $i < 50; $i++) {
// Define the object
$ip = new stdClass;
$ip->name = 'OBJ_IP'.$i;
$ip->type = 'ipmask';
$ip->subnet = '10.1.'.$i.'.0/24';
// Send the request to the FortiManager
try {
$res = $policyManager->addGlobalObjectFirewallAddress($ip);
echo($ip->name.' Success !');
} catch (Exception $e) {
echo('Handle error : '.$e->getMessage());
}
}
// Check error
if ($error === FALSE) {
// No errors, commit changes
$policyManager->execAdomWorkspaceCommit('root');
} else {
// Errors, abort and rollback
$policyManager->execAdomWorkspaceUnlock('root');
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.