'Gets lifetime summary statistics for all of the pools in the specified
account.
Statistics are aggregated across all pools that have ever existed in
the account, from account creation to the last update time of the
statistics.
:param pool_get_all_lifetime_statistics_options: Additional parameters
for the operation
:type pool_get_all_lifetime_statistics_options:
:class:`PoolGetAllLifetimeStatisticsOptions
<azure.batch.models.PoolGetAllLifetimeStatisticsOptions>`
: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>`.
:rtype: :class:`PoolStatistics <azure.batch.models.PoolStatistics>`
:rtype: :class:`ClientRawResponse<msrest.pipeline.ClientRawResponse>`
if raw=true
:raises:
:class:`BatchErrorException<azure.batch.models.BatchErrorException>`'

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

    timeout = None
    if (pool_get_all_lifetime_statistics_options is not None):
        timeout = pool_get_all_lifetime_statistics_options.timeout
    client_request_id = None
    if (pool_get_all_lifetime_statistics_options is not None):
        client_request_id = pool_get_all_lifetime_statistics_options.client_request_id
    return_client_request_id = None
    if (pool_get_all_lifetime_statistics_options is not None):
        return_client_request_id = pool_get_all_lifetime_statistics_options.return_client_request_id
    ocp_date = None
    if (pool_get_all_lifetime_statistics_options is not None):
        ocp_date = pool_get_all_lifetime_statistics_options.ocp_date
    url = '/lifetimepoolstats'
    query_parameters = {}
    query_parameters['api-version'] = self._serialize.query('self.api_version', self.api_version, 'str')
    if (timeout is not None):
        query_parameters['timeout'] = self._serialize.query('timeout', timeout, 'int')
    header_parameters = {}
    header_parameters['Content-Type'] = 'application/json;    odata=minimalmetadata;    charset=utf-8'
    if self.config.generate_client_request_id:
        header_parameters['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')
    if (client_request_id is not None):
        header_parameters['client-request-id'] = self._serialize.header('client_request_id', client_request_id, 'str')
    if (return_client_request_id is not None):
        header_parameters['return-client-request-id'] = self._serialize.header('return_client_request_id', return_client_request_id, 'bool')
    if (ocp_date is not None):
        header_parameters['ocp-date'] = self._serialize.header('ocp_date', ocp_date, 'rfc-1123')
    request = self._client.get(url, query_parameters)
    response = self._client.send(request, header_parameters, **operation_config)
    if (response.status_code not in [200]):
        raise models.BatchErrorException(self._deserialize, response)
    deserialized = None
    header_dict = {}
    if (response.status_code == 200):
        deserialized = self._deserialize('PoolStatistics', response)
        header_dict = {'client-request-id': 'str', 'request-id': 'str', 'ETag': 'str', 'Last-Modified': 'rfc-1123'}
    if raw:
        client_raw_response = ClientRawResponse(deserialized, response)
        client_raw_response.add_headers(header_dict)
        return client_raw_response
    return deserialized
