google-analytics-data-v1beta 0.9.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -30,6 +30,9 @@ module Google
30
30
  # Google Analytics reporting data service.
31
31
  #
32
32
  class Client
33
+ # @private
34
+ DEFAULT_ENDPOINT_TEMPLATE = "analyticsdata.$UNIVERSE_DOMAIN$"
35
+
33
36
  include Paths
34
37
 
35
38
  # @private
@@ -109,6 +112,15 @@ module Google
109
112
  @config
110
113
  end
111
114
 
115
+ ##
116
+ # The effective universe domain
117
+ #
118
+ # @return [String]
119
+ #
120
+ def universe_domain
121
+ @analytics_data_stub.universe_domain
122
+ end
123
+
112
124
  ##
113
125
  # Create a new AnalyticsData client object.
114
126
  #
@@ -142,8 +154,9 @@ module Google
142
154
  credentials = @config.credentials
143
155
  # Use self-signed JWT if the endpoint is unchanged from default,
144
156
  # but only if the default endpoint does not have a region prefix.
145
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
146
- !@config.endpoint.split(".").first.include?("-")
157
+ enable_self_signed_jwt = @config.endpoint.nil? ||
158
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
159
+ !@config.endpoint.split(".").first.include?("-"))
147
160
  credentials ||= Credentials.default scope: @config.scope,
148
161
  enable_self_signed_jwt: enable_self_signed_jwt
149
162
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -152,16 +165,32 @@ module Google
152
165
  @quota_project_id = @config.quota_project
153
166
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
154
167
 
168
+ @operations_client = Operations.new do |config|
169
+ config.credentials = credentials
170
+ config.quota_project = @quota_project_id
171
+ config.endpoint = @config.endpoint
172
+ config.universe_domain = @config.universe_domain
173
+ end
174
+
155
175
  @analytics_data_stub = ::Gapic::ServiceStub.new(
156
176
  ::Google::Analytics::Data::V1beta::BetaAnalyticsData::Stub,
157
- credentials: credentials,
158
- endpoint: @config.endpoint,
177
+ credentials: credentials,
178
+ endpoint: @config.endpoint,
179
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
180
+ universe_domain: @config.universe_domain,
159
181
  channel_args: @config.channel_args,
160
182
  interceptors: @config.interceptors,
161
183
  channel_pool_config: @config.channel_pool
162
184
  )
163
185
  end
164
186
 
187
+ ##
188
+ # Get the associated client for long-running operations.
189
+ #
190
+ # @return [::Google::Analytics::Data::V1beta::AnalyticsData::Operations]
191
+ #
192
+ attr_reader :operations_client
193
+
165
194
  # Service calls
166
195
 
167
196
  ##
@@ -1017,6 +1046,464 @@ module Google
1017
1046
  raise ::Google::Cloud::Error.from_error(e)
1018
1047
  end
1019
1048
 
1049
+ ##
1050
+ # Creates an audience export for later retrieval. This method quickly returns
1051
+ # the audience export's resource name and initiates a long running
1052
+ # asynchronous request to form an audience export. To export the users in an
1053
+ # audience export, first create the audience export through this method and
1054
+ # then send the audience resource name to the `QueryAudienceExport` method.
1055
+ #
1056
+ # See [Creating an Audience
1057
+ # Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics)
1058
+ # for an introduction to Audience Exports with examples.
1059
+ #
1060
+ # An audience export is a snapshot of the users currently in the audience at
1061
+ # the time of audience export creation. Creating audience exports for one
1062
+ # audience on different days will return different results as users enter and
1063
+ # exit the audience.
1064
+ #
1065
+ # Audiences in Google Analytics 4 allow you to segment your users in the ways
1066
+ # that are important to your business. To learn more, see
1067
+ # https://support.google.com/analytics/answer/9267572. Audience exports
1068
+ # contain the users in each audience.
1069
+ #
1070
+ # Audience Export APIs have some methods at alpha and other methods at beta
1071
+ # stability. The intention is to advance methods to beta stability after some
1072
+ # feedback and adoption. To give your feedback on this API, complete the
1073
+ # [Google Analytics Audience Export API
1074
+ # Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
1075
+ #
1076
+ # @overload create_audience_export(request, options = nil)
1077
+ # Pass arguments to `create_audience_export` via a request object, either of type
1078
+ # {::Google::Analytics::Data::V1beta::CreateAudienceExportRequest} or an equivalent Hash.
1079
+ #
1080
+ # @param request [::Google::Analytics::Data::V1beta::CreateAudienceExportRequest, ::Hash]
1081
+ # A request object representing the call parameters. Required. To specify no
1082
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1083
+ # @param options [::Gapic::CallOptions, ::Hash]
1084
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1085
+ #
1086
+ # @overload create_audience_export(parent: nil, audience_export: nil)
1087
+ # Pass arguments to `create_audience_export` via keyword arguments. Note that at
1088
+ # least one keyword argument is required. To specify no parameters, or to keep all
1089
+ # the default parameter values, pass an empty Hash as a request object (see above).
1090
+ #
1091
+ # @param parent [::String]
1092
+ # Required. The parent resource where this audience export will be created.
1093
+ # Format: `properties/{property}`
1094
+ # @param audience_export [::Google::Analytics::Data::V1beta::AudienceExport, ::Hash]
1095
+ # Required. The audience export to create.
1096
+ #
1097
+ # @yield [response, operation] Access the result along with the RPC operation
1098
+ # @yieldparam response [::Gapic::Operation]
1099
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1100
+ #
1101
+ # @return [::Gapic::Operation]
1102
+ #
1103
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1104
+ #
1105
+ # @example Basic example
1106
+ # require "google/analytics/data/v1beta"
1107
+ #
1108
+ # # Create a client object. The client can be reused for multiple calls.
1109
+ # client = Google::Analytics::Data::V1beta::AnalyticsData::Client.new
1110
+ #
1111
+ # # Create a request. To set request fields, pass in keyword arguments.
1112
+ # request = Google::Analytics::Data::V1beta::CreateAudienceExportRequest.new
1113
+ #
1114
+ # # Call the create_audience_export method.
1115
+ # result = client.create_audience_export request
1116
+ #
1117
+ # # The returned object is of type Gapic::Operation. You can use it to
1118
+ # # check the status of an operation, cancel it, or wait for results.
1119
+ # # Here is how to wait for a response.
1120
+ # result.wait_until_done! timeout: 60
1121
+ # if result.response?
1122
+ # p result.response
1123
+ # else
1124
+ # puts "No response received."
1125
+ # end
1126
+ #
1127
+ def create_audience_export request, options = nil
1128
+ raise ::ArgumentError, "request must be provided" if request.nil?
1129
+
1130
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Analytics::Data::V1beta::CreateAudienceExportRequest
1131
+
1132
+ # Converts hash and nil to an options object
1133
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1134
+
1135
+ # Customize the options with defaults
1136
+ metadata = @config.rpcs.create_audience_export.metadata.to_h
1137
+
1138
+ # Set x-goog-api-client and x-goog-user-project headers
1139
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1140
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1141
+ gapic_version: ::Google::Analytics::Data::V1beta::VERSION
1142
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1143
+
1144
+ header_params = {}
1145
+ if request.parent
1146
+ header_params["parent"] = request.parent
1147
+ end
1148
+
1149
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1150
+ metadata[:"x-goog-request-params"] ||= request_params_header
1151
+
1152
+ options.apply_defaults timeout: @config.rpcs.create_audience_export.timeout,
1153
+ metadata: metadata,
1154
+ retry_policy: @config.rpcs.create_audience_export.retry_policy
1155
+
1156
+ options.apply_defaults timeout: @config.timeout,
1157
+ metadata: @config.metadata,
1158
+ retry_policy: @config.retry_policy
1159
+
1160
+ @analytics_data_stub.call_rpc :create_audience_export, request, options: options do |response, operation|
1161
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1162
+ yield response, operation if block_given?
1163
+ return response
1164
+ end
1165
+ rescue ::GRPC::BadStatus => e
1166
+ raise ::Google::Cloud::Error.from_error(e)
1167
+ end
1168
+
1169
+ ##
1170
+ # Retrieves an audience export of users. After creating an audience, the
1171
+ # users are not immediately available for exporting. First, a request to
1172
+ # `CreateAudienceExport` is necessary to create an audience export of users,
1173
+ # and then second, this method is used to retrieve the users in the audience
1174
+ # export.
1175
+ #
1176
+ # See [Creating an Audience
1177
+ # Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics)
1178
+ # for an introduction to Audience Exports with examples.
1179
+ #
1180
+ # Audiences in Google Analytics 4 allow you to segment your users in the ways
1181
+ # that are important to your business. To learn more, see
1182
+ # https://support.google.com/analytics/answer/9267572.
1183
+ #
1184
+ # Audience Export APIs have some methods at alpha and other methods at beta
1185
+ # stability. The intention is to advance methods to beta stability after some
1186
+ # feedback and adoption. To give your feedback on this API, complete the
1187
+ # [Google Analytics Audience Export API
1188
+ # Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
1189
+ #
1190
+ # @overload query_audience_export(request, options = nil)
1191
+ # Pass arguments to `query_audience_export` via a request object, either of type
1192
+ # {::Google::Analytics::Data::V1beta::QueryAudienceExportRequest} or an equivalent Hash.
1193
+ #
1194
+ # @param request [::Google::Analytics::Data::V1beta::QueryAudienceExportRequest, ::Hash]
1195
+ # A request object representing the call parameters. Required. To specify no
1196
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1197
+ # @param options [::Gapic::CallOptions, ::Hash]
1198
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1199
+ #
1200
+ # @overload query_audience_export(name: nil, offset: nil, limit: nil)
1201
+ # Pass arguments to `query_audience_export` via keyword arguments. Note that at
1202
+ # least one keyword argument is required. To specify no parameters, or to keep all
1203
+ # the default parameter values, pass an empty Hash as a request object (see above).
1204
+ #
1205
+ # @param name [::String]
1206
+ # Required. The name of the audience export to retrieve users from.
1207
+ # Format: `properties/{property}/audienceExports/{audience_export}`
1208
+ # @param offset [::Integer]
1209
+ # Optional. The row count of the start row. The first row is counted as row
1210
+ # 0.
1211
+ #
1212
+ # When paging, the first request does not specify offset; or equivalently,
1213
+ # sets offset to 0; the first request returns the first `limit` of rows. The
1214
+ # second request sets offset to the `limit` of the first request; the second
1215
+ # request returns the second `limit` of rows.
1216
+ #
1217
+ # To learn more about this pagination parameter, see
1218
+ # [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
1219
+ # @param limit [::Integer]
1220
+ # Optional. The number of rows to return. If unspecified, 10,000 rows are
1221
+ # returned. The API returns a maximum of 250,000 rows per request, no matter
1222
+ # how many you ask for. `limit` must be positive.
1223
+ #
1224
+ # The API can also return fewer rows than the requested `limit`, if there
1225
+ # aren't as many dimension values as the `limit`.
1226
+ #
1227
+ # To learn more about this pagination parameter, see
1228
+ # [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
1229
+ #
1230
+ # @yield [response, operation] Access the result along with the RPC operation
1231
+ # @yieldparam response [::Google::Analytics::Data::V1beta::QueryAudienceExportResponse]
1232
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1233
+ #
1234
+ # @return [::Google::Analytics::Data::V1beta::QueryAudienceExportResponse]
1235
+ #
1236
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1237
+ #
1238
+ # @example Basic example
1239
+ # require "google/analytics/data/v1beta"
1240
+ #
1241
+ # # Create a client object. The client can be reused for multiple calls.
1242
+ # client = Google::Analytics::Data::V1beta::AnalyticsData::Client.new
1243
+ #
1244
+ # # Create a request. To set request fields, pass in keyword arguments.
1245
+ # request = Google::Analytics::Data::V1beta::QueryAudienceExportRequest.new
1246
+ #
1247
+ # # Call the query_audience_export method.
1248
+ # result = client.query_audience_export request
1249
+ #
1250
+ # # The returned object is of type Google::Analytics::Data::V1beta::QueryAudienceExportResponse.
1251
+ # p result
1252
+ #
1253
+ def query_audience_export request, options = nil
1254
+ raise ::ArgumentError, "request must be provided" if request.nil?
1255
+
1256
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Analytics::Data::V1beta::QueryAudienceExportRequest
1257
+
1258
+ # Converts hash and nil to an options object
1259
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1260
+
1261
+ # Customize the options with defaults
1262
+ metadata = @config.rpcs.query_audience_export.metadata.to_h
1263
+
1264
+ # Set x-goog-api-client and x-goog-user-project headers
1265
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1266
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1267
+ gapic_version: ::Google::Analytics::Data::V1beta::VERSION
1268
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1269
+
1270
+ header_params = {}
1271
+ if request.name
1272
+ header_params["name"] = request.name
1273
+ end
1274
+
1275
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1276
+ metadata[:"x-goog-request-params"] ||= request_params_header
1277
+
1278
+ options.apply_defaults timeout: @config.rpcs.query_audience_export.timeout,
1279
+ metadata: metadata,
1280
+ retry_policy: @config.rpcs.query_audience_export.retry_policy
1281
+
1282
+ options.apply_defaults timeout: @config.timeout,
1283
+ metadata: @config.metadata,
1284
+ retry_policy: @config.retry_policy
1285
+
1286
+ @analytics_data_stub.call_rpc :query_audience_export, request, options: options do |response, operation|
1287
+ yield response, operation if block_given?
1288
+ return response
1289
+ end
1290
+ rescue ::GRPC::BadStatus => e
1291
+ raise ::Google::Cloud::Error.from_error(e)
1292
+ end
1293
+
1294
+ ##
1295
+ # Gets configuration metadata about a specific audience export. This method
1296
+ # can be used to understand an audience export after it has been created.
1297
+ #
1298
+ # See [Creating an Audience
1299
+ # Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics)
1300
+ # for an introduction to Audience Exports with examples.
1301
+ #
1302
+ # Audience Export APIs have some methods at alpha and other methods at beta
1303
+ # stability. The intention is to advance methods to beta stability after some
1304
+ # feedback and adoption. To give your feedback on this API, complete the
1305
+ # [Google Analytics Audience Export API
1306
+ # Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
1307
+ #
1308
+ # @overload get_audience_export(request, options = nil)
1309
+ # Pass arguments to `get_audience_export` via a request object, either of type
1310
+ # {::Google::Analytics::Data::V1beta::GetAudienceExportRequest} or an equivalent Hash.
1311
+ #
1312
+ # @param request [::Google::Analytics::Data::V1beta::GetAudienceExportRequest, ::Hash]
1313
+ # A request object representing the call parameters. Required. To specify no
1314
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1315
+ # @param options [::Gapic::CallOptions, ::Hash]
1316
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1317
+ #
1318
+ # @overload get_audience_export(name: nil)
1319
+ # Pass arguments to `get_audience_export` via keyword arguments. Note that at
1320
+ # least one keyword argument is required. To specify no parameters, or to keep all
1321
+ # the default parameter values, pass an empty Hash as a request object (see above).
1322
+ #
1323
+ # @param name [::String]
1324
+ # Required. The audience export resource name.
1325
+ # Format: `properties/{property}/audienceExports/{audience_export}`
1326
+ #
1327
+ # @yield [response, operation] Access the result along with the RPC operation
1328
+ # @yieldparam response [::Google::Analytics::Data::V1beta::AudienceExport]
1329
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1330
+ #
1331
+ # @return [::Google::Analytics::Data::V1beta::AudienceExport]
1332
+ #
1333
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1334
+ #
1335
+ # @example Basic example
1336
+ # require "google/analytics/data/v1beta"
1337
+ #
1338
+ # # Create a client object. The client can be reused for multiple calls.
1339
+ # client = Google::Analytics::Data::V1beta::AnalyticsData::Client.new
1340
+ #
1341
+ # # Create a request. To set request fields, pass in keyword arguments.
1342
+ # request = Google::Analytics::Data::V1beta::GetAudienceExportRequest.new
1343
+ #
1344
+ # # Call the get_audience_export method.
1345
+ # result = client.get_audience_export request
1346
+ #
1347
+ # # The returned object is of type Google::Analytics::Data::V1beta::AudienceExport.
1348
+ # p result
1349
+ #
1350
+ def get_audience_export request, options = nil
1351
+ raise ::ArgumentError, "request must be provided" if request.nil?
1352
+
1353
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Analytics::Data::V1beta::GetAudienceExportRequest
1354
+
1355
+ # Converts hash and nil to an options object
1356
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1357
+
1358
+ # Customize the options with defaults
1359
+ metadata = @config.rpcs.get_audience_export.metadata.to_h
1360
+
1361
+ # Set x-goog-api-client and x-goog-user-project headers
1362
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1363
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1364
+ gapic_version: ::Google::Analytics::Data::V1beta::VERSION
1365
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1366
+
1367
+ header_params = {}
1368
+ if request.name
1369
+ header_params["name"] = request.name
1370
+ end
1371
+
1372
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1373
+ metadata[:"x-goog-request-params"] ||= request_params_header
1374
+
1375
+ options.apply_defaults timeout: @config.rpcs.get_audience_export.timeout,
1376
+ metadata: metadata,
1377
+ retry_policy: @config.rpcs.get_audience_export.retry_policy
1378
+
1379
+ options.apply_defaults timeout: @config.timeout,
1380
+ metadata: @config.metadata,
1381
+ retry_policy: @config.retry_policy
1382
+
1383
+ @analytics_data_stub.call_rpc :get_audience_export, request, options: options do |response, operation|
1384
+ yield response, operation if block_given?
1385
+ return response
1386
+ end
1387
+ rescue ::GRPC::BadStatus => e
1388
+ raise ::Google::Cloud::Error.from_error(e)
1389
+ end
1390
+
1391
+ ##
1392
+ # Lists all audience exports for a property. This method can be used for you
1393
+ # to find and reuse existing audience exports rather than creating
1394
+ # unnecessary new audience exports. The same audience can have multiple
1395
+ # audience exports that represent the export of users that were in an
1396
+ # audience on different days.
1397
+ #
1398
+ # See [Creating an Audience
1399
+ # Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics)
1400
+ # for an introduction to Audience Exports with examples.
1401
+ #
1402
+ # Audience Export APIs have some methods at alpha and other methods at beta
1403
+ # stability. The intention is to advance methods to beta stability after some
1404
+ # feedback and adoption. To give your feedback on this API, complete the
1405
+ # [Google Analytics Audience Export API
1406
+ # Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
1407
+ #
1408
+ # @overload list_audience_exports(request, options = nil)
1409
+ # Pass arguments to `list_audience_exports` via a request object, either of type
1410
+ # {::Google::Analytics::Data::V1beta::ListAudienceExportsRequest} or an equivalent Hash.
1411
+ #
1412
+ # @param request [::Google::Analytics::Data::V1beta::ListAudienceExportsRequest, ::Hash]
1413
+ # A request object representing the call parameters. Required. To specify no
1414
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1415
+ # @param options [::Gapic::CallOptions, ::Hash]
1416
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1417
+ #
1418
+ # @overload list_audience_exports(parent: nil, page_size: nil, page_token: nil)
1419
+ # Pass arguments to `list_audience_exports` via keyword arguments. Note that at
1420
+ # least one keyword argument is required. To specify no parameters, or to keep all
1421
+ # the default parameter values, pass an empty Hash as a request object (see above).
1422
+ #
1423
+ # @param parent [::String]
1424
+ # Required. All audience exports for this property will be listed in the
1425
+ # response. Format: `properties/{property}`
1426
+ # @param page_size [::Integer]
1427
+ # Optional. The maximum number of audience exports to return. The service may
1428
+ # return fewer than this value. If unspecified, at most 200 audience exports
1429
+ # will be returned. The maximum value is 1000 (higher values will be coerced
1430
+ # to the maximum).
1431
+ # @param page_token [::String]
1432
+ # Optional. A page token, received from a previous `ListAudienceExports`
1433
+ # call. Provide this to retrieve the subsequent page.
1434
+ #
1435
+ # When paginating, all other parameters provided to `ListAudienceExports`
1436
+ # must match the call that provided the page token.
1437
+ #
1438
+ # @yield [response, operation] Access the result along with the RPC operation
1439
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Analytics::Data::V1beta::AudienceExport>]
1440
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1441
+ #
1442
+ # @return [::Gapic::PagedEnumerable<::Google::Analytics::Data::V1beta::AudienceExport>]
1443
+ #
1444
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1445
+ #
1446
+ # @example Basic example
1447
+ # require "google/analytics/data/v1beta"
1448
+ #
1449
+ # # Create a client object. The client can be reused for multiple calls.
1450
+ # client = Google::Analytics::Data::V1beta::AnalyticsData::Client.new
1451
+ #
1452
+ # # Create a request. To set request fields, pass in keyword arguments.
1453
+ # request = Google::Analytics::Data::V1beta::ListAudienceExportsRequest.new
1454
+ #
1455
+ # # Call the list_audience_exports method.
1456
+ # result = client.list_audience_exports request
1457
+ #
1458
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
1459
+ # # over elements, and API calls will be issued to fetch pages as needed.
1460
+ # result.each do |item|
1461
+ # # Each element is of type ::Google::Analytics::Data::V1beta::AudienceExport.
1462
+ # p item
1463
+ # end
1464
+ #
1465
+ def list_audience_exports request, options = nil
1466
+ raise ::ArgumentError, "request must be provided" if request.nil?
1467
+
1468
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Analytics::Data::V1beta::ListAudienceExportsRequest
1469
+
1470
+ # Converts hash and nil to an options object
1471
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1472
+
1473
+ # Customize the options with defaults
1474
+ metadata = @config.rpcs.list_audience_exports.metadata.to_h
1475
+
1476
+ # Set x-goog-api-client and x-goog-user-project headers
1477
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1478
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1479
+ gapic_version: ::Google::Analytics::Data::V1beta::VERSION
1480
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1481
+
1482
+ header_params = {}
1483
+ if request.parent
1484
+ header_params["parent"] = request.parent
1485
+ end
1486
+
1487
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1488
+ metadata[:"x-goog-request-params"] ||= request_params_header
1489
+
1490
+ options.apply_defaults timeout: @config.rpcs.list_audience_exports.timeout,
1491
+ metadata: metadata,
1492
+ retry_policy: @config.rpcs.list_audience_exports.retry_policy
1493
+
1494
+ options.apply_defaults timeout: @config.timeout,
1495
+ metadata: @config.metadata,
1496
+ retry_policy: @config.retry_policy
1497
+
1498
+ @analytics_data_stub.call_rpc :list_audience_exports, request, options: options do |response, operation|
1499
+ response = ::Gapic::PagedEnumerable.new @analytics_data_stub, :list_audience_exports, request, response, operation, options
1500
+ yield response, operation if block_given?
1501
+ return response
1502
+ end
1503
+ rescue ::GRPC::BadStatus => e
1504
+ raise ::Google::Cloud::Error.from_error(e)
1505
+ end
1506
+
1020
1507
  ##
1021
1508
  # Configuration class for the AnalyticsData API.
1022
1509
  #
@@ -1047,9 +1534,9 @@ module Google
1047
1534
  # end
1048
1535
  #
1049
1536
  # @!attribute [rw] endpoint
1050
- # The hostname or hostname:port of the service endpoint.
1051
- # Defaults to `"analyticsdata.googleapis.com"`.
1052
- # @return [::String]
1537
+ # A custom service endpoint, as a hostname or hostname:port. The default is
1538
+ # nil, indicating to use the default endpoint in the current universe domain.
1539
+ # @return [::String,nil]
1053
1540
  # @!attribute [rw] credentials
1054
1541
  # Credentials to send with calls. You may provide any of the following types:
1055
1542
  # * (`String`) The path to a service account key file in JSON format
@@ -1095,13 +1582,20 @@ module Google
1095
1582
  # @!attribute [rw] quota_project
1096
1583
  # A separate project against which to charge quota.
1097
1584
  # @return [::String]
1585
+ # @!attribute [rw] universe_domain
1586
+ # The universe domain within which to make requests. This determines the
1587
+ # default endpoint URL. The default value of nil uses the environment
1588
+ # universe (usually the default "googleapis.com" universe).
1589
+ # @return [::String,nil]
1098
1590
  #
1099
1591
  class Configuration
1100
1592
  extend ::Gapic::Config
1101
1593
 
1594
+ # @private
1595
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
1102
1596
  DEFAULT_ENDPOINT = "analyticsdata.googleapis.com"
1103
1597
 
1104
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
1598
+ config_attr :endpoint, nil, ::String, nil
1105
1599
  config_attr :credentials, nil do |value|
1106
1600
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1107
1601
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -1116,6 +1610,7 @@ module Google
1116
1610
  config_attr :metadata, nil, ::Hash, nil
1117
1611
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1118
1612
  config_attr :quota_project, nil, ::String, nil
1613
+ config_attr :universe_domain, nil, ::String, nil
1119
1614
 
1120
1615
  # @private
1121
1616
  def initialize parent_config = nil
@@ -1197,6 +1692,26 @@ module Google
1197
1692
  # @return [::Gapic::Config::Method]
1198
1693
  #
1199
1694
  attr_reader :check_compatibility
1695
+ ##
1696
+ # RPC-specific configuration for `create_audience_export`
1697
+ # @return [::Gapic::Config::Method]
1698
+ #
1699
+ attr_reader :create_audience_export
1700
+ ##
1701
+ # RPC-specific configuration for `query_audience_export`
1702
+ # @return [::Gapic::Config::Method]
1703
+ #
1704
+ attr_reader :query_audience_export
1705
+ ##
1706
+ # RPC-specific configuration for `get_audience_export`
1707
+ # @return [::Gapic::Config::Method]
1708
+ #
1709
+ attr_reader :get_audience_export
1710
+ ##
1711
+ # RPC-specific configuration for `list_audience_exports`
1712
+ # @return [::Gapic::Config::Method]
1713
+ #
1714
+ attr_reader :list_audience_exports
1200
1715
 
1201
1716
  # @private
1202
1717
  def initialize parent_rpcs = nil
@@ -1214,6 +1729,14 @@ module Google
1214
1729
  @run_realtime_report = ::Gapic::Config::Method.new run_realtime_report_config
1215
1730
  check_compatibility_config = parent_rpcs.check_compatibility if parent_rpcs.respond_to? :check_compatibility
1216
1731
  @check_compatibility = ::Gapic::Config::Method.new check_compatibility_config
1732
+ create_audience_export_config = parent_rpcs.create_audience_export if parent_rpcs.respond_to? :create_audience_export
1733
+ @create_audience_export = ::Gapic::Config::Method.new create_audience_export_config
1734
+ query_audience_export_config = parent_rpcs.query_audience_export if parent_rpcs.respond_to? :query_audience_export
1735
+ @query_audience_export = ::Gapic::Config::Method.new query_audience_export_config
1736
+ get_audience_export_config = parent_rpcs.get_audience_export if parent_rpcs.respond_to? :get_audience_export
1737
+ @get_audience_export = ::Gapic::Config::Method.new get_audience_export_config
1738
+ list_audience_exports_config = parent_rpcs.list_audience_exports if parent_rpcs.respond_to? :list_audience_exports
1739
+ @list_audience_exports = ::Gapic::Config::Method.new list_audience_exports_config
1217
1740
 
1218
1741
  yield self if block_given?
1219
1742
  end