'Checks that a single application definition contains no invalid
or unsupported keys.
:param unicode application: The name of the application this config
is mapped to.
:param dict config: A single application definition from
the application_configuration dictionary.
:raises ValueError: if any invalid or unsupported keys found.
:returns: ``None``'

def _validate_application_keys(self, application, config):

    _check_type(config, dict, u'Application    configuration    must    be    dictionary', application)
    if (self._count_identifier_keys(config) == 0):
        raise ValueError(u"Application    configuration    must    contain    either    an    'image'    or    'build'    key.")
    if (u'build' in config):
        raise ValueError(u"'build'    is    not    supported    yet;    please    specify    'image'.")
    present_keys = set(config)
    invalid_keys = (present_keys - self._allowed_keys)
    present_unsupported_keys = (self._unsupported_keys & present_keys)
    if present_unsupported_keys:
        raise ValueError(u'Unsupported    fig    keys    found:    {keys}'.format(keys=u',    '.join(sorted(present_unsupported_keys))))
    if invalid_keys:
        raise ValueError(u'Unrecognised    keys:    {keys}'.format(keys=u',    '.join(sorted(invalid_keys))))
