diff --git a/src/rest/connector/libs/apic/implementation.py b/src/rest/connector/libs/apic/implementation.py index aaf29ab..9ff8dad 100644 --- a/src/rest/connector/libs/apic/implementation.py +++ b/src/rest/connector/libs/apic/implementation.py @@ -238,13 +238,20 @@ def get(self, dn, query_target='self', rsp_subtree='no', \ "alias '{a}'".format(d=self.device.name, a=self.alias)) - full_url = "{f}{dn}?query-target={qt}&rsp-subtree={rs}"\ - "&rsp-prop-include={rpi}"\ - .format(f=self.url, - dn=dn, - qt=query_target, - rs=rsp_subtree, - rpi=rsp_prop_include) + full_url = "{f}{dn}".format(f=self.url, dn=dn.lstrip('/')) + + if query_target: + full_url += "?query-target={qt}"\ + .format(qt=query_target) + + if rsp_subtree: + full_url += "&rsp-subtree={rs}"\ + .format(rs=rsp_subtree) + + if rsp_prop_include: + full_url += "&rsp-prop-include={rpi}"\ + .format(rpi=rsp_prop_include) + if query_target_filter: full_url += "&query-target-filter={qtf}"\ .format(qtf=query_target_filter) @@ -313,7 +320,7 @@ def post(self, dn, payload, xml_payload=False, "alias '{a}'".format(d=self.device.name, a=self.alias)) # Deal with the dn - full_url = '{f}{dn}'.format(f=self.url, dn=dn) + full_url = '{f}{dn}'.format(f=self.url, dn=dn.lstrip('/')) log.info("Sending POST command to '{d}':"\ "\nDN: {furl}\nPayload:{p}".format(d=self.device.name, @@ -375,7 +382,7 @@ def delete(self, dn, expected_status_code=requests.codes.ok, timeout=30): a=self.alias)) # Deal with the dn - full_url = '{f}{dn}'.format(f=self.url, dn=dn) + full_url = '{f}{dn}'.format(f=self.url, dn=dn.lstrip('/')) log.info("Sending DELETE command to '{d}':"\ "\nDN: {furl}".format(d=self.device.name, furl=full_url)) diff --git a/src/rest/connector/libs/nxos/aci/implementation.py b/src/rest/connector/libs/nxos/aci/implementation.py index 45c3385..5ee5843 100644 --- a/src/rest/connector/libs/nxos/aci/implementation.py +++ b/src/rest/connector/libs/nxos/aci/implementation.py @@ -226,13 +226,20 @@ def get(self, dn, query_target='self', rsp_subtree='no', \ "alias '{a}'".format(d=self.device.name, a=self.alias)) - full_url = "{f}{dn}?query-target={qt}&rsp-subtree={rs}"\ - "&rsp-prop-include={rpi}"\ - .format(f=self.url, - dn=dn, - qt=query_target, - rs=rsp_subtree, - rpi=rsp_prop_include) + full_url = "{f}{dn}".format(f=self.url, dn=dn.lstrip('/')) + + if query_target: + full_url += "?query-target={qt}"\ + .format(qt=query_target) + + if rsp_subtree: + full_url += "&rsp-subtree={rs}"\ + .format(rs=rsp_subtree) + + if rsp_prop_include: + full_url += "&rsp-prop-include={rpi}"\ + .format(rpi=rsp_prop_include) + if query_target_filter: full_url += "&query-target-filter={qtf}"\ .format(qtf=query_target_filter) @@ -293,7 +300,7 @@ def post(self, dn, payload, expected_status_code=requests.codes.ok, "alias '{a}'".format(d=self.device.name, a=self.alias)) # Deal with the dn - full_url = '{f}{dn}'.format(f=self.url, dn=dn) + full_url = '{f}{dn}'.format(f=self.url, dn=dn.lstrip('/')) log.info("Sending POST command to '{d}':"\ "\nDN: {furl}\nPayload:{p}".format(d=self.device.name, @@ -338,7 +345,7 @@ def delete(self, dn, expected_status_code=requests.codes.ok, timeout=30): a=self.alias)) # Deal with the dn - full_url = '{f}{dn}'.format(f=self.url, dn=dn) + full_url = '{f}{dn}'.format(f=self.url, dn=dn.lstrip('/')) log.info("Sending DELETE command to '{d}':"\ "\nDN: {furl}".format(d=self.device.name, furl=full_url))