def METHOD_NAME(cls, project_id, full_name, forwarding_rule):
    """Returns a new ForwardingRule object from dict.
    Args:
        project_id (str): The project id.
        full_name (str): The full resource name and ancestory.
        forwarding_rule (dict): The forwarding rule.
    Returns:
        ForwardingRule: A new ForwardingRule object.
    """
    return cls(
        project_id=project_id,
        resource_id=forwarding_rule.get('id'),
        full_name=full_name,
        creation_timestamp=forwarding_rule.get('creationTimestamp', ''),
        name=forwarding_rule.get('name', ''),
        description=forwarding_rule.get('description', ''),
        region=forwarding_rule.get('region', ''),
        ip_address=forwarding_rule.get('IPAddress', ''),
        ip_protocol=forwarding_rule.get('IPProtocol', ''),
        port_range=forwarding_rule.get('portRange', ''),
        ports=forwarding_rule.get('ports', []),
        target=forwarding_rule.get('target', ''),
        self_link=forwarding_rule.get('selfLink', ''),
        load_balancing_scheme=forwarding_rule.get(
            'loadBalancingScheme', ''),
        subnetwork=forwarding_rule.get('subnetwork', ''),
        network=forwarding_rule.get('network', ''),
        backend_service=forwarding_rule.get('backend_service', ''),
        raw_json=json.dumps(forwarding_rule, sort_keys=True)
    )