def list(self, filter=None, include_extended_locations=None, **kwargs):
    'Gets the list of Microsoft.Compute SKUs available for your Subscription.\n\n        :param filter: The filter to apply on the operation. Only **location** filter is supported\n         currently.\n        :type filter: str\n        :param include_extended_locations: To Include Extended Locations information or not in the\n         response.\n        :type include_extended_locations: str\n        :keyword callable cls: A custom type or function that will be passed the direct response\n        :return: An iterator like instance of either ResourceSkusResult or the result of cls(response)\n        :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.compute.v2021_07_01.models.ResourceSkusResult]\n        :raises: ~azure.core.exceptions.HttpResponseError\n        '
    cls = kwargs.pop('cls', None)
    error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError}
    error_map.update(kwargs.pop('error_map', {}))
    api_version = '2021-07-01'
    accept = 'application/json'

    def prepare_request(next_link=None):
        header_parameters = {}
        header_parameters['Accept'] = self._serialize.header('accept', accept, 'str')
        if (not next_link):
            url = self.list.metadata['url']
            path_format_arguments = {'subscriptionId': self._serialize.url('self._config.subscription_id', self._config.subscription_id, 'str')}
            url = self._client.format_url(url, **path_format_arguments)
            query_parameters = {}
            query_parameters['api-version'] = self._serialize.query('api_version', api_version, 'str')
            if (filter is not None):
                query_parameters['$filter'] = self._serialize.query('filter', filter, 'str')
            if (include_extended_locations is not None):
                query_parameters['includeExtendedLocations'] = self._serialize.query('include_extended_locations', include_extended_locations, 'str')
            request = self._client.get(url, query_parameters, header_parameters)
        else:
            url = next_link
            query_parameters = {}
            request = self._client.get(url, query_parameters, header_parameters)
        return request

    def extract_data(pipeline_response):
        deserialized = self._deserialize('ResourceSkusResult', pipeline_response)
        list_of_elem = deserialized.value
        if cls:
            list_of_elem = cls(list_of_elem)
        return ((deserialized.next_link or None), iter(list_of_elem))

    def get_next(next_link=None):
        request = prepare_request(next_link)
        pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs)
        response = pipeline_response.http_response
        if (response.status_code not in [200]):
            map_error(status_code=response.status_code, response=response, error_map=error_map)
            raise HttpResponseError(response=response, error_format=ARMErrorFormat)
        return pipeline_response
    return ItemPaged(get_next, extract_data)
Gets the list of Microsoft.Compute SKUs available for your Subscription.

:param filter: The filter to apply on the operation. Only **location** filter is supported
 currently.
:type filter: str
:param include_extended_locations: To Include Extended Locations information or not in the
 response.
:type include_extended_locations: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either ResourceSkusResult or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.compute.v2021_07_01.models.ResourceSkusResult]
:raises: ~azure.core.exceptions.HttpResponseError
def list(self, filter=None, include_extended_locations=None, **kwargs):
    'Gets the list of Microsoft.Compute SKUs available for your Subscription.\n\n        :param filter: The filter to apply on the operation. Only **location** filter is supported\n         currently.\n        :type filter: str\n        :param include_extended_locations: To Include Extended Locations information or not in the\n         response.\n        :type include_extended_locations: str\n        :keyword callable cls: A custom type or function that will be passed the direct response\n        :return: An iterator like instance of either ResourceSkusResult or the result of cls(response)\n        :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.compute.v2021_07_01.models.ResourceSkusResult]\n        :raises: ~azure.core.exceptions.HttpResponseError\n        '
    cls = kwargs.pop('cls', None)
    error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError}
    error_map.update(kwargs.pop('error_map', {}))
    api_version = '2021-07-01'
    accept = 'application/json'

    def prepare_request(next_link=None):
        header_parameters = {}
        header_parameters['Accept'] = self._serialize.header('accept', accept, 'str')
        if (not next_link):
            url = self.list.metadata['url']
            path_format_arguments = {'subscriptionId': self._serialize.url('self._config.subscription_id', self._config.subscription_id, 'str')}
            url = self._client.format_url(url, **path_format_arguments)
            query_parameters = {}
            query_parameters['api-version'] = self._serialize.query('api_version', api_version, 'str')
            if (filter is not None):
                query_parameters['$filter'] = self._serialize.query('filter', filter, 'str')
            if (include_extended_locations is not None):
                query_parameters['includeExtendedLocations'] = self._serialize.query('include_extended_locations', include_extended_locations, 'str')
            request = self._client.get(url, query_parameters, header_parameters)
        else:
            url = next_link
            query_parameters = {}
            request = self._client.get(url, query_parameters, header_parameters)
        return request

    def extract_data(pipeline_response):
        deserialized = self._deserialize('ResourceSkusResult', pipeline_response)
        list_of_elem = deserialized.value
        if cls:
            list_of_elem = cls(list_of_elem)
        return ((deserialized.next_link or None), iter(list_of_elem))

    def get_next(next_link=None):
        request = prepare_request(next_link)
        pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs)
        response = pipeline_response.http_response
        if (response.status_code not in [200]):
            map_error(status_code=response.status_code, response=response, error_map=error_map)
            raise HttpResponseError(response=response, error_format=ARMErrorFormat)
        return pipeline_response
    return ItemPaged(get_next, extract_data)