Add support for PIP requirements and better arguments parsing.
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
|||||||
config.ini
|
config.ini
|
||||||
|
venv/
|
||||||
|
|||||||
@@ -177,24 +177,24 @@ def main():
|
|||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
parser.add_argument("-d", "--debug", dest='debug', action='store_true', required=False, help="Activate debug.")
|
parser.add_argument("-d", "--debug", dest='debug', action='store_true', required=False, help="Activate debug.")
|
||||||
parser.add_argument("-c", "--config", dest='configFileName', nargs='?', required=False, default=None, help="Configuration file.")
|
parser.add_argument("-c", "--config", dest='configFileName', required=False, default=None, help="Configuration file.")
|
||||||
parser.add_argument("-u", "--user", dest='username', nargs='?', required=False, default='admin', help="Username.")
|
parser.add_argument("-u", "--user", dest='username', required=False, default='admin', help="Username.")
|
||||||
parser.add_argument("-p", "--password", dest='password', nargs='?', required=False, default=None, help="Password.")
|
parser.add_argument("-p", "--password", dest='password', nargs='?', required=False, default=None, help="Password.")
|
||||||
parser.add_argument("-H", "--host", dest='hostname', nargs='?', required=False, default=None, help="Hostname.")
|
parser.add_argument("-H", "--host", dest='hostname', required=False, default=None, help="Hostname.")
|
||||||
parser.add_argument("-v", "--verify", dest='verify', nargs='?', type=bool, required=False, default=True, help="Verify certificate validity.")
|
parser.add_argument("-n", "--no-tls-verification", dest='verify', action='store_true', required=False, help="Verify certificate validity.")
|
||||||
|
|
||||||
subparsers = parser.add_subparsers(dest='command', required=True, help='command help')
|
subparsers = parser.add_subparsers(dest='command', required=True, help='command help')
|
||||||
|
|
||||||
parserCreateCSR = subparsers.add_parser('csr', help='Create CSR')
|
parserCreateCSR = subparsers.add_parser('csr', help='Create CSR')
|
||||||
parserCreateCSR.add_argument("-C", "--country", dest='country', nargs='?', required=False, default='US', help="Country.")
|
parserCreateCSR.add_argument("-C", "--country", dest='country', required=False, default='US', help="Country.")
|
||||||
parserCreateCSR.add_argument("-s", "--state", dest='state', nargs='?', required=False, help="State.")
|
parserCreateCSR.add_argument("-s", "--state", dest='state', required=False, help="State.")
|
||||||
parserCreateCSR.add_argument("-c", "--city", dest='city', nargs='?', required=False, help="State.")
|
parserCreateCSR.add_argument("-c", "--city", dest='city', required=False, help="State.")
|
||||||
parserCreateCSR.add_argument("--ou", dest='organizationalUnit', nargs='?', required=False, help="Organizational Unit.")
|
parserCreateCSR.add_argument("--ou", dest='organizationalUnit', required=False, help="Organizational Unit.")
|
||||||
parserCreateCSR.add_argument("--org", dest='organization', nargs='?', required=False, help="Organization.")
|
parserCreateCSR.add_argument("--org", dest='organization', required=False, help="Organization.")
|
||||||
parserCreateCSR.add_argument("-o", "--output", dest='output', nargs='?', required=False, default=None, help="Output file.")
|
parserCreateCSR.add_argument("-o", "--output", dest='output', required=False, default=None, help="Output file.")
|
||||||
|
|
||||||
parserInstalleCertificate = subparsers.add_parser('pem', help='Install certificate')
|
parserInstalleCertificate = subparsers.add_parser('pem', help='Install certificate')
|
||||||
parserInstalleCertificate.add_argument("-i", "--input", dest='input', nargs='?', required=True, default=None, help="Input file.")
|
parserInstalleCertificate.add_argument("-i", "--input", dest='input', required=True, default=None, help="Input file.")
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
logger.info("Arguments: %s" % args)
|
logger.info("Arguments: %s" % args)
|
||||||
@@ -236,15 +236,16 @@ def main():
|
|||||||
if 'city' in options:
|
if 'city' in options:
|
||||||
args.city = config.get('CSR','city')
|
args.city = config.get('CSR','city')
|
||||||
|
|
||||||
if args.password == None:
|
|
||||||
logger.error('Password is mandatory')
|
|
||||||
argparse.usage()
|
|
||||||
if args.username == None:
|
if args.username == None:
|
||||||
logger.error('Username is mandatory')
|
logger.error('Username is mandatory')
|
||||||
argparse.usage()
|
parser.print_help()
|
||||||
|
exit(-1)
|
||||||
if args.hostname == None:
|
if args.hostname == None:
|
||||||
logger.error('Hostname is mandatory')
|
logger.error('Hostname is mandatory')
|
||||||
argparse.usage()
|
parser.print_help()
|
||||||
|
exit(-1)
|
||||||
|
if args.password == None:
|
||||||
|
args.password = getpass.getpass()
|
||||||
|
|
||||||
if args.debug:
|
if args.debug:
|
||||||
logger.info('Setting logging to debug mode')
|
logger.info('Setting logging to debug mode')
|
||||||
|
|||||||
2
requirements.txt
Normal file
2
requirements.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
requests
|
||||||
|
coloredlogs
|
||||||
Reference in New Issue
Block a user