google-cloud-cloudcontrolspartner 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. google/cloud/cloudcontrolspartner/__init__.py +115 -0
  2. google/cloud/cloudcontrolspartner/gapic_version.py +16 -0
  3. google/cloud/cloudcontrolspartner/py.typed +2 -0
  4. google/cloud/cloudcontrolspartner_v1/__init__.py +103 -0
  5. google/cloud/cloudcontrolspartner_v1/gapic_metadata.json +197 -0
  6. google/cloud/cloudcontrolspartner_v1/gapic_version.py +16 -0
  7. google/cloud/cloudcontrolspartner_v1/py.typed +2 -0
  8. google/cloud/cloudcontrolspartner_v1/services/__init__.py +15 -0
  9. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/__init__.py +22 -0
  10. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/async_client.py +1253 -0
  11. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/client.py +1705 -0
  12. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/pagers.py +429 -0
  13. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/__init__.py +41 -0
  14. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/base.py +340 -0
  15. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/grpc.py +466 -0
  16. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/grpc_asyncio.py +472 -0
  17. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_core/transports/rest.py +1212 -0
  18. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/__init__.py +22 -0
  19. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/async_client.py +528 -0
  20. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/client.py +935 -0
  21. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/pagers.py +155 -0
  22. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/__init__.py +41 -0
  23. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/base.py +194 -0
  24. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/grpc.py +300 -0
  25. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/grpc_asyncio.py +299 -0
  26. google/cloud/cloudcontrolspartner_v1/services/cloud_controls_partner_monitoring/transports/rest.py +434 -0
  27. google/cloud/cloudcontrolspartner_v1/types/__init__.py +82 -0
  28. google/cloud/cloudcontrolspartner_v1/types/access_approval_requests.py +228 -0
  29. google/cloud/cloudcontrolspartner_v1/types/completion_state.py +53 -0
  30. google/cloud/cloudcontrolspartner_v1/types/core.py +93 -0
  31. google/cloud/cloudcontrolspartner_v1/types/customer_workloads.py +300 -0
  32. google/cloud/cloudcontrolspartner_v1/types/customers.py +233 -0
  33. google/cloud/cloudcontrolspartner_v1/types/ekm_connections.py +141 -0
  34. google/cloud/cloudcontrolspartner_v1/types/monitoring.py +24 -0
  35. google/cloud/cloudcontrolspartner_v1/types/partner_permissions.py +94 -0
  36. google/cloud/cloudcontrolspartner_v1/types/partners.py +188 -0
  37. google/cloud/cloudcontrolspartner_v1/types/violations.py +388 -0
  38. google/cloud/cloudcontrolspartner_v1beta/__init__.py +103 -0
  39. google/cloud/cloudcontrolspartner_v1beta/gapic_metadata.json +197 -0
  40. google/cloud/cloudcontrolspartner_v1beta/gapic_version.py +16 -0
  41. google/cloud/cloudcontrolspartner_v1beta/py.typed +2 -0
  42. google/cloud/cloudcontrolspartner_v1beta/services/__init__.py +15 -0
  43. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/__init__.py +22 -0
  44. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/async_client.py +1262 -0
  45. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/client.py +1714 -0
  46. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/pagers.py +429 -0
  47. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/__init__.py +41 -0
  48. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/base.py +340 -0
  49. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/grpc.py +466 -0
  50. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/grpc_asyncio.py +472 -0
  51. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_core/transports/rest.py +1212 -0
  52. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/__init__.py +22 -0
  53. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/async_client.py +530 -0
  54. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/client.py +937 -0
  55. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/pagers.py +155 -0
  56. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/__init__.py +41 -0
  57. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/base.py +194 -0
  58. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/grpc.py +300 -0
  59. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/grpc_asyncio.py +299 -0
  60. google/cloud/cloudcontrolspartner_v1beta/services/cloud_controls_partner_monitoring/transports/rest.py +434 -0
  61. google/cloud/cloudcontrolspartner_v1beta/types/__init__.py +82 -0
  62. google/cloud/cloudcontrolspartner_v1beta/types/access_approval_requests.py +230 -0
  63. google/cloud/cloudcontrolspartner_v1beta/types/completion_state.py +53 -0
  64. google/cloud/cloudcontrolspartner_v1beta/types/core.py +93 -0
  65. google/cloud/cloudcontrolspartner_v1beta/types/customer_workloads.py +304 -0
  66. google/cloud/cloudcontrolspartner_v1beta/types/customers.py +236 -0
  67. google/cloud/cloudcontrolspartner_v1beta/types/ekm_connections.py +143 -0
  68. google/cloud/cloudcontrolspartner_v1beta/types/monitoring.py +24 -0
  69. google/cloud/cloudcontrolspartner_v1beta/types/partner_permissions.py +96 -0
  70. google/cloud/cloudcontrolspartner_v1beta/types/partners.py +189 -0
  71. google/cloud/cloudcontrolspartner_v1beta/types/violations.py +391 -0
  72. google_cloud_cloudcontrolspartner-0.1.0.dist-info/LICENSE +202 -0
  73. google_cloud_cloudcontrolspartner-0.1.0.dist-info/METADATA +137 -0
  74. google_cloud_cloudcontrolspartner-0.1.0.dist-info/RECORD +76 -0
  75. google_cloud_cloudcontrolspartner-0.1.0.dist-info/WHEEL +5 -0
  76. google_cloud_cloudcontrolspartner-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,429 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright 2023 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
+ #
16
+ from typing import (
17
+ Any,
18
+ AsyncIterator,
19
+ Awaitable,
20
+ Callable,
21
+ Iterator,
22
+ Optional,
23
+ Sequence,
24
+ Tuple,
25
+ )
26
+
27
+ from google.cloud.cloudcontrolspartner_v1.types import (
28
+ access_approval_requests,
29
+ customer_workloads,
30
+ customers,
31
+ )
32
+
33
+
34
+ class ListWorkloadsPager:
35
+ """A pager for iterating through ``list_workloads`` requests.
36
+
37
+ This class thinly wraps an initial
38
+ :class:`google.cloud.cloudcontrolspartner_v1.types.ListWorkloadsResponse` object, and
39
+ provides an ``__iter__`` method to iterate through its
40
+ ``workloads`` field.
41
+
42
+ If there are more pages, the ``__iter__`` method will make additional
43
+ ``ListWorkloads`` requests and continue to iterate
44
+ through the ``workloads`` field on the
45
+ corresponding responses.
46
+
47
+ All the usual :class:`google.cloud.cloudcontrolspartner_v1.types.ListWorkloadsResponse`
48
+ attributes are available on the pager. If multiple requests are made, only
49
+ the most recent response is retained, and thus used for attribute lookup.
50
+ """
51
+
52
+ def __init__(
53
+ self,
54
+ method: Callable[..., customer_workloads.ListWorkloadsResponse],
55
+ request: customer_workloads.ListWorkloadsRequest,
56
+ response: customer_workloads.ListWorkloadsResponse,
57
+ *,
58
+ metadata: Sequence[Tuple[str, str]] = ()
59
+ ):
60
+ """Instantiate the pager.
61
+
62
+ Args:
63
+ method (Callable): The method that was originally called, and
64
+ which instantiated this pager.
65
+ request (google.cloud.cloudcontrolspartner_v1.types.ListWorkloadsRequest):
66
+ The initial request object.
67
+ response (google.cloud.cloudcontrolspartner_v1.types.ListWorkloadsResponse):
68
+ The initial response object.
69
+ metadata (Sequence[Tuple[str, str]]): Strings which should be
70
+ sent along with the request as metadata.
71
+ """
72
+ self._method = method
73
+ self._request = customer_workloads.ListWorkloadsRequest(request)
74
+ self._response = response
75
+ self._metadata = metadata
76
+
77
+ def __getattr__(self, name: str) -> Any:
78
+ return getattr(self._response, name)
79
+
80
+ @property
81
+ def pages(self) -> Iterator[customer_workloads.ListWorkloadsResponse]:
82
+ yield self._response
83
+ while self._response.next_page_token:
84
+ self._request.page_token = self._response.next_page_token
85
+ self._response = self._method(self._request, metadata=self._metadata)
86
+ yield self._response
87
+
88
+ def __iter__(self) -> Iterator[customer_workloads.Workload]:
89
+ for page in self.pages:
90
+ yield from page.workloads
91
+
92
+ def __repr__(self) -> str:
93
+ return "{0}<{1!r}>".format(self.__class__.__name__, self._response)
94
+
95
+
96
+ class ListWorkloadsAsyncPager:
97
+ """A pager for iterating through ``list_workloads`` requests.
98
+
99
+ This class thinly wraps an initial
100
+ :class:`google.cloud.cloudcontrolspartner_v1.types.ListWorkloadsResponse` object, and
101
+ provides an ``__aiter__`` method to iterate through its
102
+ ``workloads`` field.
103
+
104
+ If there are more pages, the ``__aiter__`` method will make additional
105
+ ``ListWorkloads`` requests and continue to iterate
106
+ through the ``workloads`` field on the
107
+ corresponding responses.
108
+
109
+ All the usual :class:`google.cloud.cloudcontrolspartner_v1.types.ListWorkloadsResponse`
110
+ attributes are available on the pager. If multiple requests are made, only
111
+ the most recent response is retained, and thus used for attribute lookup.
112
+ """
113
+
114
+ def __init__(
115
+ self,
116
+ method: Callable[..., Awaitable[customer_workloads.ListWorkloadsResponse]],
117
+ request: customer_workloads.ListWorkloadsRequest,
118
+ response: customer_workloads.ListWorkloadsResponse,
119
+ *,
120
+ metadata: Sequence[Tuple[str, str]] = ()
121
+ ):
122
+ """Instantiates the pager.
123
+
124
+ Args:
125
+ method (Callable): The method that was originally called, and
126
+ which instantiated this pager.
127
+ request (google.cloud.cloudcontrolspartner_v1.types.ListWorkloadsRequest):
128
+ The initial request object.
129
+ response (google.cloud.cloudcontrolspartner_v1.types.ListWorkloadsResponse):
130
+ The initial response object.
131
+ metadata (Sequence[Tuple[str, str]]): Strings which should be
132
+ sent along with the request as metadata.
133
+ """
134
+ self._method = method
135
+ self._request = customer_workloads.ListWorkloadsRequest(request)
136
+ self._response = response
137
+ self._metadata = metadata
138
+
139
+ def __getattr__(self, name: str) -> Any:
140
+ return getattr(self._response, name)
141
+
142
+ @property
143
+ async def pages(self) -> AsyncIterator[customer_workloads.ListWorkloadsResponse]:
144
+ yield self._response
145
+ while self._response.next_page_token:
146
+ self._request.page_token = self._response.next_page_token
147
+ self._response = await self._method(self._request, metadata=self._metadata)
148
+ yield self._response
149
+
150
+ def __aiter__(self) -> AsyncIterator[customer_workloads.Workload]:
151
+ async def async_generator():
152
+ async for page in self.pages:
153
+ for response in page.workloads:
154
+ yield response
155
+
156
+ return async_generator()
157
+
158
+ def __repr__(self) -> str:
159
+ return "{0}<{1!r}>".format(self.__class__.__name__, self._response)
160
+
161
+
162
+ class ListCustomersPager:
163
+ """A pager for iterating through ``list_customers`` requests.
164
+
165
+ This class thinly wraps an initial
166
+ :class:`google.cloud.cloudcontrolspartner_v1.types.ListCustomersResponse` object, and
167
+ provides an ``__iter__`` method to iterate through its
168
+ ``customers`` field.
169
+
170
+ If there are more pages, the ``__iter__`` method will make additional
171
+ ``ListCustomers`` requests and continue to iterate
172
+ through the ``customers`` field on the
173
+ corresponding responses.
174
+
175
+ All the usual :class:`google.cloud.cloudcontrolspartner_v1.types.ListCustomersResponse`
176
+ attributes are available on the pager. If multiple requests are made, only
177
+ the most recent response is retained, and thus used for attribute lookup.
178
+ """
179
+
180
+ def __init__(
181
+ self,
182
+ method: Callable[..., customers.ListCustomersResponse],
183
+ request: customers.ListCustomersRequest,
184
+ response: customers.ListCustomersResponse,
185
+ *,
186
+ metadata: Sequence[Tuple[str, str]] = ()
187
+ ):
188
+ """Instantiate the pager.
189
+
190
+ Args:
191
+ method (Callable): The method that was originally called, and
192
+ which instantiated this pager.
193
+ request (google.cloud.cloudcontrolspartner_v1.types.ListCustomersRequest):
194
+ The initial request object.
195
+ response (google.cloud.cloudcontrolspartner_v1.types.ListCustomersResponse):
196
+ The initial response object.
197
+ metadata (Sequence[Tuple[str, str]]): Strings which should be
198
+ sent along with the request as metadata.
199
+ """
200
+ self._method = method
201
+ self._request = customers.ListCustomersRequest(request)
202
+ self._response = response
203
+ self._metadata = metadata
204
+
205
+ def __getattr__(self, name: str) -> Any:
206
+ return getattr(self._response, name)
207
+
208
+ @property
209
+ def pages(self) -> Iterator[customers.ListCustomersResponse]:
210
+ yield self._response
211
+ while self._response.next_page_token:
212
+ self._request.page_token = self._response.next_page_token
213
+ self._response = self._method(self._request, metadata=self._metadata)
214
+ yield self._response
215
+
216
+ def __iter__(self) -> Iterator[customers.Customer]:
217
+ for page in self.pages:
218
+ yield from page.customers
219
+
220
+ def __repr__(self) -> str:
221
+ return "{0}<{1!r}>".format(self.__class__.__name__, self._response)
222
+
223
+
224
+ class ListCustomersAsyncPager:
225
+ """A pager for iterating through ``list_customers`` requests.
226
+
227
+ This class thinly wraps an initial
228
+ :class:`google.cloud.cloudcontrolspartner_v1.types.ListCustomersResponse` object, and
229
+ provides an ``__aiter__`` method to iterate through its
230
+ ``customers`` field.
231
+
232
+ If there are more pages, the ``__aiter__`` method will make additional
233
+ ``ListCustomers`` requests and continue to iterate
234
+ through the ``customers`` field on the
235
+ corresponding responses.
236
+
237
+ All the usual :class:`google.cloud.cloudcontrolspartner_v1.types.ListCustomersResponse`
238
+ attributes are available on the pager. If multiple requests are made, only
239
+ the most recent response is retained, and thus used for attribute lookup.
240
+ """
241
+
242
+ def __init__(
243
+ self,
244
+ method: Callable[..., Awaitable[customers.ListCustomersResponse]],
245
+ request: customers.ListCustomersRequest,
246
+ response: customers.ListCustomersResponse,
247
+ *,
248
+ metadata: Sequence[Tuple[str, str]] = ()
249
+ ):
250
+ """Instantiates the pager.
251
+
252
+ Args:
253
+ method (Callable): The method that was originally called, and
254
+ which instantiated this pager.
255
+ request (google.cloud.cloudcontrolspartner_v1.types.ListCustomersRequest):
256
+ The initial request object.
257
+ response (google.cloud.cloudcontrolspartner_v1.types.ListCustomersResponse):
258
+ The initial response object.
259
+ metadata (Sequence[Tuple[str, str]]): Strings which should be
260
+ sent along with the request as metadata.
261
+ """
262
+ self._method = method
263
+ self._request = customers.ListCustomersRequest(request)
264
+ self._response = response
265
+ self._metadata = metadata
266
+
267
+ def __getattr__(self, name: str) -> Any:
268
+ return getattr(self._response, name)
269
+
270
+ @property
271
+ async def pages(self) -> AsyncIterator[customers.ListCustomersResponse]:
272
+ yield self._response
273
+ while self._response.next_page_token:
274
+ self._request.page_token = self._response.next_page_token
275
+ self._response = await self._method(self._request, metadata=self._metadata)
276
+ yield self._response
277
+
278
+ def __aiter__(self) -> AsyncIterator[customers.Customer]:
279
+ async def async_generator():
280
+ async for page in self.pages:
281
+ for response in page.customers:
282
+ yield response
283
+
284
+ return async_generator()
285
+
286
+ def __repr__(self) -> str:
287
+ return "{0}<{1!r}>".format(self.__class__.__name__, self._response)
288
+
289
+
290
+ class ListAccessApprovalRequestsPager:
291
+ """A pager for iterating through ``list_access_approval_requests`` requests.
292
+
293
+ This class thinly wraps an initial
294
+ :class:`google.cloud.cloudcontrolspartner_v1.types.ListAccessApprovalRequestsResponse` object, and
295
+ provides an ``__iter__`` method to iterate through its
296
+ ``access_approval_requests`` field.
297
+
298
+ If there are more pages, the ``__iter__`` method will make additional
299
+ ``ListAccessApprovalRequests`` requests and continue to iterate
300
+ through the ``access_approval_requests`` field on the
301
+ corresponding responses.
302
+
303
+ All the usual :class:`google.cloud.cloudcontrolspartner_v1.types.ListAccessApprovalRequestsResponse`
304
+ attributes are available on the pager. If multiple requests are made, only
305
+ the most recent response is retained, and thus used for attribute lookup.
306
+ """
307
+
308
+ def __init__(
309
+ self,
310
+ method: Callable[
311
+ ..., access_approval_requests.ListAccessApprovalRequestsResponse
312
+ ],
313
+ request: access_approval_requests.ListAccessApprovalRequestsRequest,
314
+ response: access_approval_requests.ListAccessApprovalRequestsResponse,
315
+ *,
316
+ metadata: Sequence[Tuple[str, str]] = ()
317
+ ):
318
+ """Instantiate the pager.
319
+
320
+ Args:
321
+ method (Callable): The method that was originally called, and
322
+ which instantiated this pager.
323
+ request (google.cloud.cloudcontrolspartner_v1.types.ListAccessApprovalRequestsRequest):
324
+ The initial request object.
325
+ response (google.cloud.cloudcontrolspartner_v1.types.ListAccessApprovalRequestsResponse):
326
+ The initial response object.
327
+ metadata (Sequence[Tuple[str, str]]): Strings which should be
328
+ sent along with the request as metadata.
329
+ """
330
+ self._method = method
331
+ self._request = access_approval_requests.ListAccessApprovalRequestsRequest(
332
+ request
333
+ )
334
+ self._response = response
335
+ self._metadata = metadata
336
+
337
+ def __getattr__(self, name: str) -> Any:
338
+ return getattr(self._response, name)
339
+
340
+ @property
341
+ def pages(
342
+ self,
343
+ ) -> Iterator[access_approval_requests.ListAccessApprovalRequestsResponse]:
344
+ yield self._response
345
+ while self._response.next_page_token:
346
+ self._request.page_token = self._response.next_page_token
347
+ self._response = self._method(self._request, metadata=self._metadata)
348
+ yield self._response
349
+
350
+ def __iter__(self) -> Iterator[access_approval_requests.AccessApprovalRequest]:
351
+ for page in self.pages:
352
+ yield from page.access_approval_requests
353
+
354
+ def __repr__(self) -> str:
355
+ return "{0}<{1!r}>".format(self.__class__.__name__, self._response)
356
+
357
+
358
+ class ListAccessApprovalRequestsAsyncPager:
359
+ """A pager for iterating through ``list_access_approval_requests`` requests.
360
+
361
+ This class thinly wraps an initial
362
+ :class:`google.cloud.cloudcontrolspartner_v1.types.ListAccessApprovalRequestsResponse` object, and
363
+ provides an ``__aiter__`` method to iterate through its
364
+ ``access_approval_requests`` field.
365
+
366
+ If there are more pages, the ``__aiter__`` method will make additional
367
+ ``ListAccessApprovalRequests`` requests and continue to iterate
368
+ through the ``access_approval_requests`` field on the
369
+ corresponding responses.
370
+
371
+ All the usual :class:`google.cloud.cloudcontrolspartner_v1.types.ListAccessApprovalRequestsResponse`
372
+ attributes are available on the pager. If multiple requests are made, only
373
+ the most recent response is retained, and thus used for attribute lookup.
374
+ """
375
+
376
+ def __init__(
377
+ self,
378
+ method: Callable[
379
+ ..., Awaitable[access_approval_requests.ListAccessApprovalRequestsResponse]
380
+ ],
381
+ request: access_approval_requests.ListAccessApprovalRequestsRequest,
382
+ response: access_approval_requests.ListAccessApprovalRequestsResponse,
383
+ *,
384
+ metadata: Sequence[Tuple[str, str]] = ()
385
+ ):
386
+ """Instantiates the pager.
387
+
388
+ Args:
389
+ method (Callable): The method that was originally called, and
390
+ which instantiated this pager.
391
+ request (google.cloud.cloudcontrolspartner_v1.types.ListAccessApprovalRequestsRequest):
392
+ The initial request object.
393
+ response (google.cloud.cloudcontrolspartner_v1.types.ListAccessApprovalRequestsResponse):
394
+ The initial response object.
395
+ metadata (Sequence[Tuple[str, str]]): Strings which should be
396
+ sent along with the request as metadata.
397
+ """
398
+ self._method = method
399
+ self._request = access_approval_requests.ListAccessApprovalRequestsRequest(
400
+ request
401
+ )
402
+ self._response = response
403
+ self._metadata = metadata
404
+
405
+ def __getattr__(self, name: str) -> Any:
406
+ return getattr(self._response, name)
407
+
408
+ @property
409
+ async def pages(
410
+ self,
411
+ ) -> AsyncIterator[access_approval_requests.ListAccessApprovalRequestsResponse]:
412
+ yield self._response
413
+ while self._response.next_page_token:
414
+ self._request.page_token = self._response.next_page_token
415
+ self._response = await self._method(self._request, metadata=self._metadata)
416
+ yield self._response
417
+
418
+ def __aiter__(
419
+ self,
420
+ ) -> AsyncIterator[access_approval_requests.AccessApprovalRequest]:
421
+ async def async_generator():
422
+ async for page in self.pages:
423
+ for response in page.access_approval_requests:
424
+ yield response
425
+
426
+ return async_generator()
427
+
428
+ def __repr__(self) -> str:
429
+ return "{0}<{1!r}>".format(self.__class__.__name__, self._response)
@@ -0,0 +1,41 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright 2023 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
+ #
16
+ from collections import OrderedDict
17
+ from typing import Dict, Type
18
+
19
+ from .base import CloudControlsPartnerCoreTransport
20
+ from .grpc import CloudControlsPartnerCoreGrpcTransport
21
+ from .grpc_asyncio import CloudControlsPartnerCoreGrpcAsyncIOTransport
22
+ from .rest import (
23
+ CloudControlsPartnerCoreRestInterceptor,
24
+ CloudControlsPartnerCoreRestTransport,
25
+ )
26
+
27
+ # Compile a registry of transports.
28
+ _transport_registry = (
29
+ OrderedDict()
30
+ ) # type: Dict[str, Type[CloudControlsPartnerCoreTransport]]
31
+ _transport_registry["grpc"] = CloudControlsPartnerCoreGrpcTransport
32
+ _transport_registry["grpc_asyncio"] = CloudControlsPartnerCoreGrpcAsyncIOTransport
33
+ _transport_registry["rest"] = CloudControlsPartnerCoreRestTransport
34
+
35
+ __all__ = (
36
+ "CloudControlsPartnerCoreTransport",
37
+ "CloudControlsPartnerCoreGrpcTransport",
38
+ "CloudControlsPartnerCoreGrpcAsyncIOTransport",
39
+ "CloudControlsPartnerCoreRestTransport",
40
+ "CloudControlsPartnerCoreRestInterceptor",
41
+ )