def METHOD_NAME(cls, parent, json_string):
    """Returns a new ForwardingRule object from json data.
    Args:
        parent (Resource): resource this cluster belongs to.
        json_string(str): JSON string of a cluster GCP API response.
    Returns:
       KeCluster: A new KeCluster object.
    """
    cluster_dict = json.loads(json_string)
    cluster_name = cluster_dict['name']
    cluster_id = size_t_hash(cluster_dict['selfLink'])
    return cls(
        cluster_id=cluster_id,
        cluster_name=cluster_name,
        parent=parent,
        full_name='{}kubernetes_cluster/{}/'.format(parent.full_name,
                                                    cluster_id),
        locations=cluster_dict.get('locations'),
        description=cluster_dict.get('description'),
        initial_node_count=cluster_dict.get('initialNodeCount'),
        node_config=cluster_dict.get('nodeConfig', {}),
        logging_service=cluster_dict.get('loggingService'),
        monitoring_service=cluster_dict.get('monitoringService'),
        network=cluster_dict.get('network'),
        cluster_ipv4_cidr=cluster_dict.get('clusterIpv4Cidr'),
        addons_config=cluster_dict.get('addonsConfig', {}),
        subnetwork=cluster_dict.get('subnetwork'),
        node_pools=cluster_dict.get('nodePools', []),
        enable_kubernetes_alpha=cluster_dict.get('enableKubernetesAlpha',
                                                 False),
        resource_labels=cluster_dict.get('resourceLabels', {}),
        label_fingerprint=cluster_dict.get('labelFingerprint'),
        legacy_abac=cluster_dict.get('legacyAbac', {}),
        network_policy=cluster_dict.get('networkPolicy', {}),
        ip_allocation_policy=cluster_dict.get('ipAllocationPolicy', {}),
        master_authorized_networks_config=cluster_dict.get(
            'masterAuthorizedNetworksConfig', {}),
        maintenance_policy=cluster_dict.get('maintenancePolicy', {}),
        endpoint=cluster_dict.get('endpoint'),
        initial_cluster_version=cluster_dict.get('initialClusterVersion'),
        current_master_version=cluster_dict.get('currentMasterVersion'),
        current_node_version=cluster_dict.get('currentNodeVersion'),
        create_time=cluster_dict.get('createTime'),
        status=cluster_dict.get('status'),
        status_message=cluster_dict.get('statusMessage'),
        node_ipv4_cidr_size=cluster_dict.get('nodeIpv4CidrSize'),
        instance_group_urls=cluster_dict.get('instanceGroupUrls', []),
        current_node_count=cluster_dict.get('currentNodeCount'),
        expire_time=cluster_dict.get('expireTime'),
        data=json.dumps(cluster_dict, sort_keys=True),
    )