def create_vrf(tenant_name, vrf_name): vrf_endpoint = f"/api/node/mo/uni/tn-{tenant_name}.json" template = JSON_TEMPLATES.get_template("add_vrf.j2.json") payload = template.render(tenant_name=tenant_name, vrf_name=vrf_name) response = execute_rest_call(endpoint=vrf_endpoint, method="POST", data=payload) return response
def create_filter(tenant_name, filter_name): filter_endpoint = f"api/node/mo/uni/tn-{tenant_name}/flt-{filter_name}.json" template = JSON_TEMPLATES.get_template("add_filter.j2.json") payload = template.render(tenant_name=tenant_name, filter_name=filter_name) response = execute_rest_call(endpoint=filter_endpoint, method="POST", data=payload) return response
def create_bd(tenant_name, vrf_name, bd_name, subnet_ip): bd_endpoint = f"api/node/mo/uni/tn-{tenant_name}.json" template = JSON_TEMPLATES.get_template("add_bd.j2.json") payload = template.render(tenant_name=tenant_name, vrf_name=vrf_name, bd_name=bd_name, subnet_ip=subnet_ip) response = execute_rest_call(endpoint=bd_endpoint, method="POST", data=payload) return response
def delete_tenant(): tenant_endpoint = "api/mo/uni.json" template = JSON_TEMPLATES.get_template("delete_tenant.j2.json") payload = template.render(name=tenant) response = execute_rest_call(endpoint=tenant_endpoint, method="POST", data=payload) return response
def create_contract(tenant_name, contract_name): contract_endpoint = f"api/node/mo/uni/tn-{tenant_name}/brc-{contract_name}.json" template = JSON_TEMPLATES.get_template("add_contract.j2.json") payload = template.render(tenant_name=tenant_name, contract_name=contract_name) response = execute_rest_call(endpoint=contract_endpoint, method="POST", data=payload) return response
def create_tenant(tenant_name): tenant_endpoint = "api/mo/uni.json" template = JSON_TEMPLATES.get_template("add_tenant.j2.json") description = f"Tenant {tenant_name} created with Python Requests" payload = template.render(name=tenant_name, description=description) response = execute_rest_call(endpoint=tenant_endpoint, method="POST", data=payload) return response
def create_epg(tenant_name, ap_name, epg_name): epg_endpoint = f"api/node/mo/uni/tn-{tenant_name}/ap-{ap_name}/epg-{epg_name}.json" template = JSON_TEMPLATES.get_template("add_epg.j2.json") payload = template.render(tenant_name=tenant_name, ap_name=ap_name, epg_name=epg_name) response = execute_rest_call(endpoint=epg_endpoint, method="POST", data=payload) return response
def assign_contract(tenant_name, ap_name, epg_name, contract_name, contract_type): assign_contract_endpoint = f"api/node/mo/uni/tn-{tenant_name}/ap-{ap_name}/epg-{epg_name}.json" if (contract_type == 'provider'): template = JSON_TEMPLATES.get_template("assign_contract_prov.j2.json") else: template = JSON_TEMPLATES.get_template("assign_contract_cons.j2.json") payload = template.render(tenant_name=tenant_name, ap_name=ap_name, epg_name=epg_name, contract_name=contract_name) response = execute_rest_call(endpoint=assign_contract_endpoint, method="POST", data=payload) return response