def get_application_revision(applicationName=None, revision=None):
    """
    Gets information about an application revision.
    See also: AWS API Documentation
    
    
    :example: response = client.get_application_revision(
        applicationName='string',
        revision={
            'revisionType': 'S3'|'GitHub',
            's3Location': {
                'bucket': 'string',
                'key': 'string',
                'bundleType': 'tar'|'tgz'|'zip',
                'version': 'string',
                'eTag': 'string'
            },
            'gitHubLocation': {
                'repository': 'string',
                'commitId': 'string'
            }
        }
    )
    
    
    :type applicationName: string
    :param applicationName: [REQUIRED]
            The name of the application that corresponds to the revision.
            

    :type revision: dict
    :param revision: [REQUIRED]
            Information about the application revision to get, including type and location.
            revisionType (string) --The type of application revision:
            S3: An application revision stored in Amazon S3.
            GitHub: An application revision stored in GitHub.
            s3Location (dict) --Information about the location of application artifacts stored in Amazon S3.
            bucket (string) --The name of the Amazon S3 bucket where the application revision is stored.
            key (string) --The name of the Amazon S3 object that represents the bundled artifacts for the application revision.
            bundleType (string) --The file type of the application revision. Must be one of the following:
            tar: A tar archive file.
            tgz: A compressed tar archive file.
            zip: A zip archive file.
            version (string) --A specific version of the Amazon S3 object that represents the bundled artifacts for the application revision.
            If the version is not specified, the system will use the most recent version by default.
            eTag (string) --The ETag of the Amazon S3 object that represents the bundled artifacts for the application revision.
            If the ETag is not specified as an input parameter, ETag validation of the object will be skipped.
            gitHubLocation (dict) --Information about the location of application artifacts stored in GitHub.
            repository (string) --The GitHub account and repository pair that stores a reference to the commit that represents the bundled artifacts for the application revision.
            Specified as account/repository.
            commitId (string) --The SHA1 commit ID of the GitHub commit that represents the bundled artifacts for the application revision.
            
            

    :rtype: dict
    :return: {
        'applicationName': 'string',
        'revision': {
            'revisionType': 'S3'|'GitHub',
            's3Location': {
                'bucket': 'string',
                'key': 'string',
                'bundleType': 'tar'|'tgz'|'zip',
                'version': 'string',
                'eTag': 'string'
            },
            'gitHubLocation': {
                'repository': 'string',
                'commitId': 'string'
            }
        },
        'revisionInfo': {
            'description': 'string',
            'deploymentGroups': [
                'string',
            ],
            'firstUsedTime': datetime(2015, 1, 1),
            'lastUsedTime': datetime(2015, 1, 1),
            'registerTime': datetime(2015, 1, 1)
        }
    }
    
    
    :returns: 
    S3: An application revision stored in Amazon S3.
    GitHub: An application revision stored in GitHub.
    
    """
    pass
