google-analytics-admin 0.23.6__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 (51) hide show
  1. google/analytics/admin/__init__.py +615 -0
  2. google/analytics/admin/gapic_version.py +16 -0
  3. google/analytics/admin/py.typed +2 -0
  4. google/analytics/admin_v1alpha/__init__.py +613 -0
  5. google/analytics/admin_v1alpha/gapic_metadata.json +2278 -0
  6. google/analytics/admin_v1alpha/gapic_version.py +16 -0
  7. google/analytics/admin_v1alpha/py.typed +2 -0
  8. google/analytics/admin_v1alpha/services/__init__.py +15 -0
  9. google/analytics/admin_v1alpha/services/analytics_admin_service/__init__.py +22 -0
  10. google/analytics/admin_v1alpha/services/analytics_admin_service/async_client.py +14122 -0
  11. google/analytics/admin_v1alpha/services/analytics_admin_service/client.py +14680 -0
  12. google/analytics/admin_v1alpha/services/analytics_admin_service/pagers.py +4337 -0
  13. google/analytics/admin_v1alpha/services/analytics_admin_service/transports/__init__.py +41 -0
  14. google/analytics/admin_v1alpha/services/analytics_admin_service/transports/base.py +2494 -0
  15. google/analytics/admin_v1alpha/services/analytics_admin_service/transports/grpc.py +4797 -0
  16. google/analytics/admin_v1alpha/services/analytics_admin_service/transports/grpc_asyncio.py +5671 -0
  17. google/analytics/admin_v1alpha/services/analytics_admin_service/transports/rest.py +31875 -0
  18. google/analytics/admin_v1alpha/services/analytics_admin_service/transports/rest_base.py +7944 -0
  19. google/analytics/admin_v1alpha/types/__init__.py +602 -0
  20. google/analytics/admin_v1alpha/types/access_report.py +705 -0
  21. google/analytics/admin_v1alpha/types/analytics_admin.py +4997 -0
  22. google/analytics/admin_v1alpha/types/audience.py +781 -0
  23. google/analytics/admin_v1alpha/types/channel_group.py +309 -0
  24. google/analytics/admin_v1alpha/types/event_create_and_edit.py +298 -0
  25. google/analytics/admin_v1alpha/types/expanded_data_set.py +282 -0
  26. google/analytics/admin_v1alpha/types/resources.py +3289 -0
  27. google/analytics/admin_v1alpha/types/subproperty_event_filter.py +292 -0
  28. google/analytics/admin_v1beta/__init__.py +255 -0
  29. google/analytics/admin_v1beta/gapic_metadata.json +838 -0
  30. google/analytics/admin_v1beta/gapic_version.py +16 -0
  31. google/analytics/admin_v1beta/py.typed +2 -0
  32. google/analytics/admin_v1beta/services/__init__.py +15 -0
  33. google/analytics/admin_v1beta/services/analytics_admin_service/__init__.py +22 -0
  34. google/analytics/admin_v1beta/services/analytics_admin_service/async_client.py +6707 -0
  35. google/analytics/admin_v1beta/services/analytics_admin_service/client.py +7164 -0
  36. google/analytics/admin_v1beta/services/analytics_admin_service/pagers.py +1927 -0
  37. google/analytics/admin_v1beta/services/analytics_admin_service/transports/__init__.py +41 -0
  38. google/analytics/admin_v1beta/services/analytics_admin_service/transports/base.py +965 -0
  39. google/analytics/admin_v1beta/services/analytics_admin_service/transports/grpc.py +1917 -0
  40. google/analytics/admin_v1beta/services/analytics_admin_service/transports/grpc_asyncio.py +2251 -0
  41. google/analytics/admin_v1beta/services/analytics_admin_service/transports/rest.py +11423 -0
  42. google/analytics/admin_v1beta/services/analytics_admin_service/transports/rest_base.py +2857 -0
  43. google/analytics/admin_v1beta/types/__init__.py +244 -0
  44. google/analytics/admin_v1beta/types/access_report.py +705 -0
  45. google/analytics/admin_v1beta/types/analytics_admin.py +2006 -0
  46. google/analytics/admin_v1beta/types/resources.py +1677 -0
  47. google_analytics_admin-0.23.6.dist-info/LICENSE +202 -0
  48. google_analytics_admin-0.23.6.dist-info/METADATA +228 -0
  49. google_analytics_admin-0.23.6.dist-info/RECORD +51 -0
  50. google_analytics_admin-0.23.6.dist-info/WHEEL +5 -0
  51. google_analytics_admin-0.23.6.dist-info/top_level.txt +1 -0
@@ -0,0 +1,2251 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright 2024 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
+ import inspect
17
+ import json
18
+ import logging as std_logging
19
+ import pickle
20
+ from typing import Awaitable, Callable, Dict, Optional, Sequence, Tuple, Union
21
+ import warnings
22
+
23
+ from google.api_core import exceptions as core_exceptions
24
+ from google.api_core import gapic_v1, grpc_helpers_async
25
+ from google.api_core import retry_async as retries
26
+ from google.auth import credentials as ga_credentials # type: ignore
27
+ from google.auth.transport.grpc import SslCredentials # type: ignore
28
+ from google.protobuf import empty_pb2 # type: ignore
29
+ from google.protobuf.json_format import MessageToJson
30
+ import google.protobuf.message
31
+ import grpc # type: ignore
32
+ from grpc.experimental import aio # type: ignore
33
+ import proto # type: ignore
34
+
35
+ from google.analytics.admin_v1beta.types import analytics_admin, resources
36
+
37
+ from .base import DEFAULT_CLIENT_INFO, AnalyticsAdminServiceTransport
38
+ from .grpc import AnalyticsAdminServiceGrpcTransport
39
+
40
+ try:
41
+ from google.api_core import client_logging # type: ignore
42
+
43
+ CLIENT_LOGGING_SUPPORTED = True # pragma: NO COVER
44
+ except ImportError: # pragma: NO COVER
45
+ CLIENT_LOGGING_SUPPORTED = False
46
+
47
+ _LOGGER = std_logging.getLogger(__name__)
48
+
49
+
50
+ class _LoggingClientAIOInterceptor(
51
+ grpc.aio.UnaryUnaryClientInterceptor
52
+ ): # pragma: NO COVER
53
+ async def intercept_unary_unary(self, continuation, client_call_details, request):
54
+ logging_enabled = CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
55
+ std_logging.DEBUG
56
+ )
57
+ if logging_enabled: # pragma: NO COVER
58
+ request_metadata = client_call_details.metadata
59
+ if isinstance(request, proto.Message):
60
+ request_payload = type(request).to_json(request)
61
+ elif isinstance(request, google.protobuf.message.Message):
62
+ request_payload = MessageToJson(request)
63
+ else:
64
+ request_payload = f"{type(request).__name__}: {pickle.dumps(request)}"
65
+
66
+ request_metadata = {
67
+ key: value.decode("utf-8") if isinstance(value, bytes) else value
68
+ for key, value in request_metadata
69
+ }
70
+ grpc_request = {
71
+ "payload": request_payload,
72
+ "requestMethod": "grpc",
73
+ "metadata": dict(request_metadata),
74
+ }
75
+ _LOGGER.debug(
76
+ f"Sending request for {client_call_details.method}",
77
+ extra={
78
+ "serviceName": "google.analytics.admin.v1beta.AnalyticsAdminService",
79
+ "rpcName": str(client_call_details.method),
80
+ "request": grpc_request,
81
+ "metadata": grpc_request["metadata"],
82
+ },
83
+ )
84
+ response = await continuation(client_call_details, request)
85
+ if logging_enabled: # pragma: NO COVER
86
+ response_metadata = await response.trailing_metadata()
87
+ # Convert gRPC metadata `<class 'grpc.aio._metadata.Metadata'>` to list of tuples
88
+ metadata = (
89
+ dict([(k, str(v)) for k, v in response_metadata])
90
+ if response_metadata
91
+ else None
92
+ )
93
+ result = await response
94
+ if isinstance(result, proto.Message):
95
+ response_payload = type(result).to_json(result)
96
+ elif isinstance(result, google.protobuf.message.Message):
97
+ response_payload = MessageToJson(result)
98
+ else:
99
+ response_payload = f"{type(result).__name__}: {pickle.dumps(result)}"
100
+ grpc_response = {
101
+ "payload": response_payload,
102
+ "metadata": metadata,
103
+ "status": "OK",
104
+ }
105
+ _LOGGER.debug(
106
+ f"Received response to rpc {client_call_details.method}.",
107
+ extra={
108
+ "serviceName": "google.analytics.admin.v1beta.AnalyticsAdminService",
109
+ "rpcName": str(client_call_details.method),
110
+ "response": grpc_response,
111
+ "metadata": grpc_response["metadata"],
112
+ },
113
+ )
114
+ return response
115
+
116
+
117
+ class AnalyticsAdminServiceGrpcAsyncIOTransport(AnalyticsAdminServiceTransport):
118
+ """gRPC AsyncIO backend transport for AnalyticsAdminService.
119
+
120
+ Service Interface for the Google Analytics Admin API.
121
+
122
+ This class defines the same methods as the primary client, so the
123
+ primary client can load the underlying transport implementation
124
+ and call it.
125
+
126
+ It sends protocol buffers over the wire using gRPC (which is built on
127
+ top of HTTP/2); the ``grpcio`` package must be installed.
128
+ """
129
+
130
+ _grpc_channel: aio.Channel
131
+ _stubs: Dict[str, Callable] = {}
132
+
133
+ @classmethod
134
+ def create_channel(
135
+ cls,
136
+ host: str = "analyticsadmin.googleapis.com",
137
+ credentials: Optional[ga_credentials.Credentials] = None,
138
+ credentials_file: Optional[str] = None,
139
+ scopes: Optional[Sequence[str]] = None,
140
+ quota_project_id: Optional[str] = None,
141
+ **kwargs,
142
+ ) -> aio.Channel:
143
+ """Create and return a gRPC AsyncIO channel object.
144
+ Args:
145
+ host (Optional[str]): The host for the channel to use.
146
+ credentials (Optional[~.Credentials]): The
147
+ authorization credentials to attach to requests. These
148
+ credentials identify this application to the service. If
149
+ none are specified, the client will attempt to ascertain
150
+ the credentials from the environment.
151
+ credentials_file (Optional[str]): A file with credentials that can
152
+ be loaded with :func:`google.auth.load_credentials_from_file`.
153
+ scopes (Optional[Sequence[str]]): A optional list of scopes needed for this
154
+ service. These are only used when credentials are not specified and
155
+ are passed to :func:`google.auth.default`.
156
+ quota_project_id (Optional[str]): An optional project to use for billing
157
+ and quota.
158
+ kwargs (Optional[dict]): Keyword arguments, which are passed to the
159
+ channel creation.
160
+ Returns:
161
+ aio.Channel: A gRPC AsyncIO channel object.
162
+ """
163
+
164
+ return grpc_helpers_async.create_channel(
165
+ host,
166
+ credentials=credentials,
167
+ credentials_file=credentials_file,
168
+ quota_project_id=quota_project_id,
169
+ default_scopes=cls.AUTH_SCOPES,
170
+ scopes=scopes,
171
+ default_host=cls.DEFAULT_HOST,
172
+ **kwargs,
173
+ )
174
+
175
+ def __init__(
176
+ self,
177
+ *,
178
+ host: str = "analyticsadmin.googleapis.com",
179
+ credentials: Optional[ga_credentials.Credentials] = None,
180
+ credentials_file: Optional[str] = None,
181
+ scopes: Optional[Sequence[str]] = None,
182
+ channel: Optional[Union[aio.Channel, Callable[..., aio.Channel]]] = None,
183
+ api_mtls_endpoint: Optional[str] = None,
184
+ client_cert_source: Optional[Callable[[], Tuple[bytes, bytes]]] = None,
185
+ ssl_channel_credentials: Optional[grpc.ChannelCredentials] = None,
186
+ client_cert_source_for_mtls: Optional[Callable[[], Tuple[bytes, bytes]]] = None,
187
+ quota_project_id: Optional[str] = None,
188
+ client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO,
189
+ always_use_jwt_access: Optional[bool] = False,
190
+ api_audience: Optional[str] = None,
191
+ ) -> None:
192
+ """Instantiate the transport.
193
+
194
+ Args:
195
+ host (Optional[str]):
196
+ The hostname to connect to (default: 'analyticsadmin.googleapis.com').
197
+ credentials (Optional[google.auth.credentials.Credentials]): The
198
+ authorization credentials to attach to requests. These
199
+ credentials identify the application to the service; if none
200
+ are specified, the client will attempt to ascertain the
201
+ credentials from the environment.
202
+ This argument is ignored if a ``channel`` instance is provided.
203
+ credentials_file (Optional[str]): A file with credentials that can
204
+ be loaded with :func:`google.auth.load_credentials_from_file`.
205
+ This argument is ignored if a ``channel`` instance is provided.
206
+ scopes (Optional[Sequence[str]]): A optional list of scopes needed for this
207
+ service. These are only used when credentials are not specified and
208
+ are passed to :func:`google.auth.default`.
209
+ channel (Optional[Union[aio.Channel, Callable[..., aio.Channel]]]):
210
+ A ``Channel`` instance through which to make calls, or a Callable
211
+ that constructs and returns one. If set to None, ``self.create_channel``
212
+ is used to create the channel. If a Callable is given, it will be called
213
+ with the same arguments as used in ``self.create_channel``.
214
+ api_mtls_endpoint (Optional[str]): Deprecated. The mutual TLS endpoint.
215
+ If provided, it overrides the ``host`` argument and tries to create
216
+ a mutual TLS channel with client SSL credentials from
217
+ ``client_cert_source`` or application default SSL credentials.
218
+ client_cert_source (Optional[Callable[[], Tuple[bytes, bytes]]]):
219
+ Deprecated. A callback to provide client SSL certificate bytes and
220
+ private key bytes, both in PEM format. It is ignored if
221
+ ``api_mtls_endpoint`` is None.
222
+ ssl_channel_credentials (grpc.ChannelCredentials): SSL credentials
223
+ for the grpc channel. It is ignored if a ``channel`` instance is provided.
224
+ client_cert_source_for_mtls (Optional[Callable[[], Tuple[bytes, bytes]]]):
225
+ A callback to provide client certificate bytes and private key bytes,
226
+ both in PEM format. It is used to configure a mutual TLS channel. It is
227
+ ignored if a ``channel`` instance or ``ssl_channel_credentials`` is provided.
228
+ quota_project_id (Optional[str]): An optional project to use for billing
229
+ and quota.
230
+ client_info (google.api_core.gapic_v1.client_info.ClientInfo):
231
+ The client info used to send a user-agent string along with
232
+ API requests. If ``None``, then default info will be used.
233
+ Generally, you only need to set this if you're developing
234
+ your own client library.
235
+ always_use_jwt_access (Optional[bool]): Whether self signed JWT should
236
+ be used for service account credentials.
237
+
238
+ Raises:
239
+ google.auth.exceptions.MutualTlsChannelError: If mutual TLS transport
240
+ creation failed for any reason.
241
+ google.api_core.exceptions.DuplicateCredentialArgs: If both ``credentials``
242
+ and ``credentials_file`` are passed.
243
+ """
244
+ self._grpc_channel = None
245
+ self._ssl_channel_credentials = ssl_channel_credentials
246
+ self._stubs: Dict[str, Callable] = {}
247
+
248
+ if api_mtls_endpoint:
249
+ warnings.warn("api_mtls_endpoint is deprecated", DeprecationWarning)
250
+ if client_cert_source:
251
+ warnings.warn("client_cert_source is deprecated", DeprecationWarning)
252
+
253
+ if isinstance(channel, aio.Channel):
254
+ # Ignore credentials if a channel was passed.
255
+ credentials = None
256
+ self._ignore_credentials = True
257
+ # If a channel was explicitly provided, set it.
258
+ self._grpc_channel = channel
259
+ self._ssl_channel_credentials = None
260
+ else:
261
+ if api_mtls_endpoint:
262
+ host = api_mtls_endpoint
263
+
264
+ # Create SSL credentials with client_cert_source or application
265
+ # default SSL credentials.
266
+ if client_cert_source:
267
+ cert, key = client_cert_source()
268
+ self._ssl_channel_credentials = grpc.ssl_channel_credentials(
269
+ certificate_chain=cert, private_key=key
270
+ )
271
+ else:
272
+ self._ssl_channel_credentials = SslCredentials().ssl_credentials
273
+
274
+ else:
275
+ if client_cert_source_for_mtls and not ssl_channel_credentials:
276
+ cert, key = client_cert_source_for_mtls()
277
+ self._ssl_channel_credentials = grpc.ssl_channel_credentials(
278
+ certificate_chain=cert, private_key=key
279
+ )
280
+
281
+ # The base transport sets the host, credentials and scopes
282
+ super().__init__(
283
+ host=host,
284
+ credentials=credentials,
285
+ credentials_file=credentials_file,
286
+ scopes=scopes,
287
+ quota_project_id=quota_project_id,
288
+ client_info=client_info,
289
+ always_use_jwt_access=always_use_jwt_access,
290
+ api_audience=api_audience,
291
+ )
292
+
293
+ if not self._grpc_channel:
294
+ # initialize with the provided callable or the default channel
295
+ channel_init = channel or type(self).create_channel
296
+ self._grpc_channel = channel_init(
297
+ self._host,
298
+ # use the credentials which are saved
299
+ credentials=self._credentials,
300
+ # Set ``credentials_file`` to ``None`` here as
301
+ # the credentials that we saved earlier should be used.
302
+ credentials_file=None,
303
+ scopes=self._scopes,
304
+ ssl_credentials=self._ssl_channel_credentials,
305
+ quota_project_id=quota_project_id,
306
+ options=[
307
+ ("grpc.max_send_message_length", -1),
308
+ ("grpc.max_receive_message_length", -1),
309
+ ],
310
+ )
311
+
312
+ self._interceptor = _LoggingClientAIOInterceptor()
313
+ self._grpc_channel._unary_unary_interceptors.append(self._interceptor)
314
+ self._logged_channel = self._grpc_channel
315
+ self._wrap_with_kind = (
316
+ "kind" in inspect.signature(gapic_v1.method_async.wrap_method).parameters
317
+ )
318
+ # Wrap messages. This must be done after self._logged_channel exists
319
+ self._prep_wrapped_messages(client_info)
320
+
321
+ @property
322
+ def grpc_channel(self) -> aio.Channel:
323
+ """Create the channel designed to connect to this service.
324
+
325
+ This property caches on the instance; repeated calls return
326
+ the same channel.
327
+ """
328
+ # Return the channel from cache.
329
+ return self._grpc_channel
330
+
331
+ @property
332
+ def get_account(
333
+ self,
334
+ ) -> Callable[[analytics_admin.GetAccountRequest], Awaitable[resources.Account]]:
335
+ r"""Return a callable for the get account method over gRPC.
336
+
337
+ Lookup for a single Account.
338
+
339
+ Returns:
340
+ Callable[[~.GetAccountRequest],
341
+ Awaitable[~.Account]]:
342
+ A function that, when called, will call the underlying RPC
343
+ on the server.
344
+ """
345
+ # Generate a "stub function" on-the-fly which will actually make
346
+ # the request.
347
+ # gRPC handles serialization and deserialization, so we just need
348
+ # to pass in the functions for each.
349
+ if "get_account" not in self._stubs:
350
+ self._stubs["get_account"] = self._logged_channel.unary_unary(
351
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/GetAccount",
352
+ request_serializer=analytics_admin.GetAccountRequest.serialize,
353
+ response_deserializer=resources.Account.deserialize,
354
+ )
355
+ return self._stubs["get_account"]
356
+
357
+ @property
358
+ def list_accounts(
359
+ self,
360
+ ) -> Callable[
361
+ [analytics_admin.ListAccountsRequest],
362
+ Awaitable[analytics_admin.ListAccountsResponse],
363
+ ]:
364
+ r"""Return a callable for the list accounts method over gRPC.
365
+
366
+ Returns all accounts accessible by the caller.
367
+
368
+ Note that these accounts might not currently have GA
369
+ properties. Soft-deleted (ie: "trashed") accounts are
370
+ excluded by default. Returns an empty list if no
371
+ relevant accounts are found.
372
+
373
+ Returns:
374
+ Callable[[~.ListAccountsRequest],
375
+ Awaitable[~.ListAccountsResponse]]:
376
+ A function that, when called, will call the underlying RPC
377
+ on the server.
378
+ """
379
+ # Generate a "stub function" on-the-fly which will actually make
380
+ # the request.
381
+ # gRPC handles serialization and deserialization, so we just need
382
+ # to pass in the functions for each.
383
+ if "list_accounts" not in self._stubs:
384
+ self._stubs["list_accounts"] = self._logged_channel.unary_unary(
385
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/ListAccounts",
386
+ request_serializer=analytics_admin.ListAccountsRequest.serialize,
387
+ response_deserializer=analytics_admin.ListAccountsResponse.deserialize,
388
+ )
389
+ return self._stubs["list_accounts"]
390
+
391
+ @property
392
+ def delete_account(
393
+ self,
394
+ ) -> Callable[[analytics_admin.DeleteAccountRequest], Awaitable[empty_pb2.Empty]]:
395
+ r"""Return a callable for the delete account method over gRPC.
396
+
397
+ Marks target Account as soft-deleted (ie: "trashed")
398
+ and returns it.
399
+ This API does not have a method to restore soft-deleted
400
+ accounts. However, they can be restored using the Trash
401
+ Can UI.
402
+
403
+ If the accounts are not restored before the expiration
404
+ time, the account and all child resources (eg:
405
+ Properties, GoogleAdsLinks, Streams, AccessBindings)
406
+ will be permanently purged.
407
+ https://support.google.com/analytics/answer/6154772
408
+
409
+ Returns an error if the target is not found.
410
+
411
+ Returns:
412
+ Callable[[~.DeleteAccountRequest],
413
+ Awaitable[~.Empty]]:
414
+ A function that, when called, will call the underlying RPC
415
+ on the server.
416
+ """
417
+ # Generate a "stub function" on-the-fly which will actually make
418
+ # the request.
419
+ # gRPC handles serialization and deserialization, so we just need
420
+ # to pass in the functions for each.
421
+ if "delete_account" not in self._stubs:
422
+ self._stubs["delete_account"] = self._logged_channel.unary_unary(
423
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/DeleteAccount",
424
+ request_serializer=analytics_admin.DeleteAccountRequest.serialize,
425
+ response_deserializer=empty_pb2.Empty.FromString,
426
+ )
427
+ return self._stubs["delete_account"]
428
+
429
+ @property
430
+ def update_account(
431
+ self,
432
+ ) -> Callable[[analytics_admin.UpdateAccountRequest], Awaitable[resources.Account]]:
433
+ r"""Return a callable for the update account method over gRPC.
434
+
435
+ Updates an account.
436
+
437
+ Returns:
438
+ Callable[[~.UpdateAccountRequest],
439
+ Awaitable[~.Account]]:
440
+ A function that, when called, will call the underlying RPC
441
+ on the server.
442
+ """
443
+ # Generate a "stub function" on-the-fly which will actually make
444
+ # the request.
445
+ # gRPC handles serialization and deserialization, so we just need
446
+ # to pass in the functions for each.
447
+ if "update_account" not in self._stubs:
448
+ self._stubs["update_account"] = self._logged_channel.unary_unary(
449
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/UpdateAccount",
450
+ request_serializer=analytics_admin.UpdateAccountRequest.serialize,
451
+ response_deserializer=resources.Account.deserialize,
452
+ )
453
+ return self._stubs["update_account"]
454
+
455
+ @property
456
+ def provision_account_ticket(
457
+ self,
458
+ ) -> Callable[
459
+ [analytics_admin.ProvisionAccountTicketRequest],
460
+ Awaitable[analytics_admin.ProvisionAccountTicketResponse],
461
+ ]:
462
+ r"""Return a callable for the provision account ticket method over gRPC.
463
+
464
+ Requests a ticket for creating an account.
465
+
466
+ Returns:
467
+ Callable[[~.ProvisionAccountTicketRequest],
468
+ Awaitable[~.ProvisionAccountTicketResponse]]:
469
+ A function that, when called, will call the underlying RPC
470
+ on the server.
471
+ """
472
+ # Generate a "stub function" on-the-fly which will actually make
473
+ # the request.
474
+ # gRPC handles serialization and deserialization, so we just need
475
+ # to pass in the functions for each.
476
+ if "provision_account_ticket" not in self._stubs:
477
+ self._stubs["provision_account_ticket"] = self._logged_channel.unary_unary(
478
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/ProvisionAccountTicket",
479
+ request_serializer=analytics_admin.ProvisionAccountTicketRequest.serialize,
480
+ response_deserializer=analytics_admin.ProvisionAccountTicketResponse.deserialize,
481
+ )
482
+ return self._stubs["provision_account_ticket"]
483
+
484
+ @property
485
+ def list_account_summaries(
486
+ self,
487
+ ) -> Callable[
488
+ [analytics_admin.ListAccountSummariesRequest],
489
+ Awaitable[analytics_admin.ListAccountSummariesResponse],
490
+ ]:
491
+ r"""Return a callable for the list account summaries method over gRPC.
492
+
493
+ Returns summaries of all accounts accessible by the
494
+ caller.
495
+
496
+ Returns:
497
+ Callable[[~.ListAccountSummariesRequest],
498
+ Awaitable[~.ListAccountSummariesResponse]]:
499
+ A function that, when called, will call the underlying RPC
500
+ on the server.
501
+ """
502
+ # Generate a "stub function" on-the-fly which will actually make
503
+ # the request.
504
+ # gRPC handles serialization and deserialization, so we just need
505
+ # to pass in the functions for each.
506
+ if "list_account_summaries" not in self._stubs:
507
+ self._stubs["list_account_summaries"] = self._logged_channel.unary_unary(
508
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/ListAccountSummaries",
509
+ request_serializer=analytics_admin.ListAccountSummariesRequest.serialize,
510
+ response_deserializer=analytics_admin.ListAccountSummariesResponse.deserialize,
511
+ )
512
+ return self._stubs["list_account_summaries"]
513
+
514
+ @property
515
+ def get_property(
516
+ self,
517
+ ) -> Callable[[analytics_admin.GetPropertyRequest], Awaitable[resources.Property]]:
518
+ r"""Return a callable for the get property method over gRPC.
519
+
520
+ Lookup for a single GA Property.
521
+
522
+ Returns:
523
+ Callable[[~.GetPropertyRequest],
524
+ Awaitable[~.Property]]:
525
+ A function that, when called, will call the underlying RPC
526
+ on the server.
527
+ """
528
+ # Generate a "stub function" on-the-fly which will actually make
529
+ # the request.
530
+ # gRPC handles serialization and deserialization, so we just need
531
+ # to pass in the functions for each.
532
+ if "get_property" not in self._stubs:
533
+ self._stubs["get_property"] = self._logged_channel.unary_unary(
534
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/GetProperty",
535
+ request_serializer=analytics_admin.GetPropertyRequest.serialize,
536
+ response_deserializer=resources.Property.deserialize,
537
+ )
538
+ return self._stubs["get_property"]
539
+
540
+ @property
541
+ def list_properties(
542
+ self,
543
+ ) -> Callable[
544
+ [analytics_admin.ListPropertiesRequest],
545
+ Awaitable[analytics_admin.ListPropertiesResponse],
546
+ ]:
547
+ r"""Return a callable for the list properties method over gRPC.
548
+
549
+ Returns child Properties under the specified parent
550
+ Account.
551
+ Properties will be excluded if the caller does not have
552
+ access. Soft-deleted (ie: "trashed") properties are
553
+ excluded by default. Returns an empty list if no
554
+ relevant properties are found.
555
+
556
+ Returns:
557
+ Callable[[~.ListPropertiesRequest],
558
+ Awaitable[~.ListPropertiesResponse]]:
559
+ A function that, when called, will call the underlying RPC
560
+ on the server.
561
+ """
562
+ # Generate a "stub function" on-the-fly which will actually make
563
+ # the request.
564
+ # gRPC handles serialization and deserialization, so we just need
565
+ # to pass in the functions for each.
566
+ if "list_properties" not in self._stubs:
567
+ self._stubs["list_properties"] = self._logged_channel.unary_unary(
568
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/ListProperties",
569
+ request_serializer=analytics_admin.ListPropertiesRequest.serialize,
570
+ response_deserializer=analytics_admin.ListPropertiesResponse.deserialize,
571
+ )
572
+ return self._stubs["list_properties"]
573
+
574
+ @property
575
+ def create_property(
576
+ self,
577
+ ) -> Callable[
578
+ [analytics_admin.CreatePropertyRequest], Awaitable[resources.Property]
579
+ ]:
580
+ r"""Return a callable for the create property method over gRPC.
581
+
582
+ Creates a Google Analytics property with the
583
+ specified location and attributes.
584
+
585
+ Returns:
586
+ Callable[[~.CreatePropertyRequest],
587
+ Awaitable[~.Property]]:
588
+ A function that, when called, will call the underlying RPC
589
+ on the server.
590
+ """
591
+ # Generate a "stub function" on-the-fly which will actually make
592
+ # the request.
593
+ # gRPC handles serialization and deserialization, so we just need
594
+ # to pass in the functions for each.
595
+ if "create_property" not in self._stubs:
596
+ self._stubs["create_property"] = self._logged_channel.unary_unary(
597
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/CreateProperty",
598
+ request_serializer=analytics_admin.CreatePropertyRequest.serialize,
599
+ response_deserializer=resources.Property.deserialize,
600
+ )
601
+ return self._stubs["create_property"]
602
+
603
+ @property
604
+ def delete_property(
605
+ self,
606
+ ) -> Callable[
607
+ [analytics_admin.DeletePropertyRequest], Awaitable[resources.Property]
608
+ ]:
609
+ r"""Return a callable for the delete property method over gRPC.
610
+
611
+ Marks target Property as soft-deleted (ie: "trashed")
612
+ and returns it.
613
+ This API does not have a method to restore soft-deleted
614
+ properties. However, they can be restored using the
615
+ Trash Can UI.
616
+
617
+ If the properties are not restored before the expiration
618
+ time, the Property and all child resources (eg:
619
+ GoogleAdsLinks, Streams, AccessBindings) will be
620
+ permanently purged.
621
+ https://support.google.com/analytics/answer/6154772
622
+
623
+ Returns an error if the target is not found.
624
+
625
+ Returns:
626
+ Callable[[~.DeletePropertyRequest],
627
+ Awaitable[~.Property]]:
628
+ A function that, when called, will call the underlying RPC
629
+ on the server.
630
+ """
631
+ # Generate a "stub function" on-the-fly which will actually make
632
+ # the request.
633
+ # gRPC handles serialization and deserialization, so we just need
634
+ # to pass in the functions for each.
635
+ if "delete_property" not in self._stubs:
636
+ self._stubs["delete_property"] = self._logged_channel.unary_unary(
637
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/DeleteProperty",
638
+ request_serializer=analytics_admin.DeletePropertyRequest.serialize,
639
+ response_deserializer=resources.Property.deserialize,
640
+ )
641
+ return self._stubs["delete_property"]
642
+
643
+ @property
644
+ def update_property(
645
+ self,
646
+ ) -> Callable[
647
+ [analytics_admin.UpdatePropertyRequest], Awaitable[resources.Property]
648
+ ]:
649
+ r"""Return a callable for the update property method over gRPC.
650
+
651
+ Updates a property.
652
+
653
+ Returns:
654
+ Callable[[~.UpdatePropertyRequest],
655
+ Awaitable[~.Property]]:
656
+ A function that, when called, will call the underlying RPC
657
+ on the server.
658
+ """
659
+ # Generate a "stub function" on-the-fly which will actually make
660
+ # the request.
661
+ # gRPC handles serialization and deserialization, so we just need
662
+ # to pass in the functions for each.
663
+ if "update_property" not in self._stubs:
664
+ self._stubs["update_property"] = self._logged_channel.unary_unary(
665
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/UpdateProperty",
666
+ request_serializer=analytics_admin.UpdatePropertyRequest.serialize,
667
+ response_deserializer=resources.Property.deserialize,
668
+ )
669
+ return self._stubs["update_property"]
670
+
671
+ @property
672
+ def create_firebase_link(
673
+ self,
674
+ ) -> Callable[
675
+ [analytics_admin.CreateFirebaseLinkRequest], Awaitable[resources.FirebaseLink]
676
+ ]:
677
+ r"""Return a callable for the create firebase link method over gRPC.
678
+
679
+ Creates a FirebaseLink.
680
+
681
+ Properties can have at most one FirebaseLink.
682
+
683
+ Returns:
684
+ Callable[[~.CreateFirebaseLinkRequest],
685
+ Awaitable[~.FirebaseLink]]:
686
+ A function that, when called, will call the underlying RPC
687
+ on the server.
688
+ """
689
+ # Generate a "stub function" on-the-fly which will actually make
690
+ # the request.
691
+ # gRPC handles serialization and deserialization, so we just need
692
+ # to pass in the functions for each.
693
+ if "create_firebase_link" not in self._stubs:
694
+ self._stubs["create_firebase_link"] = self._logged_channel.unary_unary(
695
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/CreateFirebaseLink",
696
+ request_serializer=analytics_admin.CreateFirebaseLinkRequest.serialize,
697
+ response_deserializer=resources.FirebaseLink.deserialize,
698
+ )
699
+ return self._stubs["create_firebase_link"]
700
+
701
+ @property
702
+ def delete_firebase_link(
703
+ self,
704
+ ) -> Callable[
705
+ [analytics_admin.DeleteFirebaseLinkRequest], Awaitable[empty_pb2.Empty]
706
+ ]:
707
+ r"""Return a callable for the delete firebase link method over gRPC.
708
+
709
+ Deletes a FirebaseLink on a property
710
+
711
+ Returns:
712
+ Callable[[~.DeleteFirebaseLinkRequest],
713
+ Awaitable[~.Empty]]:
714
+ A function that, when called, will call the underlying RPC
715
+ on the server.
716
+ """
717
+ # Generate a "stub function" on-the-fly which will actually make
718
+ # the request.
719
+ # gRPC handles serialization and deserialization, so we just need
720
+ # to pass in the functions for each.
721
+ if "delete_firebase_link" not in self._stubs:
722
+ self._stubs["delete_firebase_link"] = self._logged_channel.unary_unary(
723
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/DeleteFirebaseLink",
724
+ request_serializer=analytics_admin.DeleteFirebaseLinkRequest.serialize,
725
+ response_deserializer=empty_pb2.Empty.FromString,
726
+ )
727
+ return self._stubs["delete_firebase_link"]
728
+
729
+ @property
730
+ def list_firebase_links(
731
+ self,
732
+ ) -> Callable[
733
+ [analytics_admin.ListFirebaseLinksRequest],
734
+ Awaitable[analytics_admin.ListFirebaseLinksResponse],
735
+ ]:
736
+ r"""Return a callable for the list firebase links method over gRPC.
737
+
738
+ Lists FirebaseLinks on a property.
739
+ Properties can have at most one FirebaseLink.
740
+
741
+ Returns:
742
+ Callable[[~.ListFirebaseLinksRequest],
743
+ Awaitable[~.ListFirebaseLinksResponse]]:
744
+ A function that, when called, will call the underlying RPC
745
+ on the server.
746
+ """
747
+ # Generate a "stub function" on-the-fly which will actually make
748
+ # the request.
749
+ # gRPC handles serialization and deserialization, so we just need
750
+ # to pass in the functions for each.
751
+ if "list_firebase_links" not in self._stubs:
752
+ self._stubs["list_firebase_links"] = self._logged_channel.unary_unary(
753
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/ListFirebaseLinks",
754
+ request_serializer=analytics_admin.ListFirebaseLinksRequest.serialize,
755
+ response_deserializer=analytics_admin.ListFirebaseLinksResponse.deserialize,
756
+ )
757
+ return self._stubs["list_firebase_links"]
758
+
759
+ @property
760
+ def create_google_ads_link(
761
+ self,
762
+ ) -> Callable[
763
+ [analytics_admin.CreateGoogleAdsLinkRequest], Awaitable[resources.GoogleAdsLink]
764
+ ]:
765
+ r"""Return a callable for the create google ads link method over gRPC.
766
+
767
+ Creates a GoogleAdsLink.
768
+
769
+ Returns:
770
+ Callable[[~.CreateGoogleAdsLinkRequest],
771
+ Awaitable[~.GoogleAdsLink]]:
772
+ A function that, when called, will call the underlying RPC
773
+ on the server.
774
+ """
775
+ # Generate a "stub function" on-the-fly which will actually make
776
+ # the request.
777
+ # gRPC handles serialization and deserialization, so we just need
778
+ # to pass in the functions for each.
779
+ if "create_google_ads_link" not in self._stubs:
780
+ self._stubs["create_google_ads_link"] = self._logged_channel.unary_unary(
781
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/CreateGoogleAdsLink",
782
+ request_serializer=analytics_admin.CreateGoogleAdsLinkRequest.serialize,
783
+ response_deserializer=resources.GoogleAdsLink.deserialize,
784
+ )
785
+ return self._stubs["create_google_ads_link"]
786
+
787
+ @property
788
+ def update_google_ads_link(
789
+ self,
790
+ ) -> Callable[
791
+ [analytics_admin.UpdateGoogleAdsLinkRequest], Awaitable[resources.GoogleAdsLink]
792
+ ]:
793
+ r"""Return a callable for the update google ads link method over gRPC.
794
+
795
+ Updates a GoogleAdsLink on a property
796
+
797
+ Returns:
798
+ Callable[[~.UpdateGoogleAdsLinkRequest],
799
+ Awaitable[~.GoogleAdsLink]]:
800
+ A function that, when called, will call the underlying RPC
801
+ on the server.
802
+ """
803
+ # Generate a "stub function" on-the-fly which will actually make
804
+ # the request.
805
+ # gRPC handles serialization and deserialization, so we just need
806
+ # to pass in the functions for each.
807
+ if "update_google_ads_link" not in self._stubs:
808
+ self._stubs["update_google_ads_link"] = self._logged_channel.unary_unary(
809
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/UpdateGoogleAdsLink",
810
+ request_serializer=analytics_admin.UpdateGoogleAdsLinkRequest.serialize,
811
+ response_deserializer=resources.GoogleAdsLink.deserialize,
812
+ )
813
+ return self._stubs["update_google_ads_link"]
814
+
815
+ @property
816
+ def delete_google_ads_link(
817
+ self,
818
+ ) -> Callable[
819
+ [analytics_admin.DeleteGoogleAdsLinkRequest], Awaitable[empty_pb2.Empty]
820
+ ]:
821
+ r"""Return a callable for the delete google ads link method over gRPC.
822
+
823
+ Deletes a GoogleAdsLink on a property
824
+
825
+ Returns:
826
+ Callable[[~.DeleteGoogleAdsLinkRequest],
827
+ Awaitable[~.Empty]]:
828
+ A function that, when called, will call the underlying RPC
829
+ on the server.
830
+ """
831
+ # Generate a "stub function" on-the-fly which will actually make
832
+ # the request.
833
+ # gRPC handles serialization and deserialization, so we just need
834
+ # to pass in the functions for each.
835
+ if "delete_google_ads_link" not in self._stubs:
836
+ self._stubs["delete_google_ads_link"] = self._logged_channel.unary_unary(
837
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/DeleteGoogleAdsLink",
838
+ request_serializer=analytics_admin.DeleteGoogleAdsLinkRequest.serialize,
839
+ response_deserializer=empty_pb2.Empty.FromString,
840
+ )
841
+ return self._stubs["delete_google_ads_link"]
842
+
843
+ @property
844
+ def list_google_ads_links(
845
+ self,
846
+ ) -> Callable[
847
+ [analytics_admin.ListGoogleAdsLinksRequest],
848
+ Awaitable[analytics_admin.ListGoogleAdsLinksResponse],
849
+ ]:
850
+ r"""Return a callable for the list google ads links method over gRPC.
851
+
852
+ Lists GoogleAdsLinks on a property.
853
+
854
+ Returns:
855
+ Callable[[~.ListGoogleAdsLinksRequest],
856
+ Awaitable[~.ListGoogleAdsLinksResponse]]:
857
+ A function that, when called, will call the underlying RPC
858
+ on the server.
859
+ """
860
+ # Generate a "stub function" on-the-fly which will actually make
861
+ # the request.
862
+ # gRPC handles serialization and deserialization, so we just need
863
+ # to pass in the functions for each.
864
+ if "list_google_ads_links" not in self._stubs:
865
+ self._stubs["list_google_ads_links"] = self._logged_channel.unary_unary(
866
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/ListGoogleAdsLinks",
867
+ request_serializer=analytics_admin.ListGoogleAdsLinksRequest.serialize,
868
+ response_deserializer=analytics_admin.ListGoogleAdsLinksResponse.deserialize,
869
+ )
870
+ return self._stubs["list_google_ads_links"]
871
+
872
+ @property
873
+ def get_data_sharing_settings(
874
+ self,
875
+ ) -> Callable[
876
+ [analytics_admin.GetDataSharingSettingsRequest],
877
+ Awaitable[resources.DataSharingSettings],
878
+ ]:
879
+ r"""Return a callable for the get data sharing settings method over gRPC.
880
+
881
+ Get data sharing settings on an account.
882
+ Data sharing settings are singletons.
883
+
884
+ Returns:
885
+ Callable[[~.GetDataSharingSettingsRequest],
886
+ Awaitable[~.DataSharingSettings]]:
887
+ A function that, when called, will call the underlying RPC
888
+ on the server.
889
+ """
890
+ # Generate a "stub function" on-the-fly which will actually make
891
+ # the request.
892
+ # gRPC handles serialization and deserialization, so we just need
893
+ # to pass in the functions for each.
894
+ if "get_data_sharing_settings" not in self._stubs:
895
+ self._stubs["get_data_sharing_settings"] = self._logged_channel.unary_unary(
896
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/GetDataSharingSettings",
897
+ request_serializer=analytics_admin.GetDataSharingSettingsRequest.serialize,
898
+ response_deserializer=resources.DataSharingSettings.deserialize,
899
+ )
900
+ return self._stubs["get_data_sharing_settings"]
901
+
902
+ @property
903
+ def get_measurement_protocol_secret(
904
+ self,
905
+ ) -> Callable[
906
+ [analytics_admin.GetMeasurementProtocolSecretRequest],
907
+ Awaitable[resources.MeasurementProtocolSecret],
908
+ ]:
909
+ r"""Return a callable for the get measurement protocol
910
+ secret method over gRPC.
911
+
912
+ Lookup for a single MeasurementProtocolSecret.
913
+
914
+ Returns:
915
+ Callable[[~.GetMeasurementProtocolSecretRequest],
916
+ Awaitable[~.MeasurementProtocolSecret]]:
917
+ A function that, when called, will call the underlying RPC
918
+ on the server.
919
+ """
920
+ # Generate a "stub function" on-the-fly which will actually make
921
+ # the request.
922
+ # gRPC handles serialization and deserialization, so we just need
923
+ # to pass in the functions for each.
924
+ if "get_measurement_protocol_secret" not in self._stubs:
925
+ self._stubs[
926
+ "get_measurement_protocol_secret"
927
+ ] = self._logged_channel.unary_unary(
928
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/GetMeasurementProtocolSecret",
929
+ request_serializer=analytics_admin.GetMeasurementProtocolSecretRequest.serialize,
930
+ response_deserializer=resources.MeasurementProtocolSecret.deserialize,
931
+ )
932
+ return self._stubs["get_measurement_protocol_secret"]
933
+
934
+ @property
935
+ def list_measurement_protocol_secrets(
936
+ self,
937
+ ) -> Callable[
938
+ [analytics_admin.ListMeasurementProtocolSecretsRequest],
939
+ Awaitable[analytics_admin.ListMeasurementProtocolSecretsResponse],
940
+ ]:
941
+ r"""Return a callable for the list measurement protocol
942
+ secrets method over gRPC.
943
+
944
+ Returns child MeasurementProtocolSecrets under the
945
+ specified parent Property.
946
+
947
+ Returns:
948
+ Callable[[~.ListMeasurementProtocolSecretsRequest],
949
+ Awaitable[~.ListMeasurementProtocolSecretsResponse]]:
950
+ A function that, when called, will call the underlying RPC
951
+ on the server.
952
+ """
953
+ # Generate a "stub function" on-the-fly which will actually make
954
+ # the request.
955
+ # gRPC handles serialization and deserialization, so we just need
956
+ # to pass in the functions for each.
957
+ if "list_measurement_protocol_secrets" not in self._stubs:
958
+ self._stubs[
959
+ "list_measurement_protocol_secrets"
960
+ ] = self._logged_channel.unary_unary(
961
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/ListMeasurementProtocolSecrets",
962
+ request_serializer=analytics_admin.ListMeasurementProtocolSecretsRequest.serialize,
963
+ response_deserializer=analytics_admin.ListMeasurementProtocolSecretsResponse.deserialize,
964
+ )
965
+ return self._stubs["list_measurement_protocol_secrets"]
966
+
967
+ @property
968
+ def create_measurement_protocol_secret(
969
+ self,
970
+ ) -> Callable[
971
+ [analytics_admin.CreateMeasurementProtocolSecretRequest],
972
+ Awaitable[resources.MeasurementProtocolSecret],
973
+ ]:
974
+ r"""Return a callable for the create measurement protocol
975
+ secret method over gRPC.
976
+
977
+ Creates a measurement protocol secret.
978
+
979
+ Returns:
980
+ Callable[[~.CreateMeasurementProtocolSecretRequest],
981
+ Awaitable[~.MeasurementProtocolSecret]]:
982
+ A function that, when called, will call the underlying RPC
983
+ on the server.
984
+ """
985
+ # Generate a "stub function" on-the-fly which will actually make
986
+ # the request.
987
+ # gRPC handles serialization and deserialization, so we just need
988
+ # to pass in the functions for each.
989
+ if "create_measurement_protocol_secret" not in self._stubs:
990
+ self._stubs[
991
+ "create_measurement_protocol_secret"
992
+ ] = self._logged_channel.unary_unary(
993
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/CreateMeasurementProtocolSecret",
994
+ request_serializer=analytics_admin.CreateMeasurementProtocolSecretRequest.serialize,
995
+ response_deserializer=resources.MeasurementProtocolSecret.deserialize,
996
+ )
997
+ return self._stubs["create_measurement_protocol_secret"]
998
+
999
+ @property
1000
+ def delete_measurement_protocol_secret(
1001
+ self,
1002
+ ) -> Callable[
1003
+ [analytics_admin.DeleteMeasurementProtocolSecretRequest],
1004
+ Awaitable[empty_pb2.Empty],
1005
+ ]:
1006
+ r"""Return a callable for the delete measurement protocol
1007
+ secret method over gRPC.
1008
+
1009
+ Deletes target MeasurementProtocolSecret.
1010
+
1011
+ Returns:
1012
+ Callable[[~.DeleteMeasurementProtocolSecretRequest],
1013
+ Awaitable[~.Empty]]:
1014
+ A function that, when called, will call the underlying RPC
1015
+ on the server.
1016
+ """
1017
+ # Generate a "stub function" on-the-fly which will actually make
1018
+ # the request.
1019
+ # gRPC handles serialization and deserialization, so we just need
1020
+ # to pass in the functions for each.
1021
+ if "delete_measurement_protocol_secret" not in self._stubs:
1022
+ self._stubs[
1023
+ "delete_measurement_protocol_secret"
1024
+ ] = self._logged_channel.unary_unary(
1025
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/DeleteMeasurementProtocolSecret",
1026
+ request_serializer=analytics_admin.DeleteMeasurementProtocolSecretRequest.serialize,
1027
+ response_deserializer=empty_pb2.Empty.FromString,
1028
+ )
1029
+ return self._stubs["delete_measurement_protocol_secret"]
1030
+
1031
+ @property
1032
+ def update_measurement_protocol_secret(
1033
+ self,
1034
+ ) -> Callable[
1035
+ [analytics_admin.UpdateMeasurementProtocolSecretRequest],
1036
+ Awaitable[resources.MeasurementProtocolSecret],
1037
+ ]:
1038
+ r"""Return a callable for the update measurement protocol
1039
+ secret method over gRPC.
1040
+
1041
+ Updates a measurement protocol secret.
1042
+
1043
+ Returns:
1044
+ Callable[[~.UpdateMeasurementProtocolSecretRequest],
1045
+ Awaitable[~.MeasurementProtocolSecret]]:
1046
+ A function that, when called, will call the underlying RPC
1047
+ on the server.
1048
+ """
1049
+ # Generate a "stub function" on-the-fly which will actually make
1050
+ # the request.
1051
+ # gRPC handles serialization and deserialization, so we just need
1052
+ # to pass in the functions for each.
1053
+ if "update_measurement_protocol_secret" not in self._stubs:
1054
+ self._stubs[
1055
+ "update_measurement_protocol_secret"
1056
+ ] = self._logged_channel.unary_unary(
1057
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/UpdateMeasurementProtocolSecret",
1058
+ request_serializer=analytics_admin.UpdateMeasurementProtocolSecretRequest.serialize,
1059
+ response_deserializer=resources.MeasurementProtocolSecret.deserialize,
1060
+ )
1061
+ return self._stubs["update_measurement_protocol_secret"]
1062
+
1063
+ @property
1064
+ def acknowledge_user_data_collection(
1065
+ self,
1066
+ ) -> Callable[
1067
+ [analytics_admin.AcknowledgeUserDataCollectionRequest],
1068
+ Awaitable[analytics_admin.AcknowledgeUserDataCollectionResponse],
1069
+ ]:
1070
+ r"""Return a callable for the acknowledge user data
1071
+ collection method over gRPC.
1072
+
1073
+ Acknowledges the terms of user data collection for
1074
+ the specified property.
1075
+ This acknowledgement must be completed (either in the
1076
+ Google Analytics UI or through this API) before
1077
+ MeasurementProtocolSecret resources may be created.
1078
+
1079
+ Returns:
1080
+ Callable[[~.AcknowledgeUserDataCollectionRequest],
1081
+ Awaitable[~.AcknowledgeUserDataCollectionResponse]]:
1082
+ A function that, when called, will call the underlying RPC
1083
+ on the server.
1084
+ """
1085
+ # Generate a "stub function" on-the-fly which will actually make
1086
+ # the request.
1087
+ # gRPC handles serialization and deserialization, so we just need
1088
+ # to pass in the functions for each.
1089
+ if "acknowledge_user_data_collection" not in self._stubs:
1090
+ self._stubs[
1091
+ "acknowledge_user_data_collection"
1092
+ ] = self._logged_channel.unary_unary(
1093
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/AcknowledgeUserDataCollection",
1094
+ request_serializer=analytics_admin.AcknowledgeUserDataCollectionRequest.serialize,
1095
+ response_deserializer=analytics_admin.AcknowledgeUserDataCollectionResponse.deserialize,
1096
+ )
1097
+ return self._stubs["acknowledge_user_data_collection"]
1098
+
1099
+ @property
1100
+ def search_change_history_events(
1101
+ self,
1102
+ ) -> Callable[
1103
+ [analytics_admin.SearchChangeHistoryEventsRequest],
1104
+ Awaitable[analytics_admin.SearchChangeHistoryEventsResponse],
1105
+ ]:
1106
+ r"""Return a callable for the search change history events method over gRPC.
1107
+
1108
+ Searches through all changes to an account or its
1109
+ children given the specified set of filters.
1110
+
1111
+ Only returns the subset of changes supported by the API.
1112
+ The UI may return additional changes.
1113
+
1114
+ Returns:
1115
+ Callable[[~.SearchChangeHistoryEventsRequest],
1116
+ Awaitable[~.SearchChangeHistoryEventsResponse]]:
1117
+ A function that, when called, will call the underlying RPC
1118
+ on the server.
1119
+ """
1120
+ # Generate a "stub function" on-the-fly which will actually make
1121
+ # the request.
1122
+ # gRPC handles serialization and deserialization, so we just need
1123
+ # to pass in the functions for each.
1124
+ if "search_change_history_events" not in self._stubs:
1125
+ self._stubs[
1126
+ "search_change_history_events"
1127
+ ] = self._logged_channel.unary_unary(
1128
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/SearchChangeHistoryEvents",
1129
+ request_serializer=analytics_admin.SearchChangeHistoryEventsRequest.serialize,
1130
+ response_deserializer=analytics_admin.SearchChangeHistoryEventsResponse.deserialize,
1131
+ )
1132
+ return self._stubs["search_change_history_events"]
1133
+
1134
+ @property
1135
+ def create_conversion_event(
1136
+ self,
1137
+ ) -> Callable[
1138
+ [analytics_admin.CreateConversionEventRequest],
1139
+ Awaitable[resources.ConversionEvent],
1140
+ ]:
1141
+ r"""Return a callable for the create conversion event method over gRPC.
1142
+
1143
+ Deprecated: Use ``CreateKeyEvent`` instead. Creates a conversion
1144
+ event with the specified attributes.
1145
+
1146
+ Returns:
1147
+ Callable[[~.CreateConversionEventRequest],
1148
+ Awaitable[~.ConversionEvent]]:
1149
+ A function that, when called, will call the underlying RPC
1150
+ on the server.
1151
+ """
1152
+ # Generate a "stub function" on-the-fly which will actually make
1153
+ # the request.
1154
+ # gRPC handles serialization and deserialization, so we just need
1155
+ # to pass in the functions for each.
1156
+ if "create_conversion_event" not in self._stubs:
1157
+ self._stubs["create_conversion_event"] = self._logged_channel.unary_unary(
1158
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/CreateConversionEvent",
1159
+ request_serializer=analytics_admin.CreateConversionEventRequest.serialize,
1160
+ response_deserializer=resources.ConversionEvent.deserialize,
1161
+ )
1162
+ return self._stubs["create_conversion_event"]
1163
+
1164
+ @property
1165
+ def update_conversion_event(
1166
+ self,
1167
+ ) -> Callable[
1168
+ [analytics_admin.UpdateConversionEventRequest],
1169
+ Awaitable[resources.ConversionEvent],
1170
+ ]:
1171
+ r"""Return a callable for the update conversion event method over gRPC.
1172
+
1173
+ Deprecated: Use ``UpdateKeyEvent`` instead. Updates a conversion
1174
+ event with the specified attributes.
1175
+
1176
+ Returns:
1177
+ Callable[[~.UpdateConversionEventRequest],
1178
+ Awaitable[~.ConversionEvent]]:
1179
+ A function that, when called, will call the underlying RPC
1180
+ on the server.
1181
+ """
1182
+ # Generate a "stub function" on-the-fly which will actually make
1183
+ # the request.
1184
+ # gRPC handles serialization and deserialization, so we just need
1185
+ # to pass in the functions for each.
1186
+ if "update_conversion_event" not in self._stubs:
1187
+ self._stubs["update_conversion_event"] = self._logged_channel.unary_unary(
1188
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/UpdateConversionEvent",
1189
+ request_serializer=analytics_admin.UpdateConversionEventRequest.serialize,
1190
+ response_deserializer=resources.ConversionEvent.deserialize,
1191
+ )
1192
+ return self._stubs["update_conversion_event"]
1193
+
1194
+ @property
1195
+ def get_conversion_event(
1196
+ self,
1197
+ ) -> Callable[
1198
+ [analytics_admin.GetConversionEventRequest],
1199
+ Awaitable[resources.ConversionEvent],
1200
+ ]:
1201
+ r"""Return a callable for the get conversion event method over gRPC.
1202
+
1203
+ Deprecated: Use ``GetKeyEvent`` instead. Retrieve a single
1204
+ conversion event.
1205
+
1206
+ Returns:
1207
+ Callable[[~.GetConversionEventRequest],
1208
+ Awaitable[~.ConversionEvent]]:
1209
+ A function that, when called, will call the underlying RPC
1210
+ on the server.
1211
+ """
1212
+ # Generate a "stub function" on-the-fly which will actually make
1213
+ # the request.
1214
+ # gRPC handles serialization and deserialization, so we just need
1215
+ # to pass in the functions for each.
1216
+ if "get_conversion_event" not in self._stubs:
1217
+ self._stubs["get_conversion_event"] = self._logged_channel.unary_unary(
1218
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/GetConversionEvent",
1219
+ request_serializer=analytics_admin.GetConversionEventRequest.serialize,
1220
+ response_deserializer=resources.ConversionEvent.deserialize,
1221
+ )
1222
+ return self._stubs["get_conversion_event"]
1223
+
1224
+ @property
1225
+ def delete_conversion_event(
1226
+ self,
1227
+ ) -> Callable[
1228
+ [analytics_admin.DeleteConversionEventRequest], Awaitable[empty_pb2.Empty]
1229
+ ]:
1230
+ r"""Return a callable for the delete conversion event method over gRPC.
1231
+
1232
+ Deprecated: Use ``DeleteKeyEvent`` instead. Deletes a conversion
1233
+ event in a property.
1234
+
1235
+ Returns:
1236
+ Callable[[~.DeleteConversionEventRequest],
1237
+ Awaitable[~.Empty]]:
1238
+ A function that, when called, will call the underlying RPC
1239
+ on the server.
1240
+ """
1241
+ # Generate a "stub function" on-the-fly which will actually make
1242
+ # the request.
1243
+ # gRPC handles serialization and deserialization, so we just need
1244
+ # to pass in the functions for each.
1245
+ if "delete_conversion_event" not in self._stubs:
1246
+ self._stubs["delete_conversion_event"] = self._logged_channel.unary_unary(
1247
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/DeleteConversionEvent",
1248
+ request_serializer=analytics_admin.DeleteConversionEventRequest.serialize,
1249
+ response_deserializer=empty_pb2.Empty.FromString,
1250
+ )
1251
+ return self._stubs["delete_conversion_event"]
1252
+
1253
+ @property
1254
+ def list_conversion_events(
1255
+ self,
1256
+ ) -> Callable[
1257
+ [analytics_admin.ListConversionEventsRequest],
1258
+ Awaitable[analytics_admin.ListConversionEventsResponse],
1259
+ ]:
1260
+ r"""Return a callable for the list conversion events method over gRPC.
1261
+
1262
+ Deprecated: Use ``ListKeyEvents`` instead. Returns a list of
1263
+ conversion events in the specified parent property.
1264
+
1265
+ Returns an empty list if no conversion events are found.
1266
+
1267
+ Returns:
1268
+ Callable[[~.ListConversionEventsRequest],
1269
+ Awaitable[~.ListConversionEventsResponse]]:
1270
+ A function that, when called, will call the underlying RPC
1271
+ on the server.
1272
+ """
1273
+ # Generate a "stub function" on-the-fly which will actually make
1274
+ # the request.
1275
+ # gRPC handles serialization and deserialization, so we just need
1276
+ # to pass in the functions for each.
1277
+ if "list_conversion_events" not in self._stubs:
1278
+ self._stubs["list_conversion_events"] = self._logged_channel.unary_unary(
1279
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/ListConversionEvents",
1280
+ request_serializer=analytics_admin.ListConversionEventsRequest.serialize,
1281
+ response_deserializer=analytics_admin.ListConversionEventsResponse.deserialize,
1282
+ )
1283
+ return self._stubs["list_conversion_events"]
1284
+
1285
+ @property
1286
+ def create_key_event(
1287
+ self,
1288
+ ) -> Callable[
1289
+ [analytics_admin.CreateKeyEventRequest], Awaitable[resources.KeyEvent]
1290
+ ]:
1291
+ r"""Return a callable for the create key event method over gRPC.
1292
+
1293
+ Creates a Key Event.
1294
+
1295
+ Returns:
1296
+ Callable[[~.CreateKeyEventRequest],
1297
+ Awaitable[~.KeyEvent]]:
1298
+ A function that, when called, will call the underlying RPC
1299
+ on the server.
1300
+ """
1301
+ # Generate a "stub function" on-the-fly which will actually make
1302
+ # the request.
1303
+ # gRPC handles serialization and deserialization, so we just need
1304
+ # to pass in the functions for each.
1305
+ if "create_key_event" not in self._stubs:
1306
+ self._stubs["create_key_event"] = self._logged_channel.unary_unary(
1307
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/CreateKeyEvent",
1308
+ request_serializer=analytics_admin.CreateKeyEventRequest.serialize,
1309
+ response_deserializer=resources.KeyEvent.deserialize,
1310
+ )
1311
+ return self._stubs["create_key_event"]
1312
+
1313
+ @property
1314
+ def update_key_event(
1315
+ self,
1316
+ ) -> Callable[
1317
+ [analytics_admin.UpdateKeyEventRequest], Awaitable[resources.KeyEvent]
1318
+ ]:
1319
+ r"""Return a callable for the update key event method over gRPC.
1320
+
1321
+ Updates a Key Event.
1322
+
1323
+ Returns:
1324
+ Callable[[~.UpdateKeyEventRequest],
1325
+ Awaitable[~.KeyEvent]]:
1326
+ A function that, when called, will call the underlying RPC
1327
+ on the server.
1328
+ """
1329
+ # Generate a "stub function" on-the-fly which will actually make
1330
+ # the request.
1331
+ # gRPC handles serialization and deserialization, so we just need
1332
+ # to pass in the functions for each.
1333
+ if "update_key_event" not in self._stubs:
1334
+ self._stubs["update_key_event"] = self._logged_channel.unary_unary(
1335
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/UpdateKeyEvent",
1336
+ request_serializer=analytics_admin.UpdateKeyEventRequest.serialize,
1337
+ response_deserializer=resources.KeyEvent.deserialize,
1338
+ )
1339
+ return self._stubs["update_key_event"]
1340
+
1341
+ @property
1342
+ def get_key_event(
1343
+ self,
1344
+ ) -> Callable[[analytics_admin.GetKeyEventRequest], Awaitable[resources.KeyEvent]]:
1345
+ r"""Return a callable for the get key event method over gRPC.
1346
+
1347
+ Retrieve a single Key Event.
1348
+
1349
+ Returns:
1350
+ Callable[[~.GetKeyEventRequest],
1351
+ Awaitable[~.KeyEvent]]:
1352
+ A function that, when called, will call the underlying RPC
1353
+ on the server.
1354
+ """
1355
+ # Generate a "stub function" on-the-fly which will actually make
1356
+ # the request.
1357
+ # gRPC handles serialization and deserialization, so we just need
1358
+ # to pass in the functions for each.
1359
+ if "get_key_event" not in self._stubs:
1360
+ self._stubs["get_key_event"] = self._logged_channel.unary_unary(
1361
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/GetKeyEvent",
1362
+ request_serializer=analytics_admin.GetKeyEventRequest.serialize,
1363
+ response_deserializer=resources.KeyEvent.deserialize,
1364
+ )
1365
+ return self._stubs["get_key_event"]
1366
+
1367
+ @property
1368
+ def delete_key_event(
1369
+ self,
1370
+ ) -> Callable[[analytics_admin.DeleteKeyEventRequest], Awaitable[empty_pb2.Empty]]:
1371
+ r"""Return a callable for the delete key event method over gRPC.
1372
+
1373
+ Deletes a Key Event.
1374
+
1375
+ Returns:
1376
+ Callable[[~.DeleteKeyEventRequest],
1377
+ Awaitable[~.Empty]]:
1378
+ A function that, when called, will call the underlying RPC
1379
+ on the server.
1380
+ """
1381
+ # Generate a "stub function" on-the-fly which will actually make
1382
+ # the request.
1383
+ # gRPC handles serialization and deserialization, so we just need
1384
+ # to pass in the functions for each.
1385
+ if "delete_key_event" not in self._stubs:
1386
+ self._stubs["delete_key_event"] = self._logged_channel.unary_unary(
1387
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/DeleteKeyEvent",
1388
+ request_serializer=analytics_admin.DeleteKeyEventRequest.serialize,
1389
+ response_deserializer=empty_pb2.Empty.FromString,
1390
+ )
1391
+ return self._stubs["delete_key_event"]
1392
+
1393
+ @property
1394
+ def list_key_events(
1395
+ self,
1396
+ ) -> Callable[
1397
+ [analytics_admin.ListKeyEventsRequest],
1398
+ Awaitable[analytics_admin.ListKeyEventsResponse],
1399
+ ]:
1400
+ r"""Return a callable for the list key events method over gRPC.
1401
+
1402
+ Returns a list of Key Events in the specified parent
1403
+ property. Returns an empty list if no Key Events are
1404
+ found.
1405
+
1406
+ Returns:
1407
+ Callable[[~.ListKeyEventsRequest],
1408
+ Awaitable[~.ListKeyEventsResponse]]:
1409
+ A function that, when called, will call the underlying RPC
1410
+ on the server.
1411
+ """
1412
+ # Generate a "stub function" on-the-fly which will actually make
1413
+ # the request.
1414
+ # gRPC handles serialization and deserialization, so we just need
1415
+ # to pass in the functions for each.
1416
+ if "list_key_events" not in self._stubs:
1417
+ self._stubs["list_key_events"] = self._logged_channel.unary_unary(
1418
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/ListKeyEvents",
1419
+ request_serializer=analytics_admin.ListKeyEventsRequest.serialize,
1420
+ response_deserializer=analytics_admin.ListKeyEventsResponse.deserialize,
1421
+ )
1422
+ return self._stubs["list_key_events"]
1423
+
1424
+ @property
1425
+ def create_custom_dimension(
1426
+ self,
1427
+ ) -> Callable[
1428
+ [analytics_admin.CreateCustomDimensionRequest],
1429
+ Awaitable[resources.CustomDimension],
1430
+ ]:
1431
+ r"""Return a callable for the create custom dimension method over gRPC.
1432
+
1433
+ Creates a CustomDimension.
1434
+
1435
+ Returns:
1436
+ Callable[[~.CreateCustomDimensionRequest],
1437
+ Awaitable[~.CustomDimension]]:
1438
+ A function that, when called, will call the underlying RPC
1439
+ on the server.
1440
+ """
1441
+ # Generate a "stub function" on-the-fly which will actually make
1442
+ # the request.
1443
+ # gRPC handles serialization and deserialization, so we just need
1444
+ # to pass in the functions for each.
1445
+ if "create_custom_dimension" not in self._stubs:
1446
+ self._stubs["create_custom_dimension"] = self._logged_channel.unary_unary(
1447
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/CreateCustomDimension",
1448
+ request_serializer=analytics_admin.CreateCustomDimensionRequest.serialize,
1449
+ response_deserializer=resources.CustomDimension.deserialize,
1450
+ )
1451
+ return self._stubs["create_custom_dimension"]
1452
+
1453
+ @property
1454
+ def update_custom_dimension(
1455
+ self,
1456
+ ) -> Callable[
1457
+ [analytics_admin.UpdateCustomDimensionRequest],
1458
+ Awaitable[resources.CustomDimension],
1459
+ ]:
1460
+ r"""Return a callable for the update custom dimension method over gRPC.
1461
+
1462
+ Updates a CustomDimension on a property.
1463
+
1464
+ Returns:
1465
+ Callable[[~.UpdateCustomDimensionRequest],
1466
+ Awaitable[~.CustomDimension]]:
1467
+ A function that, when called, will call the underlying RPC
1468
+ on the server.
1469
+ """
1470
+ # Generate a "stub function" on-the-fly which will actually make
1471
+ # the request.
1472
+ # gRPC handles serialization and deserialization, so we just need
1473
+ # to pass in the functions for each.
1474
+ if "update_custom_dimension" not in self._stubs:
1475
+ self._stubs["update_custom_dimension"] = self._logged_channel.unary_unary(
1476
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/UpdateCustomDimension",
1477
+ request_serializer=analytics_admin.UpdateCustomDimensionRequest.serialize,
1478
+ response_deserializer=resources.CustomDimension.deserialize,
1479
+ )
1480
+ return self._stubs["update_custom_dimension"]
1481
+
1482
+ @property
1483
+ def list_custom_dimensions(
1484
+ self,
1485
+ ) -> Callable[
1486
+ [analytics_admin.ListCustomDimensionsRequest],
1487
+ Awaitable[analytics_admin.ListCustomDimensionsResponse],
1488
+ ]:
1489
+ r"""Return a callable for the list custom dimensions method over gRPC.
1490
+
1491
+ Lists CustomDimensions on a property.
1492
+
1493
+ Returns:
1494
+ Callable[[~.ListCustomDimensionsRequest],
1495
+ Awaitable[~.ListCustomDimensionsResponse]]:
1496
+ A function that, when called, will call the underlying RPC
1497
+ on the server.
1498
+ """
1499
+ # Generate a "stub function" on-the-fly which will actually make
1500
+ # the request.
1501
+ # gRPC handles serialization and deserialization, so we just need
1502
+ # to pass in the functions for each.
1503
+ if "list_custom_dimensions" not in self._stubs:
1504
+ self._stubs["list_custom_dimensions"] = self._logged_channel.unary_unary(
1505
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/ListCustomDimensions",
1506
+ request_serializer=analytics_admin.ListCustomDimensionsRequest.serialize,
1507
+ response_deserializer=analytics_admin.ListCustomDimensionsResponse.deserialize,
1508
+ )
1509
+ return self._stubs["list_custom_dimensions"]
1510
+
1511
+ @property
1512
+ def archive_custom_dimension(
1513
+ self,
1514
+ ) -> Callable[
1515
+ [analytics_admin.ArchiveCustomDimensionRequest], Awaitable[empty_pb2.Empty]
1516
+ ]:
1517
+ r"""Return a callable for the archive custom dimension method over gRPC.
1518
+
1519
+ Archives a CustomDimension on a property.
1520
+
1521
+ Returns:
1522
+ Callable[[~.ArchiveCustomDimensionRequest],
1523
+ Awaitable[~.Empty]]:
1524
+ A function that, when called, will call the underlying RPC
1525
+ on the server.
1526
+ """
1527
+ # Generate a "stub function" on-the-fly which will actually make
1528
+ # the request.
1529
+ # gRPC handles serialization and deserialization, so we just need
1530
+ # to pass in the functions for each.
1531
+ if "archive_custom_dimension" not in self._stubs:
1532
+ self._stubs["archive_custom_dimension"] = self._logged_channel.unary_unary(
1533
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/ArchiveCustomDimension",
1534
+ request_serializer=analytics_admin.ArchiveCustomDimensionRequest.serialize,
1535
+ response_deserializer=empty_pb2.Empty.FromString,
1536
+ )
1537
+ return self._stubs["archive_custom_dimension"]
1538
+
1539
+ @property
1540
+ def get_custom_dimension(
1541
+ self,
1542
+ ) -> Callable[
1543
+ [analytics_admin.GetCustomDimensionRequest],
1544
+ Awaitable[resources.CustomDimension],
1545
+ ]:
1546
+ r"""Return a callable for the get custom dimension method over gRPC.
1547
+
1548
+ Lookup for a single CustomDimension.
1549
+
1550
+ Returns:
1551
+ Callable[[~.GetCustomDimensionRequest],
1552
+ Awaitable[~.CustomDimension]]:
1553
+ A function that, when called, will call the underlying RPC
1554
+ on the server.
1555
+ """
1556
+ # Generate a "stub function" on-the-fly which will actually make
1557
+ # the request.
1558
+ # gRPC handles serialization and deserialization, so we just need
1559
+ # to pass in the functions for each.
1560
+ if "get_custom_dimension" not in self._stubs:
1561
+ self._stubs["get_custom_dimension"] = self._logged_channel.unary_unary(
1562
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/GetCustomDimension",
1563
+ request_serializer=analytics_admin.GetCustomDimensionRequest.serialize,
1564
+ response_deserializer=resources.CustomDimension.deserialize,
1565
+ )
1566
+ return self._stubs["get_custom_dimension"]
1567
+
1568
+ @property
1569
+ def create_custom_metric(
1570
+ self,
1571
+ ) -> Callable[
1572
+ [analytics_admin.CreateCustomMetricRequest], Awaitable[resources.CustomMetric]
1573
+ ]:
1574
+ r"""Return a callable for the create custom metric method over gRPC.
1575
+
1576
+ Creates a CustomMetric.
1577
+
1578
+ Returns:
1579
+ Callable[[~.CreateCustomMetricRequest],
1580
+ Awaitable[~.CustomMetric]]:
1581
+ A function that, when called, will call the underlying RPC
1582
+ on the server.
1583
+ """
1584
+ # Generate a "stub function" on-the-fly which will actually make
1585
+ # the request.
1586
+ # gRPC handles serialization and deserialization, so we just need
1587
+ # to pass in the functions for each.
1588
+ if "create_custom_metric" not in self._stubs:
1589
+ self._stubs["create_custom_metric"] = self._logged_channel.unary_unary(
1590
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/CreateCustomMetric",
1591
+ request_serializer=analytics_admin.CreateCustomMetricRequest.serialize,
1592
+ response_deserializer=resources.CustomMetric.deserialize,
1593
+ )
1594
+ return self._stubs["create_custom_metric"]
1595
+
1596
+ @property
1597
+ def update_custom_metric(
1598
+ self,
1599
+ ) -> Callable[
1600
+ [analytics_admin.UpdateCustomMetricRequest], Awaitable[resources.CustomMetric]
1601
+ ]:
1602
+ r"""Return a callable for the update custom metric method over gRPC.
1603
+
1604
+ Updates a CustomMetric on a property.
1605
+
1606
+ Returns:
1607
+ Callable[[~.UpdateCustomMetricRequest],
1608
+ Awaitable[~.CustomMetric]]:
1609
+ A function that, when called, will call the underlying RPC
1610
+ on the server.
1611
+ """
1612
+ # Generate a "stub function" on-the-fly which will actually make
1613
+ # the request.
1614
+ # gRPC handles serialization and deserialization, so we just need
1615
+ # to pass in the functions for each.
1616
+ if "update_custom_metric" not in self._stubs:
1617
+ self._stubs["update_custom_metric"] = self._logged_channel.unary_unary(
1618
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/UpdateCustomMetric",
1619
+ request_serializer=analytics_admin.UpdateCustomMetricRequest.serialize,
1620
+ response_deserializer=resources.CustomMetric.deserialize,
1621
+ )
1622
+ return self._stubs["update_custom_metric"]
1623
+
1624
+ @property
1625
+ def list_custom_metrics(
1626
+ self,
1627
+ ) -> Callable[
1628
+ [analytics_admin.ListCustomMetricsRequest],
1629
+ Awaitable[analytics_admin.ListCustomMetricsResponse],
1630
+ ]:
1631
+ r"""Return a callable for the list custom metrics method over gRPC.
1632
+
1633
+ Lists CustomMetrics on a property.
1634
+
1635
+ Returns:
1636
+ Callable[[~.ListCustomMetricsRequest],
1637
+ Awaitable[~.ListCustomMetricsResponse]]:
1638
+ A function that, when called, will call the underlying RPC
1639
+ on the server.
1640
+ """
1641
+ # Generate a "stub function" on-the-fly which will actually make
1642
+ # the request.
1643
+ # gRPC handles serialization and deserialization, so we just need
1644
+ # to pass in the functions for each.
1645
+ if "list_custom_metrics" not in self._stubs:
1646
+ self._stubs["list_custom_metrics"] = self._logged_channel.unary_unary(
1647
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/ListCustomMetrics",
1648
+ request_serializer=analytics_admin.ListCustomMetricsRequest.serialize,
1649
+ response_deserializer=analytics_admin.ListCustomMetricsResponse.deserialize,
1650
+ )
1651
+ return self._stubs["list_custom_metrics"]
1652
+
1653
+ @property
1654
+ def archive_custom_metric(
1655
+ self,
1656
+ ) -> Callable[
1657
+ [analytics_admin.ArchiveCustomMetricRequest], Awaitable[empty_pb2.Empty]
1658
+ ]:
1659
+ r"""Return a callable for the archive custom metric method over gRPC.
1660
+
1661
+ Archives a CustomMetric on a property.
1662
+
1663
+ Returns:
1664
+ Callable[[~.ArchiveCustomMetricRequest],
1665
+ Awaitable[~.Empty]]:
1666
+ A function that, when called, will call the underlying RPC
1667
+ on the server.
1668
+ """
1669
+ # Generate a "stub function" on-the-fly which will actually make
1670
+ # the request.
1671
+ # gRPC handles serialization and deserialization, so we just need
1672
+ # to pass in the functions for each.
1673
+ if "archive_custom_metric" not in self._stubs:
1674
+ self._stubs["archive_custom_metric"] = self._logged_channel.unary_unary(
1675
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/ArchiveCustomMetric",
1676
+ request_serializer=analytics_admin.ArchiveCustomMetricRequest.serialize,
1677
+ response_deserializer=empty_pb2.Empty.FromString,
1678
+ )
1679
+ return self._stubs["archive_custom_metric"]
1680
+
1681
+ @property
1682
+ def get_custom_metric(
1683
+ self,
1684
+ ) -> Callable[
1685
+ [analytics_admin.GetCustomMetricRequest], Awaitable[resources.CustomMetric]
1686
+ ]:
1687
+ r"""Return a callable for the get custom metric method over gRPC.
1688
+
1689
+ Lookup for a single CustomMetric.
1690
+
1691
+ Returns:
1692
+ Callable[[~.GetCustomMetricRequest],
1693
+ Awaitable[~.CustomMetric]]:
1694
+ A function that, when called, will call the underlying RPC
1695
+ on the server.
1696
+ """
1697
+ # Generate a "stub function" on-the-fly which will actually make
1698
+ # the request.
1699
+ # gRPC handles serialization and deserialization, so we just need
1700
+ # to pass in the functions for each.
1701
+ if "get_custom_metric" not in self._stubs:
1702
+ self._stubs["get_custom_metric"] = self._logged_channel.unary_unary(
1703
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/GetCustomMetric",
1704
+ request_serializer=analytics_admin.GetCustomMetricRequest.serialize,
1705
+ response_deserializer=resources.CustomMetric.deserialize,
1706
+ )
1707
+ return self._stubs["get_custom_metric"]
1708
+
1709
+ @property
1710
+ def get_data_retention_settings(
1711
+ self,
1712
+ ) -> Callable[
1713
+ [analytics_admin.GetDataRetentionSettingsRequest],
1714
+ Awaitable[resources.DataRetentionSettings],
1715
+ ]:
1716
+ r"""Return a callable for the get data retention settings method over gRPC.
1717
+
1718
+ Returns the singleton data retention settings for
1719
+ this property.
1720
+
1721
+ Returns:
1722
+ Callable[[~.GetDataRetentionSettingsRequest],
1723
+ Awaitable[~.DataRetentionSettings]]:
1724
+ A function that, when called, will call the underlying RPC
1725
+ on the server.
1726
+ """
1727
+ # Generate a "stub function" on-the-fly which will actually make
1728
+ # the request.
1729
+ # gRPC handles serialization and deserialization, so we just need
1730
+ # to pass in the functions for each.
1731
+ if "get_data_retention_settings" not in self._stubs:
1732
+ self._stubs[
1733
+ "get_data_retention_settings"
1734
+ ] = self._logged_channel.unary_unary(
1735
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/GetDataRetentionSettings",
1736
+ request_serializer=analytics_admin.GetDataRetentionSettingsRequest.serialize,
1737
+ response_deserializer=resources.DataRetentionSettings.deserialize,
1738
+ )
1739
+ return self._stubs["get_data_retention_settings"]
1740
+
1741
+ @property
1742
+ def update_data_retention_settings(
1743
+ self,
1744
+ ) -> Callable[
1745
+ [analytics_admin.UpdateDataRetentionSettingsRequest],
1746
+ Awaitable[resources.DataRetentionSettings],
1747
+ ]:
1748
+ r"""Return a callable for the update data retention settings method over gRPC.
1749
+
1750
+ Updates the singleton data retention settings for
1751
+ this property.
1752
+
1753
+ Returns:
1754
+ Callable[[~.UpdateDataRetentionSettingsRequest],
1755
+ Awaitable[~.DataRetentionSettings]]:
1756
+ A function that, when called, will call the underlying RPC
1757
+ on the server.
1758
+ """
1759
+ # Generate a "stub function" on-the-fly which will actually make
1760
+ # the request.
1761
+ # gRPC handles serialization and deserialization, so we just need
1762
+ # to pass in the functions for each.
1763
+ if "update_data_retention_settings" not in self._stubs:
1764
+ self._stubs[
1765
+ "update_data_retention_settings"
1766
+ ] = self._logged_channel.unary_unary(
1767
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/UpdateDataRetentionSettings",
1768
+ request_serializer=analytics_admin.UpdateDataRetentionSettingsRequest.serialize,
1769
+ response_deserializer=resources.DataRetentionSettings.deserialize,
1770
+ )
1771
+ return self._stubs["update_data_retention_settings"]
1772
+
1773
+ @property
1774
+ def create_data_stream(
1775
+ self,
1776
+ ) -> Callable[
1777
+ [analytics_admin.CreateDataStreamRequest], Awaitable[resources.DataStream]
1778
+ ]:
1779
+ r"""Return a callable for the create data stream method over gRPC.
1780
+
1781
+ Creates a DataStream.
1782
+
1783
+ Returns:
1784
+ Callable[[~.CreateDataStreamRequest],
1785
+ Awaitable[~.DataStream]]:
1786
+ A function that, when called, will call the underlying RPC
1787
+ on the server.
1788
+ """
1789
+ # Generate a "stub function" on-the-fly which will actually make
1790
+ # the request.
1791
+ # gRPC handles serialization and deserialization, so we just need
1792
+ # to pass in the functions for each.
1793
+ if "create_data_stream" not in self._stubs:
1794
+ self._stubs["create_data_stream"] = self._logged_channel.unary_unary(
1795
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/CreateDataStream",
1796
+ request_serializer=analytics_admin.CreateDataStreamRequest.serialize,
1797
+ response_deserializer=resources.DataStream.deserialize,
1798
+ )
1799
+ return self._stubs["create_data_stream"]
1800
+
1801
+ @property
1802
+ def delete_data_stream(
1803
+ self,
1804
+ ) -> Callable[
1805
+ [analytics_admin.DeleteDataStreamRequest], Awaitable[empty_pb2.Empty]
1806
+ ]:
1807
+ r"""Return a callable for the delete data stream method over gRPC.
1808
+
1809
+ Deletes a DataStream on a property.
1810
+
1811
+ Returns:
1812
+ Callable[[~.DeleteDataStreamRequest],
1813
+ Awaitable[~.Empty]]:
1814
+ A function that, when called, will call the underlying RPC
1815
+ on the server.
1816
+ """
1817
+ # Generate a "stub function" on-the-fly which will actually make
1818
+ # the request.
1819
+ # gRPC handles serialization and deserialization, so we just need
1820
+ # to pass in the functions for each.
1821
+ if "delete_data_stream" not in self._stubs:
1822
+ self._stubs["delete_data_stream"] = self._logged_channel.unary_unary(
1823
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/DeleteDataStream",
1824
+ request_serializer=analytics_admin.DeleteDataStreamRequest.serialize,
1825
+ response_deserializer=empty_pb2.Empty.FromString,
1826
+ )
1827
+ return self._stubs["delete_data_stream"]
1828
+
1829
+ @property
1830
+ def update_data_stream(
1831
+ self,
1832
+ ) -> Callable[
1833
+ [analytics_admin.UpdateDataStreamRequest], Awaitable[resources.DataStream]
1834
+ ]:
1835
+ r"""Return a callable for the update data stream method over gRPC.
1836
+
1837
+ Updates a DataStream on a property.
1838
+
1839
+ Returns:
1840
+ Callable[[~.UpdateDataStreamRequest],
1841
+ Awaitable[~.DataStream]]:
1842
+ A function that, when called, will call the underlying RPC
1843
+ on the server.
1844
+ """
1845
+ # Generate a "stub function" on-the-fly which will actually make
1846
+ # the request.
1847
+ # gRPC handles serialization and deserialization, so we just need
1848
+ # to pass in the functions for each.
1849
+ if "update_data_stream" not in self._stubs:
1850
+ self._stubs["update_data_stream"] = self._logged_channel.unary_unary(
1851
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/UpdateDataStream",
1852
+ request_serializer=analytics_admin.UpdateDataStreamRequest.serialize,
1853
+ response_deserializer=resources.DataStream.deserialize,
1854
+ )
1855
+ return self._stubs["update_data_stream"]
1856
+
1857
+ @property
1858
+ def list_data_streams(
1859
+ self,
1860
+ ) -> Callable[
1861
+ [analytics_admin.ListDataStreamsRequest],
1862
+ Awaitable[analytics_admin.ListDataStreamsResponse],
1863
+ ]:
1864
+ r"""Return a callable for the list data streams method over gRPC.
1865
+
1866
+ Lists DataStreams on a property.
1867
+
1868
+ Returns:
1869
+ Callable[[~.ListDataStreamsRequest],
1870
+ Awaitable[~.ListDataStreamsResponse]]:
1871
+ A function that, when called, will call the underlying RPC
1872
+ on the server.
1873
+ """
1874
+ # Generate a "stub function" on-the-fly which will actually make
1875
+ # the request.
1876
+ # gRPC handles serialization and deserialization, so we just need
1877
+ # to pass in the functions for each.
1878
+ if "list_data_streams" not in self._stubs:
1879
+ self._stubs["list_data_streams"] = self._logged_channel.unary_unary(
1880
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/ListDataStreams",
1881
+ request_serializer=analytics_admin.ListDataStreamsRequest.serialize,
1882
+ response_deserializer=analytics_admin.ListDataStreamsResponse.deserialize,
1883
+ )
1884
+ return self._stubs["list_data_streams"]
1885
+
1886
+ @property
1887
+ def get_data_stream(
1888
+ self,
1889
+ ) -> Callable[
1890
+ [analytics_admin.GetDataStreamRequest], Awaitable[resources.DataStream]
1891
+ ]:
1892
+ r"""Return a callable for the get data stream method over gRPC.
1893
+
1894
+ Lookup for a single DataStream.
1895
+
1896
+ Returns:
1897
+ Callable[[~.GetDataStreamRequest],
1898
+ Awaitable[~.DataStream]]:
1899
+ A function that, when called, will call the underlying RPC
1900
+ on the server.
1901
+ """
1902
+ # Generate a "stub function" on-the-fly which will actually make
1903
+ # the request.
1904
+ # gRPC handles serialization and deserialization, so we just need
1905
+ # to pass in the functions for each.
1906
+ if "get_data_stream" not in self._stubs:
1907
+ self._stubs["get_data_stream"] = self._logged_channel.unary_unary(
1908
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/GetDataStream",
1909
+ request_serializer=analytics_admin.GetDataStreamRequest.serialize,
1910
+ response_deserializer=resources.DataStream.deserialize,
1911
+ )
1912
+ return self._stubs["get_data_stream"]
1913
+
1914
+ @property
1915
+ def run_access_report(
1916
+ self,
1917
+ ) -> Callable[
1918
+ [analytics_admin.RunAccessReportRequest],
1919
+ Awaitable[analytics_admin.RunAccessReportResponse],
1920
+ ]:
1921
+ r"""Return a callable for the run access report method over gRPC.
1922
+
1923
+ Returns a customized report of data access records. The report
1924
+ provides records of each time a user reads Google Analytics
1925
+ reporting data. Access records are retained for up to 2 years.
1926
+
1927
+ Data Access Reports can be requested for a property. Reports may
1928
+ be requested for any property, but dimensions that aren't
1929
+ related to quota can only be requested on Google Analytics 360
1930
+ properties. This method is only available to Administrators.
1931
+
1932
+ These data access records include GA UI Reporting, GA UI
1933
+ Explorations, GA Data API, and other products like Firebase &
1934
+ Admob that can retrieve data from Google Analytics through a
1935
+ linkage. These records don't include property configuration
1936
+ changes like adding a stream or changing a property's time zone.
1937
+ For configuration change history, see
1938
+ `searchChangeHistoryEvents <https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/accounts/searchChangeHistoryEvents>`__.
1939
+
1940
+ To give your feedback on this API, complete the `Google
1941
+ Analytics Access Reports
1942
+ feedback <https://docs.google.com/forms/d/e/1FAIpQLSdmEBUrMzAEdiEKk5TV5dEHvDUZDRlgWYdQdAeSdtR4hVjEhw/viewform>`__
1943
+ form.
1944
+
1945
+ Returns:
1946
+ Callable[[~.RunAccessReportRequest],
1947
+ Awaitable[~.RunAccessReportResponse]]:
1948
+ A function that, when called, will call the underlying RPC
1949
+ on the server.
1950
+ """
1951
+ # Generate a "stub function" on-the-fly which will actually make
1952
+ # the request.
1953
+ # gRPC handles serialization and deserialization, so we just need
1954
+ # to pass in the functions for each.
1955
+ if "run_access_report" not in self._stubs:
1956
+ self._stubs["run_access_report"] = self._logged_channel.unary_unary(
1957
+ "/google.analytics.admin.v1beta.AnalyticsAdminService/RunAccessReport",
1958
+ request_serializer=analytics_admin.RunAccessReportRequest.serialize,
1959
+ response_deserializer=analytics_admin.RunAccessReportResponse.deserialize,
1960
+ )
1961
+ return self._stubs["run_access_report"]
1962
+
1963
+ def _prep_wrapped_messages(self, client_info):
1964
+ """Precompute the wrapped methods, overriding the base class method to use async wrappers."""
1965
+ self._wrapped_methods = {
1966
+ self.get_account: self._wrap_method(
1967
+ self.get_account,
1968
+ default_timeout=None,
1969
+ client_info=client_info,
1970
+ ),
1971
+ self.list_accounts: self._wrap_method(
1972
+ self.list_accounts,
1973
+ default_timeout=None,
1974
+ client_info=client_info,
1975
+ ),
1976
+ self.delete_account: self._wrap_method(
1977
+ self.delete_account,
1978
+ default_timeout=None,
1979
+ client_info=client_info,
1980
+ ),
1981
+ self.update_account: self._wrap_method(
1982
+ self.update_account,
1983
+ default_timeout=None,
1984
+ client_info=client_info,
1985
+ ),
1986
+ self.provision_account_ticket: self._wrap_method(
1987
+ self.provision_account_ticket,
1988
+ default_timeout=None,
1989
+ client_info=client_info,
1990
+ ),
1991
+ self.list_account_summaries: self._wrap_method(
1992
+ self.list_account_summaries,
1993
+ default_timeout=None,
1994
+ client_info=client_info,
1995
+ ),
1996
+ self.get_property: self._wrap_method(
1997
+ self.get_property,
1998
+ default_timeout=None,
1999
+ client_info=client_info,
2000
+ ),
2001
+ self.list_properties: self._wrap_method(
2002
+ self.list_properties,
2003
+ default_timeout=None,
2004
+ client_info=client_info,
2005
+ ),
2006
+ self.create_property: self._wrap_method(
2007
+ self.create_property,
2008
+ default_timeout=None,
2009
+ client_info=client_info,
2010
+ ),
2011
+ self.delete_property: self._wrap_method(
2012
+ self.delete_property,
2013
+ default_timeout=None,
2014
+ client_info=client_info,
2015
+ ),
2016
+ self.update_property: self._wrap_method(
2017
+ self.update_property,
2018
+ default_timeout=None,
2019
+ client_info=client_info,
2020
+ ),
2021
+ self.create_firebase_link: self._wrap_method(
2022
+ self.create_firebase_link,
2023
+ default_timeout=None,
2024
+ client_info=client_info,
2025
+ ),
2026
+ self.delete_firebase_link: self._wrap_method(
2027
+ self.delete_firebase_link,
2028
+ default_timeout=None,
2029
+ client_info=client_info,
2030
+ ),
2031
+ self.list_firebase_links: self._wrap_method(
2032
+ self.list_firebase_links,
2033
+ default_timeout=None,
2034
+ client_info=client_info,
2035
+ ),
2036
+ self.create_google_ads_link: self._wrap_method(
2037
+ self.create_google_ads_link,
2038
+ default_timeout=None,
2039
+ client_info=client_info,
2040
+ ),
2041
+ self.update_google_ads_link: self._wrap_method(
2042
+ self.update_google_ads_link,
2043
+ default_timeout=None,
2044
+ client_info=client_info,
2045
+ ),
2046
+ self.delete_google_ads_link: self._wrap_method(
2047
+ self.delete_google_ads_link,
2048
+ default_timeout=None,
2049
+ client_info=client_info,
2050
+ ),
2051
+ self.list_google_ads_links: self._wrap_method(
2052
+ self.list_google_ads_links,
2053
+ default_timeout=None,
2054
+ client_info=client_info,
2055
+ ),
2056
+ self.get_data_sharing_settings: self._wrap_method(
2057
+ self.get_data_sharing_settings,
2058
+ default_timeout=None,
2059
+ client_info=client_info,
2060
+ ),
2061
+ self.get_measurement_protocol_secret: self._wrap_method(
2062
+ self.get_measurement_protocol_secret,
2063
+ default_timeout=None,
2064
+ client_info=client_info,
2065
+ ),
2066
+ self.list_measurement_protocol_secrets: self._wrap_method(
2067
+ self.list_measurement_protocol_secrets,
2068
+ default_timeout=None,
2069
+ client_info=client_info,
2070
+ ),
2071
+ self.create_measurement_protocol_secret: self._wrap_method(
2072
+ self.create_measurement_protocol_secret,
2073
+ default_timeout=None,
2074
+ client_info=client_info,
2075
+ ),
2076
+ self.delete_measurement_protocol_secret: self._wrap_method(
2077
+ self.delete_measurement_protocol_secret,
2078
+ default_timeout=None,
2079
+ client_info=client_info,
2080
+ ),
2081
+ self.update_measurement_protocol_secret: self._wrap_method(
2082
+ self.update_measurement_protocol_secret,
2083
+ default_timeout=None,
2084
+ client_info=client_info,
2085
+ ),
2086
+ self.acknowledge_user_data_collection: self._wrap_method(
2087
+ self.acknowledge_user_data_collection,
2088
+ default_timeout=None,
2089
+ client_info=client_info,
2090
+ ),
2091
+ self.search_change_history_events: self._wrap_method(
2092
+ self.search_change_history_events,
2093
+ default_timeout=None,
2094
+ client_info=client_info,
2095
+ ),
2096
+ self.create_conversion_event: self._wrap_method(
2097
+ self.create_conversion_event,
2098
+ default_timeout=None,
2099
+ client_info=client_info,
2100
+ ),
2101
+ self.update_conversion_event: self._wrap_method(
2102
+ self.update_conversion_event,
2103
+ default_timeout=None,
2104
+ client_info=client_info,
2105
+ ),
2106
+ self.get_conversion_event: self._wrap_method(
2107
+ self.get_conversion_event,
2108
+ default_timeout=None,
2109
+ client_info=client_info,
2110
+ ),
2111
+ self.delete_conversion_event: self._wrap_method(
2112
+ self.delete_conversion_event,
2113
+ default_timeout=None,
2114
+ client_info=client_info,
2115
+ ),
2116
+ self.list_conversion_events: self._wrap_method(
2117
+ self.list_conversion_events,
2118
+ default_timeout=None,
2119
+ client_info=client_info,
2120
+ ),
2121
+ self.create_key_event: self._wrap_method(
2122
+ self.create_key_event,
2123
+ default_timeout=None,
2124
+ client_info=client_info,
2125
+ ),
2126
+ self.update_key_event: self._wrap_method(
2127
+ self.update_key_event,
2128
+ default_timeout=None,
2129
+ client_info=client_info,
2130
+ ),
2131
+ self.get_key_event: self._wrap_method(
2132
+ self.get_key_event,
2133
+ default_timeout=None,
2134
+ client_info=client_info,
2135
+ ),
2136
+ self.delete_key_event: self._wrap_method(
2137
+ self.delete_key_event,
2138
+ default_timeout=None,
2139
+ client_info=client_info,
2140
+ ),
2141
+ self.list_key_events: self._wrap_method(
2142
+ self.list_key_events,
2143
+ default_timeout=None,
2144
+ client_info=client_info,
2145
+ ),
2146
+ self.create_custom_dimension: self._wrap_method(
2147
+ self.create_custom_dimension,
2148
+ default_timeout=None,
2149
+ client_info=client_info,
2150
+ ),
2151
+ self.update_custom_dimension: self._wrap_method(
2152
+ self.update_custom_dimension,
2153
+ default_timeout=None,
2154
+ client_info=client_info,
2155
+ ),
2156
+ self.list_custom_dimensions: self._wrap_method(
2157
+ self.list_custom_dimensions,
2158
+ default_timeout=None,
2159
+ client_info=client_info,
2160
+ ),
2161
+ self.archive_custom_dimension: self._wrap_method(
2162
+ self.archive_custom_dimension,
2163
+ default_timeout=None,
2164
+ client_info=client_info,
2165
+ ),
2166
+ self.get_custom_dimension: self._wrap_method(
2167
+ self.get_custom_dimension,
2168
+ default_timeout=None,
2169
+ client_info=client_info,
2170
+ ),
2171
+ self.create_custom_metric: self._wrap_method(
2172
+ self.create_custom_metric,
2173
+ default_timeout=None,
2174
+ client_info=client_info,
2175
+ ),
2176
+ self.update_custom_metric: self._wrap_method(
2177
+ self.update_custom_metric,
2178
+ default_timeout=None,
2179
+ client_info=client_info,
2180
+ ),
2181
+ self.list_custom_metrics: self._wrap_method(
2182
+ self.list_custom_metrics,
2183
+ default_timeout=None,
2184
+ client_info=client_info,
2185
+ ),
2186
+ self.archive_custom_metric: self._wrap_method(
2187
+ self.archive_custom_metric,
2188
+ default_timeout=None,
2189
+ client_info=client_info,
2190
+ ),
2191
+ self.get_custom_metric: self._wrap_method(
2192
+ self.get_custom_metric,
2193
+ default_timeout=None,
2194
+ client_info=client_info,
2195
+ ),
2196
+ self.get_data_retention_settings: self._wrap_method(
2197
+ self.get_data_retention_settings,
2198
+ default_timeout=None,
2199
+ client_info=client_info,
2200
+ ),
2201
+ self.update_data_retention_settings: self._wrap_method(
2202
+ self.update_data_retention_settings,
2203
+ default_timeout=None,
2204
+ client_info=client_info,
2205
+ ),
2206
+ self.create_data_stream: self._wrap_method(
2207
+ self.create_data_stream,
2208
+ default_timeout=None,
2209
+ client_info=client_info,
2210
+ ),
2211
+ self.delete_data_stream: self._wrap_method(
2212
+ self.delete_data_stream,
2213
+ default_timeout=None,
2214
+ client_info=client_info,
2215
+ ),
2216
+ self.update_data_stream: self._wrap_method(
2217
+ self.update_data_stream,
2218
+ default_timeout=None,
2219
+ client_info=client_info,
2220
+ ),
2221
+ self.list_data_streams: self._wrap_method(
2222
+ self.list_data_streams,
2223
+ default_timeout=None,
2224
+ client_info=client_info,
2225
+ ),
2226
+ self.get_data_stream: self._wrap_method(
2227
+ self.get_data_stream,
2228
+ default_timeout=None,
2229
+ client_info=client_info,
2230
+ ),
2231
+ self.run_access_report: self._wrap_method(
2232
+ self.run_access_report,
2233
+ default_timeout=None,
2234
+ client_info=client_info,
2235
+ ),
2236
+ }
2237
+
2238
+ def _wrap_method(self, func, *args, **kwargs):
2239
+ if self._wrap_with_kind: # pragma: NO COVER
2240
+ kwargs["kind"] = self.kind
2241
+ return gapic_v1.method_async.wrap_method(func, *args, **kwargs)
2242
+
2243
+ def close(self):
2244
+ return self._logged_channel.close()
2245
+
2246
+ @property
2247
+ def kind(self) -> str:
2248
+ return "grpc_asyncio"
2249
+
2250
+
2251
+ __all__ = ("AnalyticsAdminServiceGrpcAsyncIOTransport",)