def process_raw_data(cls, raw_data):
        """Create a new model using raw API response."""
        properties = raw_data["properties"]

        address_pools = []
        for content in properties.get("loadBalancerBackendAddressPools", []):
            resource = Resource.from_raw_data(content)
            address_pools.append(resource)
        properties["loadBalancerBackendAddressPools"] = address_pools

        nat_rules = []
        for content in properties.get("loadBalancerInboundNatRules", None):
            resource = Resource.from_raw_data(content)
            nat_rules.append(resource)
        properties["loadBalancerInboundNatRules"] = nat_rules

        raw_content = properties.get("publicIPAddress", None)
        if raw_content is not None:
            resource = Resource.from_raw_data(raw_content)
            properties["publicIPAddress"] = resource

        raw_content = properties.get("serviceInsertion", None)
        if raw_content is not None:
            resource = Resource.from_raw_data(raw_content)
            properties["serviceInsertion"] = resource

        raw_content = properties.get("subnet", None)
        if raw_content is not None:
            resource = Resource.from_raw_data(raw_content)
            properties["subnet"] = resource

        return super(IPConfiguration, cls).process_raw_data(raw_data)