google-ads-googleads 29.0.0 → 30.0.0

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 (41) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/lib/google/ads/google_ads/factories/v15/operations.rb +252 -252
  4. data/lib/google/ads/google_ads/factories/v16/operations.rb +260 -260
  5. data/lib/google/ads/google_ads/factories/v17/enums.rb +40 -0
  6. data/lib/google/ads/google_ads/factories/v17/operations.rb +260 -260
  7. data/lib/google/ads/google_ads/factories/v17/resources.rb +169 -0
  8. data/lib/google/ads/google_ads/factories/v17/services.rb +26 -2
  9. data/lib/google/ads/google_ads/v17/common/bidding_pb.rb +6 -1
  10. data/lib/google/ads/google_ads/v17/common/segments_pb.rb +2 -1
  11. data/lib/google/ads/google_ads/v17/enums/ad_format_type_pb.rb +45 -0
  12. data/lib/google/ads/google_ads/v17/enums/bidding_strategy_type_pb.rb +1 -1
  13. data/lib/google/ads/google_ads/v17/enums/change_status_resource_type_pb.rb +1 -1
  14. data/lib/google/ads/google_ads/v17/enums/fixed_cpm_goal_pb.rb +45 -0
  15. data/lib/google/ads/google_ads/v17/enums/fixed_cpm_target_frequency_time_unit_pb.rb +45 -0
  16. data/lib/google/ads/google_ads/v17/enums/user_list_customer_type_category_pb.rb +1 -1
  17. data/lib/google/ads/google_ads/v17/errors/automatically_created_asset_removal_error_pb.rb +45 -0
  18. data/lib/google/ads/google_ads/v17/errors/errors_pb.rb +3 -1
  19. data/lib/google/ads/google_ads/v17/errors/shareable_preview_error_pb.rb +45 -0
  20. data/lib/google/ads/google_ads/v17/resources/ad_group_pb.rb +1 -1
  21. data/lib/google/ads/google_ads/v17/resources/campaign_pb.rb +3 -1
  22. data/lib/google/ads/google_ads/v17/resources/change_status_pb.rb +1 -1
  23. data/lib/google/ads/google_ads/v17/resources/offline_conversion_upload_client_summary_pb.rb +1 -1
  24. data/lib/google/ads/google_ads/v17/resources/offline_conversion_upload_conversion_action_summary_pb.rb +51 -0
  25. data/lib/google/ads/google_ads/v17/services/ad_group_ad_service/client.rb +109 -0
  26. data/lib/google/ads/google_ads/v17/services/ad_group_ad_service/paths.rb +17 -0
  27. data/lib/google/ads/google_ads/v17/services/ad_group_ad_service_pb.rb +5 -1
  28. data/lib/google/ads/google_ads/v17/services/ad_group_ad_service_services_pb.rb +13 -0
  29. data/lib/google/ads/google_ads/v17/services/audience_insights_service/client.rb +128 -1
  30. data/lib/google/ads/google_ads/v17/services/audience_insights_service_pb.rb +5 -1
  31. data/lib/google/ads/google_ads/v17/services/audience_insights_service_services_pb.rb +15 -0
  32. data/lib/google/ads/google_ads/v17/services/google_ads_service/paths.rb +19 -0
  33. data/lib/google/ads/google_ads/v17/services/google_ads_service_pb.rb +3 -1
  34. data/lib/google/ads/google_ads/v17/services/shareable_preview_service/client.rb +428 -0
  35. data/lib/google/ads/google_ads/v17/services/shareable_preview_service/credentials.rb +38 -0
  36. data/lib/google/ads/google_ads/v17/services/shareable_preview_service.rb +50 -0
  37. data/lib/google/ads/google_ads/v17/services/shareable_preview_service_pb.rb +55 -0
  38. data/lib/google/ads/google_ads/v17/services/shareable_preview_service_services_pb.rb +47 -0
  39. data/lib/google/ads/google_ads/v17/services.rb +1 -0
  40. data/lib/google/ads/google_ads/version.rb +1 -1
  41. metadata +14 -3
@@ -0,0 +1,428 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ # require "google/ads/google_ads/error"
20
+ require "google/ads/google_ads/v17/services/shareable_preview_service_pb"
21
+
22
+ module Google
23
+ module Ads
24
+ module GoogleAds
25
+ module V17
26
+ module Services
27
+ module ShareablePreviewService
28
+ ##
29
+ # Client for the ShareablePreviewService service.
30
+ #
31
+ # Service to generate Shareable Previews.
32
+ #
33
+ class Client
34
+ # @private
35
+ API_VERSION = ""
36
+
37
+ # @private
38
+ DEFAULT_ENDPOINT_TEMPLATE = "googleads.$UNIVERSE_DOMAIN$"
39
+
40
+ # @private
41
+ attr_reader :shareable_preview_service_stub
42
+
43
+ ##
44
+ # Configure the ShareablePreviewService Client class.
45
+ #
46
+ # See {::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client::Configuration}
47
+ # for a description of the configuration fields.
48
+ #
49
+ # @example
50
+ #
51
+ # # Modify the configuration for all ShareablePreviewService clients
52
+ # ::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client.configure do |config|
53
+ # config.timeout = 10.0
54
+ # end
55
+ #
56
+ # @yield [config] Configure the Client client.
57
+ # @yieldparam config [Client::Configuration]
58
+ #
59
+ # @return [Client::Configuration]
60
+ #
61
+ def self.configure
62
+ @configure ||= begin
63
+ default_config = Client::Configuration.new
64
+
65
+ default_config.timeout = 14_400.0
66
+ default_config.retry_policy = {
67
+ initial_delay: 5.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4]
68
+ }
69
+
70
+ default_config
71
+ end
72
+ yield @configure if block_given?
73
+ @configure
74
+ end
75
+
76
+ ##
77
+ # Configure the ShareablePreviewService Client instance.
78
+ #
79
+ # The configuration is set to the derived mode, meaning that values can be changed,
80
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
81
+ # should be made on {Client.configure}.
82
+ #
83
+ # See {::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client::Configuration}
84
+ # for a description of the configuration fields.
85
+ #
86
+ # @yield [config] Configure the Client client.
87
+ # @yieldparam config [Client::Configuration]
88
+ #
89
+ # @return [Client::Configuration]
90
+ #
91
+ def configure
92
+ yield @config if block_given?
93
+ @config
94
+ end
95
+
96
+ ##
97
+ # The effective universe domain
98
+ #
99
+ # @return [String]
100
+ #
101
+ def universe_domain
102
+ @shareable_preview_service_stub.universe_domain
103
+ end
104
+
105
+ ##
106
+ # Create a new ShareablePreviewService client object.
107
+ #
108
+ # @example
109
+ #
110
+ # # Create a client using the default configuration
111
+ # client = ::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client.new
112
+ #
113
+ # # Create a client using a custom configuration
114
+ # client = ::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client.new do |config|
115
+ # config.timeout = 10.0
116
+ # end
117
+ #
118
+ # @yield [config] Configure the ShareablePreviewService client.
119
+ # @yieldparam config [Client::Configuration]
120
+ #
121
+ def initialize
122
+ # These require statements are intentionally placed here to initialize
123
+ # the gRPC module only when it's required.
124
+ # See https://github.com/googleapis/toolkit/issues/446
125
+ require "gapic/grpc"
126
+ require "google/ads/google_ads/v17/services/shareable_preview_service_services_pb"
127
+
128
+ # Create the configuration object
129
+ @config = Configuration.new Client.configure
130
+
131
+ # Yield the configuration if needed
132
+ yield @config if block_given?
133
+
134
+ # Create credentials
135
+ credentials = @config.credentials
136
+ # Use self-signed JWT if the endpoint is unchanged from default,
137
+ # but only if the default endpoint does not have a region prefix.
138
+ enable_self_signed_jwt = @config.endpoint.nil? ||
139
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
140
+ !@config.endpoint.split(".").first.include?("-"))
141
+ credentials ||= Credentials.default scope: @config.scope,
142
+ enable_self_signed_jwt: enable_self_signed_jwt
143
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
144
+ credentials = Credentials.new credentials, scope: @config.scope
145
+ end
146
+ @quota_project_id = @config.quota_project
147
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
148
+
149
+ @shareable_preview_service_stub = ::Gapic::ServiceStub.new(
150
+ ::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Stub,
151
+ credentials: credentials,
152
+ endpoint: @config.endpoint,
153
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
154
+ universe_domain: @config.universe_domain,
155
+ channel_args: @config.channel_args,
156
+ interceptors: @config.interceptors,
157
+ channel_pool_config: @config.channel_pool
158
+ )
159
+ end
160
+
161
+ # Service calls
162
+
163
+ ##
164
+ # Returns the requested Shareable Preview.
165
+ #
166
+ # @overload generate_shareable_previews(request, options = nil)
167
+ # Pass arguments to `generate_shareable_previews` via a request object, either of type
168
+ # {::Google::Ads::GoogleAds::V17::Services::GenerateShareablePreviewsRequest} or an equivalent Hash.
169
+ #
170
+ # @param request [::Google::Ads::GoogleAds::V17::Services::GenerateShareablePreviewsRequest, ::Hash]
171
+ # A request object representing the call parameters. Required. To specify no
172
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
173
+ # @param options [::Gapic::CallOptions, ::Hash]
174
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
175
+ #
176
+ # @overload generate_shareable_previews(customer_id: nil, shareable_previews: nil)
177
+ # Pass arguments to `generate_shareable_previews` via keyword arguments. Note that at
178
+ # least one keyword argument is required. To specify no parameters, or to keep all
179
+ # the default parameter values, pass an empty Hash as a request object (see above).
180
+ #
181
+ # @param customer_id [::String]
182
+ # Required. The customer creating the shareable previews request.
183
+ # @param shareable_previews [::Array<::Google::Ads::GoogleAds::V17::Services::ShareablePreview, ::Hash>]
184
+ # Required. The list of shareable previews to generate.
185
+ #
186
+ # @yield [response, operation] Access the result along with the RPC operation
187
+ # @yieldparam response [::Google::Ads::GoogleAds::V17::Services::GenerateShareablePreviewsResponse]
188
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
189
+ #
190
+ # @return [::Google::Ads::GoogleAds::V17::Services::GenerateShareablePreviewsResponse]
191
+ #
192
+ # @raise [Google::Ads::GoogleAds::Error] if the RPC is aborted.
193
+ #
194
+ # @example Basic example
195
+ # require "google/ads/google_ads/v17/services"
196
+ #
197
+ # # Create a client object. The client can be reused for multiple calls.
198
+ # client = Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client.new
199
+ #
200
+ # # Create a request. To set request fields, pass in keyword arguments.
201
+ # request = Google::Ads::GoogleAds::V17::Services::GenerateShareablePreviewsRequest.new
202
+ #
203
+ # # Call the generate_shareable_previews method.
204
+ # result = client.generate_shareable_previews request
205
+ #
206
+ # # The returned object is of type Google::Ads::GoogleAds::V17::Services::GenerateShareablePreviewsResponse.
207
+ # p result
208
+ #
209
+ def generate_shareable_previews request, options = nil
210
+ raise ::ArgumentError, "request must be provided" if request.nil?
211
+
212
+ request = ::Gapic::Protobuf.coerce request,
213
+ to: ::Google::Ads::GoogleAds::V17::Services::GenerateShareablePreviewsRequest
214
+
215
+ # Converts hash and nil to an options object
216
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
217
+
218
+ # Customize the options with defaults
219
+ metadata = @config.rpcs.generate_shareable_previews.metadata.to_h
220
+
221
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
222
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
223
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
224
+ gapic_version: ::Google::Ads::GoogleAds::VERSION
225
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
226
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
227
+
228
+ header_params = {}
229
+ if request.customer_id
230
+ header_params["customer_id"] = request.customer_id
231
+ end
232
+
233
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
234
+ metadata[:"x-goog-request-params"] ||= request_params_header
235
+
236
+ options.apply_defaults timeout: @config.rpcs.generate_shareable_previews.timeout,
237
+ metadata: metadata,
238
+ retry_policy: @config.rpcs.generate_shareable_previews.retry_policy
239
+
240
+ options.apply_defaults timeout: @config.timeout,
241
+ metadata: @config.metadata,
242
+ retry_policy: @config.retry_policy
243
+
244
+ @shareable_preview_service_stub.call_rpc :generate_shareable_previews, request,
245
+ options: options do |response, operation|
246
+ yield response, operation if block_given?
247
+ return response
248
+ end
249
+ # rescue GRPC::BadStatus => grpc_error
250
+ # raise Google::Ads::GoogleAds::Error.new grpc_error.message
251
+ end
252
+
253
+ ##
254
+ # Configuration class for the ShareablePreviewService API.
255
+ #
256
+ # This class represents the configuration for ShareablePreviewService,
257
+ # providing control over timeouts, retry behavior, logging, transport
258
+ # parameters, and other low-level controls. Certain parameters can also be
259
+ # applied individually to specific RPCs. See
260
+ # {::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client::Configuration::Rpcs}
261
+ # for a list of RPCs that can be configured independently.
262
+ #
263
+ # Configuration can be applied globally to all clients, or to a single client
264
+ # on construction.
265
+ #
266
+ # @example
267
+ #
268
+ # # Modify the global config, setting the timeout for
269
+ # # generate_shareable_previews to 20 seconds,
270
+ # # and all remaining timeouts to 10 seconds.
271
+ # ::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client.configure do |config|
272
+ # config.timeout = 10.0
273
+ # config.rpcs.generate_shareable_previews.timeout = 20.0
274
+ # end
275
+ #
276
+ # # Apply the above configuration only to a new client.
277
+ # client = ::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client.new do |config|
278
+ # config.timeout = 10.0
279
+ # config.rpcs.generate_shareable_previews.timeout = 20.0
280
+ # end
281
+ #
282
+ # @!attribute [rw] endpoint
283
+ # A custom service endpoint, as a hostname or hostname:port. The default is
284
+ # nil, indicating to use the default endpoint in the current universe domain.
285
+ # @return [::String,nil]
286
+ # @!attribute [rw] credentials
287
+ # Credentials to send with calls. You may provide any of the following types:
288
+ # * (`String`) The path to a service account key file in JSON format
289
+ # * (`Hash`) A service account key as a Hash
290
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
291
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
292
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
293
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
294
+ # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
295
+ # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
296
+ # * (`nil`) indicating no credentials
297
+ # @return [::Object]
298
+ # @!attribute [rw] scope
299
+ # The OAuth scopes
300
+ # @return [::Array<::String>]
301
+ # @!attribute [rw] lib_name
302
+ # The library name as recorded in instrumentation and logging
303
+ # @return [::String]
304
+ # @!attribute [rw] lib_version
305
+ # The library version as recorded in instrumentation and logging
306
+ # @return [::String]
307
+ # @!attribute [rw] channel_args
308
+ # Extra parameters passed to the gRPC channel. Note: this is ignored if a
309
+ # `GRPC::Core::Channel` object is provided as the credential.
310
+ # @return [::Hash]
311
+ # @!attribute [rw] interceptors
312
+ # An array of interceptors that are run before calls are executed.
313
+ # @return [::Array<::GRPC::ClientInterceptor>]
314
+ # @!attribute [rw] timeout
315
+ # The call timeout in seconds.
316
+ # @return [::Numeric]
317
+ # @!attribute [rw] metadata
318
+ # Additional gRPC headers to be sent with the call.
319
+ # @return [::Hash{::Symbol=>::String}]
320
+ # @!attribute [rw] retry_policy
321
+ # The retry policy. The value is a hash with the following keys:
322
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
323
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
324
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
325
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
326
+ # trigger a retry.
327
+ # @return [::Hash]
328
+ # @!attribute [rw] quota_project
329
+ # A separate project against which to charge quota.
330
+ # @return [::String]
331
+ # @!attribute [rw] universe_domain
332
+ # The universe domain within which to make requests. This determines the
333
+ # default endpoint URL. The default value of nil uses the environment
334
+ # universe (usually the default "googleapis.com" universe).
335
+ # @return [::String,nil]
336
+ #
337
+ class Configuration
338
+ extend ::Gapic::Config
339
+
340
+ # @private
341
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
342
+ DEFAULT_ENDPOINT = "googleads.googleapis.com"
343
+
344
+ config_attr :endpoint, nil, ::String, nil
345
+ config_attr :credentials, nil do |value|
346
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client,
347
+ nil]
348
+ allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
349
+ allowed.any? { |klass| klass === value }
350
+ end
351
+ config_attr :scope, nil, ::String, ::Array, nil
352
+ config_attr :lib_name, nil, ::String, nil
353
+ config_attr :lib_version, nil, ::String, nil
354
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
355
+ config_attr :interceptors, nil, ::Array, nil
356
+ config_attr :timeout, nil, ::Numeric, nil
357
+ config_attr :metadata, nil, ::Hash, nil
358
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
359
+ config_attr :quota_project, nil, ::String, nil
360
+ config_attr :universe_domain, nil, ::String, nil
361
+
362
+ # @private
363
+ def initialize parent_config = nil
364
+ @parent_config = parent_config unless parent_config.nil?
365
+
366
+ yield self if block_given?
367
+ end
368
+
369
+ ##
370
+ # Configurations for individual RPCs
371
+ # @return [Rpcs]
372
+ #
373
+ def rpcs
374
+ @rpcs ||= begin
375
+ parent_rpcs = nil
376
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
377
+ Rpcs.new parent_rpcs
378
+ end
379
+ end
380
+
381
+ ##
382
+ # Configuration for the channel pool
383
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
384
+ #
385
+ def channel_pool
386
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
387
+ end
388
+
389
+ ##
390
+ # Configuration RPC class for the ShareablePreviewService API.
391
+ #
392
+ # Includes fields providing the configuration for each RPC in this service.
393
+ # Each configuration object is of type `Gapic::Config::Method` and includes
394
+ # the following configuration fields:
395
+ #
396
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
397
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
398
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
399
+ # include the following keys:
400
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
401
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
402
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
403
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
404
+ # trigger a retry.
405
+ #
406
+ class Rpcs
407
+ ##
408
+ # RPC-specific configuration for `generate_shareable_previews`
409
+ # @return [::Gapic::Config::Method]
410
+ #
411
+ attr_reader :generate_shareable_previews
412
+
413
+ # @private
414
+ def initialize parent_rpcs = nil
415
+ generate_shareable_previews_config = parent_rpcs.generate_shareable_previews if parent_rpcs.respond_to? :generate_shareable_previews
416
+ @generate_shareable_previews = ::Gapic::Config::Method.new generate_shareable_previews_config
417
+
418
+ yield self if block_given?
419
+ end
420
+ end
421
+ end
422
+ end
423
+ end
424
+ end
425
+ end
426
+ end
427
+ end
428
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "googleauth"
20
+
21
+ module Google
22
+ module Ads
23
+ module GoogleAds
24
+ module V17
25
+ module Services
26
+ module ShareablePreviewService
27
+ # Credentials for the ShareablePreviewService API.
28
+ class Credentials < ::Google::Auth::Credentials
29
+ self.scope = [
30
+ "https://www.googleapis.com/auth/adwords"
31
+ ]
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/common"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/ads/google_ads/version"
24
+
25
+ require "google/ads/google_ads/v17/services/shareable_preview_service/credentials"
26
+ require "google/ads/google_ads/v17/services/shareable_preview_service/client"
27
+
28
+ module Google
29
+ module Ads
30
+ module GoogleAds
31
+ module V17
32
+ module Services
33
+ ##
34
+ # Service to generate Shareable Previews.
35
+ #
36
+ # @example Load this service and instantiate a gRPC client
37
+ #
38
+ # require "google/ads/google_ads/v17/services/shareable_preview_service"
39
+ # client = ::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client.new
40
+ #
41
+ module ShareablePreviewService
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+
49
+ helper_path = ::File.join __dir__, "shareable_preview_service", "helpers.rb"
50
+ require "google/ads/google_ads/v17/services/shareable_preview_service/helpers" if ::File.file? helper_path
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: google/ads/googleads/v17/services/shareable_preview_service.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/api/annotations_pb'
8
+ require 'google/api/client_pb'
9
+ require 'google/api/field_behavior_pb'
10
+ require 'google/rpc/status_pb'
11
+
12
+
13
+ descriptor_data = "\nAgoogle/ads/googleads/v17/services/shareable_preview_service.proto\x12!google.ads.googleads.v17.services\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x17google/rpc/status.proto\"\x92\x01\n GenerateShareablePreviewsRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12T\n\x12shareable_previews\x18\x02 \x03(\x0b\x32\x33.google.ads.googleads.v17.services.ShareablePreviewB\x03\xe0\x41\x02\"p\n\x10ShareablePreview\x12\\\n\x16\x61sset_group_identifier\x18\x01 \x01(\x0b\x32\x37.google.ads.googleads.v17.services.AssetGroupIdentifierB\x03\xe0\x41\x02\"3\n\x14\x41ssetGroupIdentifier\x12\x1b\n\x0e\x61sset_group_id\x18\x01 \x01(\x03\x42\x03\xe0\x41\x02\"r\n!GenerateShareablePreviewsResponse\x12M\n\tresponses\x18\x01 \x03(\x0b\x32:.google.ads.googleads.v17.services.ShareablePreviewOrError\"\xad\x02\n\x17ShareablePreviewOrError\x12W\n\x16\x61sset_group_identifier\x18\x03 \x01(\x0b\x32\x37.google.ads.googleads.v17.services.AssetGroupIdentifier\x12]\n\x18shareable_preview_result\x18\x01 \x01(\x0b\x32\x39.google.ads.googleads.v17.services.ShareablePreviewResultH\x00\x12\x33\n\x15partial_failure_error\x18\x02 \x01(\x0b\x32\x12.google.rpc.StatusH\x00\x42%\n#generate_shareable_preview_response\"U\n\x16ShareablePreviewResult\x12\x1d\n\x15shareable_preview_url\x18\x01 \x01(\t\x12\x1c\n\x14\x65xpiration_date_time\x18\x02 \x01(\t2\xef\x02\n\x17ShareablePreviewService\x12\x8c\x02\n\x19GenerateShareablePreviews\x12\x43.google.ads.googleads.v17.services.GenerateShareablePreviewsRequest\x1a\x44.google.ads.googleads.v17.services.GenerateShareablePreviewsResponse\"d\xda\x41\x1e\x63ustomer_id,shareable_previews\x82\xd3\xe4\x93\x02=\"8/v17/customers/{customer_id=*}:generateShareablePreviews:\x01*\x1a\x45\xca\x41\x18googleads.googleapis.com\xd2\x41\'https://www.googleapis.com/auth/adwordsB\x88\x02\n%com.google.ads.googleads.v17.servicesB\x1cShareablePreviewServiceProtoP\x01ZIgoogle.golang.org/genproto/googleapis/ads/googleads/v17/services;services\xa2\x02\x03GAA\xaa\x02!Google.Ads.GoogleAds.V17.Services\xca\x02!Google\\Ads\\GoogleAds\\V17\\Services\xea\x02%Google::Ads::GoogleAds::V17::Servicesb\x06proto3"
14
+
15
+ pool = Google::Protobuf::DescriptorPool.generated_pool
16
+
17
+ begin
18
+ pool.add_serialized_file(descriptor_data)
19
+ rescue TypeError
20
+ # Compatibility code: will be removed in the next major version.
21
+ require 'google/protobuf/descriptor_pb'
22
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
23
+ parsed.clear_dependency
24
+ serialized = parsed.class.encode(parsed)
25
+ file = pool.add_serialized_file(serialized)
26
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
27
+ imports = [
28
+ ["google.rpc.Status", "google/rpc/status.proto"],
29
+ ]
30
+ imports.each do |type_name, expected_filename|
31
+ import_file = pool.lookup(type_name).file_descriptor
32
+ if import_file.name != expected_filename
33
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
34
+ end
35
+ end
36
+ warn "Each proto file must use a consistent fully-qualified name."
37
+ warn "This will become an error in the next major version."
38
+ end
39
+
40
+ module Google
41
+ module Ads
42
+ module GoogleAds
43
+ module V17
44
+ module Services
45
+ GenerateShareablePreviewsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.GenerateShareablePreviewsRequest").msgclass
46
+ ShareablePreview = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.ShareablePreview").msgclass
47
+ AssetGroupIdentifier = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.AssetGroupIdentifier").msgclass
48
+ GenerateShareablePreviewsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.GenerateShareablePreviewsResponse").msgclass
49
+ ShareablePreviewOrError = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.ShareablePreviewOrError").msgclass
50
+ ShareablePreviewResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.ShareablePreviewResult").msgclass
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,47 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/ads/googleads/v17/services/shareable_preview_service.proto for package 'Google.Ads.GoogleAds.V17.Services'
3
+ # Original file comments:
4
+ # Copyright 2024 Google LLC
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ require 'grpc'
20
+ require 'google/ads/google_ads/v17/services/shareable_preview_service_pb'
21
+
22
+ module Google
23
+ module Ads
24
+ module GoogleAds
25
+ module V17
26
+ module Services
27
+ module ShareablePreviewService
28
+ # Service to generate Shareable Previews.
29
+ class Service
30
+
31
+ include ::GRPC::GenericService
32
+
33
+ self.marshal_class_method = :encode
34
+ self.unmarshal_class_method = :decode
35
+ self.service_name = 'google.ads.googleads.v17.services.ShareablePreviewService'
36
+
37
+ # Returns the requested Shareable Preview.
38
+ rpc :GenerateShareablePreviews, ::Google::Ads::GoogleAds::V17::Services::GenerateShareablePreviewsRequest, ::Google::Ads::GoogleAds::V17::Services::GenerateShareablePreviewsResponse
39
+ end
40
+
41
+ Stub = Service.rpc_stub_class
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -124,6 +124,7 @@ require "google/ads/google_ads/v17/services/product_link_invitation_service"
124
124
  require "google/ads/google_ads/v17/services/product_link_service"
125
125
  require "google/ads/google_ads/v17/services/reach_plan_service"
126
126
  require "google/ads/google_ads/v17/services/recommendation_service"
127
+ require "google/ads/google_ads/v17/services/shareable_preview_service"
127
128
  require "google/ads/google_ads/v17/services/smart_campaign_suggest_service"
128
129
  require "google/ads/google_ads/v17/services/third_party_app_analytics_link_service"
129
130
  require "google/ads/google_ads/v17/services/travel_asset_suggestion_service"
@@ -20,7 +20,7 @@ module Google
20
20
  module Ads
21
21
  module GoogleAds
22
22
  CLIENT_LIB_NAME = 'gccl'.freeze
23
- CLIENT_LIB_VERSION = '29.0.0'.freeze
23
+ CLIENT_LIB_VERSION = '30.0.0'.freeze
24
24
  VERSION = CLIENT_LIB_VERSION
25
25
  end
26
26
  end