Explorar el Código

Decorating new services

almahmoud hace 7 años
padre
commit
f6acb9053f

+ 6 - 0
cloudbridge/cloud/base/services.py

@@ -117,6 +117,8 @@ class BaseVMFirewallRuleService(BasePageableObjectMixin,
     def _provider(self):
         return self.__provider
 
+    @dispatch(event_pattern="provider.security.vm_firewall_rules.get",
+              priority=BaseCloudService.STANDARD_EVENT_PRIORITY)
     def get(self, firewall, rule_id):
         matches = [rule for rule in firewall.rules if rule.id == rule_id]
         if matches:
@@ -124,6 +126,8 @@ class BaseVMFirewallRuleService(BasePageableObjectMixin,
         else:
             return None
 
+    @dispatch(event_pattern="provider.security.vm_firewall_rules.find",
+              priority=BaseCloudService.STANDARD_EVENT_PRIORITY)
     def find(self, firewall, **kwargs):
         obj_list = firewall.rules
         filters = ['name', 'direction', 'protocol', 'from_port', 'to_port',
@@ -380,6 +384,8 @@ class BaseFloatingIPService(FloatingIPService):
     def _provider(self):
         return self.__provider
 
+    @dispatch(event_pattern="provider.networking.floating_ips.find",
+              priority=BaseCloudService.STANDARD_EVENT_PRIORITY)
     def find(self, gateway, **kwargs):
         obj_list = gateway.floating_ips
         filters = ['name', 'public_ip']

+ 2 - 2
cloudbridge/cloud/base/subservices.py

@@ -46,10 +46,10 @@ class BaseGatewaySubService(GatewaySubService, BasePageableObjectMixin):
     def _provider(self):
         return self.__provider
 
-    def get_or_create_inet_gateway(self):
+    def get_or_create(self):
         return (self._provider.networking
                               ._gateways
-                              .get_or_create_inet_gateway(self._network))
+                              .get_or_create(self._network))
 
     def delete(self, gateway):
         return (self._provider.networking

+ 1 - 1
cloudbridge/cloud/interfaces/services.py

@@ -1541,7 +1541,7 @@ class GatewayService(CloudService):
     __metaclass__ = ABCMeta
 
     @abstractmethod
-    def get_or_create_inet_gateway(self, network):
+    def get_or_create(self, network):
         """
         Creates new or returns an existing internet gateway for a network.
 

+ 1 - 1
cloudbridge/cloud/interfaces/subservices.py

@@ -79,7 +79,7 @@ class GatewaySubService(PageableObjectMixin):
     __metaclass__ = ABCMeta
 
     @abstractmethod
-    def get_or_create_inet_gateway(self):
+    def get_or_create(self):
         """
         Creates new or returns an existing internet gateway for a network.
 

+ 22 - 2
cloudbridge/cloud/providers/aws/services.py

@@ -205,6 +205,8 @@ class AWSVMFirewallRuleService(BaseVMFirewallRuleService):
     def __init__(self, provider):
         super(AWSVMFirewallRuleService, self).__init__(provider)
 
+    @dispatch(event_pattern="provider.security.vm_firewall_rules.list",
+              priority=BaseVMFirewallRuleService.STANDARD_EVENT_PRIORITY)
     def list(self, firewall, limit=None, marker=None):
         # pylint:disable=protected-access
         rules = [AWSVMFirewallRule(firewall,
@@ -217,6 +219,8 @@ class AWSVMFirewallRuleService(BaseVMFirewallRuleService):
         return ClientPagedResultList(self.provider, rules,
                                      limit=limit, marker=marker)
 
+    @dispatch(event_pattern="provider.security.vm_firewall_rules.create",
+              priority=BaseVMFirewallRuleService.STANDARD_EVENT_PRIORITY)
     def create(self, firewall,  direction, protocol=None, from_port=None,
                to_port=None, cidr=None, src_dest_fw=None):
         src_dest_fw_id = (
@@ -249,6 +253,8 @@ class AWSVMFirewallRuleService(BaseVMFirewallRuleService):
             else:
                 raise ec2e
 
+    @dispatch(event_pattern="provider.security.vm_firewall_rules.delete",
+              priority=BaseVMFirewallRuleService.STANDARD_EVENT_PRIORITY)
     def delete(self, firewall, rule):
         ip_perm_entry = rule._construct_ip_perms(
             rule.protocol, rule.from_port, rule.to_port,
@@ -1050,7 +1056,7 @@ class AWSSubnetService(BaseSubnetService):
         # though because the provider-default network will have Internet
         # connectivity (unlike the CloudBridge-default network with this
         # being commented) and is hence left in the codebase.
-        # default_gtw = default_net.gateways.get_or_create_inet_gateway()
+        # default_gtw = default_net.gateways.get_or_create()
         # router_label = "{0}-router".format(
         #   AWSNetwork.CB_DEFAULT_NETWORK_LABEL)
         # default_routers = self.provider.networking.routers.find(
@@ -1162,7 +1168,9 @@ class AWSGatewayService(BaseGatewayService):
                                   cb_resource=AWSInternetGateway,
                                   boto_collection_name='internet_gateways')
 
-    def get_or_create_inet_gateway(self, network):
+    @dispatch(event_pattern="provider.networking.gateways.get_or_create",
+              priority=BaseGatewayService.STANDARD_EVENT_PRIORITY)
+    def get_or_create(self, network):
         network_id = network.id if isinstance(
             network, AWSNetwork) else network
         # Don't filter by label because it may conflict with at least the
@@ -1181,6 +1189,8 @@ class AWSGatewayService(BaseGatewayService):
         cb_gateway._gateway.attach_to_vpc(VpcId=network_id)
         return cb_gateway
 
+    @dispatch(event_pattern="provider.networking.gateways.delete",
+              priority=BaseGatewayService.STANDARD_EVENT_PRIORITY)
     def delete(self, network, gateway):
         gw = (gateway if isinstance(gateway, AWSInternetGateway)
               else self.get(gateway))
@@ -1191,6 +1201,8 @@ class AWSGatewayService(BaseGatewayService):
         except ClientError as e:
             log.warn("Error deleting gateway {0}: {1}".format(self.id, e))
 
+    @dispatch(event_pattern="provider.networking.gateways.list",
+              priority=BaseGatewayService.STANDARD_EVENT_PRIORITY)
     def list(self, network, limit=None, marker=None):
         log.debug("Listing current AWS internet gateways for net %s.",
                   network.id)
@@ -1206,14 +1218,20 @@ class AWSFloatingIPService(BaseFloatingIPService):
                                   cb_resource=AWSFloatingIP,
                                   boto_collection_name='vpc_addresses')
 
+    @dispatch(event_pattern="provider.networking.floating_ips.get",
+              priority=BaseFloatingIPService.STANDARD_EVENT_PRIORITY)
     def get(self, gateway, fip_id):
         log.debug("Getting AWS Floating IP Service with the id: %s", fip_id)
         return self.svc.get(fip_id)
 
+    @dispatch(event_pattern="provider.networking.floating_ips.list",
+              priority=BaseFloatingIPService.STANDARD_EVENT_PRIORITY)
     def list(self, gateway, limit=None, marker=None):
         log.debug("Listing all floating IPs under gateway %s", gateway)
         return self.svc.list(limit=limit, marker=marker)
 
+    @dispatch(event_pattern="provider.networking.floating_ips.create",
+              priority=BaseFloatingIPService.STANDARD_EVENT_PRIORITY)
     def create(self, gateway):
         log.debug("Creating a floating IP under gateway %s", gateway)
         ip = self.provider.ec2_conn.meta.client.allocate_address(
@@ -1222,6 +1240,8 @@ class AWSFloatingIPService(BaseFloatingIPService):
             self.provider,
             self.provider.ec2_conn.VpcAddress(ip.get('AllocationId')))
 
+    @dispatch(event_pattern="provider.networking.floating_ips.delete",
+              priority=BaseFloatingIPService.STANDARD_EVENT_PRIORITY)
     def delete(self, gateway, fip):
         if isinstance(fip, AWSFloatingIP):
             os_fip = fip._ip

+ 1 - 1
cloudbridge/cloud/providers/azure/resources.py

@@ -851,7 +851,7 @@ class AzureFloatingIP(BaseFloatingIP):
 
     def refresh(self):
         net = self._provider.networking.networks.get(self._network_id)
-        gw = net.gateways.get_or_create_inet_gateway()
+        gw = net.gateways.get_or_create()
         fip = gw.floating_ips.get(self.id)
         self._ip = fip._ip
 

+ 21 - 1
cloudbridge/cloud/providers/azure/services.py

@@ -154,6 +154,8 @@ class AzureVMFirewallRuleService(BaseVMFirewallRuleService):
     def __init__(self, provider):
         super(AzureVMFirewallRuleService, self).__init__(provider)
 
+    @dispatch(event_pattern="provider.security.vm_firewall_rules.list",
+              priority=BaseVMFirewallRuleService.STANDARD_EVENT_PRIORITY)
     def list(self, firewall, limit=None, marker=None):
         # Filter out firewall rules with priority < 3500 because values
         # between 3500 and 4096 are assumed to be owned by cloudbridge
@@ -165,6 +167,8 @@ class AzureVMFirewallRuleService(BaseVMFirewallRuleService):
         return ClientPagedResultList(self._provider, rules,
                                      limit=limit, marker=marker)
 
+    @dispatch(event_pattern="provider.security.vm_firewall_rules.create",
+              priority=BaseVMFirewallRuleService.STANDARD_EVENT_PRIORITY)
     def create(self, firewall, direction, protocol=None, from_port=None,
                to_port=None, cidr=None, src_dest_fw=None):
         if protocol and from_port and to_port:
@@ -213,6 +217,8 @@ class AzureVMFirewallRuleService(BaseVMFirewallRuleService):
         firewall._vm_firewall.security_rules.append(result)
         return AzureVMFirewallRule(firewall, result)
 
+    @dispatch(event_pattern="provider.security.vm_firewall_rules.delete",
+              priority=BaseVMFirewallRuleService.STANDARD_EVENT_PRIORITY)
     def delete(self, firewall, rule):
         rule_id = rule.id if isinstance(rule, AzureVMFirewallRule) else rule
         fw_name = firewall.name
@@ -1299,15 +1305,21 @@ class AzureGatewayService(BaseGatewayService):
     def _gateway_singleton(self, network):
         return AzureInternetGateway(self._provider, None, network)
 
-    def get_or_create_inet_gateway(self, network):
+    @dispatch(event_pattern="provider.networking.gateways.get_or_create",
+              priority=BaseGatewayService.STANDARD_EVENT_PRIORITY)
+    def get_or_create(self, network):
         return self._gateway_singleton(network)
 
+    @dispatch(event_pattern="provider.networking.gateways.list",
+              priority=BaseGatewayService.STANDARD_EVENT_PRIORITY)
     def list(self, network, limit=None, marker=None):
         gws = [self._gateway_singleton(network)]
         return ClientPagedResultList(self._provider,
                                      gws,
                                      limit=limit, marker=marker)
 
+    @dispatch(event_pattern="provider.networking.gateways.delete",
+              priority=BaseGatewayService.STANDARD_EVENT_PRIORITY)
     def delete(self, network, gateway):
         pass
 
@@ -1317,12 +1329,16 @@ class AzureFloatingIPService(BaseFloatingIPService):
     def __init__(self, provider):
         super(AzureFloatingIPService, self).__init__(provider)
 
+    @dispatch(event_pattern="provider.networking.floating_ips.get",
+              priority=BaseFloatingIPService.STANDARD_EVENT_PRIORITY)
     def get(self, gateway, fip_id):
         log.debug("Getting Azure Floating IP container with the id: %s",
                   fip_id)
         fip = [fip for fip in self if fip.id == fip_id]
         return fip[0] if fip else None
 
+    @dispatch(event_pattern="provider.networking.floating_ips.list",
+              priority=BaseFloatingIPService.STANDARD_EVENT_PRIORITY)
     def list(self, gateway, limit=None, marker=None):
         floating_ips = [AzureFloatingIP(self.provider, floating_ip,
                                         gateway.network_id)
@@ -1331,6 +1347,8 @@ class AzureFloatingIPService(BaseFloatingIPService):
         return ClientPagedResultList(self.provider, floating_ips,
                                      limit=limit, marker=marker)
 
+    @dispatch(event_pattern="provider.networking.floating_ips.create",
+              priority=BaseFloatingIPService.STANDARD_EVENT_PRIORITY)
     def create(self, gateway):
         public_ip_parameters = {
             'location': self.provider.azure_client.region_name,
@@ -1343,6 +1361,8 @@ class AzureFloatingIPService(BaseFloatingIPService):
             create_floating_ip(public_ip_name, public_ip_parameters)
         return AzureFloatingIP(self.provider, floating_ip, gateway.network_id)
 
+    @dispatch(event_pattern="provider.networking.floating_ips.delete",
+              priority=BaseFloatingIPService.STANDARD_EVENT_PRIORITY)
     def delete(self, gateway, fip):
         fip_id = fip if isinstance(fip, AzureFloatingIP) else fip
         self._provider.azure_client.delete_floating_ip(fip_id)

+ 1 - 1
cloudbridge/cloud/providers/gce/resources.py

@@ -977,7 +977,7 @@ class GCEInstance(BaseInstance):
         network_url = self._gce_instance.get('networkInterfaces')[0].get(
             'network')
         network = self._provider.networking.networks.get(network_url)
-        self._inet_gateway = network.gateways.get_or_create_inet_gateway()
+        self._inet_gateway = network.gateways.get_or_create()
         return self._inet_gateway
 
     def create_image(self, label):

+ 22 - 2
cloudbridge/cloud/providers/gce/services.py

@@ -228,6 +228,8 @@ class GCEVMFirewallRuleService(BaseVMFirewallRuleService):
         super(GCEVMFirewallRuleService, self).__init__(provider)
         self._dummy_rule = None
 
+    @dispatch(event_pattern="provider.security.vm_firewall_rules.list",
+              priority=BaseVMFirewallRuleService.STANDARD_EVENT_PRIORITY)
     def list(self, firewall, limit=None, marker=None):
         rules = []
         for firewall in firewall.delegate.iter_firewalls(
@@ -276,11 +278,15 @@ class GCEVMFirewallRuleService(BaseVMFirewallRuleService):
             return None
         return rules[0]
 
+    @dispatch(event_pattern="provider.security.vm_firewall_rules.create",
+              priority=BaseVMFirewallRuleService.STANDARD_EVENT_PRIORITY)
     def create(self, firewall, direction, protocol, from_port=None,
                to_port=None, cidr=None, src_dest_fw=None):
         return self.create_with_priority(direction, protocol, 1000, from_port,
                                          to_port, cidr, src_dest_fw)
 
+    @dispatch(event_pattern="provider.security.vm_firewall_rules.delete",
+              priority=BaseVMFirewallRuleService.STANDARD_EVENT_PRIORITY)
     def delete(self, firewall, rule):
         rule = rule if isinstance(rule, GCEVMFirewallRule) else self.get(rule)
         if rule.is_dummy_rule():
@@ -1051,7 +1057,7 @@ class GCESubnetService(BaseSubnetService):
                 cidr_block=cidr_block, network=net, zone=zone)
         router = self.provider.networking.routers.get_or_create_default(net)
         router.attach_subnet(sn)
-        gateway = net.gateways.get_or_create_inet_gateway()
+        gateway = net.gateways.get_or_create()
         router.attach_gateway(gateway)
         return sn
 
@@ -1499,12 +1505,18 @@ class GCEGatewayService(BaseGatewayService):
                     GCEGatewayService._DEFAULT_GATEWAY_NAME),
              'name': GCEGatewayService._DEFAULT_GATEWAY_NAME})
 
-    def get_or_create_inet_gateway(self, network):
+    @dispatch(event_pattern="provider.networking.gateways.get_or_create",
+              priority=BaseGatewayService.STANDARD_EVENT_PRIORITY)
+    def get_or_create(self, network):
         return self._default_internet_gateway
 
+    @dispatch(event_pattern="provider.networking.gateways.delete",
+              priority=BaseGatewayService.STANDARD_EVENT_PRIORITY)
     def delete(self, network, gateway):
         pass
 
+    @dispatch(event_pattern="provider.networking.gateways.list",
+              priority=BaseGatewayService.STANDARD_EVENT_PRIORITY)
     def list(self, network, limit=None, marker=None):
         gws = [self._default_internet_gateway]
         return ClientPagedResultList(self._provider,
@@ -1517,11 +1529,15 @@ class GCEFloatingIPService(BaseFloatingIPService):
     def __init__(self, provider, gateway):
         super(GCEFloatingIPService, self).__init__(provider, gateway)
 
+    @dispatch(event_pattern="provider.networking.floating_ips.get",
+              priority=BaseFloatingIPService.STANDARD_EVENT_PRIORITY)
     def get(self, gateway, floating_ip_id):
         fip = self.provider.get_resource('addresses', floating_ip_id)
         return (GCEFloatingIP(self.provider, gateway, fip)
                 if fip else None)
 
+    @dispatch(event_pattern="provider.networking.floating_ips.list",
+              priority=BaseFloatingIPService.STANDARD_EVENT_PRIORITY)
     def list(self, gateway, limit=None, marker=None):
         max_result = limit if limit is not None and limit < 500 else 500
         response = (self.provider
@@ -1541,6 +1557,8 @@ class GCEFloatingIPService(BaseFloatingIPService):
                                      response.get('nextPageToken'),
                                      False, data=ips)
 
+    @dispatch(event_pattern="provider.networking.floating_ips.create",
+              priority=BaseFloatingIPService.STANDARD_EVENT_PRIORITY)
     def create(self, gateway):
         region_name = self.provider.region_name
         ip_name = 'ip-{0}'.format(uuid.uuid4())
@@ -1554,6 +1572,8 @@ class GCEFloatingIPService(BaseFloatingIPService):
         self.provider.wait_for_operation(response, region=region_name)
         return self.get(ip_name)
 
+    @dispatch(event_pattern="provider.networking.floating_ips.delete",
+              priority=BaseFloatingIPService.STANDARD_EVENT_PRIORITY)
     def delete(self, gateway, fip):
         fip = (fip if isinstance(fip, GCEFloatingIP)
                else gateway.floating_ips.get(fip))

+ 1 - 1
cloudbridge/cloud/providers/openstack/resources.py

@@ -928,7 +928,7 @@ class OpenStackFloatingIP(BaseFloatingIP):
     def refresh(self):
         net = self._provider.networking.networks.get(
             self._ip.floating_network_id)
-        gw = net.gateways.get_or_create_inet_gateway()
+        gw = net.gateways.get_or_create()
         fip = gw.floating_ips.get(self.id)
         # pylint:disable=protected-access
         self._ip = fip._ip

+ 22 - 2
cloudbridge/cloud/providers/openstack/services.py

@@ -263,6 +263,8 @@ class OpenStackVMFirewallRuleService(BaseVMFirewallRuleService):
     def __init__(self, provider, firewall):
         super(OpenStackVMFirewallRuleService, self).__init__(provider)
 
+    @dispatch(event_pattern="provider.security.vm_firewall_rules.list",
+              priority=BaseVMFirewallRuleService.STANDARD_EVENT_PRIORITY)
     def list(self, firewall, limit=None, marker=None):
         # pylint:disable=protected-access
         rules = [OpenStackVMFirewallRule(firewall, r)
@@ -270,6 +272,8 @@ class OpenStackVMFirewallRuleService(BaseVMFirewallRuleService):
         return ClientPagedResultList(self.provider, rules,
                                      limit=limit, marker=marker)
 
+    @dispatch(event_pattern="provider.security.vm_firewall_rules.create",
+              priority=BaseVMFirewallRuleService.STANDARD_EVENT_PRIORITY)
     def create(self, firewall, direction, protocol=None, from_port=None,
                to_port=None, cidr=None, src_dest_fw=None):
         src_dest_fw_id = (src_dest_fw.id if isinstance(src_dest_fw,
@@ -305,6 +309,8 @@ class OpenStackVMFirewallRuleService(BaseVMFirewallRuleService):
             else:
                 raise e
 
+    @dispatch(event_pattern="provider.security.vm_firewall_rules.delete",
+              priority=BaseVMFirewallRuleService.STANDARD_EVENT_PRIORITY)
     def delete(self, firewall, rule):
         rule_id = (rule.id if isinstance(rule, OpenStackVMFirewallRule)
                    else rule)
@@ -1076,7 +1082,7 @@ class OpenStackSubnetService(BaseSubnetService):
             router = self.provider.networking.routers.get_or_create_default(
                 net)
             router.attach_subnet(sn)
-            gateway = net.gateways.get_or_create_inet_gateway()
+            gateway = net.gateways.get_or_create()
             router.attach_gateway(gateway)
             return sn
         except NeutronClientException:
@@ -1147,7 +1153,9 @@ class OpenStackGatewayService(BaseGatewayService):
             except Exception:
                 return False
 
-    def get_or_create_inet_gateway(self, network):
+    @dispatch(event_pattern="provider.networking.gateways.get_or_create",
+              priority=BaseGatewayService.STANDARD_EVENT_PRIORITY)
+    def get_or_create(self, network):
         """For OS, inet gtw is any net that has `external` property set."""
         external_nets = (n for n in self._provider.networking.networks
                          if n.external)
@@ -1156,9 +1164,13 @@ class OpenStackGatewayService(BaseGatewayService):
                 return OpenStackInternetGateway(self._provider, net)
         return None
 
+    @dispatch(event_pattern="provider.networking.gateways.delete",
+              priority=BaseGatewayService.STANDARD_EVENT_PRIORITY)
     def delete(self, network, gateway):
         pass
 
+    @dispatch(event_pattern="provider.networking.gateways.list",
+              priority=BaseGatewayService.STANDARD_EVENT_PRIORITY)
     def list(self, network, limit=None, marker=None):
         log.debug("OpenStack listing of all current internet gateways")
         igl = [OpenStackInternetGateway(self._provider, n)
@@ -1173,6 +1185,8 @@ class OpenStackFloatingIPService(BaseFloatingIPService):
     def __init__(self, provider, gateway):
         super(OpenStackFloatingIPService, self).__init__(provider, gateway)
 
+    @dispatch(event_pattern="provider.networking.floating_ips.get",
+              priority=BaseFloatingIPService.STANDARD_EVENT_PRIORITY)
     def get(self, gateway, fip_id):
         try:
             return OpenStackFloatingIP(
@@ -1181,6 +1195,8 @@ class OpenStackFloatingIPService(BaseFloatingIPService):
             log.debug("Floating IP %s not found.", fip_id)
             return None
 
+    @dispatch(event_pattern="provider.networking.floating_ips.list",
+              priority=BaseFloatingIPService.STANDARD_EVENT_PRIORITY)
     def list(self, gateway, limit=None, marker=None):
         fips = [OpenStackFloatingIP(self.provider, fip)
                 for fip in self.provider.os_conn.network.ips(
@@ -1189,11 +1205,15 @@ class OpenStackFloatingIPService(BaseFloatingIPService):
         return ClientPagedResultList(self.provider, fips,
                                      limit=limit, marker=marker)
 
+    @dispatch(event_pattern="provider.networking.floating_ips.create",
+              priority=BaseFloatingIPService.STANDARD_EVENT_PRIORITY)
     def create(self, gateway):
         return OpenStackFloatingIP(
             self.provider, self.provider.os_conn.network.create_ip(
                 floating_network_id=gateway.id))
 
+    @dispatch(event_pattern="provider.networking.floating_ips.delete",
+              priority=BaseFloatingIPService.STANDARD_EVENT_PRIORITY)
     def delete(self, gateway, fip):
         if isinstance(fip, OpenStackFloatingIP):
             os_ip = fip._ip

+ 2 - 2
docs/getting_started.rst

@@ -135,7 +135,7 @@ attaching an internet gateway to the subnet via a router.
         cidr_block='10.0.0.0/28', label='cb-subnet', zone=zone)
     router = provider.networking.routers.create(network=net, label='cb-router')
     router.attach_subnet(sn)
-    gateway = net.gateways.get_or_create_inet_gateway()
+    gateway = net.gateways.get_or_create()
     router.attach_gateway(gateway)
 
 
@@ -250,7 +250,7 @@ their provider mappings, see :doc:`topics/resource_types_and_mapping`.
     router = router_list[0]
 
     # Gateway
-    gateway = net.gateways.get_or_create_inet_gateway()
+    gateway = net.gateways.get_or_create()
 
     # Firewall
     fw = provider.security.vm_firewalls.get('firewall ID')

+ 1 - 1
docs/topics/aws_mapping.rst

@@ -158,7 +158,7 @@ take a name parameter, and the `name` property is set automatically to a
 default value. Note that since this value is stored in the tag with key Name,
 the AWS dashboard does allow for its modification, although that is not
 encouraged as the default name is expected for the
-`get_or_create_inet_gateway` method.
+`get_or_create` method.
 
 Finally, Firewall Rules in AWS differ from traditional unlabeled resources
 by the fact that they do not take a `name` parameter at creation, and the

+ 1 - 1
docs/topics/launch.rst

@@ -68,7 +68,7 @@ that subnet.
     # make sure subnet has internet access
     router = self.provider.networking.routers.create(label='my-router', network=net)
     router.attach_subnet(sn)
-    gateway = net.gateways.get_or_create_inet_gateway()
+    gateway = net.gateways.get_or_create()
     router.attach_gateway(gateway)
 
     inst = provider.compute.instances.create(

+ 2 - 2
docs/topics/networking.rst

@@ -77,7 +77,7 @@ subnet (``/28``).
     sn = net.create_subnet(label='my-subnet', cidr_block='10.0.0.0/28', zone=zone)
     router = provider.networking.routers.create(label='my-router', network=net)
     router.attach_subnet(sn)
-    gateway = net.gateways.get_or_create_inet_gateway()
+    gateway = net.gateways.get_or_create()
     router.attach_gateway(gateway)
 
 
@@ -95,7 +95,7 @@ The additional step that's required here is to assign a floating IP to the VM:
 
     router = provider.networking.routers.create(label='my-router', network=net)
     router.attach_subnet(sn)
-    gateway = net.gateways.get_or_create_inet_gateway()
+    gateway = net.gateways.get_or_create()
     router.attach_gateway(gateway)
 
     fip = provider.networking.floating_ips.create()

+ 1 - 1
test/helpers/__init__.py

@@ -204,7 +204,7 @@ def get_test_gateway(provider):
     """
     sn = get_or_create_default_subnet(provider)
     net = sn.network
-    return net.gateways.get_or_create_inet_gateway()
+    return net.gateways.get_or_create()
 
 
 def cleanup_gateway(gateway):

+ 1 - 1
test/test_compute_service.py

@@ -357,7 +357,7 @@ class CloudComputeServiceTestCase(ProviderTestBase):
 
             # check floating ips
             router = self.provider.networking.routers.create(label, net)
-            gateway = net.gateways.get_or_create_inet_gateway()
+            gateway = net.gateways.get_or_create()
 
             def cleanup_router(router, gateway):
                 with helpers.cleanup_action(lambda: router.delete()):

+ 1 - 1
test/test_network_service.py

@@ -257,7 +257,7 @@ class CloudNetworkServiceTestCase(ProviderTestBase):
                     len(router.subnets) == 1,
                     "Subnet {0} not attached to router {1}".format(sn, router)
                 )
-            gteway = net.gateways.get_or_create_inet_gateway()
+            gteway = net.gateways.get_or_create()
             router.attach_gateway(gteway)
             # TODO: add a check for routes after that's been implemented