def list_jobs(accountId=None, vaultName=None, limit=None, marker=None,
    statuscode=None, completed=None):
    """
    This operation lists jobs for a vault, including jobs that are in-progress and jobs that have recently finished.
    To retrieve an archive or retrieve a vault inventory from Amazon Glacier, you first initiate a job, and after the job completes, you download the data. For an archive retrieval, the output is the archive data. For an inventory retrieval, it is the inventory list. The List Job operation returns a list of these jobs sorted by job initiation time.
    The List Jobs operation supports pagination. You should always check the response Marker field. If there are no more jobs to list, the Marker field is set to null . If there are more jobs to list, the Marker field is set to a non-null value, which you can use to continue the pagination of the list. To return a list of jobs that begins at a specific job, set the marker request parameter to the Marker value for that job that you obtained from a previous List Jobs request.
    You can set a maximum limit for the number of jobs returned in the response by specifying the limit parameter in the request. The default limit is 1000. The number of jobs returned might be fewer than the limit, but the number of returned jobs never exceeds the limit.
    Additionally, you can filter the jobs list returned by specifying the optional statuscode parameter or completed parameter, or both. Using the statuscode parameter, you can specify to return only jobs that match either the InProgress , Succeeded , or Failed status. Using the completed parameter, you can specify to return only jobs that were completed (true ) or jobs that were not completed (false ).
    For the underlying REST API, see List Jobs .
    See also: AWS API Documentation
    
    Examples
    The example lists jobs for the vault named my-vault.
    Expected Output:
    
    :example: response = client.list_jobs(
        vaultName='string',
        limit='string',
        marker='string',
        statuscode='string',
        completed='string'
    )
    
    
    :type accountId: string
    :param accountId: The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '- ' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.
            Note: this parameter is set to '-' bydefault if no value is not specified.
            

    :type vaultName: string
    :param vaultName: [REQUIRED]
            The name of the vault.
            

    :type limit: string
    :param limit: The maximum number of jobs to be returned. The default limit is 1000. The number of jobs returned might be fewer than the specified limit, but the number of returned jobs never exceeds the limit.

    :type marker: string
    :param marker: An opaque string used for pagination. This value specifies the job at which the listing of jobs should begin. Get the marker value from a previous List Jobs response. You only need to include the marker if you are continuing the pagination of results started in a previous List Jobs request.

    :type statuscode: string
    :param statuscode: The type of job status to return. You can specify the following values: InProgress , Succeeded , or Failed .

    :type completed: string
    :param completed: The state of the jobs to return. You can specify true or false .

    :rtype: dict
    :return: {
        'JobList': [
            {
                'JobId': 'string',
                'JobDescription': 'string',
                'Action': 'ArchiveRetrieval'|'InventoryRetrieval',
                'ArchiveId': 'string',
                'VaultARN': 'string',
                'CreationDate': 'string',
                'Completed': True|False,
                'StatusCode': 'InProgress'|'Succeeded'|'Failed',
                'StatusMessage': 'string',
                'ArchiveSizeInBytes': 123,
                'InventorySizeInBytes': 123,
                'SNSTopic': 'string',
                'CompletionDate': 'string',
                'SHA256TreeHash': 'string',
                'ArchiveSHA256TreeHash': 'string',
                'RetrievalByteRange': 'string',
                'Tier': 'string',
                'InventoryRetrievalParameters': {
                    'Format': 'string',
                    'StartDate': 'string',
                    'EndDate': 'string',
                    'Limit': 'string',
                    'Marker': 'string'
                }
            },
        ],
        'Marker': 'string'
    }
    
    
    :returns: 
    Archive retrieval jobs that specify a range that is not tree-hash aligned.
    Archival jobs that specify a range that is equal to the whole archive and the job status is InProgress.
    Inventory jobs.
    
    """
    pass
