def main():
    parser = argparse.ArgumentParser(add_help=True,
                        formatter_class=argparse.RawTextHelpFormatter,
                                     description='''
    Define a OneView SAN Storage connection list for use with defining a
    server profile with managed SAN storage connections.

    Usage: ''')
    parser.add_argument('-a', dest='host', required=True,
                        help='''
    HP OneView Appliance hostname or IP address''')
    parser.add_argument('-u', dest='user', required=False,
                        default='Administrator',
                        help='''
    HP OneView Username''')
    parser.add_argument('-p', dest='passwd', required=True,
                        help='''
    HP OneView Password''')
    parser.add_argument('-c', dest='cert', required=False,
                        help='''
    Trusted SSL Certificate Bundle in PEM (Base64 Encoded DER) Format''')
    parser.add_argument('-y', dest='proxy', required=False,
                        help='''
    Proxy (host:port format''')
    parser.add_argument('-j', dest='domain', required=False,
                        default='Local',
                        help='''
    HP OneView Authorized Login Domain''')
    parser.add_argument('-sl', dest='san_list',
                        required=True,
                        help='''
    Name of file for SAN storage list''')
    parser.add_argument('-cl', dest='conn_list',
                        required=True,
                        help='''
    Name of server profile connection list file to import''')
    parser.add_argument('-app', dest='append',
                        required=False,
                        action='store_true',
                        help='''
    Causes SAN list to be appended to the file''')
    parser.add_argument('-o', dest='hostos',
                        required=True,
                        choices=['CitrixXen', 'AIX', 'IBMVIO', 'RHEL4',
                                 'RHEL3', 'RHEL', 'RHEV', 'VMware', 'Win2k3',
                                 'Win2k8', 'Win2k12', 'OpenVMS', 'Egenera',
                                 'Exanet', 'Solaris9', 'Solaris10',
                                 'Solaris11', 'ONTAP', 'OEL', 'HPUX11iv1',
                                 'HPUX11iv2', 'HPUX11iv3', 'SUSE', 'SUSE9',
                                 'Inform'],
                        help='''
    Specify the Host OS type, which will set the Host OS value when HP OneView
    created the Host object on the Storage System. Accepted values:

         . CitrixXen = "Citrix Xen Server 5.x/6.x"
         . AIX       = "AIX"
         . IBMVIO    = "IBM VIO Server"
         . RHEL4     = "RHE Linux (Pre RHEL 5)"
         . RHEL3     = "RHE Linux (Pre RHEL 5)"
         . RHEL      = "RHE Linux (5.x, 6.x)"
         . RHEV      = "RHE Virtualization (5.x, 6.x)"
         . VMware    = "ESX 4.x/5.x"
         . Win2k3    = "Windows 2003"
         . Win2k8    = "Windows 2008/2008 R2"
         . Win2k12   = "Windows 2012 / WS2012 R2"
         . OpenVMS   = "OpenVMS"
         . Egenera   = "Egenera"
         . Exanet    = "Exanet"
         . Solaris9  = "Solaris 9/10"
         . Solaris10 = "Solaris 9/10"
         . Solaris11 = "Solaris 11"
         . ONTAP     = "NetApp/ONTAP"
         . OEL       = "OE Linux UEK (5.x, 6.x)"
         . HPUX11iv1 = "HP-UX (11i v1, 11i v2)"
         . HPUX11iv2 = "HP-UX (11i v1, 11i v2)"
         . HPUX11iv3 = "HP-UX (11i v3)"
         . SUSE      = "SuSE (10.x, 11.x)"
         . SUSE9     = "SuSE Linux (Pre SLES 10)"
         . Inform    = "InForm"

    ''')
    parser.add_argument('-n', dest='name', required=True,
                        help='''
    Name of the exsisting storage volume to attach''')
    parser.add_argument('-l', dest='lun_id', required=False,
                        type=int,
                        help='''
    Manual entry for the LUN number. Auto, will be used if this
    value is not specified.''')
    parser.add_argument('-del', dest='del_vol', required=False,
                        action='store_false',
                        help='''
    Indicates that the volume will be deleted when the profile is deleted.''')

    args = parser.parse_args()
    credential = {'authLoginDomain': args.domain.upper(), 'userName': args.user, 'password': args.passwd}

    con = hpov.connection(args.host)
    sto = hpov.storage(con)

    if args.proxy:
        con.set_proxy(args.proxy.split(':')[0], args.proxy.split(':')[1])
    if args.cert:
        con.set_trusted_ssl_bundle(args.cert)

    login(con, credential)
    acceptEULA(con)

    if args.lun_id:
        if 0 < args.lun_id or args.lun_id > 255:
            print('Error: boot lun value must be between 0 and 255')
            sys.exit(1)

    define_san(sto, args.name, args.san_list, args.conn_list, args.append,
               args.hostos, args.lun_id, args.del_vol)
dataset/ETHPy150Open HewlettPackard/python-hpOneView/examples/scripts/define-san-storage-list.py/main/swapped operands of `<`