'Gets a list of all VM Scale Sets in the subscription, regardless of the
associated resource group. Use nextLink property in the response to get
the next page of VM Scale Sets. Do this till nextLink is not null to
fetch all the VM Scale Sets.
:param dict custom_headers: headers that will be added to the request
:param bool raw: returns the direct response alongside the
deserialized response
:param operation_config: :ref:`Operation configuration
overrides<msrest:optionsforoperations>`.
:return: An iterator like instance of :class:`VirtualMachineScaleSet
<azure.mgmt.compute.compute.v2016_03_30.models.VirtualMachineScaleSet>`
:rtype: :class:`VirtualMachineScaleSetPaged
<azure.mgmt.compute.compute.v2016_03_30.models.VirtualMachineScaleSetPaged>`
:raises: :class:`CloudError<msrestazure.azure_exceptions.CloudError>`'

def list_all(self, custom_headers=None, raw=False, **operation_config):

    def internal_paging(next_link=None, raw=False):
        if (not next_link):
            url = '/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachineScaleSets'
            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('self.api_version', self.api_version, 'str')
        else:
            url = next_link
            query_parameters = {}
        header_parameters = {}
        header_parameters['Content-Type'] = 'application/json;    charset=utf-8'
        if self.config.generate_client_request_id:
            header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())
        if custom_headers:
            header_parameters.update(custom_headers)
        if (self.config.accept_language is not None):
            header_parameters['accept-language'] = self._serialize.header('self.config.accept_language', self.config.accept_language, 'str')
        request = self._client.get(url, query_parameters)
        response = self._client.send(request, header_parameters, **operation_config)
        if (response.status_code not in [200]):
            exp = CloudError(response)
            exp.request_id = response.headers.get('x-ms-request-id')
            raise exp
        return response
    deserialized = models.VirtualMachineScaleSetPaged(internal_paging, self._deserialize.dependencies)
    if raw:
        header_dict = {}
        client_raw_response = models.VirtualMachineScaleSetPaged(internal_paging, self._deserialize.dependencies, header_dict)
        return client_raw_response
    return deserialized
