Add support to floating ip port forwarding
To extend Horizon to allow users to create port forwarding rules for their floating ips, we need to extend this client to allow it, as Horizon uses this client. This patch is the one of a series of patches to implement floating ip port forwarding with port ranges. The specification is defined in: https://github.com/openstack/neutron-specs/blob/master/specs/wallaby/port-forwarding-port-ranges.rst Implements: blueprint floatingips-portforwarding-ranges Related-Bug: #1885921 Change-Id: I3f616dba5e2ebe301cf6ce4bed8c2e6e4da2da9b
This commit is contained in:
@@ -515,6 +515,8 @@ class Client(ClientBase):
|
||||
router_path = "/routers/%s"
|
||||
floatingips_path = "/floatingips"
|
||||
floatingip_path = "/floatingips/%s"
|
||||
port_forwardings_path = "/floatingips/%s/port_forwardings"
|
||||
port_forwarding_path = "/floatingips/%s/port_forwardings/%s"
|
||||
security_groups_path = "/security-groups"
|
||||
security_group_path = "/security-groups/%s"
|
||||
security_group_rules_path = "/security-group-rules"
|
||||
@@ -1019,6 +1021,32 @@ class Client(ClientBase):
|
||||
"""Deletes the specified floatingip."""
|
||||
return self.delete(self.floatingip_path % (floatingip))
|
||||
|
||||
def show_port_forwarding(self, floatingip, portforwarding):
|
||||
"""Fetches information of a certain portforwarding"""
|
||||
return self.get(self.port_forwarding_path % (floatingip,
|
||||
portforwarding))
|
||||
|
||||
def list_port_forwardings(self, floatingip, retrieve_all=True, **_params):
|
||||
"""Fetches a list of all portforwardings for a floatingip."""
|
||||
return self.list('port_forwardings',
|
||||
self.port_forwardings_path % floatingip, retrieve_all,
|
||||
**_params)
|
||||
|
||||
def create_port_forwarding(self, floatingip, body=None):
|
||||
"""Creates a new portforwarding."""
|
||||
return self.post(self.port_forwardings_path % floatingip, body=body)
|
||||
|
||||
def delete_port_forwarding(self, floatingip, portforwarding):
|
||||
"""Deletes the specified portforwarding."""
|
||||
return self.delete(self.port_forwarding_path % (floatingip,
|
||||
portforwarding))
|
||||
|
||||
def update_port_forwarding(self, floatingip, portforwarding, body=None):
|
||||
"""Updates a portforwarding."""
|
||||
return self.put(self.port_forwarding_path % (floatingip,
|
||||
portforwarding),
|
||||
body=body)
|
||||
|
||||
def create_security_group(self, body=None):
|
||||
"""Creates a new security group."""
|
||||
return self.post(self.security_groups_path, body=body)
|
||||
|
@@ -0,0 +1,4 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Add support to floating ip port forwarding.
|
Reference in New Issue
Block a user