xref: /aosp_15_r20/tools/acloud/public/acloud_common.py (revision 800a58d989c669b8eb8a71d8df53b1ba3d411444)
1*800a58d9SAndroid Build Coastguard Worker#!/usr/bin/env python
2*800a58d9SAndroid Build Coastguard Worker#
3*800a58d9SAndroid Build Coastguard Worker# Copyright 2016 - The Android Open Source Project
4*800a58d9SAndroid Build Coastguard Worker#
5*800a58d9SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
6*800a58d9SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
7*800a58d9SAndroid Build Coastguard Worker# You may obtain a copy of the License at
8*800a58d9SAndroid Build Coastguard Worker#
9*800a58d9SAndroid Build Coastguard Worker#     http://www.apache.org/licenses/LICENSE-2.0
10*800a58d9SAndroid Build Coastguard Worker#
11*800a58d9SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
12*800a58d9SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
13*800a58d9SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*800a58d9SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
15*800a58d9SAndroid Build Coastguard Worker# limitations under the License.
16*800a58d9SAndroid Build Coastguard Worker
17*800a58d9SAndroid Build Coastguard Worker"""Common code used by both acloud and acloud_kernel tools."""
18*800a58d9SAndroid Build Coastguard Worker
19*800a58d9SAndroid Build Coastguard Workerimport argparse
20*800a58d9SAndroid Build Coastguard Worker
21*800a58d9SAndroid Build Coastguard Worker
22*800a58d9SAndroid Build Coastguard Workerdef AddCommonArguments(parser):
23*800a58d9SAndroid Build Coastguard Worker    """Adds arguments common to parsers.
24*800a58d9SAndroid Build Coastguard Worker
25*800a58d9SAndroid Build Coastguard Worker    Args:
26*800a58d9SAndroid Build Coastguard Worker        parser: ArgumentParser object, used to parse flags.
27*800a58d9SAndroid Build Coastguard Worker    """
28*800a58d9SAndroid Build Coastguard Worker    parser.add_argument("--email",
29*800a58d9SAndroid Build Coastguard Worker                        type=str,
30*800a58d9SAndroid Build Coastguard Worker                        dest="email",
31*800a58d9SAndroid Build Coastguard Worker                        help="Email account to use for authentication.")
32*800a58d9SAndroid Build Coastguard Worker    parser.add_argument("--config-file",
33*800a58d9SAndroid Build Coastguard Worker                        type=str,
34*800a58d9SAndroid Build Coastguard Worker                        dest="config_file",
35*800a58d9SAndroid Build Coastguard Worker                        default=None,
36*800a58d9SAndroid Build Coastguard Worker                        help="Path to the config file, default to "
37*800a58d9SAndroid Build Coastguard Worker                        "acloud.config in the current working directory.")
38*800a58d9SAndroid Build Coastguard Worker    parser.add_argument("--service-account-json-private-key-path",
39*800a58d9SAndroid Build Coastguard Worker                        type=str,
40*800a58d9SAndroid Build Coastguard Worker                        dest="service_account_json_private_key_path",
41*800a58d9SAndroid Build Coastguard Worker                        help="Path to service account's json private key "
42*800a58d9SAndroid Build Coastguard Worker                        "file.")
43*800a58d9SAndroid Build Coastguard Worker    parser.add_argument("--report-file",
44*800a58d9SAndroid Build Coastguard Worker                        type=str,
45*800a58d9SAndroid Build Coastguard Worker                        dest="report_file",
46*800a58d9SAndroid Build Coastguard Worker                        default=None,
47*800a58d9SAndroid Build Coastguard Worker                        help="Dump the report this file in json format. "
48*800a58d9SAndroid Build Coastguard Worker                        "If not specified, just log the report.")
49*800a58d9SAndroid Build Coastguard Worker    parser.add_argument("--log-file",
50*800a58d9SAndroid Build Coastguard Worker                        dest="log_file",
51*800a58d9SAndroid Build Coastguard Worker                        type=str,
52*800a58d9SAndroid Build Coastguard Worker                        default=None,
53*800a58d9SAndroid Build Coastguard Worker                        help="Path to log file.")
54*800a58d9SAndroid Build Coastguard Worker    parser.add_argument('--verbose', '-v',
55*800a58d9SAndroid Build Coastguard Worker                        action='count',
56*800a58d9SAndroid Build Coastguard Worker                        default=0,
57*800a58d9SAndroid Build Coastguard Worker                        help="Enable verbose log. Use --verbose or -v for "
58*800a58d9SAndroid Build Coastguard Worker                        "logging at INFO level, and -vv for DEBUG level.")
59*800a58d9SAndroid Build Coastguard Worker    parser.add_argument("--no-metrics",
60*800a58d9SAndroid Build Coastguard Worker                        action="store_true",
61*800a58d9SAndroid Build Coastguard Worker                        dest="no_metrics",
62*800a58d9SAndroid Build Coastguard Worker                        required=False,
63*800a58d9SAndroid Build Coastguard Worker                        default=False,
64*800a58d9SAndroid Build Coastguard Worker                        help="Don't log metrics.")
65*800a58d9SAndroid Build Coastguard Worker
66*800a58d9SAndroid Build Coastguard Worker    # Allow for using the underscore args as well to keep it backward
67*800a58d9SAndroid Build Coastguard Worker    # compatible with the infra use case. Remove when g3 acloud is
68*800a58d9SAndroid Build Coastguard Worker    # deprecated (b/118439885).
69*800a58d9SAndroid Build Coastguard Worker    parser.add_argument("--config_file",
70*800a58d9SAndroid Build Coastguard Worker                        type=str,
71*800a58d9SAndroid Build Coastguard Worker                        dest="config_file",
72*800a58d9SAndroid Build Coastguard Worker                        default=None,
73*800a58d9SAndroid Build Coastguard Worker                        help=argparse.SUPPRESS)
74*800a58d9SAndroid Build Coastguard Worker    parser.add_argument("--service_account_json_private_key_path",
75*800a58d9SAndroid Build Coastguard Worker                        type=str,
76*800a58d9SAndroid Build Coastguard Worker                        dest="service_account_json_private_key_path",
77*800a58d9SAndroid Build Coastguard Worker                        help=argparse.SUPPRESS)
78*800a58d9SAndroid Build Coastguard Worker    parser.add_argument("--report_file",
79*800a58d9SAndroid Build Coastguard Worker                        type=str,
80*800a58d9SAndroid Build Coastguard Worker                        dest="report_file",
81*800a58d9SAndroid Build Coastguard Worker                        default=None,
82*800a58d9SAndroid Build Coastguard Worker                        help=argparse.SUPPRESS)
83*800a58d9SAndroid Build Coastguard Worker    parser.add_argument("--log_file",
84*800a58d9SAndroid Build Coastguard Worker                        dest="log_file",
85*800a58d9SAndroid Build Coastguard Worker                        type=str,
86*800a58d9SAndroid Build Coastguard Worker                        default=None,
87*800a58d9SAndroid Build Coastguard Worker                        help=argparse.SUPPRESS)
88