code: def create(cls, name, port=179, external_distance=20, internal_distance=200,
                 local_distance=200, subnet_distance=None):
          
          json = {'name': name,
                  'external': external_distance,
                  'internal': internal_distance,
                  'local': local_distance,
                  'port': port}
  
          if subnet_distance:
              d = [{'distance': distance, 'subnet': subnet.href}
                   for subnet, distance in subnet_distance]
              json.update(distance_entry=d)
  
          return ElementCreator(cls, json)
docs: Create a custom BGP Profile
  
          :param str name: name of profile
          :param int port: port for BGP process
          :param int external_distance: external administrative distance; (1-255)
          :param int internal_distance: internal administrative distance (1-255)
          :param int local_distance: local administrative distance (aggregation) (1-255)
          :param list subnet_distance: configure specific subnet's with respective distances
          :type tuple subnet_distance: (subnet element(Network), distance(int))
          :raises CreateElementFailed: reason for failure
          :return: instance with meta
          :rtype: BGPProfile