Exemplo n.º 1
0
}
//
// Rule filter provided in CLI ?
//
if (isset(PH::$args['filter'])) {
    $rulesFilter = PH::$args['filter'];
    if (!is_string($rulesFilter) || strlen($rulesFilter) < 1) {
        display_error_usage_exit('"filter" argument is not a valid string');
    }
}
//
// What kind of config input do we have.
//     File or API ?
//
// <editor-fold desc="  ****  input method validation and PANOS vs Panorama auto-detect  ****" defaultstate="collapsed" >
$configInput = PH::processIOMethod($configInput, true);
$xmlDoc = null;
if ($configInput['status'] == 'fail') {
    fwrite(STDERR, "\n\n**ERROR** " . $configInput['msg'] . "\n\n");
    exit(1);
}
if ($configInput['type'] == 'file') {
    if (isset(PH::$args['out'])) {
        $configOutput = PH::$args['out'];
        if (!is_string($configOutput) || strlen($configOutput) < 1) {
            display_error_usage_exit('"out" argument is not a valid string');
        }
    } else {
        display_error_usage_exit('"out" is missing from arguments');
    }
    if (!file_exists($configInput['filename'])) {
Exemplo n.º 2
0
        $doc = $configInput['connector']->getCandidateConfig();
    } elseif ($configInput['filename'] == 'running-config') {
        $doc = $configInput['connector']->getRunningConfig();
    } else {
        $doc = $configInput['connector']->getSavedConfig($configInput['filename']);
    }
} else {
    derr('not supported yet');
}
print " OK!!\n\n";
print "Now saving/uploading that configuration to ";
//
// What kind of config output do we have.
//     File or API ?
//
$configOutput = PH::processIOMethod($configOutput, false);
if ($configOutput['status'] == 'fail') {
    fwrite(STDERR, "\n\n**ERROR** " . $configOutput['msg'] . "\n\n");
    exit(1);
}
if ($configOutput['type'] == 'file') {
    if (isset(PH::$args['toxpath'])) {
        derr("toXpath options was used, it's incompatible with a file output");
    }
    print "{$configOutput['filename']} ... ";
    $doc->save($configOutput['filename']);
} elseif ($configOutput['type'] == 'api') {
    if ($debugAPI) {
        $configOutput['connector']->setShowApiCalls(true);
    }
    if (isset(PH::$args['toxpath'])) {