Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/google/cloud/errorreporting_v1beta1/services/error_stats_service/pagers.py: 36%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

104 statements  

1# -*- coding: utf-8 -*- 

2# Copyright 2025 Google LLC 

3# 

4# Licensed under the Apache License, Version 2.0 (the "License"); 

5# you may not use this file except in compliance with the License. 

6# You may obtain a copy of the License at 

7# 

8# http://www.apache.org/licenses/LICENSE-2.0 

9# 

10# Unless required by applicable law or agreed to in writing, software 

11# distributed under the License is distributed on an "AS IS" BASIS, 

12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 

13# See the License for the specific language governing permissions and 

14# limitations under the License. 

15# 

16from google.api_core import gapic_v1 

17from google.api_core import retry as retries 

18from google.api_core import retry_async as retries_async 

19from typing import ( 

20 Any, 

21 AsyncIterator, 

22 Awaitable, 

23 Callable, 

24 Sequence, 

25 Tuple, 

26 Optional, 

27 Iterator, 

28 Union, 

29) 

30 

31try: 

32 OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault, None] 

33 OptionalAsyncRetry = Union[ 

34 retries_async.AsyncRetry, gapic_v1.method._MethodDefault, None 

35 ] 

36except AttributeError: # pragma: NO COVER 

37 OptionalRetry = Union[retries.Retry, object, None] # type: ignore 

38 OptionalAsyncRetry = Union[retries_async.AsyncRetry, object, None] # type: ignore 

39 

40from google.cloud.errorreporting_v1beta1.types import common 

41from google.cloud.errorreporting_v1beta1.types import error_stats_service 

42 

43 

44class ListGroupStatsPager: 

45 """A pager for iterating through ``list_group_stats`` requests. 

46 

47 This class thinly wraps an initial 

48 :class:`google.cloud.errorreporting_v1beta1.types.ListGroupStatsResponse` object, and 

49 provides an ``__iter__`` method to iterate through its 

50 ``error_group_stats`` field. 

51 

52 If there are more pages, the ``__iter__`` method will make additional 

53 ``ListGroupStats`` requests and continue to iterate 

54 through the ``error_group_stats`` field on the 

55 corresponding responses. 

56 

57 All the usual :class:`google.cloud.errorreporting_v1beta1.types.ListGroupStatsResponse` 

58 attributes are available on the pager. If multiple requests are made, only 

59 the most recent response is retained, and thus used for attribute lookup. 

60 """ 

61 

62 def __init__( 

63 self, 

64 method: Callable[..., error_stats_service.ListGroupStatsResponse], 

65 request: error_stats_service.ListGroupStatsRequest, 

66 response: error_stats_service.ListGroupStatsResponse, 

67 *, 

68 retry: OptionalRetry = gapic_v1.method.DEFAULT, 

69 timeout: Union[float, object] = gapic_v1.method.DEFAULT, 

70 metadata: Sequence[Tuple[str, Union[str, bytes]]] = () 

71 ): 

72 """Instantiate the pager. 

73 

74 Args: 

75 method (Callable): The method that was originally called, and 

76 which instantiated this pager. 

77 request (google.cloud.errorreporting_v1beta1.types.ListGroupStatsRequest): 

78 The initial request object. 

79 response (google.cloud.errorreporting_v1beta1.types.ListGroupStatsResponse): 

80 The initial response object. 

81 retry (google.api_core.retry.Retry): Designation of what errors, 

82 if any, should be retried. 

83 timeout (float): The timeout for this request. 

84 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

85 sent along with the request as metadata. Normally, each value must be of type `str`, 

86 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

87 be of type `bytes`. 

88 """ 

89 self._method = method 

90 self._request = error_stats_service.ListGroupStatsRequest(request) 

91 self._response = response 

92 self._retry = retry 

93 self._timeout = timeout 

94 self._metadata = metadata 

95 

96 def __getattr__(self, name: str) -> Any: 

97 return getattr(self._response, name) 

98 

99 @property 

100 def pages(self) -> Iterator[error_stats_service.ListGroupStatsResponse]: 

101 yield self._response 

102 while self._response.next_page_token: 

103 self._request.page_token = self._response.next_page_token 

104 self._response = self._method( 

105 self._request, 

106 retry=self._retry, 

107 timeout=self._timeout, 

108 metadata=self._metadata, 

109 ) 

110 yield self._response 

111 

112 def __iter__(self) -> Iterator[error_stats_service.ErrorGroupStats]: 

113 for page in self.pages: 

114 yield from page.error_group_stats 

115 

116 def __repr__(self) -> str: 

117 return "{0}<{1!r}>".format(self.__class__.__name__, self._response) 

118 

119 

120class ListGroupStatsAsyncPager: 

121 """A pager for iterating through ``list_group_stats`` requests. 

122 

123 This class thinly wraps an initial 

124 :class:`google.cloud.errorreporting_v1beta1.types.ListGroupStatsResponse` object, and 

125 provides an ``__aiter__`` method to iterate through its 

126 ``error_group_stats`` field. 

127 

128 If there are more pages, the ``__aiter__`` method will make additional 

129 ``ListGroupStats`` requests and continue to iterate 

130 through the ``error_group_stats`` field on the 

131 corresponding responses. 

132 

133 All the usual :class:`google.cloud.errorreporting_v1beta1.types.ListGroupStatsResponse` 

134 attributes are available on the pager. If multiple requests are made, only 

135 the most recent response is retained, and thus used for attribute lookup. 

136 """ 

137 

138 def __init__( 

139 self, 

140 method: Callable[..., Awaitable[error_stats_service.ListGroupStatsResponse]], 

141 request: error_stats_service.ListGroupStatsRequest, 

142 response: error_stats_service.ListGroupStatsResponse, 

143 *, 

144 retry: OptionalAsyncRetry = gapic_v1.method.DEFAULT, 

145 timeout: Union[float, object] = gapic_v1.method.DEFAULT, 

146 metadata: Sequence[Tuple[str, Union[str, bytes]]] = () 

147 ): 

148 """Instantiates the pager. 

149 

150 Args: 

151 method (Callable): The method that was originally called, and 

152 which instantiated this pager. 

153 request (google.cloud.errorreporting_v1beta1.types.ListGroupStatsRequest): 

154 The initial request object. 

155 response (google.cloud.errorreporting_v1beta1.types.ListGroupStatsResponse): 

156 The initial response object. 

157 retry (google.api_core.retry.AsyncRetry): Designation of what errors, 

158 if any, should be retried. 

159 timeout (float): The timeout for this request. 

160 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

161 sent along with the request as metadata. Normally, each value must be of type `str`, 

162 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

163 be of type `bytes`. 

164 """ 

165 self._method = method 

166 self._request = error_stats_service.ListGroupStatsRequest(request) 

167 self._response = response 

168 self._retry = retry 

169 self._timeout = timeout 

170 self._metadata = metadata 

171 

172 def __getattr__(self, name: str) -> Any: 

173 return getattr(self._response, name) 

174 

175 @property 

176 async def pages(self) -> AsyncIterator[error_stats_service.ListGroupStatsResponse]: 

177 yield self._response 

178 while self._response.next_page_token: 

179 self._request.page_token = self._response.next_page_token 

180 self._response = await self._method( 

181 self._request, 

182 retry=self._retry, 

183 timeout=self._timeout, 

184 metadata=self._metadata, 

185 ) 

186 yield self._response 

187 

188 def __aiter__(self) -> AsyncIterator[error_stats_service.ErrorGroupStats]: 

189 async def async_generator(): 

190 async for page in self.pages: 

191 for response in page.error_group_stats: 

192 yield response 

193 

194 return async_generator() 

195 

196 def __repr__(self) -> str: 

197 return "{0}<{1!r}>".format(self.__class__.__name__, self._response) 

198 

199 

200class ListEventsPager: 

201 """A pager for iterating through ``list_events`` requests. 

202 

203 This class thinly wraps an initial 

204 :class:`google.cloud.errorreporting_v1beta1.types.ListEventsResponse` object, and 

205 provides an ``__iter__`` method to iterate through its 

206 ``error_events`` field. 

207 

208 If there are more pages, the ``__iter__`` method will make additional 

209 ``ListEvents`` requests and continue to iterate 

210 through the ``error_events`` field on the 

211 corresponding responses. 

212 

213 All the usual :class:`google.cloud.errorreporting_v1beta1.types.ListEventsResponse` 

214 attributes are available on the pager. If multiple requests are made, only 

215 the most recent response is retained, and thus used for attribute lookup. 

216 """ 

217 

218 def __init__( 

219 self, 

220 method: Callable[..., error_stats_service.ListEventsResponse], 

221 request: error_stats_service.ListEventsRequest, 

222 response: error_stats_service.ListEventsResponse, 

223 *, 

224 retry: OptionalRetry = gapic_v1.method.DEFAULT, 

225 timeout: Union[float, object] = gapic_v1.method.DEFAULT, 

226 metadata: Sequence[Tuple[str, Union[str, bytes]]] = () 

227 ): 

228 """Instantiate the pager. 

229 

230 Args: 

231 method (Callable): The method that was originally called, and 

232 which instantiated this pager. 

233 request (google.cloud.errorreporting_v1beta1.types.ListEventsRequest): 

234 The initial request object. 

235 response (google.cloud.errorreporting_v1beta1.types.ListEventsResponse): 

236 The initial response object. 

237 retry (google.api_core.retry.Retry): Designation of what errors, 

238 if any, should be retried. 

239 timeout (float): The timeout for this request. 

240 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

241 sent along with the request as metadata. Normally, each value must be of type `str`, 

242 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

243 be of type `bytes`. 

244 """ 

245 self._method = method 

246 self._request = error_stats_service.ListEventsRequest(request) 

247 self._response = response 

248 self._retry = retry 

249 self._timeout = timeout 

250 self._metadata = metadata 

251 

252 def __getattr__(self, name: str) -> Any: 

253 return getattr(self._response, name) 

254 

255 @property 

256 def pages(self) -> Iterator[error_stats_service.ListEventsResponse]: 

257 yield self._response 

258 while self._response.next_page_token: 

259 self._request.page_token = self._response.next_page_token 

260 self._response = self._method( 

261 self._request, 

262 retry=self._retry, 

263 timeout=self._timeout, 

264 metadata=self._metadata, 

265 ) 

266 yield self._response 

267 

268 def __iter__(self) -> Iterator[common.ErrorEvent]: 

269 for page in self.pages: 

270 yield from page.error_events 

271 

272 def __repr__(self) -> str: 

273 return "{0}<{1!r}>".format(self.__class__.__name__, self._response) 

274 

275 

276class ListEventsAsyncPager: 

277 """A pager for iterating through ``list_events`` requests. 

278 

279 This class thinly wraps an initial 

280 :class:`google.cloud.errorreporting_v1beta1.types.ListEventsResponse` object, and 

281 provides an ``__aiter__`` method to iterate through its 

282 ``error_events`` field. 

283 

284 If there are more pages, the ``__aiter__`` method will make additional 

285 ``ListEvents`` requests and continue to iterate 

286 through the ``error_events`` field on the 

287 corresponding responses. 

288 

289 All the usual :class:`google.cloud.errorreporting_v1beta1.types.ListEventsResponse` 

290 attributes are available on the pager. If multiple requests are made, only 

291 the most recent response is retained, and thus used for attribute lookup. 

292 """ 

293 

294 def __init__( 

295 self, 

296 method: Callable[..., Awaitable[error_stats_service.ListEventsResponse]], 

297 request: error_stats_service.ListEventsRequest, 

298 response: error_stats_service.ListEventsResponse, 

299 *, 

300 retry: OptionalAsyncRetry = gapic_v1.method.DEFAULT, 

301 timeout: Union[float, object] = gapic_v1.method.DEFAULT, 

302 metadata: Sequence[Tuple[str, Union[str, bytes]]] = () 

303 ): 

304 """Instantiates the pager. 

305 

306 Args: 

307 method (Callable): The method that was originally called, and 

308 which instantiated this pager. 

309 request (google.cloud.errorreporting_v1beta1.types.ListEventsRequest): 

310 The initial request object. 

311 response (google.cloud.errorreporting_v1beta1.types.ListEventsResponse): 

312 The initial response object. 

313 retry (google.api_core.retry.AsyncRetry): Designation of what errors, 

314 if any, should be retried. 

315 timeout (float): The timeout for this request. 

316 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

317 sent along with the request as metadata. Normally, each value must be of type `str`, 

318 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

319 be of type `bytes`. 

320 """ 

321 self._method = method 

322 self._request = error_stats_service.ListEventsRequest(request) 

323 self._response = response 

324 self._retry = retry 

325 self._timeout = timeout 

326 self._metadata = metadata 

327 

328 def __getattr__(self, name: str) -> Any: 

329 return getattr(self._response, name) 

330 

331 @property 

332 async def pages(self) -> AsyncIterator[error_stats_service.ListEventsResponse]: 

333 yield self._response 

334 while self._response.next_page_token: 

335 self._request.page_token = self._response.next_page_token 

336 self._response = await self._method( 

337 self._request, 

338 retry=self._retry, 

339 timeout=self._timeout, 

340 metadata=self._metadata, 

341 ) 

342 yield self._response 

343 

344 def __aiter__(self) -> AsyncIterator[common.ErrorEvent]: 

345 async def async_generator(): 

346 async for page in self.pages: 

347 for response in page.error_events: 

348 yield response 

349 

350 return async_generator() 

351 

352 def __repr__(self) -> str: 

353 return "{0}<{1!r}>".format(self.__class__.__name__, self._response)