def main(args):
    """Return the list of request urls that conform to the UFrame API for the 
        partial or fully-qualified reference_designator and all telemetry types.  
        The URLs request all stream L0, L1 and L2 dataset parameters over the entire 
        time-coverage.  The urls are printed to STDOUT.
    """

    status = 0

    base_url = args.base_url
    if not base_url:
        if args.verbose:
            sys.stderr.write("No uframe_base specified.  Checking UFRAME_BASE_URL environment variable\n")

        base_url = os.getenv("UFRAME_BASE_URL")

    if not base_url:
        sys.stderr.write("No UFrame instance specified")
        sys.stderr.flush()
        return 1

    # Create a UFrame instance
    if args.verbose:
        sys.stderr.write("Creating UFrame API instance\n")

    uframe = UFrame(base_url=base_url, timeout=args.timeout, validate=args.validate_uframe)

    # Fetch the table of contents from UFrame
    if args.verbose:
        t0 = datetime.datetime.utcnow()
        sys.stderr.write("Fetching and creating UFrame table of contents...")

    uframe.fetch_toc()

    if args.verbose:
        t1 = datetime.datetime.utcnow()
        dt = t1 - t0
        sys.stderr.write("Complete ({:d} seconds)\n".format(dt.seconds))

    if args.reference_designator:
        instruments = uframe.search_instruments(args.reference_designator)
    else:
        instruments = uframe.instruments

    if not instruments:
        sys.stderr.write("No instruments found for reference designator: {:s}\n".format(args.reference_designator))
        sys.stderr.flush()

    urls = []
    for instrument in instruments:

        request_urls = uframe.instrument_to_query(
            instrument,
            telemetry=args.telemetry,
            time_delta_type=args.time_delta_type,
            time_delta_value=args.time_delta_value,
            begin_ts=args.start_date,
            end_ts=args.end_date,
            time_check=args.time_check,
            exec_dpa=args.no_dpa,
            application_type=args.format,
            provenance=args.no_provenance,
            limit=args.limit,
            annotations=args.no_annotations,
            user=args.user,
            email=args.email,
            selogging=args.selogging,
        )

        for request_url in request_urls:
            urls.append(request_url)

    for url in urls:
        sys.stdout.write("{:s}\n".format(url))

    return status