Forum Discussion
Sinan_WANG
Dec 07, 2016Nimbostratus
Here is code I test worked to create a active asm policy.
!/usr/bin/env python
-*- coding=utf-8 -*-
import requests
import json
requests.packages.urllib3.disable_warnings()
def create_asm_policy(bigip, asm_policy_name):
"""create active asm policy"""
payload = {}
payload['name'] = asm_policy_name + '_asm_policy'
payload['applicationLanguage'] = 'utf-8'
payload['enforcementMode'] = 'transparent'
payload['templateReference'] = {'link': 'https://localhost/mgmt/tm/asm/policy-templates/EY4J-L6HK0AXUYXIc0VjDQ'}
payload['policyBuilderEnabled'] = False
bigip.post('%s/asm/policies' % BIGIP_BASE_URL, data=json.dumps(payload)).json()
policy_url = bigip.get('%s/asm/policies?$filter=name+eq+%s' % (BIGIP_BASE_URL, asm_policy_name + '_asm_policy')).json()['items'][0]['selfLink']
policy_payload = {}
policy_payload['policyReference'] = {'link': policy_url}
bigip.post('%s/asm/tasks/apply-policy/' % BIGIP_BASE_URL, data=json.dumps(policy_payload)).json()
bigip.patch('%s%s/' % (BIGIP_BASE_URL, policy_url[25:]), data=json.dumps({'active': True})).json()
if __name__ == '__main__':
bigip = requests.session()
bigip.auth = ('admin', 'admin')
bigip.verify = False
bigip.headers.update({'Content-Type': 'application/json'})
BIGIP_ADDRESS = '10.10.0.21'
BIGIP_BASE_URL = 'https://%s/mgmt/tm' % BIGIP_ADDRESS
- dani_martinez_2May 29, 2018Nimbostratus
Is there any way to do this with f5-common-python library? Thanks