def list_by_product_as_lazy(resource_group_name, service_name, filter, top:nil, skip:nil, orderby:nil, custom_headers:nil)
      response = list_by_product_async(resource_group_name, service_name, filter, top:top, skip:skip, orderby:orderby, custom_headers:custom_headers).value!
      unless response.nil?
        page = response.body
        page.next_method = Proc.new do |next_page_link|
          list_by_product_next_async(next_page_link, custom_headers:custom_headers)
        end
        page
      end
    end
def list_by_product_as_lazy(resource_group_name, service_name, filter, top:nil, skip:nil, orderby:nil, custom_headers:nil)
      response = list_by_product_async(resource_group_name, service_name, filter, top:top, skip:skip, orderby:orderby, custom_headers:custom_headers).value!
      unless response.nil?
        page = response.body
        page.next_method = Proc.new do |next_page_link|
          list_by_product_next_async(next_page_link, custom_headers:custom_headers)
        end
        page
      end
    end
def list_by_product_as_lazy ( resource_group_name , service_name , filter , top : nil , skip : nil , orderby : nil , custom_headers : nil ) response = list_by_product_async ( resource_group_name , service_name , filter , top : top , skip : skip , orderby : orderby , custom_headers :custom_headers ) . value! unless response . nil? page = response . body page . next_method = Proc . new do | next_page_link | list_by_product_next_async ( next_page_link , custom_headers :custom_headers ) end page end end
Lists report records by Product.

 @param resource_group_name [String] The name of the resource group.
 @param service_name [String] The name of the API Management service.
 @param filter [String] |   Field     |     Usage     |     Supported
 operators     |     Supported functions
 |</br>|-------------|-------------|-------------|-------------|</br>|
 timestamp | filter | ge, le |     | </br>| displayName | select, orderBy |
 |     | </br>| apiRegion | filter | eq |     | </br>| userId | filter | eq |
 | </br>| productId | select, filter | eq |     | </br>| subscriptionId |
 filter | eq |     | </br>| callCountSuccess | select, orderBy |     |     |
 </br>| callCountBlocked | select, orderBy |     |     | </br>|
 callCountFailed | select, orderBy |     |     | </br>| callCountOther |
 select, orderBy |     |     | </br>| callCountTotal | select, orderBy |     |
 | </br>| bandwidth | select, orderBy |     |     | </br>| cacheHitsCount |
 select |     |     | </br>| cacheMissCount | select |     |     | </br>|
 apiTimeAvg | select, orderBy |     |     | </br>| apiTimeMin | select |     |
 | </br>| apiTimeMax | select |     |     | </br>| serviceTimeAvg | select |
 |     | </br>| serviceTimeMin | select |     |     | </br>| serviceTimeMax |
 select |     |     | </br>
 @param top [Integer] Number of records to return.
 @param skip [Integer] Number of records to skip.
 @param orderby [String] OData order by query option.
 @param custom_headers [Hash{String => String}] A hash of custom headers that
 will be added to the HTTP request.

 @return [ReportCollection] which provide lazy access to pages of the
 response.
Lists report records by Product .