code: def enable(self, autonomous_system, announced_networks,
                 router_id=None, bgp_profile=None):
          
          autonomous_system = element_resolver(autonomous_system)
      
          bgp_profile = element_resolver(bgp_profile) or \
              BGPProfile('Default BGP Profile').href
          
          announced = self._unwrap(announced_networks)
          
          self.data.update(
              enabled=True,
              bgp_as_ref=autonomous_system,
              bgp_profile_ref=bgp_profile,
              announced_ne_setting=announced,
              router_id=router_id)
docs: Enable BGP on this engine. On master engine, enable BGP on the
          virtual firewall. When adding networks to `announced_networks`, the
          element types can be of type :class:`smc.elements.network.Host`,
          :class:`smc.elements.network.Network` or :class:`smc.elements.group.Group`.
          If passing a Group, it must have element types of host or network.
          
          Within announced_networks, you can pass a 2-tuple that provides an optional
          :class:`smc.routing.route_map.RouteMap` if additional policy is required
          for a given network.
          ::
  
              engine.dynamic_routing.bgp.enable(
                  autonomous_system=AutonomousSystem('aws_as'),
                  announced_networks=[Network('bgpnet'),Network('inside')],
                  router_id='10.10.10.10')
  
          :param str,AutonomousSystem autonomous_system: provide the AS element
              or str href for the element
          :param str,BGPProfile bgp_profile: provide the BGPProfile element or
              str href for the element; if None, use system default
          :param list announced_networks: list of networks to advertise via BGP
              Announced networks can be single networks,host or group elements or
              a 2-tuple with the second tuple item being a routemap element
          :param str router_id: router id for BGP, should be an IP address. If not
              set, automatic discovery will use default bound interface as ID.
          :raises ElementNotFound: OSPF, AS or Networks not found
          :return: None
          
          .. note:: For arguments that take str or Element, the str value should be
              the href of the element.