__init__.py (2759B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\datadog\dogshell\__init__.py 2 import os 3 import argparse 4 from datadog import initialize 5 from datadog.dogshell.comment import CommentClient 6 from datadog.dogshell.common import DogshellConfig 7 from datadog.dogshell.downtime import DowntimeClient 8 from datadog.dogshell.event import EventClient 9 from datadog.dogshell.host import HostClient 10 from datadog.dogshell.metric import MetricClient 11 from datadog.dogshell.monitor import MonitorClient 12 from datadog.dogshell.screenboard import ScreenboardClient 13 from datadog.dogshell.search import SearchClient 14 from datadog.dogshell.service_check import ServiceCheckClient 15 from datadog.dogshell.tag import TagClient 16 from datadog.dogshell.timeboard import TimeboardClient 17 from datadog.util.config import get_version 18 19 def main(): 20 parser = argparse.ArgumentParser(description='Interact with the Datadog API', formatter_class=argparse.ArgumentDefaultsHelpFormatter) 21 parser.add_argument('--config', help='location of your dogrc file (default ~/.dogrc)', default=os.path.expanduser('~/.dogrc')) 22 parser.add_argument('--api-key', help='your API key, from https://app.datadoghq.com/account/settings#api', dest='api_key', default=None) 23 parser.add_argument('--application-key', help='your Application key, from https://app.datadoghq.com/account/settings#api', dest='app_key', default=None) 24 parser.add_argument('--pretty', help='pretty-print output (suitable for human consumption, less useful for scripting)', dest='format', action='store_const', const='pretty') 25 parser.add_argument('--raw', help='raw JSON as returned by the HTTP service', dest='format', action='store_const', const='raw') 26 parser.add_argument('--timeout', help='time to wait in seconds before timing out an API call (default 10)', default=10, type=int) 27 parser.add_argument('-v', '--version', help='Dog API version', action='version', version='%(prog)s {0}'.format(get_version())) 28 config = DogshellConfig() 29 subparsers = parser.add_subparsers(title='Modes', dest='mode') 30 subparsers.required = True 31 CommentClient.setup_parser(subparsers) 32 SearchClient.setup_parser(subparsers) 33 MetricClient.setup_parser(subparsers) 34 TagClient.setup_parser(subparsers) 35 EventClient.setup_parser(subparsers) 36 MonitorClient.setup_parser(subparsers) 37 TimeboardClient.setup_parser(subparsers) 38 ScreenboardClient.setup_parser(subparsers) 39 HostClient.setup_parser(subparsers) 40 DowntimeClient.setup_parser(subparsers) 41 ServiceCheckClient.setup_parser(subparsers) 42 args = parser.parse_args() 43 config.load(args.config, args.api_key, args.app_key) 44 initialize(**config) 45 args.func(args) 46 47 48 if __name__ == '__main__': 49 main()