code: public ServiceFuture<List<AgentPoolInner>> listAsync(final String resourceGroupName, final String managedClusterName, final ListOperationCallback<AgentPoolInner> serviceCallback) {
          return AzureServiceFuture.fromPageResponse(
              listSinglePageAsync(resourceGroupName, managedClusterName),
              new Func1<String, Observable<ServiceResponse<Page<AgentPoolInner>>>>() {
                  @Override
                  public Observable<ServiceResponse<Page<AgentPoolInner>>> call(String nextPageLink) {
                      return listNextSinglePageAsync(nextPageLink);
                  }
              },
              serviceCallback);
      }
docs: Gets a list of agent pools in the specified managed cluster.
  Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.
  
  @param resourceGroupName The name of the resource group.
  @param managedClusterName The name of the managed cluster resource.
  @param serviceCallback the async ServiceCallback to handle successful and failed responses.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the {@link ServiceFuture} object