in gcpdiag/runbook/command.py [0:0]
def _init_runbook_args_parser():
parser = argparse.ArgumentParser(
description='Run diagnostics in GCP projects.', prog='gcpdiag runbook')
parser.add_argument(
'--auth-adc',
help='Authenticate using Application Default Credentials (default)',
action='store_true')
parser.add_argument(
'--auth-key',
help='Authenticate using a service account private key file',
metavar='FILE')
parser.add_argument(
'--billing-project',
metavar='P',
help='Project used for billing/quota of API calls done by gcpdiag '
'(default is the inspected project, requires '
'\'serviceusage.services.use\' permission)')
parser.add_argument('-v',
'--verbose',
action='count',
default=config.get('verbose'),
help='Increase log verbosity')
parser.add_argument('--logging-ratelimit-requests',
metavar='R',
type=int,
help=('Configure rate limit for logging queries (default:'
f" {config.get('logging_ratelimit_requests')})"))
parser.add_argument(
'--logging-ratelimit-period-seconds',
metavar='S',
type=int,
help=('Configure rate limit period for logging queries (default:'
f" {config.get('logging_ratelimit_period_seconds')} seconds)"))
parser.add_argument('--logging-page-size',
metavar='P',
type=int,
help=('Configure page size for logging queries (default:'
f" {config.get('logging_page_size')})"))
parser.add_argument(
'--logging-fetch-max-entries',
metavar='E',
type=int,
help=('Configure max entries to fetch by logging queries (default:'
f" {config.get('logging_fetch_max_entries')})"))
parser.add_argument(
'--logging-fetch-max-time-seconds',
metavar='S',
type=int,
help=('Configure timeout for logging queries (default:'
f" {config.get('logging_fetch_max_time_seconds')} seconds)"))
parser.add_argument(
'runbook',
help=
'Runbook to execute in the format product/runbook-name or product/name',
nargs='?')
parser.add_argument('--bundle-spec',
nargs='*',
default=[],
action=ParseBundleSpec,
type=argparse.FileType('r'),
help='Path to YAML file containing bundle specifications')
parser.add_argument(
'-p',
'--parameter',
action=ParseMappingArg,
nargs=1,
default=models.Parameter(),
dest='parameter',
metavar='key:value',
help=
('One or more resource parameters as key-value pair(s) to scope inspection '
'(e.g.: -p source_ip=xx:xx:xx:xx -p user:user@company.com)'))
parser.add_argument(
'-a',
'--auto',
help=('Execute runbook autonomously. Use this to skip human tasks. '
'Incomplete tasks are added to the report.'),
action='store_true')
parser.add_argument(
'--report-dir',
metavar='FILE',
default=config.get('report_dir'),
type=expand_and_validate_path,
help=
('Specifies the full path to the directory where reports '
'will be saved (default: /tmp/gcpdiag or in Cloud Shell $HOME/tmp/gcpdiag)'
))
parser.add_argument('--interface',
metavar='FORMATTER',
default=config.get('interface'),
type=str,
help='What interface as one of [cli, api] (default: cli)')
parser.add_argument('--universe-domain',
type=str,
default=config.get('universe_domain'),
help='Domain name of APIs')
parser.add_argument('--reason',
type=str,
default=config.get('reason'),
help='The reason for running gcpdiag')
return parser