<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _create_service_api(credentials, service_name, version, developer_key=None, cache_discovery=False, http=None):
 """Builds and returns a cloud API service object. Args: credentials (OAuth2Credentials):
 Credentials that will be used to authenticate the API calls. service_name (str):
 The name of the API. version (str):
 The version of the API to use. developer_key (str):
 The api key to use to determine the project associated with the API call, most API services do not require this to be set. cache_discovery (bool):
 Whether or not to cache the discovery doc. Returns: object: A Resource object with methods for interacting with the service. """

    # The default logging of the discovery obj is very noisy in recent versions.
    # Lower the default logging level of just this module to WARNING unless
    # debug is enabled.
    if log.getEffectiveLevel() > logging.DEBUG:
        logging.getLogger(discovery.__name__).setLevel(logging.WARNING)

    discovery_kwargs = {
        'serviceName': service_name,
        'version': version,
        'developerKey': developer_key,
        'cache_discovery': cache_discovery,
    }

    if http:
        discovery_kwargs['http'] = http
    else:
        discovery_kwargs['credentials'] = credentials

    return discovery.build(**discovery_kwargs)