#!/usr/bin/python # # Use REST API to createpolicies # # Usage: # makepolicy [ ...] # import base64 import json import sys import urllib2 server = "https://fmc.dcloud.local" username = "restapiuser" password = "C1sco12345" headers = {'Content-Type': 'application/json', 'X-auth-access-token': sys.argv[1]} api_path = "/api/fmc_config/v1/domain/default/policy/accesspolicies" url = server + api_path f = None for x in range(3, len(sys.argv)): print "Sending request to create policy %s" % sys.argv[x] post_data = { "type": "AccessPolicy", "name": sys.argv[x], "defaultAction": { "action": sys.argv[2] } } req = urllib2.Request(url, json.dumps(post_data), headers) base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '') req.add_header("Authorization", "Basic %s" % base64string) try: f = urllib2.urlopen(req) status_code = f.getcode() print "Status code is "+str(status_code) if status_code == 201: print "Create was successful" except urllib2.HTTPError, err: print "Error received from server. HTTP Status code :"+str(err.code) try: json_error = json.loads(err.read()) if json_error: print json.dumps(json_error,sort_keys=True,indent=4, separators=(',', ': ')) except ValueError: pass finally: if f: f.close()