Skip to content

Commit 031ed85

Browse files
committed
2 space indent
1 parent 09fc059 commit 031ed85

File tree

3 files changed

+147
-162
lines changed

3 files changed

+147
-162
lines changed

search/v1alpha/asset_events_find.py

Lines changed: 32 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,15 @@
4343
MAX_RESULTS_LIMIT = 250000
4444

4545

46-
def find_asset_events(
47-
http_session: requests.AuthorizedSession,
48-
proj_id: str,
49-
proj_instance: str,
50-
proj_region: str,
51-
asset_indicator: str,
52-
start_time: str,
53-
end_time: str,
54-
reference_time: Optional[str] = None,
55-
max_results: Optional[int] = None) -> None:
46+
def find_asset_events(http_session: requests.AuthorizedSession,
47+
proj_id: str,
48+
proj_instance: str,
49+
proj_region: str,
50+
asset_indicator: str,
51+
start_time: str,
52+
end_time: str,
53+
reference_time: Optional[str] = None,
54+
max_results: Optional[int] = None) -> None:
5655
"""Find asset events in Chronicle using the Legacy Find Asset Events API.
5756
5857
Args:
@@ -75,32 +74,31 @@ def find_asset_events(
7574
chronicle.legacies.legacyFindAssetEvents
7675
"""
7776
# Validate and parse the times to ensure they're in RFC3339 format
78-
for time_str in [start_time, end_time, reference_time] if reference_time else [start_time, end_time]:
77+
for time_str in [start_time, end_time, reference_time
78+
] if reference_time else [start_time, end_time]:
7979
try:
8080
datetime.strptime(time_str, "%Y-%m-%dT%H:%M:%SZ")
8181
except ValueError as e:
8282
if "does not match format" in str(e):
8383
raise ValueError(
84-
f"Time '{time_str}' must be in RFC3339 format (e.g., '2024-01-01T00:00:00Z')") from e
84+
f"Time '{time_str}' must be in RFC3339 format (e.g., '2024-01-01T00:00:00Z')"
85+
) from e
8586
raise
8687

8788
base_url_with_region = regions.url_always_prepend_region(
88-
CHRONICLE_API_BASE_URL,
89-
proj_region
90-
)
89+
CHRONICLE_API_BASE_URL, proj_region)
9190
instance = f"projects/{proj_id}/locations/{proj_region}/instances/{proj_instance}"
9291
url = f"{base_url_with_region}/v1alpha/{instance}/legacy:legacyFindAssetEvents"
9392

9493
# Build query parameters
9594
params = [
9695
f"assetIndicator={asset_indicator}",
97-
f"timeRange.startTime={start_time}",
98-
f"timeRange.endTime={end_time}"
96+
f"timeRange.startTime={start_time}", f"timeRange.endTime={end_time}"
9997
]
100-
98+
10199
if reference_time:
102100
params.append(f"referenceTime={reference_time}")
103-
101+
104102
if max_results:
105103
# Ensure max_results is within bounds
106104
max_results = min(max(1, max_results), MAX_RESULTS_LIMIT)
@@ -112,13 +110,15 @@ def find_asset_events(
112110
if response.status_code >= 400:
113111
print(response.text)
114112
response.raise_for_status()
115-
113+
116114
result = response.json()
117115
print(json.dumps(result, indent=2))
118-
116+
119117
if result.get("more_data_available"):
120-
print("\nWarning: More data is available but was not returned due to maxResults limit.")
121-
118+
print(
119+
"\nWarning: More data is available but was not returned due to maxResults limit."
120+
)
121+
122122
if result.get("uri"):
123123
print("\nBackstory UI URLs:")
124124
for uri in result["uri"]:
@@ -137,7 +137,9 @@ def find_asset_events(
137137
"--asset_indicator",
138138
type=str,
139139
required=True,
140-
help="JSON string containing the asset indicator (e.g., '{\"hostname\": \"example.com\"}')")
140+
help=
141+
"JSON string containing the asset indicator (e.g., '{\"hostname\": \"example.com\"}')"
142+
)
141143
parser.add_argument(
142144
"--start_time",
143145
type=str,
@@ -155,21 +157,16 @@ def find_asset_events(
155157
parser.add_argument(
156158
"--max_results",
157159
type=int,
158-
help=f"Maximum number of results to return (default: {DEFAULT_MAX_RESULTS}, max: {MAX_RESULTS_LIMIT})")
160+
help=
161+
f"Maximum number of results to return (default: {DEFAULT_MAX_RESULTS}, max: {MAX_RESULTS_LIMIT})"
162+
)
159163

160164
args = parser.parse_args()
161165

162166
auth_session = chronicle_auth.initialize_http_session(
163167
args.credentials_file,
164168
SCOPES,
165169
)
166-
find_asset_events(
167-
auth_session,
168-
args.project_id,
169-
args.project_instance,
170-
args.region,
171-
args.asset_indicator,
172-
args.start_time,
173-
args.end_time,
174-
args.reference_time,
175-
args.max_results)
170+
find_asset_events(auth_session, args.project_id, args.project_instance,
171+
args.region, args.asset_indicator, args.start_time,
172+
args.end_time, args.reference_time, args.max_results)

search/v1alpha/raw_logs_find.py

Lines changed: 35 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -41,17 +41,16 @@
4141
DEFAULT_MAX_RESPONSE_SIZE = 52428800 # 50MiB in bytes
4242

4343

44-
def find_raw_logs(
45-
http_session: requests.AuthorizedSession,
46-
proj_id: str,
47-
proj_instance: str,
48-
proj_region: str,
49-
query: str,
50-
batch_tokens: Optional[List[str]] = None,
51-
log_ids: Optional[List[str]] = None,
52-
regex_search: bool = False,
53-
case_sensitive: bool = False,
54-
max_response_size: Optional[int] = None) -> None:
44+
def find_raw_logs(http_session: requests.AuthorizedSession,
45+
proj_id: str,
46+
proj_instance: str,
47+
proj_region: str,
48+
query: str,
49+
batch_tokens: Optional[List[str]] = None,
50+
log_ids: Optional[List[str]] = None,
51+
regex_search: bool = False,
52+
case_sensitive: bool = False,
53+
max_response_size: Optional[int] = None) -> None:
5554
"""Find raw logs in Chronicle using the Legacy Find Raw Logs API.
5655
5756
Args:
@@ -75,9 +74,7 @@ def find_raw_logs(
7574
chronicle.legacies.legacyFindRawLogs
7675
"""
7776
base_url_with_region = regions.url_always_prepend_region(
78-
CHRONICLE_API_BASE_URL,
79-
proj_region
80-
)
77+
CHRONICLE_API_BASE_URL, proj_region)
8178
instance = f"projects/{proj_id}/locations/{proj_region}/instances/{proj_instance}"
8279
url = f"{base_url_with_region}/v1alpha/{instance}/legacy:legacyFindRawLogs"
8380

@@ -102,10 +99,10 @@ def find_raw_logs(
10299
if response.status_code >= 400:
103100
print(response.text)
104101
response.raise_for_status()
105-
102+
106103
result = response.json()
107104
print(json.dumps(result, indent=2))
108-
105+
109106
if result.get("too_many_results"):
110107
print("\nWarning: Some results were omitted due to too many matches.")
111108

@@ -126,42 +123,40 @@ def find_raw_logs(
126123
parser.add_argument(
127124
"--batch_tokens",
128125
type=str,
129-
help='JSON string containing a list of batch tokens (e.g., \'["token1", "token2"]\')')
126+
help=
127+
'JSON string containing a list of batch tokens (e.g., \'["token1", "token2"]\')'
128+
)
130129
parser.add_argument(
131130
"--log_ids",
132131
type=str,
133-
help='JSON string containing a list of raw log IDs (e.g., \'["id1", "id2"]\')')
134-
parser.add_argument(
135-
"--regex_search",
136-
action="store_true",
137-
help="Whether to treat the query as a regex pattern")
138-
parser.add_argument(
139-
"--case_sensitive",
140-
action="store_true",
141-
help="Whether to perform a case-sensitive search")
132+
help=
133+
'JSON string containing a list of raw log IDs (e.g., \'["id1", "id2"]\')'
134+
)
135+
parser.add_argument("--regex_search",
136+
action="store_true",
137+
help="Whether to treat the query as a regex pattern")
138+
parser.add_argument("--case_sensitive",
139+
action="store_true",
140+
help="Whether to perform a case-sensitive search")
142141
parser.add_argument(
143142
"--max_response_size",
144143
type=int,
145-
help=f"Maximum response size in bytes (default: {DEFAULT_MAX_RESPONSE_SIZE})")
144+
help=
145+
f"Maximum response size in bytes (default: {DEFAULT_MAX_RESPONSE_SIZE})"
146+
)
146147

147148
args = parser.parse_args()
148-
149+
149150
# Convert JSON strings to lists if provided
150-
batch_tokens_list = json.loads(args.batch_tokens) if args.batch_tokens else None
151+
batch_tokens_list = json.loads(
152+
args.batch_tokens) if args.batch_tokens else None
151153
log_ids_list = json.loads(args.log_ids) if args.log_ids else None
152154

153155
auth_session = chronicle_auth.initialize_http_session(
154156
args.credentials_file,
155157
SCOPES,
156158
)
157-
find_raw_logs(
158-
auth_session,
159-
args.project_id,
160-
args.project_instance,
161-
args.region,
162-
args.query,
163-
batch_tokens_list,
164-
log_ids_list,
165-
args.regex_search,
166-
args.case_sensitive,
167-
args.max_response_size)
159+
find_raw_logs(auth_session, args.project_id, args.project_instance,
160+
args.region, args.query, batch_tokens_list, log_ids_list,
161+
args.regex_search, args.case_sensitive,
162+
args.max_response_size)

0 commit comments

Comments
 (0)