示例#1
0
def main():

    # Parse for command line argument for fgt ip
    if len(sys.argv) < 2:
        # Requires fgt ip and vdom
        print "Please specify fgt ip address"
        exit()

    # Initilize fgt connection
    ip = sys.argv[1]
    #fgt = FGT(ip)

    # Hard coded vdom value for all requests
    vdom = "root"

    # Login to the FGT ip

    fgt = FortiOSAPI()

    fgt.login(ip, 'admin', '')
    parameters = {'global': '1'}
    upload_data = {'source': 'upload', 'scope': 'global'}
    files = {'file': ('license', open("license.lic", 'r'), 'text/plain')}

    fgt.upload('system/vmlicense',
               'upload',
               data=upload_data,
               parameters=parameters,
               files=files)

    fgt.logout()
示例#2
0
from fortiosapi import FortiOSAPI

FG = FortiOSAPI()

# Source _host
FG_HOST = os.environ['FG_HOST']
FG_USER = os.environ['FG_USER']
FG_PASS = os.environ['FG_PASS']

DEVICE = {
    'host': FG_HOST,
    'username': FG_USER,
    'password': FG_PASS,
}

FG._https = False  # Connect using http before license is applied
FG.login(**DEVICE)

filename = 'license.lic'
f = open(filename)

data = {
    'source': 'upload',
    'scope': 'global',
}

license_file = {'file': (filename, f, 'text/plain')}

FG.upload('system', 'vmlicense/upload', data=data, files=license_file)

# Will reboot automatically after POST
示例#3
0
from fortiosapi import FortiOSAPI


FG = FortiOSAPI()

# Source _host
FG_HOST = os.environ['FG_HOST']
FG_USER = os.environ['FG_USER']
FG_PASS = os.environ['FG_PASS']

DEVICE = {
    'host': FG_HOST,
    'username': FG_USER,
    'password': FG_PASS,
}

FG.login(**DEVICE)

# Obtain FIRMWARE_ID with monitor_system_firmware
FIRMWARE_ID = '06000000FIMG0012000000'  # 6.0.0
# FIRMWARE_ID = '06000000FIMG0012000001'  # 6.0.1

UPLOAD_DATA = {
    'source': 'fortiguard',
    'filename': FIRMWARE_ID,
}

UPLOAD_DATA = json.dumps(UPLOAD_DATA)

FG.upload('system', 'firmware/upgrade', data=UPLOAD_DATA)
示例#4
0
    'host': FG_HOST,
    'username': FG_USER,
    'password': FG_PASS,
}

FG.login(**DEVICE)

UPLOAD_DATA = {
    'event_log_message': 'going down',
}

UPLOAD_DATA = json.dumps(UPLOAD_DATA)

# Using upload method because it's the easiest way to POST to
# /monitor using fortiosapi at the moment
FG.upload('system', 'os/reboot', data=UPLOAD_DATA)
'''
Currently this code works but will hang at the end and will raise the following errors:

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 600, in urlopen
    chunked=chunked)
  File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 384, in _make_request
    six.raise_from(e, None)
  File "<string>", line 2, in raise_from
  File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 380, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.5/http/client.py", line 1197, in getresponse
    response.begin()
  File "/usr/lib/python3.5/http/client.py", line 297, in begin
    version, status, reason = self._read_status()
示例#5
0
from fortiosapi import FortiOSAPI

FG = FortiOSAPI()

# Source _host
FG_HOST = os.environ['FG_HOST']
FG_USER = os.environ['FG_USER']
FG_PASS = os.environ['FG_PASS']

DEVICE = {
    'host': FG_HOST,
    'username': FG_USER,
    'password': FG_PASS,
}

FG.login(**DEVICE)


filename = 'fg_backup.txt'
f = open(filename)

data = {
    'source': 'upload',
    'scope': 'global',
}

backup_file = {'file': (filename, f, 'text/plain')}

FG.upload('system', 'config/restore', data=data, files=backup_file)

# Will reboot automatically after POST
示例#6
0
import json
from fortiosapi import FortiOSAPI

FG = FortiOSAPI()

# Source _host
FG_HOST = os.environ['FG_HOST']
FG_USER = os.environ['FG_USER']
FG_PASS = os.environ['FG_PASS']

DEVICE = {
    'host': FG_HOST,
    'username': FG_USER,
    'password': FG_PASS,
}

FG.login(**DEVICE)

filename = 'FGT_VM64-v6-build0163-FORTINET.out'
f = open(filename, 'rb')
firmware_file = {'file': (filename, f, 'text/plain')}

data = {
    'source': 'upload',
    'scope': 'global',
}

FG.upload('system', 'firmware/upgrade', data=data, files=firmware_file)

# Will reboot automatically after POST
示例#7
0
    'host': FG_HOST,
    'username': FG_USER,
    'password': FG_PASS,
}

FG.login(**DEVICE)

UPLOAD_DATA = {
    'event_log_message': 'going down',
}

UPLOAD_DATA = json.dumps(UPLOAD_DATA)

# Using upload method because it's the easiest way to POST to
# /monitor using fortiosapi at the moment
FG.upload('system', 'os/shutdown', data=UPLOAD_DATA)
'''
Currently this code works but will hang at the end and will raise the following errors:

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 600, in urlopen
    chunked=chunked)
  File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 384, in _make_request
    six.raise_from(e, None)
  File "<string>", line 2, in raise_from
  File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 380, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.5/http/client.py", line 1197, in getresponse
    response.begin()
  File "/usr/lib/python3.5/http/client.py", line 297, in begin
    version, status, reason = self._read_status()