def create_dynamic(cls, name, interface_id,
                       dynamic_index=1,
                       reverse_connection=True,
                       automatic_default_route=True,
                       domain_server_address=None,
                       loopback_ndi='127.0.0.1',
                       location_ref=None,
                       log_server_ref=None,
                       zone_ref=None,
                       enable_gti=False,
                       enable_antivirus=False,
                       sidewinder_proxy_enabled=False,
                       default_nat=False, comment=None, **kw):
        """
        Create a single layer 3 firewall with only a single DHCP interface. Useful
        when creating virtualized FW's such as in Microsoft Azure.
        
        :param str name: name of engine
        :param str,int interface_id: interface ID used for dynamic interface and management
        :param bool reverse_connection: specifies the dynamic interface should initiate connections
            to management (default: True)
        :param bool automatic_default_route: allow SMC to create a dynamic netlink for the default
            route (default: True)
        :param list domain_server_address: list of IP addresses for engine DNS
        :param str loopback_ndi: IP address for a loopback NDI. When creating a dynamic engine, the
            `auth_request` must be set to a different interface, so loopback is created
        :param str location_ref: location by name for the engine
        :param str log_server_ref: log server reference, will use the 
        
        """
        interfaces = kw.pop('interfaces', [])
        # Add the primary interface to the interface list
        interface = {'interface_id': interface_id,
                     'interface': 'single_node_interface',
                     'zone_ref': zone_ref,
                     'interfaces': [{
                         'nodes': [{'dynamic': True, 'dynamic_index': dynamic_index, 'nodeid': 1,
                                    'reverse_connection': reverse_connection,
                                    'automatic_default_route': automatic_default_route}]
                         }]
                     }
        interfaces.append(interface)
        
        loopback = LoopbackInterface.create(
            address=loopback_ndi, 
            nodeid=1, 
            auth_request=True, 
            rank=1)
        
        return Layer3Firewall.create_bulk(
            name=name,
            node_type='firewall_node',
            primary_mgt=interface_id,
            interfaces=interfaces,
            loopback_ndi=[loopback.data],
            domain_server_address=domain_server_address,
            log_server_ref=log_server_ref,
            nodes=1, enable_gti=enable_gti,
            enable_antivirus=enable_antivirus,
            sidewinder_proxy_enabled=sidewinder_proxy_enabled,
            default_nat=default_nat,
            location_ref=location_ref,
            comment=comment, **kw)
def create_dynamic ( cls , name , interface_id , dynamic_index = 1 , reverse_connection = True , automatic_default_route = True , domain_server_address = None , loopback_ndi = '127.0.0.1' , location_ref = None , log_server_ref = None , zone_ref = None , enable_gti = False , enable_antivirus = False , sidewinder_proxy_enabled = False , default_nat = False , comment = None , ** kw ) : interfaces = kw . pop ( 'interfaces' , [ ] ) interface = { 'interface_id' : interface_id , 'interface' : 'single_node_interface' , 'zone_ref' : zone_ref , 'interfaces' : [ { 'nodes' : [ { 'dynamic' : True , 'dynamic_index' : dynamic_index , 'nodeid' : 1 , 'reverse_connection' : reverse_connection , 'automatic_default_route' : automatic_default_route } ] } ] } interfaces . append ( interface ) loopback = LoopbackInterface . create ( address = loopback_ndi , nodeid = 1 , auth_request = True , rank = 1 ) return Layer3Firewall . create_bulk ( name = name , node_type = 'firewall_node' , primary_mgt = interface_id , interfaces = interfaces , loopback_ndi = [ loopback . data ] , domain_server_address = domain_server_address , log_server_ref = log_server_ref , nodes = 1 , enable_gti = enable_gti , enable_antivirus = enable_antivirus , sidewinder_proxy_enabled = sidewinder_proxy_enabled , default_nat = default_nat , location_ref = location_ref , comment = comment , ** kw )
Create a single layer 3 firewall with only a single DHCP interface. Useful
        when creating virtualized FW's such as in Microsoft Azure.
        
        :param str name: name of engine
        :param str,int interface_id: interface ID used for dynamic interface and management
        :param bool reverse_connection: specifies the dynamic interface should initiate connections
            to management (default: True)
        :param bool automatic_default_route: allow SMC to create a dynamic netlink for the default
            route (default: True)
        :param list domain_server_address: list of IP addresses for engine DNS
        :param str loopback_ndi: IP address for a loopback NDI. When creating a dynamic engine, the
            `auth_request` must be set to a different interface, so loopback is created
        :param str location_ref: location by name for the engine
        :param str log_server_ref: log server reference, will use the