#!/usr/bin/env python
import sys
from optparse import OptionParser
AGG_URL = 'rx.us01.fortimonitor.com'
VERSION = '2024.4.5'
BASE_CONFIG_DIR = '/etc'
PKG_DIR = 'fm-agent'
BRAND = 'fm'
if 'freebsd' in sys.platform.lower() or "darwin" in sys.platform.lower():
sys.path.insert(0, '/usr/local/fm-agent/lib/library')
else:
sys.path.insert(0, '/usr/lib/fm-agent/library')
sys.path.insert(0, '/usr/lib/fm-agent/')
from maintenance import Maintenance
if __name__ == "__main__":
parser = OptionParser()
parser.add_option('-s', '--start', dest='start', action='store_true', help='Flag to determine if we are going to start a maintenance', default=False)
parser.add_option('-e', '--end', dest="end", action="store_true", help="Flag to determine if we are going to end a maintenance", default=False)
parser.add_option('-d', '--duration', dest="duration", help="The duration of the maintenance in minutes")
parser.add_option('-t', '--metric-tags', dest="metric_tags", help="Optional comma separated list of tags to pass to the maintenance.")
options, args = parser.parse_args()
start = options.start
end = options.end
duration = options.duration
if not start and not end:
print "Please specify an action for the maintenance, --start/--end"
sys.exit(1)
if start and end:
print "Please specific only one of our 2 actions, --start/--end"
sys.exit(1)
if not duration and not end:
print "Please specify a duration for the maintenance."
sys.exit(1)
metric_tags = options.metric_tags
maintenance = Maintenance(BRAND, AGG_URL, VERSION, BASE_CONFIG_DIR, PKG_DIR)
if end:
maintenance.end()
elif start:
maintenance.start(duration, metric_tags)