google-shopping-css-v1 0.2.1 → 0.4.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 (24) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +30 -20
  3. data/lib/google/shopping/css/v1/account_labels_service/client.rb +28 -5
  4. data/lib/google/shopping/css/v1/account_labels_service/rest/client.rb +28 -5
  5. data/lib/google/shopping/css/v1/account_labels_service/rest/service_stub.rb +46 -26
  6. data/lib/google/shopping/css/v1/accounts_service/client.rb +30 -6
  7. data/lib/google/shopping/css/v1/accounts_service/rest/client.rb +30 -6
  8. data/lib/google/shopping/css/v1/accounts_service/rest/service_stub.rb +38 -20
  9. data/lib/google/shopping/css/v1/css_product_inputs_pb.rb +4 -1
  10. data/lib/google/shopping/css/v1/css_product_inputs_service/client.rb +149 -8
  11. data/lib/google/shopping/css/v1/css_product_inputs_service/rest/client.rb +142 -8
  12. data/lib/google/shopping/css/v1/css_product_inputs_service/rest/service_stub.rb +91 -13
  13. data/lib/google/shopping/css/v1/css_product_inputs_services_pb.rb +5 -0
  14. data/lib/google/shopping/css/v1/css_products_service/client.rb +28 -3
  15. data/lib/google/shopping/css/v1/css_products_service/rest/client.rb +28 -3
  16. data/lib/google/shopping/css/v1/css_products_service/rest/service_stub.rb +30 -14
  17. data/lib/google/shopping/css/v1/version.rb +1 -1
  18. data/proto_docs/google/api/client.rb +19 -0
  19. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  20. data/proto_docs/google/shopping/css/v1/accounts.rb +2 -2
  21. data/proto_docs/google/shopping/css/v1/css_product_common.rb +10 -10
  22. data/proto_docs/google/shopping/css/v1/css_product_inputs.rb +38 -5
  23. data/proto_docs/google/shopping/css/v1/css_products.rb +1 -1
  24. metadata +6 -5
@@ -168,8 +168,28 @@ module Google
168
168
  universe_domain: @config.universe_domain,
169
169
  channel_args: @config.channel_args,
170
170
  interceptors: @config.interceptors,
171
- channel_pool_config: @config.channel_pool
171
+ channel_pool_config: @config.channel_pool,
172
+ logger: @config.logger
172
173
  )
174
+
175
+ @css_products_service_stub.stub_logger&.info do |entry|
176
+ entry.set_system_name
177
+ entry.set_service
178
+ entry.message = "Created client for #{entry.service}"
179
+ entry.set_credentials_fields credentials
180
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
181
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
182
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
183
+ end
184
+ end
185
+
186
+ ##
187
+ # The logger used for request/response debug logging.
188
+ #
189
+ # @return [Logger]
190
+ #
191
+ def logger
192
+ @css_products_service_stub.logger
173
193
  end
174
194
 
175
195
  # Service calls
@@ -256,7 +276,6 @@ module Google
256
276
 
257
277
  @css_products_service_stub.call_rpc :get_css_product, request, options: options do |response, operation|
258
278
  yield response, operation if block_given?
259
- return response
260
279
  end
261
280
  rescue ::GRPC::BadStatus => e
262
281
  raise ::Google::Cloud::Error.from_error(e)
@@ -365,7 +384,7 @@ module Google
365
384
  @css_products_service_stub.call_rpc :list_css_products, request, options: options do |response, operation|
366
385
  response = ::Gapic::PagedEnumerable.new @css_products_service_stub, :list_css_products, request, response, operation, options
367
386
  yield response, operation if block_given?
368
- return response
387
+ throw :response, response
369
388
  end
370
389
  rescue ::GRPC::BadStatus => e
371
390
  raise ::Google::Cloud::Error.from_error(e)
@@ -454,6 +473,11 @@ module Google
454
473
  # default endpoint URL. The default value of nil uses the environment
455
474
  # universe (usually the default "googleapis.com" universe).
456
475
  # @return [::String,nil]
476
+ # @!attribute [rw] logger
477
+ # A custom logger to use for request/response debug logging, or the value
478
+ # `:default` (the default) to construct a default logger, or `nil` to
479
+ # explicitly disable logging.
480
+ # @return [::Logger,:default,nil]
457
481
  #
458
482
  class Configuration
459
483
  extend ::Gapic::Config
@@ -478,6 +502,7 @@ module Google
478
502
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
479
503
  config_attr :quota_project, nil, ::String, nil
480
504
  config_attr :universe_domain, nil, ::String, nil
505
+ config_attr :logger, :default, ::Logger, nil, :default
481
506
 
482
507
  # @private
483
508
  def initialize parent_config = nil
@@ -161,8 +161,28 @@ module Google
161
161
  endpoint: @config.endpoint,
162
162
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
163
163
  universe_domain: @config.universe_domain,
164
- credentials: credentials
164
+ credentials: credentials,
165
+ logger: @config.logger
165
166
  )
167
+
168
+ @css_products_service_stub.logger(stub: true)&.info do |entry|
169
+ entry.set_system_name
170
+ entry.set_service
171
+ entry.message = "Created client for #{entry.service}"
172
+ entry.set_credentials_fields credentials
173
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
174
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
175
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
176
+ end
177
+ end
178
+
179
+ ##
180
+ # The logger used for request/response debug logging.
181
+ #
182
+ # @return [Logger]
183
+ #
184
+ def logger
185
+ @css_products_service_stub.logger
166
186
  end
167
187
 
168
188
  # Service calls
@@ -242,7 +262,6 @@ module Google
242
262
 
243
263
  @css_products_service_stub.get_css_product request, options do |result, operation|
244
264
  yield result, operation if block_given?
245
- return result
246
265
  end
247
266
  rescue ::Gapic::Rest::Error => e
248
267
  raise ::Google::Cloud::Error.from_error(e)
@@ -344,7 +363,7 @@ module Google
344
363
  @css_products_service_stub.list_css_products request, options do |result, operation|
345
364
  result = ::Gapic::Rest::PagedEnumerable.new @css_products_service_stub, :list_css_products, "css_products", request, result, options
346
365
  yield result, operation if block_given?
347
- return result
366
+ throw :response, result
348
367
  end
349
368
  rescue ::Gapic::Rest::Error => e
350
369
  raise ::Google::Cloud::Error.from_error(e)
@@ -424,6 +443,11 @@ module Google
424
443
  # default endpoint URL. The default value of nil uses the environment
425
444
  # universe (usually the default "googleapis.com" universe).
426
445
  # @return [::String,nil]
446
+ # @!attribute [rw] logger
447
+ # A custom logger to use for request/response debug logging, or the value
448
+ # `:default` (the default) to construct a default logger, or `nil` to
449
+ # explicitly disable logging.
450
+ # @return [::Logger,:default,nil]
427
451
  #
428
452
  class Configuration
429
453
  extend ::Gapic::Config
@@ -445,6 +469,7 @@ module Google
445
469
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
446
470
  config_attr :quota_project, nil, ::String, nil
447
471
  config_attr :universe_domain, nil, ::String, nil
472
+ config_attr :logger, :default, ::Logger, nil, :default
448
473
 
449
474
  # @private
450
475
  def initialize parent_config = nil
@@ -30,7 +30,8 @@ module Google
30
30
  # including transcoding, making the REST call, and deserialing the response.
31
31
  #
32
32
  class ServiceStub
33
- def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
33
+ # @private
34
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
34
35
  # These require statements are intentionally placed here to initialize
35
36
  # the REST modules only when it's required.
36
37
  require "gapic/rest"
@@ -40,7 +41,9 @@ module Google
40
41
  universe_domain: universe_domain,
41
42
  credentials: credentials,
42
43
  numeric_enums: true,
43
- raise_faraday_errors: false
44
+ service_name: self.class,
45
+ raise_faraday_errors: false,
46
+ logger: logger
44
47
  end
45
48
 
46
49
  ##
@@ -61,6 +64,15 @@ module Google
61
64
  @client_stub.endpoint
62
65
  end
63
66
 
67
+ ##
68
+ # The logger used for request/response debug logging.
69
+ #
70
+ # @return [Logger]
71
+ #
72
+ def logger stub: false
73
+ stub ? @client_stub.stub_logger : @client_stub.logger
74
+ end
75
+
64
76
  ##
65
77
  # Baseline implementation for the get_css_product REST call
66
78
  #
@@ -87,16 +99,18 @@ module Google
87
99
 
88
100
  response = @client_stub.make_http_request(
89
101
  verb,
90
- uri: uri,
91
- body: body || "",
92
- params: query_string_params,
102
+ uri: uri,
103
+ body: body || "",
104
+ params: query_string_params,
105
+ method_name: "get_css_product",
93
106
  options: options
94
107
  )
95
108
  operation = ::Gapic::Rest::TransportOperation.new response
96
109
  result = ::Google::Shopping::Css::V1::CssProduct.decode_json response.body, ignore_unknown_fields: true
97
-
98
- yield result, operation if block_given?
99
- result
110
+ catch :response do
111
+ yield result, operation if block_given?
112
+ result
113
+ end
100
114
  end
101
115
 
102
116
  ##
@@ -125,16 +139,18 @@ module Google
125
139
 
126
140
  response = @client_stub.make_http_request(
127
141
  verb,
128
- uri: uri,
129
- body: body || "",
130
- params: query_string_params,
142
+ uri: uri,
143
+ body: body || "",
144
+ params: query_string_params,
145
+ method_name: "list_css_products",
131
146
  options: options
132
147
  )
133
148
  operation = ::Gapic::Rest::TransportOperation.new response
134
149
  result = ::Google::Shopping::Css::V1::ListCssProductsResponse.decode_json response.body, ignore_unknown_fields: true
135
-
136
- yield result, operation if block_given?
137
- result
150
+ catch :response do
151
+ yield result, operation if block_given?
152
+ result
153
+ end
138
154
  end
139
155
 
140
156
  ##
@@ -21,7 +21,7 @@ module Google
21
21
  module Shopping
22
22
  module Css
23
23
  module V1
24
- VERSION = "0.2.1"
24
+ VERSION = "0.4.0"
25
25
  end
26
26
  end
27
27
  end
@@ -306,9 +306,28 @@ module Google
306
306
  # @!attribute [rw] common
307
307
  # @return [::Google::Api::CommonLanguageSettings]
308
308
  # Some settings.
309
+ # @!attribute [rw] renamed_services
310
+ # @return [::Google::Protobuf::Map{::String => ::String}]
311
+ # Map of service names to renamed services. Keys are the package relative
312
+ # service names and values are the name to be used for the service client
313
+ # and call options.
314
+ #
315
+ # publishing:
316
+ # go_settings:
317
+ # renamed_services:
318
+ # Publisher: TopicAdmin
309
319
  class GoSettings
310
320
  include ::Google::Protobuf::MessageExts
311
321
  extend ::Google::Protobuf::MessageExts::ClassMethods
322
+
323
+ # @!attribute [rw] key
324
+ # @return [::String]
325
+ # @!attribute [rw] value
326
+ # @return [::String]
327
+ class RenamedServicesEntry
328
+ include ::Google::Protobuf::MessageExts
329
+ extend ::Google::Protobuf::MessageExts::ClassMethods
330
+ end
312
331
  end
313
332
 
314
333
  # Describes the generator configuration for a method.
@@ -0,0 +1,229 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 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
+
20
+ module Google
21
+ module Protobuf
22
+ # `FieldMask` represents a set of symbolic field paths, for example:
23
+ #
24
+ # paths: "f.a"
25
+ # paths: "f.b.d"
26
+ #
27
+ # Here `f` represents a field in some root message, `a` and `b`
28
+ # fields in the message found in `f`, and `d` a field found in the
29
+ # message in `f.b`.
30
+ #
31
+ # Field masks are used to specify a subset of fields that should be
32
+ # returned by a get operation or modified by an update operation.
33
+ # Field masks also have a custom JSON encoding (see below).
34
+ #
35
+ # # Field Masks in Projections
36
+ #
37
+ # When used in the context of a projection, a response message or
38
+ # sub-message is filtered by the API to only contain those fields as
39
+ # specified in the mask. For example, if the mask in the previous
40
+ # example is applied to a response message as follows:
41
+ #
42
+ # f {
43
+ # a : 22
44
+ # b {
45
+ # d : 1
46
+ # x : 2
47
+ # }
48
+ # y : 13
49
+ # }
50
+ # z: 8
51
+ #
52
+ # The result will not contain specific values for fields x,y and z
53
+ # (their value will be set to the default, and omitted in proto text
54
+ # output):
55
+ #
56
+ #
57
+ # f {
58
+ # a : 22
59
+ # b {
60
+ # d : 1
61
+ # }
62
+ # }
63
+ #
64
+ # A repeated field is not allowed except at the last position of a
65
+ # paths string.
66
+ #
67
+ # If a FieldMask object is not present in a get operation, the
68
+ # operation applies to all fields (as if a FieldMask of all fields
69
+ # had been specified).
70
+ #
71
+ # Note that a field mask does not necessarily apply to the
72
+ # top-level response message. In case of a REST get operation, the
73
+ # field mask applies directly to the response, but in case of a REST
74
+ # list operation, the mask instead applies to each individual message
75
+ # in the returned resource list. In case of a REST custom method,
76
+ # other definitions may be used. Where the mask applies will be
77
+ # clearly documented together with its declaration in the API. In
78
+ # any case, the effect on the returned resource/resources is required
79
+ # behavior for APIs.
80
+ #
81
+ # # Field Masks in Update Operations
82
+ #
83
+ # A field mask in update operations specifies which fields of the
84
+ # targeted resource are going to be updated. The API is required
85
+ # to only change the values of the fields as specified in the mask
86
+ # and leave the others untouched. If a resource is passed in to
87
+ # describe the updated values, the API ignores the values of all
88
+ # fields not covered by the mask.
89
+ #
90
+ # If a repeated field is specified for an update operation, new values will
91
+ # be appended to the existing repeated field in the target resource. Note that
92
+ # a repeated field is only allowed in the last position of a `paths` string.
93
+ #
94
+ # If a sub-message is specified in the last position of the field mask for an
95
+ # update operation, then new value will be merged into the existing sub-message
96
+ # in the target resource.
97
+ #
98
+ # For example, given the target message:
99
+ #
100
+ # f {
101
+ # b {
102
+ # d: 1
103
+ # x: 2
104
+ # }
105
+ # c: [1]
106
+ # }
107
+ #
108
+ # And an update message:
109
+ #
110
+ # f {
111
+ # b {
112
+ # d: 10
113
+ # }
114
+ # c: [2]
115
+ # }
116
+ #
117
+ # then if the field mask is:
118
+ #
119
+ # paths: ["f.b", "f.c"]
120
+ #
121
+ # then the result will be:
122
+ #
123
+ # f {
124
+ # b {
125
+ # d: 10
126
+ # x: 2
127
+ # }
128
+ # c: [1, 2]
129
+ # }
130
+ #
131
+ # An implementation may provide options to override this default behavior for
132
+ # repeated and message fields.
133
+ #
134
+ # In order to reset a field's value to the default, the field must
135
+ # be in the mask and set to the default value in the provided resource.
136
+ # Hence, in order to reset all fields of a resource, provide a default
137
+ # instance of the resource and set all fields in the mask, or do
138
+ # not provide a mask as described below.
139
+ #
140
+ # If a field mask is not present on update, the operation applies to
141
+ # all fields (as if a field mask of all fields has been specified).
142
+ # Note that in the presence of schema evolution, this may mean that
143
+ # fields the client does not know and has therefore not filled into
144
+ # the request will be reset to their default. If this is unwanted
145
+ # behavior, a specific service may require a client to always specify
146
+ # a field mask, producing an error if not.
147
+ #
148
+ # As with get operations, the location of the resource which
149
+ # describes the updated values in the request message depends on the
150
+ # operation kind. In any case, the effect of the field mask is
151
+ # required to be honored by the API.
152
+ #
153
+ # ## Considerations for HTTP REST
154
+ #
155
+ # The HTTP kind of an update operation which uses a field mask must
156
+ # be set to PATCH instead of PUT in order to satisfy HTTP semantics
157
+ # (PUT must only be used for full updates).
158
+ #
159
+ # # JSON Encoding of Field Masks
160
+ #
161
+ # In JSON, a field mask is encoded as a single string where paths are
162
+ # separated by a comma. Fields name in each path are converted
163
+ # to/from lower-camel naming conventions.
164
+ #
165
+ # As an example, consider the following message declarations:
166
+ #
167
+ # message Profile {
168
+ # User user = 1;
169
+ # Photo photo = 2;
170
+ # }
171
+ # message User {
172
+ # string display_name = 1;
173
+ # string address = 2;
174
+ # }
175
+ #
176
+ # In proto a field mask for `Profile` may look as such:
177
+ #
178
+ # mask {
179
+ # paths: "user.display_name"
180
+ # paths: "photo"
181
+ # }
182
+ #
183
+ # In JSON, the same mask is represented as below:
184
+ #
185
+ # {
186
+ # mask: "user.displayName,photo"
187
+ # }
188
+ #
189
+ # # Field Masks and Oneof Fields
190
+ #
191
+ # Field masks treat fields in oneofs just as regular fields. Consider the
192
+ # following message:
193
+ #
194
+ # message SampleMessage {
195
+ # oneof test_oneof {
196
+ # string name = 4;
197
+ # SubMessage sub_message = 9;
198
+ # }
199
+ # }
200
+ #
201
+ # The field mask can be:
202
+ #
203
+ # mask {
204
+ # paths: "name"
205
+ # }
206
+ #
207
+ # Or:
208
+ #
209
+ # mask {
210
+ # paths: "sub_message"
211
+ # }
212
+ #
213
+ # Note that oneof type names ("test_oneof" in this case) cannot be used in
214
+ # paths.
215
+ #
216
+ # ## Field Mask Verification
217
+ #
218
+ # The implementation of any API method which has a FieldMask type field in the
219
+ # request should verify the included field paths, and return an
220
+ # `INVALID_ARGUMENT` error if any path is unmappable.
221
+ # @!attribute [rw] paths
222
+ # @return [::Array<::String>]
223
+ # The set of field mask paths.
224
+ class FieldMask
225
+ include ::Google::Protobuf::MessageExts
226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
+ end
228
+ end
229
+ end
@@ -37,8 +37,8 @@ module Google
37
37
  # @return [::Integer]
38
38
  # Optional. The maximum number of accounts to return. The service may return
39
39
  # fewer than this value. If unspecified, at most 50 accounts will be
40
- # returned. The maximum value is 1000; values above 1000 will be coerced to
41
- # 1000.
40
+ # returned. The maximum value is 100; values above 100 will be coerced to
41
+ # 100.
42
42
  # @!attribute [rw] page_token
43
43
  # @return [::String]
44
44
  # Optional. A page token, received from a previous `ListChildAccounts` call.
@@ -34,19 +34,19 @@ module Google
34
34
  # within the context of Product Ads.
35
35
  # @!attribute [rw] low_price
36
36
  # @return [::Google::Shopping::Type::Price]
37
- # Low Price of the aggregate offer.
37
+ # Low Price of the CSS Product.
38
38
  # @!attribute [rw] high_price
39
39
  # @return [::Google::Shopping::Type::Price]
40
- # High Price of the aggregate offer.
40
+ # High Price of the CSS Product.
41
41
  # @!attribute [rw] number_of_offers
42
42
  # @return [::Integer]
43
- # The number of aggregate offers.
43
+ # The number of CSS Products.
44
44
  # @!attribute [rw] headline_offer_condition
45
45
  # @return [::String]
46
46
  # Condition of the headline offer.
47
47
  # @!attribute [rw] headline_offer_price
48
48
  # @return [::Google::Shopping::Type::Price]
49
- # Headline Price of the aggregate offer.
49
+ # Headline Price of the CSS Product.
50
50
  # @!attribute [rw] headline_offer_link
51
51
  # @return [::String]
52
52
  # Link to the headline offer.
@@ -55,7 +55,7 @@ module Google
55
55
  # Mobile Link to the headline offer.
56
56
  # @!attribute [rw] headline_offer_shipping_price
57
57
  # @return [::Google::Shopping::Type::Price]
58
- # Headline Price of the aggregate offer.
58
+ # Headline Price of the CSS Product.
59
59
  # @!attribute [rw] title
60
60
  # @return [::String]
61
61
  # Title of the item.
@@ -311,15 +311,15 @@ module Google
311
311
  # The name of the destination
312
312
  # @!attribute [rw] approved_countries
313
313
  # @return [::Array<::String>]
314
- # List of country codes (ISO 3166-1 alpha-2) where the aggregate offer is
314
+ # List of country codes (ISO 3166-1 alpha-2) where the CSS Product is
315
315
  # approved.
316
316
  # @!attribute [rw] pending_countries
317
317
  # @return [::Array<::String>]
318
- # List of country codes (ISO 3166-1 alpha-2) where the aggregate offer is
318
+ # List of country codes (ISO 3166-1 alpha-2) where the CSS Product is
319
319
  # pending approval.
320
320
  # @!attribute [rw] disapproved_countries
321
321
  # @return [::Array<::String>]
322
- # List of country codes (ISO 3166-1 alpha-2) where the aggregate offer is
322
+ # List of country codes (ISO 3166-1 alpha-2) where the CSS Product is
323
323
  # disapproved.
324
324
  class DestinationStatus
325
325
  include ::Google::Protobuf::MessageExts
@@ -332,7 +332,7 @@ module Google
332
332
  # The error code of the issue.
333
333
  # @!attribute [rw] servability
334
334
  # @return [::String]
335
- # How this issue affects serving of the aggregate offer.
335
+ # How this issue affects serving of the CSS Product.
336
336
  # @!attribute [rw] resolution
337
337
  # @return [::String]
338
338
  # Whether the issue can be resolved by the merchant.
@@ -354,7 +354,7 @@ module Google
354
354
  # @!attribute [rw] applicable_countries
355
355
  # @return [::Array<::String>]
356
356
  # List of country codes (ISO 3166-1 alpha-2) where issue applies to the
357
- # aggregate offer.
357
+ # CSS Product.
358
358
  class ItemLevelIssue
359
359
  include ::Google::Protobuf::MessageExts
360
360
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -55,7 +55,9 @@ module Google
55
55
  # Feed Label is synonymous to "target country" and hence should always be a
56
56
  # valid region code. For example: 'DE' for Germany, 'FR' for France.
57
57
  # @!attribute [rw] freshness_time
58
+ # @deprecated This field is deprecated and may be removed in the next major version update.
58
59
  # @return [::Google::Protobuf::Timestamp]
60
+ # DEPRECATED. Use expiration_date instead.
59
61
  # Represents the existing version (freshness) of the CSS Product, which
60
62
  # can be used to preserve the right order when multiple updates are done at
61
63
  # the same time.
@@ -98,17 +100,48 @@ module Google
98
100
  # @return [::Google::Shopping::Css::V1::CssProductInput]
99
101
  # Required. The CSS Product Input to insert.
100
102
  # @!attribute [rw] feed_id
103
+ # @deprecated This field is deprecated and may be removed in the next major version update.
101
104
  # @return [::Integer]
102
- # Required. The primary or supplemental feed id. If CSS Product already
103
- # exists and feed id provided is different, then the CSS Product will be
104
- # moved to a new feed. Note: For now, CSSs do not need to provide feed ids as
105
- # we create feeds on the fly. We do not have supplemental feed support for
106
- # CSS Products yet.
105
+ # Optional. DEPRECATED. Feed id is not required for CSS Products.
106
+ # The primary or supplemental feed id. If CSS Product already exists and
107
+ # feed id provided is different, then the CSS Product will be moved to a
108
+ # new feed.
109
+ # Note: For now, CSSs do not need to provide feed ids as we create
110
+ # feeds on the fly.
111
+ # We do not have supplemental feed support for CSS Products yet.
107
112
  class InsertCssProductInputRequest
108
113
  include ::Google::Protobuf::MessageExts
109
114
  extend ::Google::Protobuf::MessageExts::ClassMethods
110
115
  end
111
116
 
117
+ # Request message for the UpdateCssProductInput method.
118
+ # @!attribute [rw] css_product_input
119
+ # @return [::Google::Shopping::Css::V1::CssProductInput]
120
+ # Required. The CSS product input resource to update. Information you submit
121
+ # will be applied to the processed CSS product as well.
122
+ # @!attribute [rw] update_mask
123
+ # @return [::Google::Protobuf::FieldMask]
124
+ # The list of CSS product attributes to be updated.
125
+ #
126
+ # If the update mask is omitted, then it is treated as implied field mask
127
+ # equivalent to all fields that are populated (have a non-empty value).
128
+ #
129
+ # Attributes specified in the update mask without a value specified in the
130
+ # body will be deleted from the CSS product.
131
+ #
132
+ # Update mask can only be specified for top level fields in
133
+ # attributes and custom attributes.
134
+ #
135
+ # To specify the update mask for custom attributes you need to add the
136
+ # `custom_attribute.` prefix.
137
+ #
138
+ # Providing special "*" value for full CSS product replacement is not
139
+ # supported.
140
+ class UpdateCssProductInputRequest
141
+ include ::Google::Protobuf::MessageExts
142
+ extend ::Google::Protobuf::MessageExts::ClassMethods
143
+ end
144
+
112
145
  # Request message for the DeleteCssProductInput method.
113
146
  # @!attribute [rw] name
114
147
  # @return [::String]
@@ -30,7 +30,7 @@ module Google
30
30
  extend ::Google::Protobuf::MessageExts::ClassMethods
31
31
  end
32
32
 
33
- # The processed CSS Product(a.k.a Aggregate Offer internally).
33
+ # The processed CSS Product.
34
34
  # @!attribute [rw] name
35
35
  # @return [::String]
36
36
  # The name of the CSS Product.