google-api-client 0.8.7 → 0.9.pre1

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 (397) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +20 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +7 -0
  5. data/.rubocop_todo.yml +63 -0
  6. data/.travis.yml +21 -0
  7. data/.yardopts +12 -0
  8. data/CHANGELOG.md +6 -3
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +28 -2
  11. data/MIGRATING.md +171 -0
  12. data/README.md +158 -150
  13. data/Rakefile +1 -40
  14. data/api_names.yaml +872 -0
  15. data/api_names_out.yaml +20843 -0
  16. data/bin/generate-api +93 -0
  17. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  18. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1124 -0
  19. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +375 -0
  20. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +893 -0
  21. data/generated/google/apis/adexchangeseller_v2_0.rb +38 -0
  22. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  23. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +309 -0
  24. data/generated/google/apis/adexchangeseller_v2_0/service.rb +682 -0
  25. data/generated/google/apis/admin_directory_v1.rb +89 -0
  26. data/generated/google/apis/admin_directory_v1/classes.rb +2389 -0
  27. data/generated/google/apis/admin_directory_v1/representations.rb +780 -0
  28. data/generated/google/apis/admin_directory_v1/service.rb +2805 -0
  29. data/generated/google/apis/admin_reports_v1.rb +38 -0
  30. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  31. data/generated/google/apis/admin_reports_v1/representations.rb +231 -0
  32. data/generated/google/apis/admin_reports_v1/service.rb +341 -0
  33. data/generated/google/apis/adsense_v1_4.rb +38 -0
  34. data/generated/google/apis/adsense_v1_4/classes.rb +1279 -0
  35. data/generated/google/apis/adsense_v1_4/representations.rb +493 -0
  36. data/generated/google/apis/adsense_v1_4/service.rb +1752 -0
  37. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  38. data/generated/google/apis/adsensehost_v4_1/classes.rb +834 -0
  39. data/generated/google/apis/adsensehost_v4_1/representations.rb +327 -0
  40. data/generated/google/apis/adsensehost_v4_1/service.rb +1190 -0
  41. data/generated/google/apis/analytics_v3.rb +49 -0
  42. data/generated/google/apis/analytics_v3/classes.rb +5113 -0
  43. data/generated/google/apis/analytics_v3/representations.rb +1661 -0
  44. data/generated/google/apis/analytics_v3/service.rb +3600 -0
  45. data/generated/google/apis/androidenterprise_v1.rb +34 -0
  46. data/generated/google/apis/androidenterprise_v1/classes.rb +1162 -0
  47. data/generated/google/apis/androidenterprise_v1/representations.rb +431 -0
  48. data/generated/google/apis/androidenterprise_v1/service.rb +1979 -0
  49. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  50. data/generated/google/apis/androidpublisher_v2/classes.rb +1374 -0
  51. data/generated/google/apis/androidpublisher_v2/representations.rb +630 -0
  52. data/generated/google/apis/androidpublisher_v2/service.rb +2390 -0
  53. data/generated/google/apis/appsactivity_v1.rb +46 -0
  54. data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
  55. data/generated/google/apis/appsactivity_v1/representations.rb +184 -0
  56. data/generated/google/apis/appsactivity_v1/service.rb +129 -0
  57. data/generated/google/apis/appstate_v1.rb +34 -0
  58. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  59. data/generated/google/apis/appstate_v1/representations.rb +79 -0
  60. data/generated/google/apis/appstate_v1/service.rb +265 -0
  61. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  62. data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
  63. data/generated/google/apis/autoscaler_v1beta2/representations.rb +281 -0
  64. data/generated/google/apis/autoscaler_v1beta2/service.rb +488 -0
  65. data/generated/google/apis/bigquery_v2.rb +49 -0
  66. data/generated/google/apis/bigquery_v2/classes.rb +2255 -0
  67. data/generated/google/apis/bigquery_v2/representations.rb +754 -0
  68. data/generated/google/apis/bigquery_v2/service.rb +1003 -0
  69. data/generated/google/apis/blogger_v3.rb +37 -0
  70. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  71. data/generated/google/apis/blogger_v3/representations.rb +562 -0
  72. data/generated/google/apis/blogger_v3/service.rb +1620 -0
  73. data/generated/google/apis/books_v1.rb +34 -0
  74. data/generated/google/apis/books_v1/classes.rb +3515 -0
  75. data/generated/google/apis/books_v1/representations.rb +1361 -0
  76. data/generated/google/apis/books_v1/service.rb +2170 -0
  77. data/generated/google/apis/calendar_v3.rb +37 -0
  78. data/generated/google/apis/calendar_v3/classes.rb +1702 -0
  79. data/generated/google/apis/calendar_v3/representations.rb +566 -0
  80. data/generated/google/apis/calendar_v3/service.rb +1943 -0
  81. data/generated/google/apis/civicinfo_v2.rb +31 -0
  82. data/generated/google/apis/civicinfo_v2/classes.rb +1057 -0
  83. data/generated/google/apis/civicinfo_v2/representations.rb +374 -0
  84. data/generated/google/apis/civicinfo_v2/service.rb +284 -0
  85. data/generated/google/apis/cloudmonitoring_v2beta2.rb +34 -0
  86. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  87. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +311 -0
  88. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +458 -0
  89. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  90. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +139 -0
  91. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +65 -0
  92. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +301 -0
  93. data/generated/google/apis/compute_v1.rb +49 -0
  94. data/generated/google/apis/compute_v1/classes.rb +6391 -0
  95. data/generated/google/apis/compute_v1/representations.rb +2209 -0
  96. data/generated/google/apis/compute_v1/service.rb +6352 -0
  97. data/generated/google/apis/container_v1beta1.rb +35 -0
  98. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  99. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  100. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  101. data/generated/google/apis/content_v2.rb +35 -0
  102. data/generated/google/apis/content_v2/classes.rb +3780 -0
  103. data/generated/google/apis/content_v2/representations.rb +1456 -0
  104. data/generated/google/apis/content_v2/service.rb +1706 -0
  105. data/generated/google/apis/coordinate_v1.rb +37 -0
  106. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  107. data/generated/google/apis/coordinate_v1/representations.rb +285 -0
  108. data/generated/google/apis/coordinate_v1/service.rb +687 -0
  109. data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
  110. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  111. data/generated/google/apis/customsearch_v1/representations.rb +276 -0
  112. data/generated/google/apis/customsearch_v1/service.rb +208 -0
  113. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  114. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  115. data/generated/google/apis/datastore_v1beta2/representations.rb +526 -0
  116. data/generated/google/apis/datastore_v1beta2/service.rb +300 -0
  117. data/generated/google/apis/deploymentmanager_v2beta2.rb +41 -0
  118. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +820 -0
  119. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +303 -0
  120. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +647 -0
  121. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  122. data/generated/google/apis/dfareporting_v2_1/classes.rb +10755 -0
  123. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  124. data/generated/google/apis/dfareporting_v2_1/service.rb +8775 -0
  125. data/generated/google/apis/discovery_v1.rb +32 -0
  126. data/generated/google/apis/discovery_v1/classes.rb +947 -0
  127. data/generated/google/apis/discovery_v1/representations.rb +355 -0
  128. data/generated/google/apis/discovery_v1/service.rb +144 -0
  129. data/generated/google/apis/dns_v1.rb +41 -0
  130. data/generated/google/apis/dns_v1/classes.rb +406 -0
  131. data/generated/google/apis/dns_v1/representations.rb +151 -0
  132. data/generated/google/apis/dns_v1/service.rb +460 -0
  133. data/{spec/google/api_client/request_spec.rb → generated/google/apis/doubleclickbidmanager_v1.rb} +15 -13
  134. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +709 -0
  135. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +297 -0
  136. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +349 -0
  137. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  138. data/generated/google/apis/doubleclicksearch_v2/classes.rb +947 -0
  139. data/generated/google/apis/doubleclicksearch_v2/representations.rb +315 -0
  140. data/generated/google/apis/doubleclicksearch_v2/service.rb +490 -0
  141. data/generated/google/apis/drive_v2.rb +55 -0
  142. data/generated/google/apis/drive_v2/classes.rb +2519 -0
  143. data/generated/google/apis/drive_v2/representations.rb +781 -0
  144. data/generated/google/apis/drive_v2/service.rb +2685 -0
  145. data/generated/google/apis/fitness_v1.rb +49 -0
  146. data/generated/google/apis/fitness_v1/classes.rb +809 -0
  147. data/generated/google/apis/fitness_v1/representations.rb +295 -0
  148. data/generated/google/apis/fitness_v1/service.rb +684 -0
  149. data/generated/google/apis/fusiontables_v2.rb +37 -0
  150. data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
  151. data/generated/google/apis/fusiontables_v2/representations.rb +409 -0
  152. data/generated/google/apis/fusiontables_v2/service.rb +1496 -0
  153. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  154. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  155. data/generated/google/apis/games_configuration_v1configuration/representations.rb +206 -0
  156. data/generated/google/apis/games_configuration_v1configuration/service.rb +578 -0
  157. data/generated/google/apis/games_v1.rb +40 -0
  158. data/generated/google/apis/games_v1/classes.rb +4578 -0
  159. data/generated/google/apis/games_v1/representations.rb +1570 -0
  160. data/generated/google/apis/games_v1/service.rb +2306 -0
  161. data/generated/google/apis/gan_v1beta1.rb +31 -0
  162. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  163. data/generated/google/apis/gan_v1beta1/representations.rb +428 -0
  164. data/generated/google/apis/gan_v1beta1/service.rb +692 -0
  165. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  166. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  167. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  168. data/generated/google/apis/genomics_v1beta2/service.rb +2356 -0
  169. data/generated/google/apis/gmail_v1.rb +49 -0
  170. data/generated/google/apis/gmail_v1/classes.rb +794 -0
  171. data/generated/google/apis/gmail_v1/representations.rb +339 -0
  172. data/generated/google/apis/gmail_v1/service.rb +1502 -0
  173. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  174. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  175. data/generated/google/apis/groupsmigration_v1/representations.rb +38 -0
  176. data/generated/google/apis/groupsmigration_v1/service.rb +111 -0
  177. data/generated/google/apis/groupssettings_v1.rb +34 -0
  178. data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
  179. data/generated/google/apis/groupssettings_v1/representations.rb +64 -0
  180. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  181. data/generated/google/apis/identitytoolkit_v3.rb +31 -0
  182. data/generated/google/apis/identitytoolkit_v3/classes.rb +1229 -0
  183. data/generated/google/apis/identitytoolkit_v3/representations.rb +422 -0
  184. data/generated/google/apis/identitytoolkit_v3/service.rb +491 -0
  185. data/generated/google/apis/licensing_v1.rb +34 -0
  186. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  187. data/generated/google/apis/licensing_v1/representations.rb +68 -0
  188. data/generated/google/apis/licensing_v1/service.rb +376 -0
  189. data/generated/google/apis/logging_v1beta3.rb +35 -0
  190. data/generated/google/apis/logging_v1beta3/classes.rb +505 -0
  191. data/generated/google/apis/logging_v1beta3/representations.rb +222 -0
  192. data/generated/google/apis/logging_v1beta3/service.rb +670 -0
  193. data/generated/google/apis/manager_v1beta2.rb +50 -0
  194. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  195. data/generated/google/apis/manager_v1beta2/representations.rb +536 -0
  196. data/generated/google/apis/manager_v1beta2/service.rb +380 -0
  197. data/generated/google/apis/mapsengine_v1.rb +38 -0
  198. data/generated/google/apis/mapsengine_v1/classes.rb +2873 -0
  199. data/generated/google/apis/mapsengine_v1/representations.rb +1235 -0
  200. data/generated/google/apis/mapsengine_v1/service.rb +3465 -0
  201. data/generated/google/apis/mirror_v1.rb +37 -0
  202. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  203. data/generated/google/apis/mirror_v1/representations.rb +350 -0
  204. data/generated/google/apis/mirror_v1/service.rb +1001 -0
  205. data/generated/google/apis/oauth2_v2.rb +43 -0
  206. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  207. data/generated/google/apis/oauth2_v2/representations.rb +94 -0
  208. data/generated/google/apis/oauth2_v2/service.rb +203 -0
  209. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  210. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  211. data/generated/google/apis/pagespeedonline_v2/representations.rb +244 -0
  212. data/generated/google/apis/pagespeedonline_v2/service.rb +120 -0
  213. data/generated/google/apis/plus_domains_v1.rb +61 -0
  214. data/generated/google/apis/plus_domains_v1/classes.rb +2402 -0
  215. data/generated/google/apis/plus_domains_v1/representations.rb +873 -0
  216. data/generated/google/apis/plus_domains_v1/service.rb +924 -0
  217. data/generated/google/apis/plus_v1.rb +43 -0
  218. data/generated/google/apis/plus_v1/classes.rb +2384 -0
  219. data/generated/google/apis/plus_v1/representations.rb +812 -0
  220. data/generated/google/apis/plus_v1/service.rb +616 -0
  221. data/generated/google/apis/prediction_v1_6.rb +44 -0
  222. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  223. data/generated/google/apis/prediction_v1_6/representations.rb +327 -0
  224. data/generated/google/apis/prediction_v1_6/service.rb +388 -0
  225. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  226. data/generated/google/apis/pubsub_v1beta2/classes.rb +824 -0
  227. data/generated/google/apis/pubsub_v1beta2/representations.rb +366 -0
  228. data/generated/google/apis/pubsub_v1beta2/service.rb +778 -0
  229. data/generated/google/apis/qpx_express_v1.rb +31 -0
  230. data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
  231. data/generated/google/apis/qpx_express_v1/representations.rb +424 -0
  232. data/generated/google/apis/qpx_express_v1/service.rb +101 -0
  233. data/generated/google/apis/replicapool_v1beta2.rb +41 -0
  234. data/generated/google/apis/replicapool_v1beta2/classes.rb +621 -0
  235. data/generated/google/apis/replicapool_v1beta2/representations.rb +235 -0
  236. data/generated/google/apis/replicapool_v1beta2/service.rb +620 -0
  237. data/generated/google/apis/replicapoolupdater_v1beta1.rb +41 -0
  238. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +682 -0
  239. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +247 -0
  240. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +472 -0
  241. data/generated/google/apis/reseller_v1.rb +37 -0
  242. data/generated/google/apis/reseller_v1/classes.rb +502 -0
  243. data/generated/google/apis/reseller_v1/representations.rb +199 -0
  244. data/generated/google/apis/reseller_v1/service.rb +637 -0
  245. data/generated/google/apis/resourceviews_v1beta2.rb +47 -0
  246. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  247. data/generated/google/apis/resourceviews_v1beta2/representations.rb +269 -0
  248. data/generated/google/apis/resourceviews_v1beta2/service.rb +574 -0
  249. data/generated/google/apis/site_verification_v1.rb +37 -0
  250. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  251. data/generated/google/apis/site_verification_v1/representations.rb +101 -0
  252. data/generated/google/apis/site_verification_v1/service.rb +322 -0
  253. data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
  254. data/generated/google/apis/sqladmin_v1beta4/classes.rb +1817 -0
  255. data/generated/google/apis/sqladmin_v1beta4/representations.rb +688 -0
  256. data/generated/google/apis/sqladmin_v1beta4/service.rb +1534 -0
  257. data/generated/google/apis/storage_v1.rb +43 -0
  258. data/generated/google/apis/storage_v1/classes.rb +1177 -0
  259. data/generated/google/apis/storage_v1/representations.rb +427 -0
  260. data/generated/google/apis/storage_v1/service.rb +1920 -0
  261. data/generated/google/apis/tagmanager_v1.rb +52 -0
  262. data/generated/google/apis/tagmanager_v1/classes.rb +1226 -0
  263. data/generated/google/apis/tagmanager_v1/representations.rb +461 -0
  264. data/generated/google/apis/tagmanager_v1/service.rb +1978 -0
  265. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  266. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  267. data/generated/google/apis/taskqueue_v1beta2/representations.rb +114 -0
  268. data/generated/google/apis/taskqueue_v1beta2/service.rb +416 -0
  269. data/generated/google/apis/tasks_v1.rb +37 -0
  270. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  271. data/generated/google/apis/tasks_v1/representations.rb +115 -0
  272. data/generated/google/apis/tasks_v1/service.rb +657 -0
  273. data/generated/google/apis/translate_v2.rb +31 -0
  274. data/generated/google/apis/translate_v2/classes.rb +168 -0
  275. data/generated/google/apis/translate_v2/representations.rb +109 -0
  276. data/generated/google/apis/translate_v2/service.rb +185 -0
  277. data/generated/google/apis/urlshortener_v1.rb +34 -0
  278. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  279. data/generated/google/apis/urlshortener_v1/representations.rb +111 -0
  280. data/generated/google/apis/urlshortener_v1/service.rb +179 -0
  281. data/generated/google/apis/webmasters_v3.rb +37 -0
  282. data/generated/google/apis/webmasters_v3/classes.rb +563 -0
  283. data/generated/google/apis/webmasters_v3/representations.rb +250 -0
  284. data/generated/google/apis/webmasters_v3/service.rb +587 -0
  285. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  286. data/generated/google/apis/youtube_analytics_v1/classes.rb +540 -0
  287. data/generated/google/apis/youtube_analytics_v1/representations.rb +242 -0
  288. data/generated/google/apis/youtube_analytics_v1/service.rb +567 -0
  289. data/generated/google/apis/youtube_v3.rb +49 -0
  290. data/generated/google/apis/youtube_v3/classes.rb +7225 -0
  291. data/generated/google/apis/youtube_v3/representations.rb +2529 -0
  292. data/generated/google/apis/youtube_v3/service.rb +4051 -0
  293. data/google-api-client.gemspec +27 -39
  294. data/lib/google/api_client/auth/storage.rb +3 -2
  295. data/lib/google/api_client/auth/storages/file_store.rb +1 -3
  296. data/lib/google/api_client/auth/storages/redis_store.rb +6 -2
  297. data/lib/google/apis.rb +48 -0
  298. data/lib/google/apis/core/api_command.rb +128 -0
  299. data/lib/google/apis/core/base_service.rb +314 -0
  300. data/lib/google/apis/core/batch.rb +222 -0
  301. data/lib/google/apis/core/download.rb +94 -0
  302. data/lib/google/apis/core/hashable.rb +44 -0
  303. data/lib/google/apis/core/http_command.rb +275 -0
  304. data/lib/google/apis/core/json_representation.rb +122 -0
  305. data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
  306. data/lib/google/apis/core/multipart.rb +173 -0
  307. data/lib/google/apis/core/upload.rb +275 -0
  308. data/lib/google/{api_client → apis}/errors.rb +32 -28
  309. data/lib/google/apis/generator.rb +70 -0
  310. data/lib/google/apis/generator/annotator.rb +271 -0
  311. data/lib/google/apis/generator/helpers.rb +74 -0
  312. data/lib/google/apis/generator/model.rb +130 -0
  313. data/lib/google/apis/generator/template.rb +124 -0
  314. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  315. data/lib/google/apis/generator/templates/_method.tmpl +90 -0
  316. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  317. data/lib/google/apis/generator/templates/_representation_stub.tmpl +15 -0
  318. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  319. data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
  320. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  321. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  322. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  323. data/lib/google/apis/options.rb +79 -0
  324. data/lib/google/apis/version.rb +39 -0
  325. data/rakelib/metrics.rake +22 -0
  326. data/rakelib/rubocop.rake +10 -0
  327. data/rakelib/spec.rake +11 -0
  328. data/rakelib/yard.rake +11 -0
  329. data/samples/calendar/calendar.rb +43 -0
  330. data/samples/drive/drive.rb +40 -0
  331. data/samples/pubsub/pubsub.rb +52 -0
  332. data/{lib/google/api_client/discovery.rb → samples/translate/translate.rb} +14 -5
  333. data/script/generate +79 -0
  334. data/script/package +8 -0
  335. data/script/release +15 -0
  336. data/spec/fixtures/files/api_names.yaml +3 -0
  337. data/spec/fixtures/files/auth_stored_credentials.json +8 -0
  338. data/spec/fixtures/files/client_secrets.json +1 -0
  339. data/spec/fixtures/files/test.blah +1 -0
  340. data/spec/fixtures/files/test.txt +1 -0
  341. data/spec/fixtures/files/test_api.json +440 -0
  342. data/spec/google/api_client/auth/storage_spec.rb +1 -3
  343. data/spec/google/api_client/auth/storages/file_store_spec.rb +1 -2
  344. data/spec/google/api_client/auth/storages/redis_store_spec.rb +1 -3
  345. data/spec/google/apis/core/api_command_spec.rb +170 -0
  346. data/spec/google/apis/core/batch_spec.rb +128 -0
  347. data/spec/google/apis/core/download_spec.rb +90 -0
  348. data/spec/google/apis/core/hashable_spec.rb +60 -0
  349. data/spec/google/apis/core/http_command_spec.rb +238 -0
  350. data/spec/google/apis/core/json_representation_spec.rb +192 -0
  351. data/spec/google/apis/core/service_spec.rb +247 -0
  352. data/spec/google/apis/core/upload_spec.rb +238 -0
  353. data/{lib/google/api_client/service_account.rb → spec/google/apis/generated_spec.rb} +14 -8
  354. data/spec/google/apis/generator/generator_spec.rb +272 -0
  355. data/spec/google/apis/logging_spec.rb +45 -0
  356. data/spec/google/apis/options_spec.rb +40 -0
  357. data/spec/integration_tests/drive_spec.rb +35 -0
  358. data/spec/integration_tests/pubsub_spec.rb +48 -0
  359. data/spec/integration_tests/url_shortener_spec.rb +31 -0
  360. data/spec/spec_helper.rb +102 -46
  361. metadata +433 -178
  362. data/lib/compat/multi_json.rb +0 -19
  363. data/lib/google/api_client.rb +0 -750
  364. data/lib/google/api_client/auth/file_storage.rb +0 -59
  365. data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
  366. data/lib/google/api_client/auth/key_utils.rb +0 -93
  367. data/lib/google/api_client/auth/pkcs12.rb +0 -41
  368. data/lib/google/api_client/batch.rb +0 -326
  369. data/lib/google/api_client/charset.rb +0 -33
  370. data/lib/google/api_client/discovery/api.rb +0 -310
  371. data/lib/google/api_client/discovery/media.rb +0 -77
  372. data/lib/google/api_client/discovery/method.rb +0 -363
  373. data/lib/google/api_client/discovery/resource.rb +0 -156
  374. data/lib/google/api_client/discovery/schema.rb +0 -117
  375. data/lib/google/api_client/environment.rb +0 -42
  376. data/lib/google/api_client/gzip.rb +0 -28
  377. data/lib/google/api_client/logging.rb +0 -32
  378. data/lib/google/api_client/media.rb +0 -259
  379. data/lib/google/api_client/railtie.rb +0 -18
  380. data/lib/google/api_client/request.rb +0 -350
  381. data/lib/google/api_client/result.rb +0 -255
  382. data/lib/google/api_client/service.rb +0 -233
  383. data/lib/google/api_client/service/batch.rb +0 -110
  384. data/lib/google/api_client/service/request.rb +0 -144
  385. data/lib/google/api_client/service/resource.rb +0 -40
  386. data/lib/google/api_client/service/result.rb +0 -162
  387. data/lib/google/api_client/service/simple_file_store.rb +0 -151
  388. data/lib/google/api_client/service/stub_generator.rb +0 -61
  389. data/spec/google/api_client/batch_spec.rb +0 -248
  390. data/spec/google/api_client/discovery_spec.rb +0 -708
  391. data/spec/google/api_client/gzip_spec.rb +0 -98
  392. data/spec/google/api_client/media_spec.rb +0 -178
  393. data/spec/google/api_client/result_spec.rb +0 -207
  394. data/spec/google/api_client/service_account_spec.rb +0 -169
  395. data/spec/google/api_client/service_spec.rb +0 -618
  396. data/spec/google/api_client/simple_file_store_spec.rb +0 -133
  397. data/spec/google/api_client_spec.rb +0 -352
@@ -0,0 +1,35 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/content_v2/service.rb'
16
+ require 'google/apis/content_v2/classes.rb'
17
+ require 'google/apis/content_v2/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Content API for Shopping
22
+ #
23
+ # Manage product items, inventory, and Merchant Center accounts for Google
24
+ # Shopping.
25
+ #
26
+ # @see https://developers.google.com/shopping-content/v2/
27
+ module ContentV2
28
+ VERSION = 'V2'
29
+ REVISION = '20150528'
30
+
31
+ # Manage your product listings and accounts for Google Shopping
32
+ AUTH_CONTENT = 'https://www.googleapis.com/auth/content'
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,3780 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module ContentV2
24
+
25
+ # Account data.
26
+ class Account
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Indicates whether the merchant sells adult content.
30
+ # Corresponds to the JSON property `adultContent`
31
+ # @return [Boolean]
32
+ attr_accessor :adult_content
33
+ alias_method :adult_content?, :adult_content
34
+
35
+ # List of linked AdWords accounts, active or pending approval. To create a new
36
+ # link request, add a new link with status active to the list. It will remain is
37
+ # state pending until approved or rejected in the AdWords interface. To delete
38
+ # an active link or to cancel a link request, remove it from the list.
39
+ # Corresponds to the JSON property `adwordsLinks`
40
+ # @return [Array<Google::Apis::ContentV2::AccountAdwordsLink>]
41
+ attr_accessor :adwords_links
42
+
43
+ # Merchant Center account ID.
44
+ # Corresponds to the JSON property `id`
45
+ # @return [String]
46
+ attr_accessor :id
47
+
48
+ # Identifies what kind of resource this is. Value: the fixed string "content#
49
+ # account".
50
+ # Corresponds to the JSON property `kind`
51
+ # @return [String]
52
+ attr_accessor :kind
53
+
54
+ # Display name for the account.
55
+ # Corresponds to the JSON property `name`
56
+ # @return [String]
57
+ attr_accessor :name
58
+
59
+ # URL for individual seller reviews, i.e., reviews for each child account.
60
+ # Corresponds to the JSON property `reviewsUrl`
61
+ # @return [String]
62
+ attr_accessor :reviews_url
63
+
64
+ # Client-specific, locally-unique, internal ID for the child account.
65
+ # Corresponds to the JSON property `sellerId`
66
+ # @return [String]
67
+ attr_accessor :seller_id
68
+
69
+ # Users with access to the account. Every account (except for subaccounts) must
70
+ # have at least one admin user.
71
+ # Corresponds to the JSON property `users`
72
+ # @return [Array<Google::Apis::ContentV2::AccountUser>]
73
+ attr_accessor :users
74
+
75
+ # The merchant's website.
76
+ # Corresponds to the JSON property `websiteUrl`
77
+ # @return [String]
78
+ attr_accessor :website_url
79
+
80
+ def initialize(**args)
81
+ update!(**args)
82
+ end
83
+
84
+ # Update properties of this object
85
+ def update!(**args)
86
+ @adult_content = args[:adult_content] unless args[:adult_content].nil?
87
+ @adwords_links = args[:adwords_links] unless args[:adwords_links].nil?
88
+ @id = args[:id] unless args[:id].nil?
89
+ @kind = args[:kind] unless args[:kind].nil?
90
+ @name = args[:name] unless args[:name].nil?
91
+ @reviews_url = args[:reviews_url] unless args[:reviews_url].nil?
92
+ @seller_id = args[:seller_id] unless args[:seller_id].nil?
93
+ @users = args[:users] unless args[:users].nil?
94
+ @website_url = args[:website_url] unless args[:website_url].nil?
95
+ end
96
+ end
97
+
98
+ #
99
+ class AccountAdwordsLink
100
+ include Google::Apis::Core::Hashable
101
+
102
+ # Customer ID of the AdWords account.
103
+ # Corresponds to the JSON property `adwordsId`
104
+ # @return [String]
105
+ attr_accessor :adwords_id
106
+
107
+ # Status of the link between this Merchant Center account and the AdWords
108
+ # account. Upon retrieval, it represents the actual status of the link and can
109
+ # be either active if it was approved in Google AdWords or pending if it's
110
+ # pending approval. Upon insertion, it represents the intended status of the
111
+ # link. Re-uploading a link with status active when it's still pending or with
112
+ # status pending when it's already active will have no effect: the status will
113
+ # remain unchanged. Re-uploading a link with deprecated status inactive is
114
+ # equivalent to not submitting the link at all and will delete the link if it
115
+ # was active or cancel the link request if it was pending.
116
+ # Corresponds to the JSON property `status`
117
+ # @return [String]
118
+ attr_accessor :status
119
+
120
+ def initialize(**args)
121
+ update!(**args)
122
+ end
123
+
124
+ # Update properties of this object
125
+ def update!(**args)
126
+ @adwords_id = args[:adwords_id] unless args[:adwords_id].nil?
127
+ @status = args[:status] unless args[:status].nil?
128
+ end
129
+ end
130
+
131
+ #
132
+ class AccountIdentifier
133
+ include Google::Apis::Core::Hashable
134
+
135
+ # The aggregator ID, set for aggregators and subaccounts (in that case, it
136
+ # represents the aggregator of the subaccount).
137
+ # Corresponds to the JSON property `aggregatorId`
138
+ # @return [String]
139
+ attr_accessor :aggregator_id
140
+
141
+ # The merchant account ID, set for individual accounts and subaccounts.
142
+ # Corresponds to the JSON property `merchantId`
143
+ # @return [String]
144
+ attr_accessor :merchant_id
145
+
146
+ def initialize(**args)
147
+ update!(**args)
148
+ end
149
+
150
+ # Update properties of this object
151
+ def update!(**args)
152
+ @aggregator_id = args[:aggregator_id] unless args[:aggregator_id].nil?
153
+ @merchant_id = args[:merchant_id] unless args[:merchant_id].nil?
154
+ end
155
+ end
156
+
157
+ # The shipping settings of a merchant account.
158
+ class AccountShipping
159
+ include Google::Apis::Core::Hashable
160
+
161
+ # The ID of the account to which these account shipping settings belong.
162
+ # Corresponds to the JSON property `accountId`
163
+ # @return [String]
164
+ attr_accessor :account_id
165
+
166
+ # Carrier-based shipping calculations.
167
+ # Corresponds to the JSON property `carrierRates`
168
+ # @return [Array<Google::Apis::ContentV2::AccountShippingCarrierRate>]
169
+ attr_accessor :carrier_rates
170
+
171
+ # Identifies what kind of resource this is. Value: the fixed string "content#
172
+ # accountShipping".
173
+ # Corresponds to the JSON property `kind`
174
+ # @return [String]
175
+ attr_accessor :kind
176
+
177
+ # Location groups for shipping.
178
+ # Corresponds to the JSON property `locationGroups`
179
+ # @return [Array<Google::Apis::ContentV2::AccountShippingLocationGroup>]
180
+ attr_accessor :location_groups
181
+
182
+ # Rate tables definitions.
183
+ # Corresponds to the JSON property `rateTables`
184
+ # @return [Array<Google::Apis::ContentV2::AccountShippingRateTable>]
185
+ attr_accessor :rate_tables
186
+
187
+ # Shipping services describing shipping fees calculation.
188
+ # Corresponds to the JSON property `services`
189
+ # @return [Array<Google::Apis::ContentV2::AccountShippingShippingService>]
190
+ attr_accessor :services
191
+
192
+ def initialize(**args)
193
+ update!(**args)
194
+ end
195
+
196
+ # Update properties of this object
197
+ def update!(**args)
198
+ @account_id = args[:account_id] unless args[:account_id].nil?
199
+ @carrier_rates = args[:carrier_rates] unless args[:carrier_rates].nil?
200
+ @kind = args[:kind] unless args[:kind].nil?
201
+ @location_groups = args[:location_groups] unless args[:location_groups].nil?
202
+ @rate_tables = args[:rate_tables] unless args[:rate_tables].nil?
203
+ @services = args[:services] unless args[:services].nil?
204
+ end
205
+ end
206
+
207
+ # A carrier-calculated shipping rate.
208
+ class AccountShippingCarrierRate
209
+ include Google::Apis::Core::Hashable
210
+
211
+ # The carrier that is responsible for the shipping, such as "UPS", "FedEx", or "
212
+ # USPS".
213
+ # Corresponds to the JSON property `carrier`
214
+ # @return [String]
215
+ attr_accessor :carrier
216
+
217
+ # The carrier service, such as "Ground" or "2Day".
218
+ # Corresponds to the JSON property `carrierService`
219
+ # @return [String]
220
+ attr_accessor :carrier_service
221
+
222
+ # Additive shipping rate modifier.
223
+ # Corresponds to the JSON property `modifierFlatRate`
224
+ # @return [Google::Apis::ContentV2::Price]
225
+ attr_accessor :modifier_flat_rate
226
+
227
+ # Multiplicative shipping rate modifier in percent. Represented as a floating
228
+ # point number without the percentage character.
229
+ # Corresponds to the JSON property `modifierPercent`
230
+ # @return [String]
231
+ attr_accessor :modifier_percent
232
+
233
+ # The name of the carrier rate.
234
+ # Corresponds to the JSON property `name`
235
+ # @return [String]
236
+ attr_accessor :name
237
+
238
+ # Sale country for which this carrier rate is valid, represented as an ISO 3166-
239
+ # 1 Alpha-2 code.
240
+ # Corresponds to the JSON property `saleCountry`
241
+ # @return [String]
242
+ attr_accessor :sale_country
243
+
244
+ # Shipping origin represented as a postal code.
245
+ # Corresponds to the JSON property `shippingOrigin`
246
+ # @return [String]
247
+ attr_accessor :shipping_origin
248
+
249
+ def initialize(**args)
250
+ update!(**args)
251
+ end
252
+
253
+ # Update properties of this object
254
+ def update!(**args)
255
+ @carrier = args[:carrier] unless args[:carrier].nil?
256
+ @carrier_service = args[:carrier_service] unless args[:carrier_service].nil?
257
+ @modifier_flat_rate = args[:modifier_flat_rate] unless args[:modifier_flat_rate].nil?
258
+ @modifier_percent = args[:modifier_percent] unless args[:modifier_percent].nil?
259
+ @name = args[:name] unless args[:name].nil?
260
+ @sale_country = args[:sale_country] unless args[:sale_country].nil?
261
+ @shipping_origin = args[:shipping_origin] unless args[:shipping_origin].nil?
262
+ end
263
+ end
264
+
265
+ #
266
+ class AccountShippingCondition
267
+ include Google::Apis::Core::Hashable
268
+
269
+ # Delivery location in terms of a location group name. A location group with
270
+ # this name must be specified among location groups.
271
+ # Corresponds to the JSON property `deliveryLocationGroup`
272
+ # @return [String]
273
+ attr_accessor :delivery_location_group
274
+
275
+ # Delivery location in terms of a location ID. Can be used to represent
276
+ # administrative areas, smaller country subdivisions, or cities.
277
+ # Corresponds to the JSON property `deliveryLocationId`
278
+ # @return [String]
279
+ attr_accessor :delivery_location_id
280
+
281
+ # Delivery location in terms of a postal code.
282
+ # Corresponds to the JSON property `deliveryPostalCode`
283
+ # @return [String]
284
+ attr_accessor :delivery_postal_code
285
+
286
+ # A postal code range, that can be either:
287
+ # - A range of postal codes (e.g., start=12340, end=12359)
288
+ # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes
289
+ # must be of the same length (e.g., start=12* end=2* is invalid).
290
+ # Corresponds to the JSON property `deliveryPostalCodeRange`
291
+ # @return [Google::Apis::ContentV2::AccountShippingPostalCodeRange]
292
+ attr_accessor :delivery_postal_code_range
293
+
294
+ # Maximum shipping price. Forms an interval between the maximum of smaller
295
+ # prices (exclusive) and this price (inclusive).
296
+ # Corresponds to the JSON property `priceMax`
297
+ # @return [Google::Apis::ContentV2::Price]
298
+ attr_accessor :price_max
299
+
300
+ # Shipping label of the product. The products with the label are matched.
301
+ # Corresponds to the JSON property `shippingLabel`
302
+ # @return [String]
303
+ attr_accessor :shipping_label
304
+
305
+ # Maximum shipping weight. Forms an interval between the maximum of smaller
306
+ # weight (exclusive) and this weight (inclusive).
307
+ # Corresponds to the JSON property `weightMax`
308
+ # @return [Google::Apis::ContentV2::Weight]
309
+ attr_accessor :weight_max
310
+
311
+ def initialize(**args)
312
+ update!(**args)
313
+ end
314
+
315
+ # Update properties of this object
316
+ def update!(**args)
317
+ @delivery_location_group = args[:delivery_location_group] unless args[:delivery_location_group].nil?
318
+ @delivery_location_id = args[:delivery_location_id] unless args[:delivery_location_id].nil?
319
+ @delivery_postal_code = args[:delivery_postal_code] unless args[:delivery_postal_code].nil?
320
+ @delivery_postal_code_range = args[:delivery_postal_code_range] unless args[:delivery_postal_code_range].nil?
321
+ @price_max = args[:price_max] unless args[:price_max].nil?
322
+ @shipping_label = args[:shipping_label] unless args[:shipping_label].nil?
323
+ @weight_max = args[:weight_max] unless args[:weight_max].nil?
324
+ end
325
+ end
326
+
327
+ # A user-defined locations group in a given country. All the locations of the
328
+ # group must be of the same type.
329
+ class AccountShippingLocationGroup
330
+ include Google::Apis::Core::Hashable
331
+
332
+ # The country in which this location group is, represented as ISO 3166-1 Alpha-2
333
+ # code.
334
+ # Corresponds to the JSON property `country`
335
+ # @return [String]
336
+ attr_accessor :country
337
+
338
+ # A location ID (also called criteria ID) representing administrative areas,
339
+ # smaller country subdivisions (counties), or cities.
340
+ # Corresponds to the JSON property `locationIds`
341
+ # @return [Array<String>]
342
+ attr_accessor :location_ids
343
+
344
+ # The name of the location group.
345
+ # Corresponds to the JSON property `name`
346
+ # @return [String]
347
+ attr_accessor :name
348
+
349
+ # A postal code range representing a city or a set of cities.
350
+ # Corresponds to the JSON property `postalCodeRanges`
351
+ # @return [Array<Google::Apis::ContentV2::AccountShippingPostalCodeRange>]
352
+ attr_accessor :postal_code_ranges
353
+
354
+ # A postal code representing a city or a set of cities.
355
+ # - A single postal code (e.g., 12345)
356
+ # - A postal code prefix followed by a star (e.g., 1234*)
357
+ # Corresponds to the JSON property `postalCodes`
358
+ # @return [Array<String>]
359
+ attr_accessor :postal_codes
360
+
361
+ def initialize(**args)
362
+ update!(**args)
363
+ end
364
+
365
+ # Update properties of this object
366
+ def update!(**args)
367
+ @country = args[:country] unless args[:country].nil?
368
+ @location_ids = args[:location_ids] unless args[:location_ids].nil?
369
+ @name = args[:name] unless args[:name].nil?
370
+ @postal_code_ranges = args[:postal_code_ranges] unless args[:postal_code_ranges].nil?
371
+ @postal_codes = args[:postal_codes] unless args[:postal_codes].nil?
372
+ end
373
+ end
374
+
375
+ # A postal code range, that can be either:
376
+ # - A range of postal codes (e.g., start=12340, end=12359)
377
+ # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes
378
+ # must be of the same length (e.g., start=12* end=2* is invalid).
379
+ class AccountShippingPostalCodeRange
380
+ include Google::Apis::Core::Hashable
381
+
382
+ # The last (inclusive) postal code or prefix of the range.
383
+ # Corresponds to the JSON property `end`
384
+ # @return [String]
385
+ attr_accessor :end
386
+
387
+ # The first (inclusive) postal code or prefix of the range.
388
+ # Corresponds to the JSON property `start`
389
+ # @return [String]
390
+ attr_accessor :start
391
+
392
+ def initialize(**args)
393
+ update!(**args)
394
+ end
395
+
396
+ # Update properties of this object
397
+ def update!(**args)
398
+ @end = args[:end] unless args[:end].nil?
399
+ @start = args[:start] unless args[:start].nil?
400
+ end
401
+ end
402
+
403
+ # A single or bi-dimensional table of shipping rates. Each dimension is defined
404
+ # in terms of consecutive price/weight ranges, delivery locations, or shipping
405
+ # labels.
406
+ class AccountShippingRateTable
407
+ include Google::Apis::Core::Hashable
408
+
409
+ # One-dimensional table cells define one condition along the same dimension. Bi-
410
+ # dimensional table cells use two dimensions with respectively M and N distinct
411
+ # values and must contain exactly M * N cells with distinct conditions (for each
412
+ # possible value pairs).
413
+ # Corresponds to the JSON property `content`
414
+ # @return [Array<Google::Apis::ContentV2::AccountShippingRateTableCell>]
415
+ attr_accessor :content
416
+
417
+ # The name of the rate table.
418
+ # Corresponds to the JSON property `name`
419
+ # @return [String]
420
+ attr_accessor :name
421
+
422
+ # Sale country for which this table is valid, represented as an ISO 3166-1 Alpha-
423
+ # 2 code.
424
+ # Corresponds to the JSON property `saleCountry`
425
+ # @return [String]
426
+ attr_accessor :sale_country
427
+
428
+ def initialize(**args)
429
+ update!(**args)
430
+ end
431
+
432
+ # Update properties of this object
433
+ def update!(**args)
434
+ @content = args[:content] unless args[:content].nil?
435
+ @name = args[:name] unless args[:name].nil?
436
+ @sale_country = args[:sale_country] unless args[:sale_country].nil?
437
+ end
438
+ end
439
+
440
+ #
441
+ class AccountShippingRateTableCell
442
+ include Google::Apis::Core::Hashable
443
+
444
+ # Conditions for which the cell is valid. All cells in a table must use the same
445
+ # dimension or pair of dimensions among price, weight, shipping label or
446
+ # delivery location. If no condition is specified, the cell acts as a catch-all
447
+ # and matches all the elements that are not matched by other cells in this
448
+ # dimension.
449
+ # Corresponds to the JSON property `condition`
450
+ # @return [Google::Apis::ContentV2::AccountShippingCondition]
451
+ attr_accessor :condition
452
+
453
+ # The rate applicable if the cell conditions are matched.
454
+ # Corresponds to the JSON property `rate`
455
+ # @return [Google::Apis::ContentV2::Price]
456
+ attr_accessor :rate
457
+
458
+ def initialize(**args)
459
+ update!(**args)
460
+ end
461
+
462
+ # Update properties of this object
463
+ def update!(**args)
464
+ @condition = args[:condition] unless args[:condition].nil?
465
+ @rate = args[:rate] unless args[:rate].nil?
466
+ end
467
+ end
468
+
469
+ # Shipping services provided in a country.
470
+ class AccountShippingShippingService
471
+ include Google::Apis::Core::Hashable
472
+
473
+ # Whether the shipping service is available.
474
+ # Corresponds to the JSON property `active`
475
+ # @return [Boolean]
476
+ attr_accessor :active
477
+ alias_method :active?, :active
478
+
479
+ # Shipping cost calculation method. Exactly one of the field is set.
480
+ # Corresponds to the JSON property `calculationMethod`
481
+ # @return [Google::Apis::ContentV2::AccountShippingShippingServiceCalculationMethod]
482
+ attr_accessor :calculation_method
483
+
484
+ # Building block of the cost calculation decision tree.
485
+ # - The tree root should have no condition and no calculation method.
486
+ # - All the children must have a condition on the same dimension. The first
487
+ # child matching a condition is entered, therefore, price and weight conditions
488
+ # form contiguous intervals.
489
+ # - The last child of an element must have no condition and matches all elements
490
+ # not previously matched.
491
+ # - Children and calculation method are mutually exclusive, and exactly one of
492
+ # them must be defined; the root must only have children.
493
+ # Corresponds to the JSON property `costRuleTree`
494
+ # @return [Google::Apis::ContentV2::AccountShippingShippingServiceCostRule]
495
+ attr_accessor :cost_rule_tree
496
+
497
+ # The name of this shipping service.
498
+ # Corresponds to the JSON property `name`
499
+ # @return [String]
500
+ attr_accessor :name
501
+
502
+ # Sale country for which this service can be used, represented as an ISO 3166-1
503
+ # Alpha-2 code.
504
+ # Corresponds to the JSON property `saleCountry`
505
+ # @return [String]
506
+ attr_accessor :sale_country
507
+
508
+ def initialize(**args)
509
+ update!(**args)
510
+ end
511
+
512
+ # Update properties of this object
513
+ def update!(**args)
514
+ @active = args[:active] unless args[:active].nil?
515
+ @calculation_method = args[:calculation_method] unless args[:calculation_method].nil?
516
+ @cost_rule_tree = args[:cost_rule_tree] unless args[:cost_rule_tree].nil?
517
+ @name = args[:name] unless args[:name].nil?
518
+ @sale_country = args[:sale_country] unless args[:sale_country].nil?
519
+ end
520
+ end
521
+
522
+ # Shipping cost calculation method. Exactly one of the field is set.
523
+ class AccountShippingShippingServiceCalculationMethod
524
+ include Google::Apis::Core::Hashable
525
+
526
+ # Name of the carrier rate to use for the calculation.
527
+ # Corresponds to the JSON property `carrierRate`
528
+ # @return [String]
529
+ attr_accessor :carrier_rate
530
+
531
+ # Delivery is excluded. Valid only within cost rules tree.
532
+ # Corresponds to the JSON property `excluded`
533
+ # @return [Boolean]
534
+ attr_accessor :excluded
535
+ alias_method :excluded?, :excluded
536
+
537
+ # Fixed price shipping, represented as a floating point number associated with a
538
+ # currency.
539
+ # Corresponds to the JSON property `flatRate`
540
+ # @return [Google::Apis::ContentV2::Price]
541
+ attr_accessor :flat_rate
542
+
543
+ # Percentage of the price, represented as a floating point number without the
544
+ # percentage character.
545
+ # Corresponds to the JSON property `percentageRate`
546
+ # @return [String]
547
+ attr_accessor :percentage_rate
548
+
549
+ # Name of the rate table to use for the calculation.
550
+ # Corresponds to the JSON property `rateTable`
551
+ # @return [String]
552
+ attr_accessor :rate_table
553
+
554
+ def initialize(**args)
555
+ update!(**args)
556
+ end
557
+
558
+ # Update properties of this object
559
+ def update!(**args)
560
+ @carrier_rate = args[:carrier_rate] unless args[:carrier_rate].nil?
561
+ @excluded = args[:excluded] unless args[:excluded].nil?
562
+ @flat_rate = args[:flat_rate] unless args[:flat_rate].nil?
563
+ @percentage_rate = args[:percentage_rate] unless args[:percentage_rate].nil?
564
+ @rate_table = args[:rate_table] unless args[:rate_table].nil?
565
+ end
566
+ end
567
+
568
+ # Building block of the cost calculation decision tree.
569
+ # - The tree root should have no condition and no calculation method.
570
+ # - All the children must have a condition on the same dimension. The first
571
+ # child matching a condition is entered, therefore, price and weight conditions
572
+ # form contiguous intervals.
573
+ # - The last child of an element must have no condition and matches all elements
574
+ # not previously matched.
575
+ # - Children and calculation method are mutually exclusive, and exactly one of
576
+ # them must be defined; the root must only have children.
577
+ class AccountShippingShippingServiceCostRule
578
+ include Google::Apis::Core::Hashable
579
+
580
+ # Shipping cost calculation method. Exactly one of the field is set.
581
+ # Corresponds to the JSON property `calculationMethod`
582
+ # @return [Google::Apis::ContentV2::AccountShippingShippingServiceCalculationMethod]
583
+ attr_accessor :calculation_method
584
+
585
+ # Subsequent rules to be applied, only for inner nodes. The last child must not
586
+ # specify a condition and acts as a catch-all.
587
+ # Corresponds to the JSON property `children`
588
+ # @return [Array<Google::Apis::ContentV2::AccountShippingShippingServiceCostRule>]
589
+ attr_accessor :children
590
+
591
+ # Condition for this rule to be applicable. If no condition is specified, the
592
+ # rule acts as a catch-all.
593
+ # Corresponds to the JSON property `condition`
594
+ # @return [Google::Apis::ContentV2::AccountShippingCondition]
595
+ attr_accessor :condition
596
+
597
+ def initialize(**args)
598
+ update!(**args)
599
+ end
600
+
601
+ # Update properties of this object
602
+ def update!(**args)
603
+ @calculation_method = args[:calculation_method] unless args[:calculation_method].nil?
604
+ @children = args[:children] unless args[:children].nil?
605
+ @condition = args[:condition] unless args[:condition].nil?
606
+ end
607
+ end
608
+
609
+ # The status of an account, i.e., information about its products, which is
610
+ # computed offline and not returned immediately at insertion time.
611
+ class AccountStatus
612
+ include Google::Apis::Core::Hashable
613
+
614
+ # The ID of the account for which the status is reported.
615
+ # Corresponds to the JSON property `accountId`
616
+ # @return [String]
617
+ attr_accessor :account_id
618
+
619
+ # A list of data quality issues.
620
+ # Corresponds to the JSON property `dataQualityIssues`
621
+ # @return [Array<Google::Apis::ContentV2::AccountStatusDataQualityIssue>]
622
+ attr_accessor :data_quality_issues
623
+
624
+ # Identifies what kind of resource this is. Value: the fixed string "content#
625
+ # accountStatus".
626
+ # Corresponds to the JSON property `kind`
627
+ # @return [String]
628
+ attr_accessor :kind
629
+
630
+ def initialize(**args)
631
+ update!(**args)
632
+ end
633
+
634
+ # Update properties of this object
635
+ def update!(**args)
636
+ @account_id = args[:account_id] unless args[:account_id].nil?
637
+ @data_quality_issues = args[:data_quality_issues] unless args[:data_quality_issues].nil?
638
+ @kind = args[:kind] unless args[:kind].nil?
639
+ end
640
+ end
641
+
642
+ #
643
+ class AccountStatusDataQualityIssue
644
+ include Google::Apis::Core::Hashable
645
+
646
+ # Country for which this issue is reported.
647
+ # Corresponds to the JSON property `country`
648
+ # @return [String]
649
+ attr_accessor :country
650
+
651
+ # Actual value displayed on the landing page.
652
+ # Corresponds to the JSON property `displayedValue`
653
+ # @return [String]
654
+ attr_accessor :displayed_value
655
+
656
+ # Example items featuring the issue.
657
+ # Corresponds to the JSON property `exampleItems`
658
+ # @return [Array<Google::Apis::ContentV2::AccountStatusExampleItem>]
659
+ attr_accessor :example_items
660
+
661
+ # Issue identifier.
662
+ # Corresponds to the JSON property `id`
663
+ # @return [String]
664
+ attr_accessor :id
665
+
666
+ # Last time the account was checked for this issue.
667
+ # Corresponds to the JSON property `lastChecked`
668
+ # @return [String]
669
+ attr_accessor :last_checked
670
+
671
+ # Number of items in the account found to have the said issue.
672
+ # Corresponds to the JSON property `numItems`
673
+ # @return [Fixnum]
674
+ attr_accessor :num_items
675
+
676
+ # Severity of the problem.
677
+ # Corresponds to the JSON property `severity`
678
+ # @return [String]
679
+ attr_accessor :severity
680
+
681
+ # Submitted value that causes the issue.
682
+ # Corresponds to the JSON property `submittedValue`
683
+ # @return [String]
684
+ attr_accessor :submitted_value
685
+
686
+ def initialize(**args)
687
+ update!(**args)
688
+ end
689
+
690
+ # Update properties of this object
691
+ def update!(**args)
692
+ @country = args[:country] unless args[:country].nil?
693
+ @displayed_value = args[:displayed_value] unless args[:displayed_value].nil?
694
+ @example_items = args[:example_items] unless args[:example_items].nil?
695
+ @id = args[:id] unless args[:id].nil?
696
+ @last_checked = args[:last_checked] unless args[:last_checked].nil?
697
+ @num_items = args[:num_items] unless args[:num_items].nil?
698
+ @severity = args[:severity] unless args[:severity].nil?
699
+ @submitted_value = args[:submitted_value] unless args[:submitted_value].nil?
700
+ end
701
+ end
702
+
703
+ # An example of an item that has poor data quality. An item value on the landing
704
+ # page differs from what is submitted, or conflicts with a policy.
705
+ class AccountStatusExampleItem
706
+ include Google::Apis::Core::Hashable
707
+
708
+ # Unique item ID as specified in the uploaded product data.
709
+ # Corresponds to the JSON property `itemId`
710
+ # @return [String]
711
+ attr_accessor :item_id
712
+
713
+ # Landing page of the item.
714
+ # Corresponds to the JSON property `link`
715
+ # @return [String]
716
+ attr_accessor :link
717
+
718
+ # The item value that was submitted.
719
+ # Corresponds to the JSON property `submittedValue`
720
+ # @return [String]
721
+ attr_accessor :submitted_value
722
+
723
+ # Title of the item.
724
+ # Corresponds to the JSON property `title`
725
+ # @return [String]
726
+ attr_accessor :title
727
+
728
+ # The actual value on the landing page.
729
+ # Corresponds to the JSON property `valueOnLandingPage`
730
+ # @return [String]
731
+ attr_accessor :value_on_landing_page
732
+
733
+ def initialize(**args)
734
+ update!(**args)
735
+ end
736
+
737
+ # Update properties of this object
738
+ def update!(**args)
739
+ @item_id = args[:item_id] unless args[:item_id].nil?
740
+ @link = args[:link] unless args[:link].nil?
741
+ @submitted_value = args[:submitted_value] unless args[:submitted_value].nil?
742
+ @title = args[:title] unless args[:title].nil?
743
+ @value_on_landing_page = args[:value_on_landing_page] unless args[:value_on_landing_page].nil?
744
+ end
745
+ end
746
+
747
+ # The tax settings of a merchant account.
748
+ class AccountTax
749
+ include Google::Apis::Core::Hashable
750
+
751
+ # The ID of the account to which these account tax settings belong.
752
+ # Corresponds to the JSON property `accountId`
753
+ # @return [String]
754
+ attr_accessor :account_id
755
+
756
+ # Identifies what kind of resource this is. Value: the fixed string "content#
757
+ # accountTax".
758
+ # Corresponds to the JSON property `kind`
759
+ # @return [String]
760
+ attr_accessor :kind
761
+
762
+ # Tax rules. Updating the tax rules will enable US taxes (not reversible).
763
+ # Defining no rules is equivalent to not charging tax at all.
764
+ # Corresponds to the JSON property `rules`
765
+ # @return [Array<Google::Apis::ContentV2::AccountTaxTaxRule>]
766
+ attr_accessor :rules
767
+
768
+ def initialize(**args)
769
+ update!(**args)
770
+ end
771
+
772
+ # Update properties of this object
773
+ def update!(**args)
774
+ @account_id = args[:account_id] unless args[:account_id].nil?
775
+ @kind = args[:kind] unless args[:kind].nil?
776
+ @rules = args[:rules] unless args[:rules].nil?
777
+ end
778
+ end
779
+
780
+ # Tax calculation rule to apply in a state or province (USA only).
781
+ class AccountTaxTaxRule
782
+ include Google::Apis::Core::Hashable
783
+
784
+ # Country code in which tax is applicable.
785
+ # Corresponds to the JSON property `country`
786
+ # @return [String]
787
+ attr_accessor :country
788
+
789
+ # State (or province) is which the tax is applicable, described by its location
790
+ # id (also called criteria id).
791
+ # Corresponds to the JSON property `locationId`
792
+ # @return [String]
793
+ attr_accessor :location_id
794
+
795
+ # Explicit tax rate in percent, represented as a floating point number without
796
+ # the percentage character. Must not be negative.
797
+ # Corresponds to the JSON property `ratePercent`
798
+ # @return [String]
799
+ attr_accessor :rate_percent
800
+
801
+ # If true, shipping charges are also taxed.
802
+ # Corresponds to the JSON property `shippingTaxed`
803
+ # @return [Boolean]
804
+ attr_accessor :shipping_taxed
805
+ alias_method :shipping_taxed?, :shipping_taxed
806
+
807
+ # Whether the tax rate is taken from a global tax table or specified explicitly.
808
+ # Corresponds to the JSON property `useGlobalRate`
809
+ # @return [Boolean]
810
+ attr_accessor :use_global_rate
811
+ alias_method :use_global_rate?, :use_global_rate
812
+
813
+ def initialize(**args)
814
+ update!(**args)
815
+ end
816
+
817
+ # Update properties of this object
818
+ def update!(**args)
819
+ @country = args[:country] unless args[:country].nil?
820
+ @location_id = args[:location_id] unless args[:location_id].nil?
821
+ @rate_percent = args[:rate_percent] unless args[:rate_percent].nil?
822
+ @shipping_taxed = args[:shipping_taxed] unless args[:shipping_taxed].nil?
823
+ @use_global_rate = args[:use_global_rate] unless args[:use_global_rate].nil?
824
+ end
825
+ end
826
+
827
+ #
828
+ class AccountUser
829
+ include Google::Apis::Core::Hashable
830
+
831
+ # Whether user is an admin.
832
+ # Corresponds to the JSON property `admin`
833
+ # @return [Boolean]
834
+ attr_accessor :admin
835
+ alias_method :admin?, :admin
836
+
837
+ # User's email address.
838
+ # Corresponds to the JSON property `emailAddress`
839
+ # @return [String]
840
+ attr_accessor :email_address
841
+
842
+ def initialize(**args)
843
+ update!(**args)
844
+ end
845
+
846
+ # Update properties of this object
847
+ def update!(**args)
848
+ @admin = args[:admin] unless args[:admin].nil?
849
+ @email_address = args[:email_address] unless args[:email_address].nil?
850
+ end
851
+ end
852
+
853
+ #
854
+ class AccountsAuthInfoResponse
855
+ include Google::Apis::Core::Hashable
856
+
857
+ # The account identifiers corresponding to the authenticated user.
858
+ # - For an individual account: only the merchant ID is defined
859
+ # - For an aggregator: only the aggregator ID is defined
860
+ # - For a subaccount of an MCA: both the merchant ID and the aggregator ID are
861
+ # defined.
862
+ # Corresponds to the JSON property `accountIdentifiers`
863
+ # @return [Array<Google::Apis::ContentV2::AccountIdentifier>]
864
+ attr_accessor :account_identifiers
865
+
866
+ # Identifies what kind of resource this is. Value: the fixed string "content#
867
+ # accountsAuthInfoResponse".
868
+ # Corresponds to the JSON property `kind`
869
+ # @return [String]
870
+ attr_accessor :kind
871
+
872
+ def initialize(**args)
873
+ update!(**args)
874
+ end
875
+
876
+ # Update properties of this object
877
+ def update!(**args)
878
+ @account_identifiers = args[:account_identifiers] unless args[:account_identifiers].nil?
879
+ @kind = args[:kind] unless args[:kind].nil?
880
+ end
881
+ end
882
+
883
+ #
884
+ class BatchAccountsRequest
885
+ include Google::Apis::Core::Hashable
886
+
887
+ # The request entries to be processed in the batch.
888
+ # Corresponds to the JSON property `entries`
889
+ # @return [Array<Google::Apis::ContentV2::AccountsBatchRequestEntry>]
890
+ attr_accessor :entries
891
+
892
+ def initialize(**args)
893
+ update!(**args)
894
+ end
895
+
896
+ # Update properties of this object
897
+ def update!(**args)
898
+ @entries = args[:entries] unless args[:entries].nil?
899
+ end
900
+ end
901
+
902
+ # A batch entry encoding a single non-batch accounts request.
903
+ class AccountsBatchRequestEntry
904
+ include Google::Apis::Core::Hashable
905
+
906
+ # Account data.
907
+ # Corresponds to the JSON property `account`
908
+ # @return [Google::Apis::ContentV2::Account]
909
+ attr_accessor :account
910
+
911
+ # The ID of the account to get or delete. Only defined if the method is get or
912
+ # delete.
913
+ # Corresponds to the JSON property `accountId`
914
+ # @return [String]
915
+ attr_accessor :account_id
916
+
917
+ # An entry ID, unique within the batch request.
918
+ # Corresponds to the JSON property `batchId`
919
+ # @return [Fixnum]
920
+ attr_accessor :batch_id
921
+
922
+ # The ID of the managing account.
923
+ # Corresponds to the JSON property `merchantId`
924
+ # @return [String]
925
+ attr_accessor :merchant_id
926
+
927
+ #
928
+ # Corresponds to the JSON property `method`
929
+ # @return [String]
930
+ attr_accessor :request_method
931
+
932
+ def initialize(**args)
933
+ update!(**args)
934
+ end
935
+
936
+ # Update properties of this object
937
+ def update!(**args)
938
+ @account = args[:account] unless args[:account].nil?
939
+ @account_id = args[:account_id] unless args[:account_id].nil?
940
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
941
+ @merchant_id = args[:merchant_id] unless args[:merchant_id].nil?
942
+ @request_method = args[:request_method] unless args[:request_method].nil?
943
+ end
944
+ end
945
+
946
+ #
947
+ class BatchAccountsResponse
948
+ include Google::Apis::Core::Hashable
949
+
950
+ # The result of the execution of the batch requests.
951
+ # Corresponds to the JSON property `entries`
952
+ # @return [Array<Google::Apis::ContentV2::AccountsBatchResponseEntry>]
953
+ attr_accessor :entries
954
+
955
+ # Identifies what kind of resource this is. Value: the fixed string "content#
956
+ # accountsCustomBatchResponse".
957
+ # Corresponds to the JSON property `kind`
958
+ # @return [String]
959
+ attr_accessor :kind
960
+
961
+ def initialize(**args)
962
+ update!(**args)
963
+ end
964
+
965
+ # Update properties of this object
966
+ def update!(**args)
967
+ @entries = args[:entries] unless args[:entries].nil?
968
+ @kind = args[:kind] unless args[:kind].nil?
969
+ end
970
+ end
971
+
972
+ # A batch entry encoding a single non-batch accounts response.
973
+ class AccountsBatchResponseEntry
974
+ include Google::Apis::Core::Hashable
975
+
976
+ # Account data.
977
+ # Corresponds to the JSON property `account`
978
+ # @return [Google::Apis::ContentV2::Account]
979
+ attr_accessor :account
980
+
981
+ # The ID of the request entry this entry responds to.
982
+ # Corresponds to the JSON property `batchId`
983
+ # @return [Fixnum]
984
+ attr_accessor :batch_id
985
+
986
+ # A list of errors returned by a failed batch entry.
987
+ # Corresponds to the JSON property `errors`
988
+ # @return [Google::Apis::ContentV2::Errors]
989
+ attr_accessor :errors
990
+
991
+ # Identifies what kind of resource this is. Value: the fixed string "content#
992
+ # accountsCustomBatchResponseEntry".
993
+ # Corresponds to the JSON property `kind`
994
+ # @return [String]
995
+ attr_accessor :kind
996
+
997
+ def initialize(**args)
998
+ update!(**args)
999
+ end
1000
+
1001
+ # Update properties of this object
1002
+ def update!(**args)
1003
+ @account = args[:account] unless args[:account].nil?
1004
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
1005
+ @errors = args[:errors] unless args[:errors].nil?
1006
+ @kind = args[:kind] unless args[:kind].nil?
1007
+ end
1008
+ end
1009
+
1010
+ #
1011
+ class ListAccountsResponse
1012
+ include Google::Apis::Core::Hashable
1013
+
1014
+ # Identifies what kind of resource this is. Value: the fixed string "content#
1015
+ # accountsListResponse".
1016
+ # Corresponds to the JSON property `kind`
1017
+ # @return [String]
1018
+ attr_accessor :kind
1019
+
1020
+ # The token for the retrieval of the next page of accounts.
1021
+ # Corresponds to the JSON property `nextPageToken`
1022
+ # @return [String]
1023
+ attr_accessor :next_page_token
1024
+
1025
+ #
1026
+ # Corresponds to the JSON property `resources`
1027
+ # @return [Array<Google::Apis::ContentV2::Account>]
1028
+ attr_accessor :resources
1029
+
1030
+ def initialize(**args)
1031
+ update!(**args)
1032
+ end
1033
+
1034
+ # Update properties of this object
1035
+ def update!(**args)
1036
+ @kind = args[:kind] unless args[:kind].nil?
1037
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1038
+ @resources = args[:resources] unless args[:resources].nil?
1039
+ end
1040
+ end
1041
+
1042
+ #
1043
+ class BatchAccountShippingRequest
1044
+ include Google::Apis::Core::Hashable
1045
+
1046
+ # The request entries to be processed in the batch.
1047
+ # Corresponds to the JSON property `entries`
1048
+ # @return [Array<Google::Apis::ContentV2::AccountShippingBatchRequestEntry>]
1049
+ attr_accessor :entries
1050
+
1051
+ def initialize(**args)
1052
+ update!(**args)
1053
+ end
1054
+
1055
+ # Update properties of this object
1056
+ def update!(**args)
1057
+ @entries = args[:entries] unless args[:entries].nil?
1058
+ end
1059
+ end
1060
+
1061
+ # A batch entry encoding a single non-batch accountshipping request.
1062
+ class AccountShippingBatchRequestEntry
1063
+ include Google::Apis::Core::Hashable
1064
+
1065
+ # The ID of the account for which to get/update account shipping settings.
1066
+ # Corresponds to the JSON property `accountId`
1067
+ # @return [String]
1068
+ attr_accessor :account_id
1069
+
1070
+ # The shipping settings of a merchant account.
1071
+ # Corresponds to the JSON property `accountShipping`
1072
+ # @return [Google::Apis::ContentV2::AccountShipping]
1073
+ attr_accessor :account_shipping
1074
+
1075
+ # An entry ID, unique within the batch request.
1076
+ # Corresponds to the JSON property `batchId`
1077
+ # @return [Fixnum]
1078
+ attr_accessor :batch_id
1079
+
1080
+ # The ID of the managing account.
1081
+ # Corresponds to the JSON property `merchantId`
1082
+ # @return [String]
1083
+ attr_accessor :merchant_id
1084
+
1085
+ #
1086
+ # Corresponds to the JSON property `method`
1087
+ # @return [String]
1088
+ attr_accessor :request_method
1089
+
1090
+ def initialize(**args)
1091
+ update!(**args)
1092
+ end
1093
+
1094
+ # Update properties of this object
1095
+ def update!(**args)
1096
+ @account_id = args[:account_id] unless args[:account_id].nil?
1097
+ @account_shipping = args[:account_shipping] unless args[:account_shipping].nil?
1098
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
1099
+ @merchant_id = args[:merchant_id] unless args[:merchant_id].nil?
1100
+ @request_method = args[:request_method] unless args[:request_method].nil?
1101
+ end
1102
+ end
1103
+
1104
+ #
1105
+ class BatchAccountShippingResponse
1106
+ include Google::Apis::Core::Hashable
1107
+
1108
+ # The result of the execution of the batch requests.
1109
+ # Corresponds to the JSON property `entries`
1110
+ # @return [Array<Google::Apis::ContentV2::AccountShippingBatchResponseEntry>]
1111
+ attr_accessor :entries
1112
+
1113
+ # Identifies what kind of resource this is. Value: the fixed string "content#
1114
+ # accountshippingCustomBatchResponse".
1115
+ # Corresponds to the JSON property `kind`
1116
+ # @return [String]
1117
+ attr_accessor :kind
1118
+
1119
+ def initialize(**args)
1120
+ update!(**args)
1121
+ end
1122
+
1123
+ # Update properties of this object
1124
+ def update!(**args)
1125
+ @entries = args[:entries] unless args[:entries].nil?
1126
+ @kind = args[:kind] unless args[:kind].nil?
1127
+ end
1128
+ end
1129
+
1130
+ # A batch entry encoding a single non-batch accountshipping response.
1131
+ class AccountShippingBatchResponseEntry
1132
+ include Google::Apis::Core::Hashable
1133
+
1134
+ # The shipping settings of a merchant account.
1135
+ # Corresponds to the JSON property `accountShipping`
1136
+ # @return [Google::Apis::ContentV2::AccountShipping]
1137
+ attr_accessor :account_shipping
1138
+
1139
+ # The ID of the request entry this entry responds to.
1140
+ # Corresponds to the JSON property `batchId`
1141
+ # @return [Fixnum]
1142
+ attr_accessor :batch_id
1143
+
1144
+ # A list of errors returned by a failed batch entry.
1145
+ # Corresponds to the JSON property `errors`
1146
+ # @return [Google::Apis::ContentV2::Errors]
1147
+ attr_accessor :errors
1148
+
1149
+ # Identifies what kind of resource this is. Value: the fixed string "content#
1150
+ # accountshippingCustomBatchResponseEntry".
1151
+ # Corresponds to the JSON property `kind`
1152
+ # @return [String]
1153
+ attr_accessor :kind
1154
+
1155
+ def initialize(**args)
1156
+ update!(**args)
1157
+ end
1158
+
1159
+ # Update properties of this object
1160
+ def update!(**args)
1161
+ @account_shipping = args[:account_shipping] unless args[:account_shipping].nil?
1162
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
1163
+ @errors = args[:errors] unless args[:errors].nil?
1164
+ @kind = args[:kind] unless args[:kind].nil?
1165
+ end
1166
+ end
1167
+
1168
+ #
1169
+ class ListAccountShippingResponse
1170
+ include Google::Apis::Core::Hashable
1171
+
1172
+ # Identifies what kind of resource this is. Value: the fixed string "content#
1173
+ # accountshippingListResponse".
1174
+ # Corresponds to the JSON property `kind`
1175
+ # @return [String]
1176
+ attr_accessor :kind
1177
+
1178
+ # The token for the retrieval of the next page of account shipping settings.
1179
+ # Corresponds to the JSON property `nextPageToken`
1180
+ # @return [String]
1181
+ attr_accessor :next_page_token
1182
+
1183
+ #
1184
+ # Corresponds to the JSON property `resources`
1185
+ # @return [Array<Google::Apis::ContentV2::AccountShipping>]
1186
+ attr_accessor :resources
1187
+
1188
+ def initialize(**args)
1189
+ update!(**args)
1190
+ end
1191
+
1192
+ # Update properties of this object
1193
+ def update!(**args)
1194
+ @kind = args[:kind] unless args[:kind].nil?
1195
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1196
+ @resources = args[:resources] unless args[:resources].nil?
1197
+ end
1198
+ end
1199
+
1200
+ #
1201
+ class BatchAccountStatusesRequest
1202
+ include Google::Apis::Core::Hashable
1203
+
1204
+ # The request entries to be processed in the batch.
1205
+ # Corresponds to the JSON property `entries`
1206
+ # @return [Array<Google::Apis::ContentV2::AccountStatusesBatchRequestEntry>]
1207
+ attr_accessor :entries
1208
+
1209
+ def initialize(**args)
1210
+ update!(**args)
1211
+ end
1212
+
1213
+ # Update properties of this object
1214
+ def update!(**args)
1215
+ @entries = args[:entries] unless args[:entries].nil?
1216
+ end
1217
+ end
1218
+
1219
+ # A batch entry encoding a single non-batch accountstatuses request.
1220
+ class AccountStatusesBatchRequestEntry
1221
+ include Google::Apis::Core::Hashable
1222
+
1223
+ # The ID of the (sub-)account whose status to get.
1224
+ # Corresponds to the JSON property `accountId`
1225
+ # @return [String]
1226
+ attr_accessor :account_id
1227
+
1228
+ # An entry ID, unique within the batch request.
1229
+ # Corresponds to the JSON property `batchId`
1230
+ # @return [Fixnum]
1231
+ attr_accessor :batch_id
1232
+
1233
+ # The ID of the managing account.
1234
+ # Corresponds to the JSON property `merchantId`
1235
+ # @return [String]
1236
+ attr_accessor :merchant_id
1237
+
1238
+ # The method (get).
1239
+ # Corresponds to the JSON property `method`
1240
+ # @return [String]
1241
+ attr_accessor :request_method
1242
+
1243
+ def initialize(**args)
1244
+ update!(**args)
1245
+ end
1246
+
1247
+ # Update properties of this object
1248
+ def update!(**args)
1249
+ @account_id = args[:account_id] unless args[:account_id].nil?
1250
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
1251
+ @merchant_id = args[:merchant_id] unless args[:merchant_id].nil?
1252
+ @request_method = args[:request_method] unless args[:request_method].nil?
1253
+ end
1254
+ end
1255
+
1256
+ #
1257
+ class BatchAccountStatusesResponse
1258
+ include Google::Apis::Core::Hashable
1259
+
1260
+ # The result of the execution of the batch requests.
1261
+ # Corresponds to the JSON property `entries`
1262
+ # @return [Array<Google::Apis::ContentV2::AccountStatusesBatchResponseEntry>]
1263
+ attr_accessor :entries
1264
+
1265
+ # Identifies what kind of resource this is. Value: the fixed string "content#
1266
+ # accountstatusesCustomBatchResponse".
1267
+ # Corresponds to the JSON property `kind`
1268
+ # @return [String]
1269
+ attr_accessor :kind
1270
+
1271
+ def initialize(**args)
1272
+ update!(**args)
1273
+ end
1274
+
1275
+ # Update properties of this object
1276
+ def update!(**args)
1277
+ @entries = args[:entries] unless args[:entries].nil?
1278
+ @kind = args[:kind] unless args[:kind].nil?
1279
+ end
1280
+ end
1281
+
1282
+ # A batch entry encoding a single non-batch accountstatuses response.
1283
+ class AccountStatusesBatchResponseEntry
1284
+ include Google::Apis::Core::Hashable
1285
+
1286
+ # The status of an account, i.e., information about its products, which is
1287
+ # computed offline and not returned immediately at insertion time.
1288
+ # Corresponds to the JSON property `accountStatus`
1289
+ # @return [Google::Apis::ContentV2::AccountStatus]
1290
+ attr_accessor :account_status
1291
+
1292
+ # The ID of the request entry this entry responds to.
1293
+ # Corresponds to the JSON property `batchId`
1294
+ # @return [Fixnum]
1295
+ attr_accessor :batch_id
1296
+
1297
+ # A list of errors returned by a failed batch entry.
1298
+ # Corresponds to the JSON property `errors`
1299
+ # @return [Google::Apis::ContentV2::Errors]
1300
+ attr_accessor :errors
1301
+
1302
+ def initialize(**args)
1303
+ update!(**args)
1304
+ end
1305
+
1306
+ # Update properties of this object
1307
+ def update!(**args)
1308
+ @account_status = args[:account_status] unless args[:account_status].nil?
1309
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
1310
+ @errors = args[:errors] unless args[:errors].nil?
1311
+ end
1312
+ end
1313
+
1314
+ #
1315
+ class ListAccountStatusesResponse
1316
+ include Google::Apis::Core::Hashable
1317
+
1318
+ # Identifies what kind of resource this is. Value: the fixed string "content#
1319
+ # accountstatusesListResponse".
1320
+ # Corresponds to the JSON property `kind`
1321
+ # @return [String]
1322
+ attr_accessor :kind
1323
+
1324
+ # The token for the retrieval of the next page of account statuses.
1325
+ # Corresponds to the JSON property `nextPageToken`
1326
+ # @return [String]
1327
+ attr_accessor :next_page_token
1328
+
1329
+ #
1330
+ # Corresponds to the JSON property `resources`
1331
+ # @return [Array<Google::Apis::ContentV2::AccountStatus>]
1332
+ attr_accessor :resources
1333
+
1334
+ def initialize(**args)
1335
+ update!(**args)
1336
+ end
1337
+
1338
+ # Update properties of this object
1339
+ def update!(**args)
1340
+ @kind = args[:kind] unless args[:kind].nil?
1341
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1342
+ @resources = args[:resources] unless args[:resources].nil?
1343
+ end
1344
+ end
1345
+
1346
+ #
1347
+ class BatchAccountTaxRequest
1348
+ include Google::Apis::Core::Hashable
1349
+
1350
+ # The request entries to be processed in the batch.
1351
+ # Corresponds to the JSON property `entries`
1352
+ # @return [Array<Google::Apis::ContentV2::AccountTaxBatchRequestEntry>]
1353
+ attr_accessor :entries
1354
+
1355
+ def initialize(**args)
1356
+ update!(**args)
1357
+ end
1358
+
1359
+ # Update properties of this object
1360
+ def update!(**args)
1361
+ @entries = args[:entries] unless args[:entries].nil?
1362
+ end
1363
+ end
1364
+
1365
+ # A batch entry encoding a single non-batch accounttax request.
1366
+ class AccountTaxBatchRequestEntry
1367
+ include Google::Apis::Core::Hashable
1368
+
1369
+ # The ID of the account for which to get/update account tax settings.
1370
+ # Corresponds to the JSON property `accountId`
1371
+ # @return [String]
1372
+ attr_accessor :account_id
1373
+
1374
+ # The tax settings of a merchant account.
1375
+ # Corresponds to the JSON property `accountTax`
1376
+ # @return [Google::Apis::ContentV2::AccountTax]
1377
+ attr_accessor :account_tax
1378
+
1379
+ # An entry ID, unique within the batch request.
1380
+ # Corresponds to the JSON property `batchId`
1381
+ # @return [Fixnum]
1382
+ attr_accessor :batch_id
1383
+
1384
+ # The ID of the managing account.
1385
+ # Corresponds to the JSON property `merchantId`
1386
+ # @return [String]
1387
+ attr_accessor :merchant_id
1388
+
1389
+ #
1390
+ # Corresponds to the JSON property `method`
1391
+ # @return [String]
1392
+ attr_accessor :request_method
1393
+
1394
+ def initialize(**args)
1395
+ update!(**args)
1396
+ end
1397
+
1398
+ # Update properties of this object
1399
+ def update!(**args)
1400
+ @account_id = args[:account_id] unless args[:account_id].nil?
1401
+ @account_tax = args[:account_tax] unless args[:account_tax].nil?
1402
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
1403
+ @merchant_id = args[:merchant_id] unless args[:merchant_id].nil?
1404
+ @request_method = args[:request_method] unless args[:request_method].nil?
1405
+ end
1406
+ end
1407
+
1408
+ #
1409
+ class BatchAccountTaxResponse
1410
+ include Google::Apis::Core::Hashable
1411
+
1412
+ # The result of the execution of the batch requests.
1413
+ # Corresponds to the JSON property `entries`
1414
+ # @return [Array<Google::Apis::ContentV2::AccountTaxBatchResponseEntry>]
1415
+ attr_accessor :entries
1416
+
1417
+ # Identifies what kind of resource this is. Value: the fixed string "content#
1418
+ # accounttaxCustomBatchResponse".
1419
+ # Corresponds to the JSON property `kind`
1420
+ # @return [String]
1421
+ attr_accessor :kind
1422
+
1423
+ def initialize(**args)
1424
+ update!(**args)
1425
+ end
1426
+
1427
+ # Update properties of this object
1428
+ def update!(**args)
1429
+ @entries = args[:entries] unless args[:entries].nil?
1430
+ @kind = args[:kind] unless args[:kind].nil?
1431
+ end
1432
+ end
1433
+
1434
+ # A batch entry encoding a single non-batch accounttax response.
1435
+ class AccountTaxBatchResponseEntry
1436
+ include Google::Apis::Core::Hashable
1437
+
1438
+ # The tax settings of a merchant account.
1439
+ # Corresponds to the JSON property `accountTax`
1440
+ # @return [Google::Apis::ContentV2::AccountTax]
1441
+ attr_accessor :account_tax
1442
+
1443
+ # The ID of the request entry this entry responds to.
1444
+ # Corresponds to the JSON property `batchId`
1445
+ # @return [Fixnum]
1446
+ attr_accessor :batch_id
1447
+
1448
+ # A list of errors returned by a failed batch entry.
1449
+ # Corresponds to the JSON property `errors`
1450
+ # @return [Google::Apis::ContentV2::Errors]
1451
+ attr_accessor :errors
1452
+
1453
+ # Identifies what kind of resource this is. Value: the fixed string "content#
1454
+ # accounttaxCustomBatchResponseEntry".
1455
+ # Corresponds to the JSON property `kind`
1456
+ # @return [String]
1457
+ attr_accessor :kind
1458
+
1459
+ def initialize(**args)
1460
+ update!(**args)
1461
+ end
1462
+
1463
+ # Update properties of this object
1464
+ def update!(**args)
1465
+ @account_tax = args[:account_tax] unless args[:account_tax].nil?
1466
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
1467
+ @errors = args[:errors] unless args[:errors].nil?
1468
+ @kind = args[:kind] unless args[:kind].nil?
1469
+ end
1470
+ end
1471
+
1472
+ #
1473
+ class ListAccountTaxResponse
1474
+ include Google::Apis::Core::Hashable
1475
+
1476
+ # Identifies what kind of resource this is. Value: the fixed string "content#
1477
+ # accounttaxListResponse".
1478
+ # Corresponds to the JSON property `kind`
1479
+ # @return [String]
1480
+ attr_accessor :kind
1481
+
1482
+ # The token for the retrieval of the next page of account tax settings.
1483
+ # Corresponds to the JSON property `nextPageToken`
1484
+ # @return [String]
1485
+ attr_accessor :next_page_token
1486
+
1487
+ #
1488
+ # Corresponds to the JSON property `resources`
1489
+ # @return [Array<Google::Apis::ContentV2::AccountTax>]
1490
+ attr_accessor :resources
1491
+
1492
+ def initialize(**args)
1493
+ update!(**args)
1494
+ end
1495
+
1496
+ # Update properties of this object
1497
+ def update!(**args)
1498
+ @kind = args[:kind] unless args[:kind].nil?
1499
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1500
+ @resources = args[:resources] unless args[:resources].nil?
1501
+ end
1502
+ end
1503
+
1504
+ # Datafeed data.
1505
+ class Datafeed
1506
+ include Google::Apis::Core::Hashable
1507
+
1508
+ # The two-letter ISO 639-1 language in which the attributes are defined in the
1509
+ # data feed.
1510
+ # Corresponds to the JSON property `attributeLanguage`
1511
+ # @return [String]
1512
+ attr_accessor :attribute_language
1513
+
1514
+ # The two-letter ISO 639-1 language of the items in the feed.
1515
+ # Corresponds to the JSON property `contentLanguage`
1516
+ # @return [String]
1517
+ attr_accessor :content_language
1518
+
1519
+ # The type of data feed.
1520
+ # Corresponds to the JSON property `contentType`
1521
+ # @return [String]
1522
+ attr_accessor :content_type
1523
+
1524
+ # The required fields vary based on the frequency of fetching. For a monthly
1525
+ # fetch schedule, day_of_month and hour are required. For a weekly fetch
1526
+ # schedule, weekday and hour are required. For a daily fetch schedule, only hour
1527
+ # is required.
1528
+ # Corresponds to the JSON property `fetchSchedule`
1529
+ # @return [Google::Apis::ContentV2::DatafeedFetchSchedule]
1530
+ attr_accessor :fetch_schedule
1531
+
1532
+ # The filename of the feed. All feeds must have a unique file name.
1533
+ # Corresponds to the JSON property `fileName`
1534
+ # @return [String]
1535
+ attr_accessor :file_name
1536
+
1537
+ # Format of the feed file.
1538
+ # Corresponds to the JSON property `format`
1539
+ # @return [Google::Apis::ContentV2::DatafeedFormat]
1540
+ attr_accessor :format
1541
+
1542
+ # The ID of the data feed.
1543
+ # Corresponds to the JSON property `id`
1544
+ # @return [String]
1545
+ attr_accessor :id
1546
+
1547
+ # The list of intended destinations (corresponds to checked check boxes in
1548
+ # Merchant Center).
1549
+ # Corresponds to the JSON property `intendedDestinations`
1550
+ # @return [Array<String>]
1551
+ attr_accessor :intended_destinations
1552
+
1553
+ # Identifies what kind of resource this is. Value: the fixed string "content#
1554
+ # datafeed".
1555
+ # Corresponds to the JSON property `kind`
1556
+ # @return [String]
1557
+ attr_accessor :kind
1558
+
1559
+ # A descriptive name of the data feed.
1560
+ # Corresponds to the JSON property `name`
1561
+ # @return [String]
1562
+ attr_accessor :name
1563
+
1564
+ # The two-letter ISO 3166 country where the items in the feed will be included
1565
+ # in the search index.
1566
+ # Corresponds to the JSON property `targetCountry`
1567
+ # @return [String]
1568
+ attr_accessor :target_country
1569
+
1570
+ def initialize(**args)
1571
+ update!(**args)
1572
+ end
1573
+
1574
+ # Update properties of this object
1575
+ def update!(**args)
1576
+ @attribute_language = args[:attribute_language] unless args[:attribute_language].nil?
1577
+ @content_language = args[:content_language] unless args[:content_language].nil?
1578
+ @content_type = args[:content_type] unless args[:content_type].nil?
1579
+ @fetch_schedule = args[:fetch_schedule] unless args[:fetch_schedule].nil?
1580
+ @file_name = args[:file_name] unless args[:file_name].nil?
1581
+ @format = args[:format] unless args[:format].nil?
1582
+ @id = args[:id] unless args[:id].nil?
1583
+ @intended_destinations = args[:intended_destinations] unless args[:intended_destinations].nil?
1584
+ @kind = args[:kind] unless args[:kind].nil?
1585
+ @name = args[:name] unless args[:name].nil?
1586
+ @target_country = args[:target_country] unless args[:target_country].nil?
1587
+ end
1588
+ end
1589
+
1590
+ # The required fields vary based on the frequency of fetching. For a monthly
1591
+ # fetch schedule, day_of_month and hour are required. For a weekly fetch
1592
+ # schedule, weekday and hour are required. For a daily fetch schedule, only hour
1593
+ # is required.
1594
+ class DatafeedFetchSchedule
1595
+ include Google::Apis::Core::Hashable
1596
+
1597
+ # The day of the month the feed file should be fetched (1-31).
1598
+ # Corresponds to the JSON property `dayOfMonth`
1599
+ # @return [Fixnum]
1600
+ attr_accessor :day_of_month
1601
+
1602
+ # The URL where the feed file can be fetched. Google Merchant Center will
1603
+ # support automatic scheduled uploads using the HTTP, HTTPS, FTP, or SFTP
1604
+ # protocols, so the value will need to be a valid link using one of those four
1605
+ # protocols.
1606
+ # Corresponds to the JSON property `fetchUrl`
1607
+ # @return [String]
1608
+ attr_accessor :fetch_url
1609
+
1610
+ # The hour of the day the feed file should be fetched (0-24).
1611
+ # Corresponds to the JSON property `hour`
1612
+ # @return [Fixnum]
1613
+ attr_accessor :hour
1614
+
1615
+ # An optional password for fetch_url.
1616
+ # Corresponds to the JSON property `password`
1617
+ # @return [String]
1618
+ attr_accessor :password
1619
+
1620
+ # Time zone used for schedule. UTC by default. E.g., "America/Los_Angeles".
1621
+ # Corresponds to the JSON property `timeZone`
1622
+ # @return [String]
1623
+ attr_accessor :time_zone
1624
+
1625
+ # An optional user name for fetch_url.
1626
+ # Corresponds to the JSON property `username`
1627
+ # @return [String]
1628
+ attr_accessor :username
1629
+
1630
+ # The day of the week the feed file should be fetched.
1631
+ # Corresponds to the JSON property `weekday`
1632
+ # @return [String]
1633
+ attr_accessor :weekday
1634
+
1635
+ def initialize(**args)
1636
+ update!(**args)
1637
+ end
1638
+
1639
+ # Update properties of this object
1640
+ def update!(**args)
1641
+ @day_of_month = args[:day_of_month] unless args[:day_of_month].nil?
1642
+ @fetch_url = args[:fetch_url] unless args[:fetch_url].nil?
1643
+ @hour = args[:hour] unless args[:hour].nil?
1644
+ @password = args[:password] unless args[:password].nil?
1645
+ @time_zone = args[:time_zone] unless args[:time_zone].nil?
1646
+ @username = args[:username] unless args[:username].nil?
1647
+ @weekday = args[:weekday] unless args[:weekday].nil?
1648
+ end
1649
+ end
1650
+
1651
+ #
1652
+ class DatafeedFormat
1653
+ include Google::Apis::Core::Hashable
1654
+
1655
+ # Delimiter for the separation of values in a delimiter-separated values feed.
1656
+ # If not specified, the delimiter will be auto-detected. Ignored for non-DSV
1657
+ # data feeds.
1658
+ # Corresponds to the JSON property `columnDelimiter`
1659
+ # @return [String]
1660
+ attr_accessor :column_delimiter
1661
+
1662
+ # Character encoding scheme of the data feed. If not specified, the encoding
1663
+ # will be auto-detected.
1664
+ # Corresponds to the JSON property `fileEncoding`
1665
+ # @return [String]
1666
+ attr_accessor :file_encoding
1667
+
1668
+ # Specifies how double quotes are interpreted. If not specified, the mode will
1669
+ # be auto-detected. Ignored for non-DSV data feeds.
1670
+ # Corresponds to the JSON property `quotingMode`
1671
+ # @return [String]
1672
+ attr_accessor :quoting_mode
1673
+
1674
+ def initialize(**args)
1675
+ update!(**args)
1676
+ end
1677
+
1678
+ # Update properties of this object
1679
+ def update!(**args)
1680
+ @column_delimiter = args[:column_delimiter] unless args[:column_delimiter].nil?
1681
+ @file_encoding = args[:file_encoding] unless args[:file_encoding].nil?
1682
+ @quoting_mode = args[:quoting_mode] unless args[:quoting_mode].nil?
1683
+ end
1684
+ end
1685
+
1686
+ # The status of a datafeed, i.e., the result of the last retrieval of the
1687
+ # datafeed computed asynchronously when the feed processing is finished.
1688
+ class DatafeedStatus
1689
+ include Google::Apis::Core::Hashable
1690
+
1691
+ # The ID of the feed for which the status is reported.
1692
+ # Corresponds to the JSON property `datafeedId`
1693
+ # @return [String]
1694
+ attr_accessor :datafeed_id
1695
+
1696
+ # The list of errors occurring in the feed.
1697
+ # Corresponds to the JSON property `errors`
1698
+ # @return [Array<Google::Apis::ContentV2::DatafeedStatusError>]
1699
+ attr_accessor :errors
1700
+
1701
+ # The number of items in the feed that were processed.
1702
+ # Corresponds to the JSON property `itemsTotal`
1703
+ # @return [String]
1704
+ attr_accessor :items_total
1705
+
1706
+ # The number of items in the feed that were valid.
1707
+ # Corresponds to the JSON property `itemsValid`
1708
+ # @return [String]
1709
+ attr_accessor :items_valid
1710
+
1711
+ # Identifies what kind of resource this is. Value: the fixed string "content#
1712
+ # datafeedStatus".
1713
+ # Corresponds to the JSON property `kind`
1714
+ # @return [String]
1715
+ attr_accessor :kind
1716
+
1717
+ # The last date at which the feed was uploaded.
1718
+ # Corresponds to the JSON property `lastUploadDate`
1719
+ # @return [String]
1720
+ attr_accessor :last_upload_date
1721
+
1722
+ # The processing status of the feed.
1723
+ # Corresponds to the JSON property `processingStatus`
1724
+ # @return [String]
1725
+ attr_accessor :processing_status
1726
+
1727
+ # The list of errors occurring in the feed.
1728
+ # Corresponds to the JSON property `warnings`
1729
+ # @return [Array<Google::Apis::ContentV2::DatafeedStatusError>]
1730
+ attr_accessor :warnings
1731
+
1732
+ def initialize(**args)
1733
+ update!(**args)
1734
+ end
1735
+
1736
+ # Update properties of this object
1737
+ def update!(**args)
1738
+ @datafeed_id = args[:datafeed_id] unless args[:datafeed_id].nil?
1739
+ @errors = args[:errors] unless args[:errors].nil?
1740
+ @items_total = args[:items_total] unless args[:items_total].nil?
1741
+ @items_valid = args[:items_valid] unless args[:items_valid].nil?
1742
+ @kind = args[:kind] unless args[:kind].nil?
1743
+ @last_upload_date = args[:last_upload_date] unless args[:last_upload_date].nil?
1744
+ @processing_status = args[:processing_status] unless args[:processing_status].nil?
1745
+ @warnings = args[:warnings] unless args[:warnings].nil?
1746
+ end
1747
+ end
1748
+
1749
+ # An error occurring in the feed, like "invalid price".
1750
+ class DatafeedStatusError
1751
+ include Google::Apis::Core::Hashable
1752
+
1753
+ # The code of the error, e.g., "validation/invalid_value".
1754
+ # Corresponds to the JSON property `code`
1755
+ # @return [String]
1756
+ attr_accessor :code
1757
+
1758
+ # The number of occurrences of the error in the feed.
1759
+ # Corresponds to the JSON property `count`
1760
+ # @return [String]
1761
+ attr_accessor :count
1762
+
1763
+ # A list of example occurrences of the error, grouped by product.
1764
+ # Corresponds to the JSON property `examples`
1765
+ # @return [Array<Google::Apis::ContentV2::DatafeedStatusExample>]
1766
+ attr_accessor :examples
1767
+
1768
+ # The error message, e.g., "Invalid price".
1769
+ # Corresponds to the JSON property `message`
1770
+ # @return [String]
1771
+ attr_accessor :message
1772
+
1773
+ def initialize(**args)
1774
+ update!(**args)
1775
+ end
1776
+
1777
+ # Update properties of this object
1778
+ def update!(**args)
1779
+ @code = args[:code] unless args[:code].nil?
1780
+ @count = args[:count] unless args[:count].nil?
1781
+ @examples = args[:examples] unless args[:examples].nil?
1782
+ @message = args[:message] unless args[:message].nil?
1783
+ end
1784
+ end
1785
+
1786
+ # An example occurrence for a particular error.
1787
+ class DatafeedStatusExample
1788
+ include Google::Apis::Core::Hashable
1789
+
1790
+ # The ID of the example item.
1791
+ # Corresponds to the JSON property `itemId`
1792
+ # @return [String]
1793
+ attr_accessor :item_id
1794
+
1795
+ # Line number in the data feed where the example is found.
1796
+ # Corresponds to the JSON property `lineNumber`
1797
+ # @return [String]
1798
+ attr_accessor :line_number
1799
+
1800
+ # The problematic value.
1801
+ # Corresponds to the JSON property `value`
1802
+ # @return [String]
1803
+ attr_accessor :value
1804
+
1805
+ def initialize(**args)
1806
+ update!(**args)
1807
+ end
1808
+
1809
+ # Update properties of this object
1810
+ def update!(**args)
1811
+ @item_id = args[:item_id] unless args[:item_id].nil?
1812
+ @line_number = args[:line_number] unless args[:line_number].nil?
1813
+ @value = args[:value] unless args[:value].nil?
1814
+ end
1815
+ end
1816
+
1817
+ #
1818
+ class BatchDatafeedsRequest
1819
+ include Google::Apis::Core::Hashable
1820
+
1821
+ # The request entries to be processed in the batch.
1822
+ # Corresponds to the JSON property `entries`
1823
+ # @return [Array<Google::Apis::ContentV2::DatafeedsBatchRequestEntry>]
1824
+ attr_accessor :entries
1825
+
1826
+ def initialize(**args)
1827
+ update!(**args)
1828
+ end
1829
+
1830
+ # Update properties of this object
1831
+ def update!(**args)
1832
+ @entries = args[:entries] unless args[:entries].nil?
1833
+ end
1834
+ end
1835
+
1836
+ # A batch entry encoding a single non-batch datafeeds request.
1837
+ class DatafeedsBatchRequestEntry
1838
+ include Google::Apis::Core::Hashable
1839
+
1840
+ # An entry ID, unique within the batch request.
1841
+ # Corresponds to the JSON property `batchId`
1842
+ # @return [Fixnum]
1843
+ attr_accessor :batch_id
1844
+
1845
+ # Datafeed data.
1846
+ # Corresponds to the JSON property `datafeed`
1847
+ # @return [Google::Apis::ContentV2::Datafeed]
1848
+ attr_accessor :datafeed
1849
+
1850
+ # The ID of the data feed to get or delete.
1851
+ # Corresponds to the JSON property `datafeedId`
1852
+ # @return [String]
1853
+ attr_accessor :datafeed_id
1854
+
1855
+ # The ID of the managing account.
1856
+ # Corresponds to the JSON property `merchantId`
1857
+ # @return [String]
1858
+ attr_accessor :merchant_id
1859
+
1860
+ #
1861
+ # Corresponds to the JSON property `method`
1862
+ # @return [String]
1863
+ attr_accessor :request_method
1864
+
1865
+ def initialize(**args)
1866
+ update!(**args)
1867
+ end
1868
+
1869
+ # Update properties of this object
1870
+ def update!(**args)
1871
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
1872
+ @datafeed = args[:datafeed] unless args[:datafeed].nil?
1873
+ @datafeed_id = args[:datafeed_id] unless args[:datafeed_id].nil?
1874
+ @merchant_id = args[:merchant_id] unless args[:merchant_id].nil?
1875
+ @request_method = args[:request_method] unless args[:request_method].nil?
1876
+ end
1877
+ end
1878
+
1879
+ #
1880
+ class BatchDatafeedsResponse
1881
+ include Google::Apis::Core::Hashable
1882
+
1883
+ # The result of the execution of the batch requests.
1884
+ # Corresponds to the JSON property `entries`
1885
+ # @return [Array<Google::Apis::ContentV2::DatafeedsBatchResponseEntry>]
1886
+ attr_accessor :entries
1887
+
1888
+ # Identifies what kind of resource this is. Value: the fixed string "content#
1889
+ # datafeedsCustomBatchResponse".
1890
+ # Corresponds to the JSON property `kind`
1891
+ # @return [String]
1892
+ attr_accessor :kind
1893
+
1894
+ def initialize(**args)
1895
+ update!(**args)
1896
+ end
1897
+
1898
+ # Update properties of this object
1899
+ def update!(**args)
1900
+ @entries = args[:entries] unless args[:entries].nil?
1901
+ @kind = args[:kind] unless args[:kind].nil?
1902
+ end
1903
+ end
1904
+
1905
+ # A batch entry encoding a single non-batch datafeeds response.
1906
+ class DatafeedsBatchResponseEntry
1907
+ include Google::Apis::Core::Hashable
1908
+
1909
+ # The ID of the request entry this entry responds to.
1910
+ # Corresponds to the JSON property `batchId`
1911
+ # @return [Fixnum]
1912
+ attr_accessor :batch_id
1913
+
1914
+ # Datafeed data.
1915
+ # Corresponds to the JSON property `datafeed`
1916
+ # @return [Google::Apis::ContentV2::Datafeed]
1917
+ attr_accessor :datafeed
1918
+
1919
+ # A list of errors returned by a failed batch entry.
1920
+ # Corresponds to the JSON property `errors`
1921
+ # @return [Google::Apis::ContentV2::Errors]
1922
+ attr_accessor :errors
1923
+
1924
+ def initialize(**args)
1925
+ update!(**args)
1926
+ end
1927
+
1928
+ # Update properties of this object
1929
+ def update!(**args)
1930
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
1931
+ @datafeed = args[:datafeed] unless args[:datafeed].nil?
1932
+ @errors = args[:errors] unless args[:errors].nil?
1933
+ end
1934
+ end
1935
+
1936
+ #
1937
+ class ListDatafeedsResponse
1938
+ include Google::Apis::Core::Hashable
1939
+
1940
+ # Identifies what kind of resource this is. Value: the fixed string "content#
1941
+ # datafeedsListResponse".
1942
+ # Corresponds to the JSON property `kind`
1943
+ # @return [String]
1944
+ attr_accessor :kind
1945
+
1946
+ # The token for the retrieval of the next page of datafeeds.
1947
+ # Corresponds to the JSON property `nextPageToken`
1948
+ # @return [String]
1949
+ attr_accessor :next_page_token
1950
+
1951
+ #
1952
+ # Corresponds to the JSON property `resources`
1953
+ # @return [Array<Google::Apis::ContentV2::Datafeed>]
1954
+ attr_accessor :resources
1955
+
1956
+ def initialize(**args)
1957
+ update!(**args)
1958
+ end
1959
+
1960
+ # Update properties of this object
1961
+ def update!(**args)
1962
+ @kind = args[:kind] unless args[:kind].nil?
1963
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1964
+ @resources = args[:resources] unless args[:resources].nil?
1965
+ end
1966
+ end
1967
+
1968
+ #
1969
+ class BatchDatafeedStatusesRequest
1970
+ include Google::Apis::Core::Hashable
1971
+
1972
+ # The request entries to be processed in the batch.
1973
+ # Corresponds to the JSON property `entries`
1974
+ # @return [Array<Google::Apis::ContentV2::DatafeedStatusesBatchRequestEntry>]
1975
+ attr_accessor :entries
1976
+
1977
+ def initialize(**args)
1978
+ update!(**args)
1979
+ end
1980
+
1981
+ # Update properties of this object
1982
+ def update!(**args)
1983
+ @entries = args[:entries] unless args[:entries].nil?
1984
+ end
1985
+ end
1986
+
1987
+ # A batch entry encoding a single non-batch datafeedstatuses request.
1988
+ class DatafeedStatusesBatchRequestEntry
1989
+ include Google::Apis::Core::Hashable
1990
+
1991
+ # An entry ID, unique within the batch request.
1992
+ # Corresponds to the JSON property `batchId`
1993
+ # @return [Fixnum]
1994
+ attr_accessor :batch_id
1995
+
1996
+ # The ID of the data feed to get or delete.
1997
+ # Corresponds to the JSON property `datafeedId`
1998
+ # @return [String]
1999
+ attr_accessor :datafeed_id
2000
+
2001
+ # The ID of the managing account.
2002
+ # Corresponds to the JSON property `merchantId`
2003
+ # @return [String]
2004
+ attr_accessor :merchant_id
2005
+
2006
+ #
2007
+ # Corresponds to the JSON property `method`
2008
+ # @return [String]
2009
+ attr_accessor :request_method
2010
+
2011
+ def initialize(**args)
2012
+ update!(**args)
2013
+ end
2014
+
2015
+ # Update properties of this object
2016
+ def update!(**args)
2017
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
2018
+ @datafeed_id = args[:datafeed_id] unless args[:datafeed_id].nil?
2019
+ @merchant_id = args[:merchant_id] unless args[:merchant_id].nil?
2020
+ @request_method = args[:request_method] unless args[:request_method].nil?
2021
+ end
2022
+ end
2023
+
2024
+ #
2025
+ class BatchDatafeedStatusesResponse
2026
+ include Google::Apis::Core::Hashable
2027
+
2028
+ # The result of the execution of the batch requests.
2029
+ # Corresponds to the JSON property `entries`
2030
+ # @return [Array<Google::Apis::ContentV2::DatafeedStatusesBatchResponseEntry>]
2031
+ attr_accessor :entries
2032
+
2033
+ # Identifies what kind of resource this is. Value: the fixed string "content#
2034
+ # datafeedstatusesCustomBatchResponse".
2035
+ # Corresponds to the JSON property `kind`
2036
+ # @return [String]
2037
+ attr_accessor :kind
2038
+
2039
+ def initialize(**args)
2040
+ update!(**args)
2041
+ end
2042
+
2043
+ # Update properties of this object
2044
+ def update!(**args)
2045
+ @entries = args[:entries] unless args[:entries].nil?
2046
+ @kind = args[:kind] unless args[:kind].nil?
2047
+ end
2048
+ end
2049
+
2050
+ # A batch entry encoding a single non-batch datafeedstatuses response.
2051
+ class DatafeedStatusesBatchResponseEntry
2052
+ include Google::Apis::Core::Hashable
2053
+
2054
+ # The ID of the request entry this entry responds to.
2055
+ # Corresponds to the JSON property `batchId`
2056
+ # @return [Fixnum]
2057
+ attr_accessor :batch_id
2058
+
2059
+ # The status of a datafeed, i.e., the result of the last retrieval of the
2060
+ # datafeed computed asynchronously when the feed processing is finished.
2061
+ # Corresponds to the JSON property `datafeedStatus`
2062
+ # @return [Google::Apis::ContentV2::DatafeedStatus]
2063
+ attr_accessor :datafeed_status
2064
+
2065
+ # A list of errors returned by a failed batch entry.
2066
+ # Corresponds to the JSON property `errors`
2067
+ # @return [Google::Apis::ContentV2::Errors]
2068
+ attr_accessor :errors
2069
+
2070
+ def initialize(**args)
2071
+ update!(**args)
2072
+ end
2073
+
2074
+ # Update properties of this object
2075
+ def update!(**args)
2076
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
2077
+ @datafeed_status = args[:datafeed_status] unless args[:datafeed_status].nil?
2078
+ @errors = args[:errors] unless args[:errors].nil?
2079
+ end
2080
+ end
2081
+
2082
+ #
2083
+ class ListDatafeedStatusesResponse
2084
+ include Google::Apis::Core::Hashable
2085
+
2086
+ # Identifies what kind of resource this is. Value: the fixed string "content#
2087
+ # datafeedstatusesListResponse".
2088
+ # Corresponds to the JSON property `kind`
2089
+ # @return [String]
2090
+ attr_accessor :kind
2091
+
2092
+ # The token for the retrieval of the next page of datafeed statuses.
2093
+ # Corresponds to the JSON property `nextPageToken`
2094
+ # @return [String]
2095
+ attr_accessor :next_page_token
2096
+
2097
+ #
2098
+ # Corresponds to the JSON property `resources`
2099
+ # @return [Array<Google::Apis::ContentV2::DatafeedStatus>]
2100
+ attr_accessor :resources
2101
+
2102
+ def initialize(**args)
2103
+ update!(**args)
2104
+ end
2105
+
2106
+ # Update properties of this object
2107
+ def update!(**args)
2108
+ @kind = args[:kind] unless args[:kind].nil?
2109
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
2110
+ @resources = args[:resources] unless args[:resources].nil?
2111
+ end
2112
+ end
2113
+
2114
+ # An error returned by the API.
2115
+ class Error
2116
+ include Google::Apis::Core::Hashable
2117
+
2118
+ # The domain of the error.
2119
+ # Corresponds to the JSON property `domain`
2120
+ # @return [String]
2121
+ attr_accessor :domain
2122
+
2123
+ # A description of the error.
2124
+ # Corresponds to the JSON property `message`
2125
+ # @return [String]
2126
+ attr_accessor :message
2127
+
2128
+ # The error code.
2129
+ # Corresponds to the JSON property `reason`
2130
+ # @return [String]
2131
+ attr_accessor :reason
2132
+
2133
+ def initialize(**args)
2134
+ update!(**args)
2135
+ end
2136
+
2137
+ # Update properties of this object
2138
+ def update!(**args)
2139
+ @domain = args[:domain] unless args[:domain].nil?
2140
+ @message = args[:message] unless args[:message].nil?
2141
+ @reason = args[:reason] unless args[:reason].nil?
2142
+ end
2143
+ end
2144
+
2145
+ # A list of errors returned by a failed batch entry.
2146
+ class Errors
2147
+ include Google::Apis::Core::Hashable
2148
+
2149
+ # The HTTP status of the first error in errors.
2150
+ # Corresponds to the JSON property `code`
2151
+ # @return [Fixnum]
2152
+ attr_accessor :code
2153
+
2154
+ # A list of errors.
2155
+ # Corresponds to the JSON property `errors`
2156
+ # @return [Array<Google::Apis::ContentV2::Error>]
2157
+ attr_accessor :errors
2158
+
2159
+ # The message of the first error in errors.
2160
+ # Corresponds to the JSON property `message`
2161
+ # @return [String]
2162
+ attr_accessor :message
2163
+
2164
+ def initialize(**args)
2165
+ update!(**args)
2166
+ end
2167
+
2168
+ # Update properties of this object
2169
+ def update!(**args)
2170
+ @code = args[:code] unless args[:code].nil?
2171
+ @errors = args[:errors] unless args[:errors].nil?
2172
+ @message = args[:message] unless args[:message].nil?
2173
+ end
2174
+ end
2175
+
2176
+ #
2177
+ class Inventory
2178
+ include Google::Apis::Core::Hashable
2179
+
2180
+ # The availability of the product.
2181
+ # Corresponds to the JSON property `availability`
2182
+ # @return [String]
2183
+ attr_accessor :availability
2184
+
2185
+ # Identifies what kind of resource this is. Value: the fixed string "content#
2186
+ # inventory".
2187
+ # Corresponds to the JSON property `kind`
2188
+ # @return [String]
2189
+ attr_accessor :kind
2190
+
2191
+ # The price of the product.
2192
+ # Corresponds to the JSON property `price`
2193
+ # @return [Google::Apis::ContentV2::Price]
2194
+ attr_accessor :price
2195
+
2196
+ # The quantity of the product. Must be equal to or greater than zero. Supported
2197
+ # only for local products.
2198
+ # Corresponds to the JSON property `quantity`
2199
+ # @return [Fixnum]
2200
+ attr_accessor :quantity
2201
+
2202
+ # The sale price of the product. Mandatory if sale_price_effective_date is
2203
+ # defined.
2204
+ # Corresponds to the JSON property `salePrice`
2205
+ # @return [Google::Apis::ContentV2::Price]
2206
+ attr_accessor :sale_price
2207
+
2208
+ # A date range represented by a pair of ISO 8601 dates separated by a space,
2209
+ # comma, or slash. Both dates might be specified as 'null' if undecided.
2210
+ # Corresponds to the JSON property `salePriceEffectiveDate`
2211
+ # @return [String]
2212
+ attr_accessor :sale_price_effective_date
2213
+
2214
+ def initialize(**args)
2215
+ update!(**args)
2216
+ end
2217
+
2218
+ # Update properties of this object
2219
+ def update!(**args)
2220
+ @availability = args[:availability] unless args[:availability].nil?
2221
+ @kind = args[:kind] unless args[:kind].nil?
2222
+ @price = args[:price] unless args[:price].nil?
2223
+ @quantity = args[:quantity] unless args[:quantity].nil?
2224
+ @sale_price = args[:sale_price] unless args[:sale_price].nil?
2225
+ @sale_price_effective_date = args[:sale_price_effective_date] unless args[:sale_price_effective_date].nil?
2226
+ end
2227
+ end
2228
+
2229
+ #
2230
+ class BatchInventoryRequest
2231
+ include Google::Apis::Core::Hashable
2232
+
2233
+ # The request entries to be processed in the batch.
2234
+ # Corresponds to the JSON property `entries`
2235
+ # @return [Array<Google::Apis::ContentV2::InventoryBatchRequestEntry>]
2236
+ attr_accessor :entries
2237
+
2238
+ def initialize(**args)
2239
+ update!(**args)
2240
+ end
2241
+
2242
+ # Update properties of this object
2243
+ def update!(**args)
2244
+ @entries = args[:entries] unless args[:entries].nil?
2245
+ end
2246
+ end
2247
+
2248
+ # A batch entry encoding a single non-batch inventory request.
2249
+ class InventoryBatchRequestEntry
2250
+ include Google::Apis::Core::Hashable
2251
+
2252
+ # An entry ID, unique within the batch request.
2253
+ # Corresponds to the JSON property `batchId`
2254
+ # @return [Fixnum]
2255
+ attr_accessor :batch_id
2256
+
2257
+ # Price and availability of the product.
2258
+ # Corresponds to the JSON property `inventory`
2259
+ # @return [Google::Apis::ContentV2::Inventory]
2260
+ attr_accessor :inventory
2261
+
2262
+ # The ID of the managing account.
2263
+ # Corresponds to the JSON property `merchantId`
2264
+ # @return [String]
2265
+ attr_accessor :merchant_id
2266
+
2267
+ # The ID of the product for which to update price and availability.
2268
+ # Corresponds to the JSON property `productId`
2269
+ # @return [String]
2270
+ attr_accessor :product_id
2271
+
2272
+ # The code of the store for which to update price and availability. Use online
2273
+ # to update price and availability of an online product.
2274
+ # Corresponds to the JSON property `storeCode`
2275
+ # @return [String]
2276
+ attr_accessor :store_code
2277
+
2278
+ def initialize(**args)
2279
+ update!(**args)
2280
+ end
2281
+
2282
+ # Update properties of this object
2283
+ def update!(**args)
2284
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
2285
+ @inventory = args[:inventory] unless args[:inventory].nil?
2286
+ @merchant_id = args[:merchant_id] unless args[:merchant_id].nil?
2287
+ @product_id = args[:product_id] unless args[:product_id].nil?
2288
+ @store_code = args[:store_code] unless args[:store_code].nil?
2289
+ end
2290
+ end
2291
+
2292
+ #
2293
+ class BatchInventoryResponse
2294
+ include Google::Apis::Core::Hashable
2295
+
2296
+ # The result of the execution of the batch requests.
2297
+ # Corresponds to the JSON property `entries`
2298
+ # @return [Array<Google::Apis::ContentV2::InventoryBatchResponseEntry>]
2299
+ attr_accessor :entries
2300
+
2301
+ # Identifies what kind of resource this is. Value: the fixed string "content#
2302
+ # inventoryCustomBatchResponse".
2303
+ # Corresponds to the JSON property `kind`
2304
+ # @return [String]
2305
+ attr_accessor :kind
2306
+
2307
+ def initialize(**args)
2308
+ update!(**args)
2309
+ end
2310
+
2311
+ # Update properties of this object
2312
+ def update!(**args)
2313
+ @entries = args[:entries] unless args[:entries].nil?
2314
+ @kind = args[:kind] unless args[:kind].nil?
2315
+ end
2316
+ end
2317
+
2318
+ # A batch entry encoding a single non-batch inventory response.
2319
+ class InventoryBatchResponseEntry
2320
+ include Google::Apis::Core::Hashable
2321
+
2322
+ # The ID of the request entry this entry responds to.
2323
+ # Corresponds to the JSON property `batchId`
2324
+ # @return [Fixnum]
2325
+ attr_accessor :batch_id
2326
+
2327
+ # A list of errors returned by a failed batch entry.
2328
+ # Corresponds to the JSON property `errors`
2329
+ # @return [Google::Apis::ContentV2::Errors]
2330
+ attr_accessor :errors
2331
+
2332
+ # Identifies what kind of resource this is. Value: the fixed string "content#
2333
+ # inventoryCustomBatchResponseEntry".
2334
+ # Corresponds to the JSON property `kind`
2335
+ # @return [String]
2336
+ attr_accessor :kind
2337
+
2338
+ def initialize(**args)
2339
+ update!(**args)
2340
+ end
2341
+
2342
+ # Update properties of this object
2343
+ def update!(**args)
2344
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
2345
+ @errors = args[:errors] unless args[:errors].nil?
2346
+ @kind = args[:kind] unless args[:kind].nil?
2347
+ end
2348
+ end
2349
+
2350
+ #
2351
+ class SetInventoryRequest
2352
+ include Google::Apis::Core::Hashable
2353
+
2354
+ # The availability of the product.
2355
+ # Corresponds to the JSON property `availability`
2356
+ # @return [String]
2357
+ attr_accessor :availability
2358
+
2359
+ # The price of the product.
2360
+ # Corresponds to the JSON property `price`
2361
+ # @return [Google::Apis::ContentV2::Price]
2362
+ attr_accessor :price
2363
+
2364
+ # The quantity of the product. Must be equal to or greater than zero. Supported
2365
+ # only for local products.
2366
+ # Corresponds to the JSON property `quantity`
2367
+ # @return [Fixnum]
2368
+ attr_accessor :quantity
2369
+
2370
+ # The sale price of the product. Mandatory if sale_price_effective_date is
2371
+ # defined.
2372
+ # Corresponds to the JSON property `salePrice`
2373
+ # @return [Google::Apis::ContentV2::Price]
2374
+ attr_accessor :sale_price
2375
+
2376
+ # A date range represented by a pair of ISO 8601 dates separated by a space,
2377
+ # comma, or slash. Both dates might be specified as 'null' if undecided.
2378
+ # Corresponds to the JSON property `salePriceEffectiveDate`
2379
+ # @return [String]
2380
+ attr_accessor :sale_price_effective_date
2381
+
2382
+ def initialize(**args)
2383
+ update!(**args)
2384
+ end
2385
+
2386
+ # Update properties of this object
2387
+ def update!(**args)
2388
+ @availability = args[:availability] unless args[:availability].nil?
2389
+ @price = args[:price] unless args[:price].nil?
2390
+ @quantity = args[:quantity] unless args[:quantity].nil?
2391
+ @sale_price = args[:sale_price] unless args[:sale_price].nil?
2392
+ @sale_price_effective_date = args[:sale_price_effective_date] unless args[:sale_price_effective_date].nil?
2393
+ end
2394
+ end
2395
+
2396
+ #
2397
+ class SetInventoryResponse
2398
+ include Google::Apis::Core::Hashable
2399
+
2400
+ # Identifies what kind of resource this is. Value: the fixed string "content#
2401
+ # inventorySetResponse".
2402
+ # Corresponds to the JSON property `kind`
2403
+ # @return [String]
2404
+ attr_accessor :kind
2405
+
2406
+ def initialize(**args)
2407
+ update!(**args)
2408
+ end
2409
+
2410
+ # Update properties of this object
2411
+ def update!(**args)
2412
+ @kind = args[:kind] unless args[:kind].nil?
2413
+ end
2414
+ end
2415
+
2416
+ #
2417
+ class LoyaltyPoints
2418
+ include Google::Apis::Core::Hashable
2419
+
2420
+ # Name of loyalty points program. It is recommended to limit the name to 12 full-
2421
+ # width characters or 24 Roman characters.
2422
+ # Corresponds to the JSON property `name`
2423
+ # @return [String]
2424
+ attr_accessor :name
2425
+
2426
+ # The retailer's loyalty points in absolute value.
2427
+ # Corresponds to the JSON property `pointsValue`
2428
+ # @return [String]
2429
+ attr_accessor :points_value
2430
+
2431
+ # The ratio of a point when converted to currency. Google assumes currency based
2432
+ # on Merchant Center settings. If ratio is left out, it defaults to 1.0.
2433
+ # Corresponds to the JSON property `ratio`
2434
+ # @return [Float]
2435
+ attr_accessor :ratio
2436
+
2437
+ def initialize(**args)
2438
+ update!(**args)
2439
+ end
2440
+
2441
+ # Update properties of this object
2442
+ def update!(**args)
2443
+ @name = args[:name] unless args[:name].nil?
2444
+ @points_value = args[:points_value] unless args[:points_value].nil?
2445
+ @ratio = args[:ratio] unless args[:ratio].nil?
2446
+ end
2447
+ end
2448
+
2449
+ #
2450
+ class Price
2451
+ include Google::Apis::Core::Hashable
2452
+
2453
+ # The currency of the price.
2454
+ # Corresponds to the JSON property `currency`
2455
+ # @return [String]
2456
+ attr_accessor :currency
2457
+
2458
+ # The price represented as a number.
2459
+ # Corresponds to the JSON property `value`
2460
+ # @return [String]
2461
+ attr_accessor :value
2462
+
2463
+ def initialize(**args)
2464
+ update!(**args)
2465
+ end
2466
+
2467
+ # Update properties of this object
2468
+ def update!(**args)
2469
+ @currency = args[:currency] unless args[:currency].nil?
2470
+ @value = args[:value] unless args[:value].nil?
2471
+ end
2472
+ end
2473
+
2474
+ # Product data.
2475
+ class Product
2476
+ include Google::Apis::Core::Hashable
2477
+
2478
+ # Additional URLs of images of the item.
2479
+ # Corresponds to the JSON property `additionalImageLinks`
2480
+ # @return [Array<String>]
2481
+ attr_accessor :additional_image_links
2482
+
2483
+ # Set to true if the item is targeted towards adults.
2484
+ # Corresponds to the JSON property `adult`
2485
+ # @return [Boolean]
2486
+ attr_accessor :adult
2487
+ alias_method :adult?, :adult
2488
+
2489
+ # Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
2490
+ # Corresponds to the JSON property `adwordsGrouping`
2491
+ # @return [String]
2492
+ attr_accessor :adwords_grouping
2493
+
2494
+ # Similar to adwords_grouping, but only works on CPC.
2495
+ # Corresponds to the JSON property `adwordsLabels`
2496
+ # @return [Array<String>]
2497
+ attr_accessor :adwords_labels
2498
+
2499
+ # Allows advertisers to override the item URL when the product is shown within
2500
+ # the context of Product Ads.
2501
+ # Corresponds to the JSON property `adwordsRedirect`
2502
+ # @return [String]
2503
+ attr_accessor :adwords_redirect
2504
+
2505
+ # Target age group of the item.
2506
+ # Corresponds to the JSON property `ageGroup`
2507
+ # @return [String]
2508
+ attr_accessor :age_group
2509
+
2510
+ # Specifies the intended aspects for the product.
2511
+ # Corresponds to the JSON property `aspects`
2512
+ # @return [Array<Google::Apis::ContentV2::ProductAspect>]
2513
+ attr_accessor :aspects
2514
+
2515
+ # Availability status of the item.
2516
+ # Corresponds to the JSON property `availability`
2517
+ # @return [String]
2518
+ attr_accessor :availability
2519
+
2520
+ # The day a pre-ordered product becomes available for delivery, in ISO 8601
2521
+ # format.
2522
+ # Corresponds to the JSON property `availabilityDate`
2523
+ # @return [String]
2524
+ attr_accessor :availability_date
2525
+
2526
+ # Brand of the item.
2527
+ # Corresponds to the JSON property `brand`
2528
+ # @return [String]
2529
+ attr_accessor :brand
2530
+
2531
+ # The item's channel (online or local).
2532
+ # Corresponds to the JSON property `channel`
2533
+ # @return [String]
2534
+ attr_accessor :channel
2535
+
2536
+ # Color of the item.
2537
+ # Corresponds to the JSON property `color`
2538
+ # @return [String]
2539
+ attr_accessor :color
2540
+
2541
+ # Condition or state of the item.
2542
+ # Corresponds to the JSON property `condition`
2543
+ # @return [String]
2544
+ attr_accessor :condition
2545
+
2546
+ # The two-letter ISO 639-1 language code for the item.
2547
+ # Corresponds to the JSON property `contentLanguage`
2548
+ # @return [String]
2549
+ attr_accessor :content_language
2550
+
2551
+ # A list of custom (merchant-provided) attributes. It can also be used for
2552
+ # submitting any attribute of the feed specification in its generic form (e.g., `
2553
+ # "name": "size type", "type": "text", "value": "regular" `). This is useful
2554
+ # for submitting attributes not explicitly exposed by the API.
2555
+ # Corresponds to the JSON property `customAttributes`
2556
+ # @return [Array<Google::Apis::ContentV2::ProductCustomAttribute>]
2557
+ attr_accessor :custom_attributes
2558
+
2559
+ # A list of custom (merchant-provided) custom attribute groups.
2560
+ # Corresponds to the JSON property `customGroups`
2561
+ # @return [Array<Google::Apis::ContentV2::ProductCustomGroup>]
2562
+ attr_accessor :custom_groups
2563
+
2564
+ # Custom label 0 for custom grouping of items in a Shopping campaign.
2565
+ # Corresponds to the JSON property `customLabel0`
2566
+ # @return [String]
2567
+ attr_accessor :custom_label0
2568
+
2569
+ # Custom label 1 for custom grouping of items in a Shopping campaign.
2570
+ # Corresponds to the JSON property `customLabel1`
2571
+ # @return [String]
2572
+ attr_accessor :custom_label1
2573
+
2574
+ # Custom label 2 for custom grouping of items in a Shopping campaign.
2575
+ # Corresponds to the JSON property `customLabel2`
2576
+ # @return [String]
2577
+ attr_accessor :custom_label2
2578
+
2579
+ # Custom label 3 for custom grouping of items in a Shopping campaign.
2580
+ # Corresponds to the JSON property `customLabel3`
2581
+ # @return [String]
2582
+ attr_accessor :custom_label3
2583
+
2584
+ # Custom label 4 for custom grouping of items in a Shopping campaign.
2585
+ # Corresponds to the JSON property `customLabel4`
2586
+ # @return [String]
2587
+ attr_accessor :custom_label4
2588
+
2589
+ # Description of the item.
2590
+ # Corresponds to the JSON property `description`
2591
+ # @return [String]
2592
+ attr_accessor :description
2593
+
2594
+ # Specifies the intended destinations for the product.
2595
+ # Corresponds to the JSON property `destinations`
2596
+ # @return [Array<Google::Apis::ContentV2::ProductDestination>]
2597
+ attr_accessor :destinations
2598
+
2599
+ # An identifier for an item for dynamic remarketing campaigns.
2600
+ # Corresponds to the JSON property `displayAdsId`
2601
+ # @return [String]
2602
+ attr_accessor :display_ads_id
2603
+
2604
+ # URL directly to your item's landing page for dynamic remarketing campaigns.
2605
+ # Corresponds to the JSON property `displayAdsLink`
2606
+ # @return [String]
2607
+ attr_accessor :display_ads_link
2608
+
2609
+ # Advertiser-specified recommendations.
2610
+ # Corresponds to the JSON property `displayAdsSimilarIds`
2611
+ # @return [Array<String>]
2612
+ attr_accessor :display_ads_similar_ids
2613
+
2614
+ # Title of an item for dynamic remarketing campaigns.
2615
+ # Corresponds to the JSON property `displayAdsTitle`
2616
+ # @return [String]
2617
+ attr_accessor :display_ads_title
2618
+
2619
+ # Offer margin for dynamic remarketing campaigns.
2620
+ # Corresponds to the JSON property `displayAdsValue`
2621
+ # @return [Float]
2622
+ attr_accessor :display_ads_value
2623
+
2624
+ # The energy efficiency class as defined in EU directive 2010/30/EU.
2625
+ # Corresponds to the JSON property `energyEfficiencyClass`
2626
+ # @return [String]
2627
+ attr_accessor :energy_efficiency_class
2628
+
2629
+ # Date on which the item should expire, as specified upon insertion, in ISO 8601
2630
+ # format. The actual expiration date in Google Shopping is exposed in
2631
+ # productstatuses as googleExpirationDate and might be earlier if expirationDate
2632
+ # is too far in the future.
2633
+ # Corresponds to the JSON property `expirationDate`
2634
+ # @return [String]
2635
+ attr_accessor :expiration_date
2636
+
2637
+ # Target gender of the item.
2638
+ # Corresponds to the JSON property `gender`
2639
+ # @return [String]
2640
+ attr_accessor :gender
2641
+
2642
+ # Google's category of the item (see Google product taxonomy).
2643
+ # Corresponds to the JSON property `googleProductCategory`
2644
+ # @return [String]
2645
+ attr_accessor :google_product_category
2646
+
2647
+ # Global Trade Item Number (GTIN) of the item.
2648
+ # Corresponds to the JSON property `gtin`
2649
+ # @return [String]
2650
+ attr_accessor :gtin
2651
+
2652
+ # The REST id of the product.
2653
+ # Corresponds to the JSON property `id`
2654
+ # @return [String]
2655
+ attr_accessor :id
2656
+
2657
+ # False when the item does not have unique product identifiers appropriate to
2658
+ # its category, such as GTIN, MPN, and brand. Required according to the Unique
2659
+ # Product Identifier Rules for all target countries except for Canada.
2660
+ # Corresponds to the JSON property `identifierExists`
2661
+ # @return [Boolean]
2662
+ attr_accessor :identifier_exists
2663
+ alias_method :identifier_exists?, :identifier_exists
2664
+
2665
+ # URL of an image of the item.
2666
+ # Corresponds to the JSON property `imageLink`
2667
+ # @return [String]
2668
+ attr_accessor :image_link
2669
+
2670
+ # Number and amount of installments to pay for an item. Brazil only.
2671
+ # Corresponds to the JSON property `installment`
2672
+ # @return [Google::Apis::ContentV2::ProductInstallment]
2673
+ attr_accessor :installment
2674
+
2675
+ # Whether the item is a merchant-defined bundle. A bundle is a custom grouping
2676
+ # of different products sold by a merchant for a single price.
2677
+ # Corresponds to the JSON property `isBundle`
2678
+ # @return [Boolean]
2679
+ attr_accessor :is_bundle
2680
+ alias_method :is_bundle?, :is_bundle
2681
+
2682
+ # Shared identifier for all variants of the same product.
2683
+ # Corresponds to the JSON property `itemGroupId`
2684
+ # @return [String]
2685
+ attr_accessor :item_group_id
2686
+
2687
+ # Identifies what kind of resource this is. Value: the fixed string "content#
2688
+ # product".
2689
+ # Corresponds to the JSON property `kind`
2690
+ # @return [String]
2691
+ attr_accessor :kind
2692
+
2693
+ # URL directly linking to your item's page on your website.
2694
+ # Corresponds to the JSON property `link`
2695
+ # @return [String]
2696
+ attr_accessor :link
2697
+
2698
+ # Loyalty points that users receive after purchasing the item. Japan only.
2699
+ # Corresponds to the JSON property `loyaltyPoints`
2700
+ # @return [Google::Apis::ContentV2::LoyaltyPoints]
2701
+ attr_accessor :loyalty_points
2702
+
2703
+ # The material of which the item is made.
2704
+ # Corresponds to the JSON property `material`
2705
+ # @return [String]
2706
+ attr_accessor :material
2707
+
2708
+ # Link to a mobile-optimized version of the landing page.
2709
+ # Corresponds to the JSON property `mobileLink`
2710
+ # @return [String]
2711
+ attr_accessor :mobile_link
2712
+
2713
+ # Manufacturer Part Number (MPN) of the item.
2714
+ # Corresponds to the JSON property `mpn`
2715
+ # @return [String]
2716
+ attr_accessor :mpn
2717
+
2718
+ # The number of identical products in a merchant-defined multipack.
2719
+ # Corresponds to the JSON property `multipack`
2720
+ # @return [String]
2721
+ attr_accessor :multipack
2722
+
2723
+ # An identifier of the item.
2724
+ # Corresponds to the JSON property `offerId`
2725
+ # @return [String]
2726
+ attr_accessor :offer_id
2727
+
2728
+ # Whether an item is available for purchase only online.
2729
+ # Corresponds to the JSON property `onlineOnly`
2730
+ # @return [Boolean]
2731
+ attr_accessor :online_only
2732
+ alias_method :online_only?, :online_only
2733
+
2734
+ # The item's pattern (e.g. polka dots).
2735
+ # Corresponds to the JSON property `pattern`
2736
+ # @return [String]
2737
+ attr_accessor :pattern
2738
+
2739
+ # Price of the item.
2740
+ # Corresponds to the JSON property `price`
2741
+ # @return [Google::Apis::ContentV2::Price]
2742
+ attr_accessor :price
2743
+
2744
+ # Your category of the item (formatted as in product feeds specification).
2745
+ # Corresponds to the JSON property `productType`
2746
+ # @return [String]
2747
+ attr_accessor :product_type
2748
+
2749
+ # Advertised sale price of the item.
2750
+ # Corresponds to the JSON property `salePrice`
2751
+ # @return [Google::Apis::ContentV2::Price]
2752
+ attr_accessor :sale_price
2753
+
2754
+ # Date range during which the item is on sale (see product feed specifications).
2755
+ # Corresponds to the JSON property `salePriceEffectiveDate`
2756
+ # @return [String]
2757
+ attr_accessor :sale_price_effective_date
2758
+
2759
+ # Shipping rules.
2760
+ # Corresponds to the JSON property `shipping`
2761
+ # @return [Array<Google::Apis::ContentV2::ProductShipping>]
2762
+ attr_accessor :shipping
2763
+
2764
+ # Height of the item for shipping.
2765
+ # Corresponds to the JSON property `shippingHeight`
2766
+ # @return [Google::Apis::ContentV2::ProductShippingDimension]
2767
+ attr_accessor :shipping_height
2768
+
2769
+ # The shipping label of the product, used to group product in account-level
2770
+ # shipping rules.
2771
+ # Corresponds to the JSON property `shippingLabel`
2772
+ # @return [String]
2773
+ attr_accessor :shipping_label
2774
+
2775
+ # Length of the item for shipping.
2776
+ # Corresponds to the JSON property `shippingLength`
2777
+ # @return [Google::Apis::ContentV2::ProductShippingDimension]
2778
+ attr_accessor :shipping_length
2779
+
2780
+ # Weight of the item for shipping.
2781
+ # Corresponds to the JSON property `shippingWeight`
2782
+ # @return [Google::Apis::ContentV2::ProductShippingWeight]
2783
+ attr_accessor :shipping_weight
2784
+
2785
+ # Width of the item for shipping.
2786
+ # Corresponds to the JSON property `shippingWidth`
2787
+ # @return [Google::Apis::ContentV2::ProductShippingDimension]
2788
+ attr_accessor :shipping_width
2789
+
2790
+ # System in which the size is specified. Recommended for apparel items.
2791
+ # Corresponds to the JSON property `sizeSystem`
2792
+ # @return [String]
2793
+ attr_accessor :size_system
2794
+
2795
+ # The cut of the item. Recommended for apparel items.
2796
+ # Corresponds to the JSON property `sizeType`
2797
+ # @return [String]
2798
+ attr_accessor :size_type
2799
+
2800
+ # Size of the item.
2801
+ # Corresponds to the JSON property `sizes`
2802
+ # @return [Array<String>]
2803
+ attr_accessor :sizes
2804
+
2805
+ # The two-letter ISO 3166 country code for the item.
2806
+ # Corresponds to the JSON property `targetCountry`
2807
+ # @return [String]
2808
+ attr_accessor :target_country
2809
+
2810
+ # Tax information.
2811
+ # Corresponds to the JSON property `taxes`
2812
+ # @return [Array<Google::Apis::ContentV2::ProductTax>]
2813
+ attr_accessor :taxes
2814
+
2815
+ # Title of the item.
2816
+ # Corresponds to the JSON property `title`
2817
+ # @return [String]
2818
+ attr_accessor :title
2819
+
2820
+ # The preference of the denominator of the unit price.
2821
+ # Corresponds to the JSON property `unitPricingBaseMeasure`
2822
+ # @return [Google::Apis::ContentV2::ProductUnitPricingBaseMeasure]
2823
+ attr_accessor :unit_pricing_base_measure
2824
+
2825
+ # The measure and dimension of an item.
2826
+ # Corresponds to the JSON property `unitPricingMeasure`
2827
+ # @return [Google::Apis::ContentV2::ProductUnitPricingMeasure]
2828
+ attr_accessor :unit_pricing_measure
2829
+
2830
+ # The read-only list of intended destinations which passed validation.
2831
+ # Corresponds to the JSON property `validatedDestinations`
2832
+ # @return [Array<String>]
2833
+ attr_accessor :validated_destinations
2834
+
2835
+ # Read-only warnings.
2836
+ # Corresponds to the JSON property `warnings`
2837
+ # @return [Array<Google::Apis::ContentV2::Error>]
2838
+ attr_accessor :warnings
2839
+
2840
+ def initialize(**args)
2841
+ update!(**args)
2842
+ end
2843
+
2844
+ # Update properties of this object
2845
+ def update!(**args)
2846
+ @additional_image_links = args[:additional_image_links] unless args[:additional_image_links].nil?
2847
+ @adult = args[:adult] unless args[:adult].nil?
2848
+ @adwords_grouping = args[:adwords_grouping] unless args[:adwords_grouping].nil?
2849
+ @adwords_labels = args[:adwords_labels] unless args[:adwords_labels].nil?
2850
+ @adwords_redirect = args[:adwords_redirect] unless args[:adwords_redirect].nil?
2851
+ @age_group = args[:age_group] unless args[:age_group].nil?
2852
+ @aspects = args[:aspects] unless args[:aspects].nil?
2853
+ @availability = args[:availability] unless args[:availability].nil?
2854
+ @availability_date = args[:availability_date] unless args[:availability_date].nil?
2855
+ @brand = args[:brand] unless args[:brand].nil?
2856
+ @channel = args[:channel] unless args[:channel].nil?
2857
+ @color = args[:color] unless args[:color].nil?
2858
+ @condition = args[:condition] unless args[:condition].nil?
2859
+ @content_language = args[:content_language] unless args[:content_language].nil?
2860
+ @custom_attributes = args[:custom_attributes] unless args[:custom_attributes].nil?
2861
+ @custom_groups = args[:custom_groups] unless args[:custom_groups].nil?
2862
+ @custom_label0 = args[:custom_label0] unless args[:custom_label0].nil?
2863
+ @custom_label1 = args[:custom_label1] unless args[:custom_label1].nil?
2864
+ @custom_label2 = args[:custom_label2] unless args[:custom_label2].nil?
2865
+ @custom_label3 = args[:custom_label3] unless args[:custom_label3].nil?
2866
+ @custom_label4 = args[:custom_label4] unless args[:custom_label4].nil?
2867
+ @description = args[:description] unless args[:description].nil?
2868
+ @destinations = args[:destinations] unless args[:destinations].nil?
2869
+ @display_ads_id = args[:display_ads_id] unless args[:display_ads_id].nil?
2870
+ @display_ads_link = args[:display_ads_link] unless args[:display_ads_link].nil?
2871
+ @display_ads_similar_ids = args[:display_ads_similar_ids] unless args[:display_ads_similar_ids].nil?
2872
+ @display_ads_title = args[:display_ads_title] unless args[:display_ads_title].nil?
2873
+ @display_ads_value = args[:display_ads_value] unless args[:display_ads_value].nil?
2874
+ @energy_efficiency_class = args[:energy_efficiency_class] unless args[:energy_efficiency_class].nil?
2875
+ @expiration_date = args[:expiration_date] unless args[:expiration_date].nil?
2876
+ @gender = args[:gender] unless args[:gender].nil?
2877
+ @google_product_category = args[:google_product_category] unless args[:google_product_category].nil?
2878
+ @gtin = args[:gtin] unless args[:gtin].nil?
2879
+ @id = args[:id] unless args[:id].nil?
2880
+ @identifier_exists = args[:identifier_exists] unless args[:identifier_exists].nil?
2881
+ @image_link = args[:image_link] unless args[:image_link].nil?
2882
+ @installment = args[:installment] unless args[:installment].nil?
2883
+ @is_bundle = args[:is_bundle] unless args[:is_bundle].nil?
2884
+ @item_group_id = args[:item_group_id] unless args[:item_group_id].nil?
2885
+ @kind = args[:kind] unless args[:kind].nil?
2886
+ @link = args[:link] unless args[:link].nil?
2887
+ @loyalty_points = args[:loyalty_points] unless args[:loyalty_points].nil?
2888
+ @material = args[:material] unless args[:material].nil?
2889
+ @mobile_link = args[:mobile_link] unless args[:mobile_link].nil?
2890
+ @mpn = args[:mpn] unless args[:mpn].nil?
2891
+ @multipack = args[:multipack] unless args[:multipack].nil?
2892
+ @offer_id = args[:offer_id] unless args[:offer_id].nil?
2893
+ @online_only = args[:online_only] unless args[:online_only].nil?
2894
+ @pattern = args[:pattern] unless args[:pattern].nil?
2895
+ @price = args[:price] unless args[:price].nil?
2896
+ @product_type = args[:product_type] unless args[:product_type].nil?
2897
+ @sale_price = args[:sale_price] unless args[:sale_price].nil?
2898
+ @sale_price_effective_date = args[:sale_price_effective_date] unless args[:sale_price_effective_date].nil?
2899
+ @shipping = args[:shipping] unless args[:shipping].nil?
2900
+ @shipping_height = args[:shipping_height] unless args[:shipping_height].nil?
2901
+ @shipping_label = args[:shipping_label] unless args[:shipping_label].nil?
2902
+ @shipping_length = args[:shipping_length] unless args[:shipping_length].nil?
2903
+ @shipping_weight = args[:shipping_weight] unless args[:shipping_weight].nil?
2904
+ @shipping_width = args[:shipping_width] unless args[:shipping_width].nil?
2905
+ @size_system = args[:size_system] unless args[:size_system].nil?
2906
+ @size_type = args[:size_type] unless args[:size_type].nil?
2907
+ @sizes = args[:sizes] unless args[:sizes].nil?
2908
+ @target_country = args[:target_country] unless args[:target_country].nil?
2909
+ @taxes = args[:taxes] unless args[:taxes].nil?
2910
+ @title = args[:title] unless args[:title].nil?
2911
+ @unit_pricing_base_measure = args[:unit_pricing_base_measure] unless args[:unit_pricing_base_measure].nil?
2912
+ @unit_pricing_measure = args[:unit_pricing_measure] unless args[:unit_pricing_measure].nil?
2913
+ @validated_destinations = args[:validated_destinations] unless args[:validated_destinations].nil?
2914
+ @warnings = args[:warnings] unless args[:warnings].nil?
2915
+ end
2916
+ end
2917
+
2918
+ #
2919
+ class ProductAspect
2920
+ include Google::Apis::Core::Hashable
2921
+
2922
+ # The name of the aspect.
2923
+ # Corresponds to the JSON property `aspectName`
2924
+ # @return [String]
2925
+ attr_accessor :aspect_name
2926
+
2927
+ # The name of the destination. Leave out to apply to all destinations.
2928
+ # Corresponds to the JSON property `destinationName`
2929
+ # @return [String]
2930
+ attr_accessor :destination_name
2931
+
2932
+ # Whether the aspect is required, excluded or should be validated.
2933
+ # Corresponds to the JSON property `intention`
2934
+ # @return [String]
2935
+ attr_accessor :intention
2936
+
2937
+ def initialize(**args)
2938
+ update!(**args)
2939
+ end
2940
+
2941
+ # Update properties of this object
2942
+ def update!(**args)
2943
+ @aspect_name = args[:aspect_name] unless args[:aspect_name].nil?
2944
+ @destination_name = args[:destination_name] unless args[:destination_name].nil?
2945
+ @intention = args[:intention] unless args[:intention].nil?
2946
+ end
2947
+ end
2948
+
2949
+ #
2950
+ class ProductCustomAttribute
2951
+ include Google::Apis::Core::Hashable
2952
+
2953
+ # The name of the attribute. Underscores will be replaced by spaces upon
2954
+ # insertion.
2955
+ # Corresponds to the JSON property `name`
2956
+ # @return [String]
2957
+ attr_accessor :name
2958
+
2959
+ # The type of the attribute.
2960
+ # Corresponds to the JSON property `type`
2961
+ # @return [String]
2962
+ attr_accessor :type
2963
+
2964
+ # Free-form unit of the attribute. Unit can only be used for values of type INT
2965
+ # or FLOAT.
2966
+ # Corresponds to the JSON property `unit`
2967
+ # @return [String]
2968
+ attr_accessor :unit
2969
+
2970
+ # The value of the attribute.
2971
+ # Corresponds to the JSON property `value`
2972
+ # @return [String]
2973
+ attr_accessor :value
2974
+
2975
+ def initialize(**args)
2976
+ update!(**args)
2977
+ end
2978
+
2979
+ # Update properties of this object
2980
+ def update!(**args)
2981
+ @name = args[:name] unless args[:name].nil?
2982
+ @type = args[:type] unless args[:type].nil?
2983
+ @unit = args[:unit] unless args[:unit].nil?
2984
+ @value = args[:value] unless args[:value].nil?
2985
+ end
2986
+ end
2987
+
2988
+ #
2989
+ class ProductCustomGroup
2990
+ include Google::Apis::Core::Hashable
2991
+
2992
+ # The sub-attributes.
2993
+ # Corresponds to the JSON property `attributes`
2994
+ # @return [Array<Google::Apis::ContentV2::ProductCustomAttribute>]
2995
+ attr_accessor :attributes
2996
+
2997
+ # The name of the group. Underscores will be replaced by spaces upon insertion.
2998
+ # Corresponds to the JSON property `name`
2999
+ # @return [String]
3000
+ attr_accessor :name
3001
+
3002
+ def initialize(**args)
3003
+ update!(**args)
3004
+ end
3005
+
3006
+ # Update properties of this object
3007
+ def update!(**args)
3008
+ @attributes = args[:attributes] unless args[:attributes].nil?
3009
+ @name = args[:name] unless args[:name].nil?
3010
+ end
3011
+ end
3012
+
3013
+ #
3014
+ class ProductDestination
3015
+ include Google::Apis::Core::Hashable
3016
+
3017
+ # The name of the destination.
3018
+ # Corresponds to the JSON property `destinationName`
3019
+ # @return [String]
3020
+ attr_accessor :destination_name
3021
+
3022
+ # Whether the destination is required, excluded or should be validated.
3023
+ # Corresponds to the JSON property `intention`
3024
+ # @return [String]
3025
+ attr_accessor :intention
3026
+
3027
+ def initialize(**args)
3028
+ update!(**args)
3029
+ end
3030
+
3031
+ # Update properties of this object
3032
+ def update!(**args)
3033
+ @destination_name = args[:destination_name] unless args[:destination_name].nil?
3034
+ @intention = args[:intention] unless args[:intention].nil?
3035
+ end
3036
+ end
3037
+
3038
+ #
3039
+ class ProductInstallment
3040
+ include Google::Apis::Core::Hashable
3041
+
3042
+ # The amount the buyer has to pay per month.
3043
+ # Corresponds to the JSON property `amount`
3044
+ # @return [Google::Apis::ContentV2::Price]
3045
+ attr_accessor :amount
3046
+
3047
+ # The number of installments the buyer has to pay.
3048
+ # Corresponds to the JSON property `months`
3049
+ # @return [String]
3050
+ attr_accessor :months
3051
+
3052
+ def initialize(**args)
3053
+ update!(**args)
3054
+ end
3055
+
3056
+ # Update properties of this object
3057
+ def update!(**args)
3058
+ @amount = args[:amount] unless args[:amount].nil?
3059
+ @months = args[:months] unless args[:months].nil?
3060
+ end
3061
+ end
3062
+
3063
+ #
3064
+ class ProductShipping
3065
+ include Google::Apis::Core::Hashable
3066
+
3067
+ # The two-letter ISO 3166 country code for the country to which an item will
3068
+ # ship.
3069
+ # Corresponds to the JSON property `country`
3070
+ # @return [String]
3071
+ attr_accessor :country
3072
+
3073
+ # The location where the shipping is applicable, represented by a location group
3074
+ # name.
3075
+ # Corresponds to the JSON property `locationGroupName`
3076
+ # @return [String]
3077
+ attr_accessor :location_group_name
3078
+
3079
+ # The numeric id of a location that the shipping rate applies to as defined in
3080
+ # the AdWords API.
3081
+ # Corresponds to the JSON property `locationId`
3082
+ # @return [String]
3083
+ attr_accessor :location_id
3084
+
3085
+ # The postal code range that the shipping rate applies to, represented by a
3086
+ # postal code, a postal code prefix followed by a * wildcard, a range between
3087
+ # two postal codes or two postal code prefixes of equal length.
3088
+ # Corresponds to the JSON property `postalCode`
3089
+ # @return [String]
3090
+ attr_accessor :postal_code
3091
+
3092
+ # Fixed shipping price, represented as a number.
3093
+ # Corresponds to the JSON property `price`
3094
+ # @return [Google::Apis::ContentV2::Price]
3095
+ attr_accessor :price
3096
+
3097
+ # The geographic region to which a shipping rate applies (e.g. zip code).
3098
+ # Corresponds to the JSON property `region`
3099
+ # @return [String]
3100
+ attr_accessor :region
3101
+
3102
+ # A free-form description of the service class or delivery speed.
3103
+ # Corresponds to the JSON property `service`
3104
+ # @return [String]
3105
+ attr_accessor :service
3106
+
3107
+ def initialize(**args)
3108
+ update!(**args)
3109
+ end
3110
+
3111
+ # Update properties of this object
3112
+ def update!(**args)
3113
+ @country = args[:country] unless args[:country].nil?
3114
+ @location_group_name = args[:location_group_name] unless args[:location_group_name].nil?
3115
+ @location_id = args[:location_id] unless args[:location_id].nil?
3116
+ @postal_code = args[:postal_code] unless args[:postal_code].nil?
3117
+ @price = args[:price] unless args[:price].nil?
3118
+ @region = args[:region] unless args[:region].nil?
3119
+ @service = args[:service] unless args[:service].nil?
3120
+ end
3121
+ end
3122
+
3123
+ #
3124
+ class ProductShippingDimension
3125
+ include Google::Apis::Core::Hashable
3126
+
3127
+ # The unit of value.
3128
+ # Acceptable values are:
3129
+ # - "cm"
3130
+ # - "in"
3131
+ # Corresponds to the JSON property `unit`
3132
+ # @return [String]
3133
+ attr_accessor :unit
3134
+
3135
+ # The dimension of the product used to calculate the shipping cost of the item.
3136
+ # Corresponds to the JSON property `value`
3137
+ # @return [Float]
3138
+ attr_accessor :value
3139
+
3140
+ def initialize(**args)
3141
+ update!(**args)
3142
+ end
3143
+
3144
+ # Update properties of this object
3145
+ def update!(**args)
3146
+ @unit = args[:unit] unless args[:unit].nil?
3147
+ @value = args[:value] unless args[:value].nil?
3148
+ end
3149
+ end
3150
+
3151
+ #
3152
+ class ProductShippingWeight
3153
+ include Google::Apis::Core::Hashable
3154
+
3155
+ # The unit of value.
3156
+ # Corresponds to the JSON property `unit`
3157
+ # @return [String]
3158
+ attr_accessor :unit
3159
+
3160
+ # The weight of the product used to calculate the shipping cost of the item.
3161
+ # Corresponds to the JSON property `value`
3162
+ # @return [Float]
3163
+ attr_accessor :value
3164
+
3165
+ def initialize(**args)
3166
+ update!(**args)
3167
+ end
3168
+
3169
+ # Update properties of this object
3170
+ def update!(**args)
3171
+ @unit = args[:unit] unless args[:unit].nil?
3172
+ @value = args[:value] unless args[:value].nil?
3173
+ end
3174
+ end
3175
+
3176
+ # The status of a product, i.e., information about a product computed
3177
+ # asynchronously by the data quality analysis.
3178
+ class ProductStatus
3179
+ include Google::Apis::Core::Hashable
3180
+
3181
+ # Date on which the item has been created, in ISO 8601 format.
3182
+ # Corresponds to the JSON property `creationDate`
3183
+ # @return [String]
3184
+ attr_accessor :creation_date
3185
+
3186
+ # A list of data quality issues associated with the product.
3187
+ # Corresponds to the JSON property `dataQualityIssues`
3188
+ # @return [Array<Google::Apis::ContentV2::ProductStatusDataQualityIssue>]
3189
+ attr_accessor :data_quality_issues
3190
+
3191
+ # The intended destinations for the product.
3192
+ # Corresponds to the JSON property `destinationStatuses`
3193
+ # @return [Array<Google::Apis::ContentV2::ProductStatusDestinationStatus>]
3194
+ attr_accessor :destination_statuses
3195
+
3196
+ # Date on which the item expires in Google Shopping, in ISO 8601 format.
3197
+ # Corresponds to the JSON property `googleExpirationDate`
3198
+ # @return [String]
3199
+ attr_accessor :google_expiration_date
3200
+
3201
+ # Identifies what kind of resource this is. Value: the fixed string "content#
3202
+ # productStatus".
3203
+ # Corresponds to the JSON property `kind`
3204
+ # @return [String]
3205
+ attr_accessor :kind
3206
+
3207
+ # Date on which the item has been last updated, in ISO 8601 format.
3208
+ # Corresponds to the JSON property `lastUpdateDate`
3209
+ # @return [String]
3210
+ attr_accessor :last_update_date
3211
+
3212
+ # The link to the product.
3213
+ # Corresponds to the JSON property `link`
3214
+ # @return [String]
3215
+ attr_accessor :link
3216
+
3217
+ # The id of the product for which status is reported.
3218
+ # Corresponds to the JSON property `productId`
3219
+ # @return [String]
3220
+ attr_accessor :product_id
3221
+
3222
+ # The title of the product.
3223
+ # Corresponds to the JSON property `title`
3224
+ # @return [String]
3225
+ attr_accessor :title
3226
+
3227
+ def initialize(**args)
3228
+ update!(**args)
3229
+ end
3230
+
3231
+ # Update properties of this object
3232
+ def update!(**args)
3233
+ @creation_date = args[:creation_date] unless args[:creation_date].nil?
3234
+ @data_quality_issues = args[:data_quality_issues] unless args[:data_quality_issues].nil?
3235
+ @destination_statuses = args[:destination_statuses] unless args[:destination_statuses].nil?
3236
+ @google_expiration_date = args[:google_expiration_date] unless args[:google_expiration_date].nil?
3237
+ @kind = args[:kind] unless args[:kind].nil?
3238
+ @last_update_date = args[:last_update_date] unless args[:last_update_date].nil?
3239
+ @link = args[:link] unless args[:link].nil?
3240
+ @product_id = args[:product_id] unless args[:product_id].nil?
3241
+ @title = args[:title] unless args[:title].nil?
3242
+ end
3243
+ end
3244
+
3245
+ #
3246
+ class ProductStatusDataQualityIssue
3247
+ include Google::Apis::Core::Hashable
3248
+
3249
+ # A more detailed error string.
3250
+ # Corresponds to the JSON property `detail`
3251
+ # @return [String]
3252
+ attr_accessor :detail
3253
+
3254
+ # The fetch status for landing_page_errors.
3255
+ # Corresponds to the JSON property `fetchStatus`
3256
+ # @return [String]
3257
+ attr_accessor :fetch_status
3258
+
3259
+ # The id of the data quality issue.
3260
+ # Corresponds to the JSON property `id`
3261
+ # @return [String]
3262
+ attr_accessor :id
3263
+
3264
+ # The attribute name that is relevant for the issue.
3265
+ # Corresponds to the JSON property `location`
3266
+ # @return [String]
3267
+ attr_accessor :location
3268
+
3269
+ # The severity of the data quality issue.
3270
+ # Corresponds to the JSON property `severity`
3271
+ # @return [String]
3272
+ attr_accessor :severity
3273
+
3274
+ # The time stamp of the data quality issue.
3275
+ # Corresponds to the JSON property `timestamp`
3276
+ # @return [String]
3277
+ attr_accessor :timestamp
3278
+
3279
+ # The value of that attribute that was found on the landing page
3280
+ # Corresponds to the JSON property `valueOnLandingPage`
3281
+ # @return [String]
3282
+ attr_accessor :value_on_landing_page
3283
+
3284
+ # The value the attribute had at time of evaluation.
3285
+ # Corresponds to the JSON property `valueProvided`
3286
+ # @return [String]
3287
+ attr_accessor :value_provided
3288
+
3289
+ def initialize(**args)
3290
+ update!(**args)
3291
+ end
3292
+
3293
+ # Update properties of this object
3294
+ def update!(**args)
3295
+ @detail = args[:detail] unless args[:detail].nil?
3296
+ @fetch_status = args[:fetch_status] unless args[:fetch_status].nil?
3297
+ @id = args[:id] unless args[:id].nil?
3298
+ @location = args[:location] unless args[:location].nil?
3299
+ @severity = args[:severity] unless args[:severity].nil?
3300
+ @timestamp = args[:timestamp] unless args[:timestamp].nil?
3301
+ @value_on_landing_page = args[:value_on_landing_page] unless args[:value_on_landing_page].nil?
3302
+ @value_provided = args[:value_provided] unless args[:value_provided].nil?
3303
+ end
3304
+ end
3305
+
3306
+ #
3307
+ class ProductStatusDestinationStatus
3308
+ include Google::Apis::Core::Hashable
3309
+
3310
+ # The destination's approval status.
3311
+ # Corresponds to the JSON property `approvalStatus`
3312
+ # @return [String]
3313
+ attr_accessor :approval_status
3314
+
3315
+ # The name of the destination
3316
+ # Corresponds to the JSON property `destination`
3317
+ # @return [String]
3318
+ attr_accessor :destination
3319
+
3320
+ # Whether the destination is required, excluded, selected by default or should
3321
+ # be validated.
3322
+ # Corresponds to the JSON property `intention`
3323
+ # @return [String]
3324
+ attr_accessor :intention
3325
+
3326
+ def initialize(**args)
3327
+ update!(**args)
3328
+ end
3329
+
3330
+ # Update properties of this object
3331
+ def update!(**args)
3332
+ @approval_status = args[:approval_status] unless args[:approval_status].nil?
3333
+ @destination = args[:destination] unless args[:destination].nil?
3334
+ @intention = args[:intention] unless args[:intention].nil?
3335
+ end
3336
+ end
3337
+
3338
+ #
3339
+ class ProductTax
3340
+ include Google::Apis::Core::Hashable
3341
+
3342
+ # The country within which the item is taxed, specified with a two-letter ISO
3343
+ # 3166 country code.
3344
+ # Corresponds to the JSON property `country`
3345
+ # @return [String]
3346
+ attr_accessor :country
3347
+
3348
+ # The numeric id of a location that the tax rate applies to as defined in the
3349
+ # AdWords API.
3350
+ # Corresponds to the JSON property `locationId`
3351
+ # @return [String]
3352
+ attr_accessor :location_id
3353
+
3354
+ # The postal code range that the tax rate applies to, represented by a ZIP code,
3355
+ # a ZIP code prefix using * wildcard, a range between two ZIP codes or two ZIP
3356
+ # code prefixes of equal length. Examples: 94114, 94*, 94002-95460, 94*-95*.
3357
+ # Corresponds to the JSON property `postalCode`
3358
+ # @return [String]
3359
+ attr_accessor :postal_code
3360
+
3361
+ # The percentage of tax rate that applies to the item price.
3362
+ # Corresponds to the JSON property `rate`
3363
+ # @return [Float]
3364
+ attr_accessor :rate
3365
+
3366
+ # The geographic region to which the tax rate applies.
3367
+ # Corresponds to the JSON property `region`
3368
+ # @return [String]
3369
+ attr_accessor :region
3370
+
3371
+ # Set to true if tax is charged on shipping.
3372
+ # Corresponds to the JSON property `taxShip`
3373
+ # @return [Boolean]
3374
+ attr_accessor :tax_ship
3375
+ alias_method :tax_ship?, :tax_ship
3376
+
3377
+ def initialize(**args)
3378
+ update!(**args)
3379
+ end
3380
+
3381
+ # Update properties of this object
3382
+ def update!(**args)
3383
+ @country = args[:country] unless args[:country].nil?
3384
+ @location_id = args[:location_id] unless args[:location_id].nil?
3385
+ @postal_code = args[:postal_code] unless args[:postal_code].nil?
3386
+ @rate = args[:rate] unless args[:rate].nil?
3387
+ @region = args[:region] unless args[:region].nil?
3388
+ @tax_ship = args[:tax_ship] unless args[:tax_ship].nil?
3389
+ end
3390
+ end
3391
+
3392
+ #
3393
+ class ProductUnitPricingBaseMeasure
3394
+ include Google::Apis::Core::Hashable
3395
+
3396
+ # The unit of the denominator.
3397
+ # Corresponds to the JSON property `unit`
3398
+ # @return [String]
3399
+ attr_accessor :unit
3400
+
3401
+ # The denominator of the unit price.
3402
+ # Corresponds to the JSON property `value`
3403
+ # @return [String]
3404
+ attr_accessor :value
3405
+
3406
+ def initialize(**args)
3407
+ update!(**args)
3408
+ end
3409
+
3410
+ # Update properties of this object
3411
+ def update!(**args)
3412
+ @unit = args[:unit] unless args[:unit].nil?
3413
+ @value = args[:value] unless args[:value].nil?
3414
+ end
3415
+ end
3416
+
3417
+ #
3418
+ class ProductUnitPricingMeasure
3419
+ include Google::Apis::Core::Hashable
3420
+
3421
+ # The unit of the measure.
3422
+ # Corresponds to the JSON property `unit`
3423
+ # @return [String]
3424
+ attr_accessor :unit
3425
+
3426
+ # The measure of an item.
3427
+ # Corresponds to the JSON property `value`
3428
+ # @return [Float]
3429
+ attr_accessor :value
3430
+
3431
+ def initialize(**args)
3432
+ update!(**args)
3433
+ end
3434
+
3435
+ # Update properties of this object
3436
+ def update!(**args)
3437
+ @unit = args[:unit] unless args[:unit].nil?
3438
+ @value = args[:value] unless args[:value].nil?
3439
+ end
3440
+ end
3441
+
3442
+ #
3443
+ class BatchProductsRequest
3444
+ include Google::Apis::Core::Hashable
3445
+
3446
+ # The request entries to be processed in the batch.
3447
+ # Corresponds to the JSON property `entries`
3448
+ # @return [Array<Google::Apis::ContentV2::ProductsBatchRequestEntry>]
3449
+ attr_accessor :entries
3450
+
3451
+ def initialize(**args)
3452
+ update!(**args)
3453
+ end
3454
+
3455
+ # Update properties of this object
3456
+ def update!(**args)
3457
+ @entries = args[:entries] unless args[:entries].nil?
3458
+ end
3459
+ end
3460
+
3461
+ # A batch entry encoding a single non-batch products request.
3462
+ class ProductsBatchRequestEntry
3463
+ include Google::Apis::Core::Hashable
3464
+
3465
+ # An entry ID, unique within the batch request.
3466
+ # Corresponds to the JSON property `batchId`
3467
+ # @return [Fixnum]
3468
+ attr_accessor :batch_id
3469
+
3470
+ # The ID of the managing account.
3471
+ # Corresponds to the JSON property `merchantId`
3472
+ # @return [String]
3473
+ attr_accessor :merchant_id
3474
+
3475
+ #
3476
+ # Corresponds to the JSON property `method`
3477
+ # @return [String]
3478
+ attr_accessor :request_method
3479
+
3480
+ # Product data.
3481
+ # Corresponds to the JSON property `product`
3482
+ # @return [Google::Apis::ContentV2::Product]
3483
+ attr_accessor :product
3484
+
3485
+ # The ID of the product to get or delete. Only defined if the method is get or
3486
+ # delete.
3487
+ # Corresponds to the JSON property `productId`
3488
+ # @return [String]
3489
+ attr_accessor :product_id
3490
+
3491
+ def initialize(**args)
3492
+ update!(**args)
3493
+ end
3494
+
3495
+ # Update properties of this object
3496
+ def update!(**args)
3497
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
3498
+ @merchant_id = args[:merchant_id] unless args[:merchant_id].nil?
3499
+ @request_method = args[:request_method] unless args[:request_method].nil?
3500
+ @product = args[:product] unless args[:product].nil?
3501
+ @product_id = args[:product_id] unless args[:product_id].nil?
3502
+ end
3503
+ end
3504
+
3505
+ #
3506
+ class BatchProductsResponse
3507
+ include Google::Apis::Core::Hashable
3508
+
3509
+ # The result of the execution of the batch requests.
3510
+ # Corresponds to the JSON property `entries`
3511
+ # @return [Array<Google::Apis::ContentV2::ProductsBatchResponseEntry>]
3512
+ attr_accessor :entries
3513
+
3514
+ # Identifies what kind of resource this is. Value: the fixed string "content#
3515
+ # productsCustomBatchResponse".
3516
+ # Corresponds to the JSON property `kind`
3517
+ # @return [String]
3518
+ attr_accessor :kind
3519
+
3520
+ def initialize(**args)
3521
+ update!(**args)
3522
+ end
3523
+
3524
+ # Update properties of this object
3525
+ def update!(**args)
3526
+ @entries = args[:entries] unless args[:entries].nil?
3527
+ @kind = args[:kind] unless args[:kind].nil?
3528
+ end
3529
+ end
3530
+
3531
+ # A batch entry encoding a single non-batch products response.
3532
+ class ProductsBatchResponseEntry
3533
+ include Google::Apis::Core::Hashable
3534
+
3535
+ # The ID of the request entry this entry responds to.
3536
+ # Corresponds to the JSON property `batchId`
3537
+ # @return [Fixnum]
3538
+ attr_accessor :batch_id
3539
+
3540
+ # A list of errors returned by a failed batch entry.
3541
+ # Corresponds to the JSON property `errors`
3542
+ # @return [Google::Apis::ContentV2::Errors]
3543
+ attr_accessor :errors
3544
+
3545
+ # Identifies what kind of resource this is. Value: the fixed string "content#
3546
+ # productsCustomBatchResponseEntry".
3547
+ # Corresponds to the JSON property `kind`
3548
+ # @return [String]
3549
+ attr_accessor :kind
3550
+
3551
+ # Product data.
3552
+ # Corresponds to the JSON property `product`
3553
+ # @return [Google::Apis::ContentV2::Product]
3554
+ attr_accessor :product
3555
+
3556
+ def initialize(**args)
3557
+ update!(**args)
3558
+ end
3559
+
3560
+ # Update properties of this object
3561
+ def update!(**args)
3562
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
3563
+ @errors = args[:errors] unless args[:errors].nil?
3564
+ @kind = args[:kind] unless args[:kind].nil?
3565
+ @product = args[:product] unless args[:product].nil?
3566
+ end
3567
+ end
3568
+
3569
+ #
3570
+ class ListProductsResponse
3571
+ include Google::Apis::Core::Hashable
3572
+
3573
+ # Identifies what kind of resource this is. Value: the fixed string "content#
3574
+ # productsListResponse".
3575
+ # Corresponds to the JSON property `kind`
3576
+ # @return [String]
3577
+ attr_accessor :kind
3578
+
3579
+ # The token for the retrieval of the next page of products.
3580
+ # Corresponds to the JSON property `nextPageToken`
3581
+ # @return [String]
3582
+ attr_accessor :next_page_token
3583
+
3584
+ #
3585
+ # Corresponds to the JSON property `resources`
3586
+ # @return [Array<Google::Apis::ContentV2::Product>]
3587
+ attr_accessor :resources
3588
+
3589
+ def initialize(**args)
3590
+ update!(**args)
3591
+ end
3592
+
3593
+ # Update properties of this object
3594
+ def update!(**args)
3595
+ @kind = args[:kind] unless args[:kind].nil?
3596
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
3597
+ @resources = args[:resources] unless args[:resources].nil?
3598
+ end
3599
+ end
3600
+
3601
+ #
3602
+ class BatchProductStatusesRequest
3603
+ include Google::Apis::Core::Hashable
3604
+
3605
+ # The request entries to be processed in the batch.
3606
+ # Corresponds to the JSON property `entries`
3607
+ # @return [Array<Google::Apis::ContentV2::ProductStatusesBatchRequestEntry>]
3608
+ attr_accessor :entries
3609
+
3610
+ def initialize(**args)
3611
+ update!(**args)
3612
+ end
3613
+
3614
+ # Update properties of this object
3615
+ def update!(**args)
3616
+ @entries = args[:entries] unless args[:entries].nil?
3617
+ end
3618
+ end
3619
+
3620
+ # A batch entry encoding a single non-batch productstatuses request.
3621
+ class ProductStatusesBatchRequestEntry
3622
+ include Google::Apis::Core::Hashable
3623
+
3624
+ # An entry ID, unique within the batch request.
3625
+ # Corresponds to the JSON property `batchId`
3626
+ # @return [Fixnum]
3627
+ attr_accessor :batch_id
3628
+
3629
+ # The ID of the managing account.
3630
+ # Corresponds to the JSON property `merchantId`
3631
+ # @return [String]
3632
+ attr_accessor :merchant_id
3633
+
3634
+ #
3635
+ # Corresponds to the JSON property `method`
3636
+ # @return [String]
3637
+ attr_accessor :request_method
3638
+
3639
+ # The ID of the product whose status to get.
3640
+ # Corresponds to the JSON property `productId`
3641
+ # @return [String]
3642
+ attr_accessor :product_id
3643
+
3644
+ def initialize(**args)
3645
+ update!(**args)
3646
+ end
3647
+
3648
+ # Update properties of this object
3649
+ def update!(**args)
3650
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
3651
+ @merchant_id = args[:merchant_id] unless args[:merchant_id].nil?
3652
+ @request_method = args[:request_method] unless args[:request_method].nil?
3653
+ @product_id = args[:product_id] unless args[:product_id].nil?
3654
+ end
3655
+ end
3656
+
3657
+ #
3658
+ class BatchProductStatusesResponse
3659
+ include Google::Apis::Core::Hashable
3660
+
3661
+ # The result of the execution of the batch requests.
3662
+ # Corresponds to the JSON property `entries`
3663
+ # @return [Array<Google::Apis::ContentV2::ProductStatusesBatchResponseEntry>]
3664
+ attr_accessor :entries
3665
+
3666
+ # Identifies what kind of resource this is. Value: the fixed string "content#
3667
+ # productstatusesCustomBatchResponse".
3668
+ # Corresponds to the JSON property `kind`
3669
+ # @return [String]
3670
+ attr_accessor :kind
3671
+
3672
+ def initialize(**args)
3673
+ update!(**args)
3674
+ end
3675
+
3676
+ # Update properties of this object
3677
+ def update!(**args)
3678
+ @entries = args[:entries] unless args[:entries].nil?
3679
+ @kind = args[:kind] unless args[:kind].nil?
3680
+ end
3681
+ end
3682
+
3683
+ # A batch entry encoding a single non-batch productstatuses response.
3684
+ class ProductStatusesBatchResponseEntry
3685
+ include Google::Apis::Core::Hashable
3686
+
3687
+ # The ID of the request entry this entry responds to.
3688
+ # Corresponds to the JSON property `batchId`
3689
+ # @return [Fixnum]
3690
+ attr_accessor :batch_id
3691
+
3692
+ # A list of errors returned by a failed batch entry.
3693
+ # Corresponds to the JSON property `errors`
3694
+ # @return [Google::Apis::ContentV2::Errors]
3695
+ attr_accessor :errors
3696
+
3697
+ # Identifies what kind of resource this is. Value: the fixed string "content#
3698
+ # productstatusesCustomBatchResponseEntry".
3699
+ # Corresponds to the JSON property `kind`
3700
+ # @return [String]
3701
+ attr_accessor :kind
3702
+
3703
+ # The status of a product, i.e., information about a product computed
3704
+ # asynchronously by the data quality analysis.
3705
+ # Corresponds to the JSON property `productStatus`
3706
+ # @return [Google::Apis::ContentV2::ProductStatus]
3707
+ attr_accessor :product_status
3708
+
3709
+ def initialize(**args)
3710
+ update!(**args)
3711
+ end
3712
+
3713
+ # Update properties of this object
3714
+ def update!(**args)
3715
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
3716
+ @errors = args[:errors] unless args[:errors].nil?
3717
+ @kind = args[:kind] unless args[:kind].nil?
3718
+ @product_status = args[:product_status] unless args[:product_status].nil?
3719
+ end
3720
+ end
3721
+
3722
+ #
3723
+ class ListProductStatusesResponse
3724
+ include Google::Apis::Core::Hashable
3725
+
3726
+ # Identifies what kind of resource this is. Value: the fixed string "content#
3727
+ # productstatusesListResponse".
3728
+ # Corresponds to the JSON property `kind`
3729
+ # @return [String]
3730
+ attr_accessor :kind
3731
+
3732
+ # The token for the retrieval of the next page of products statuses.
3733
+ # Corresponds to the JSON property `nextPageToken`
3734
+ # @return [String]
3735
+ attr_accessor :next_page_token
3736
+
3737
+ #
3738
+ # Corresponds to the JSON property `resources`
3739
+ # @return [Array<Google::Apis::ContentV2::ProductStatus>]
3740
+ attr_accessor :resources
3741
+
3742
+ def initialize(**args)
3743
+ update!(**args)
3744
+ end
3745
+
3746
+ # Update properties of this object
3747
+ def update!(**args)
3748
+ @kind = args[:kind] unless args[:kind].nil?
3749
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
3750
+ @resources = args[:resources] unless args[:resources].nil?
3751
+ end
3752
+ end
3753
+
3754
+ #
3755
+ class Weight
3756
+ include Google::Apis::Core::Hashable
3757
+
3758
+ # The weight unit.
3759
+ # Corresponds to the JSON property `unit`
3760
+ # @return [String]
3761
+ attr_accessor :unit
3762
+
3763
+ # The weight represented as a number.
3764
+ # Corresponds to the JSON property `value`
3765
+ # @return [String]
3766
+ attr_accessor :value
3767
+
3768
+ def initialize(**args)
3769
+ update!(**args)
3770
+ end
3771
+
3772
+ # Update properties of this object
3773
+ def update!(**args)
3774
+ @unit = args[:unit] unless args[:unit].nil?
3775
+ @value = args[:value] unless args[:value].nil?
3776
+ end
3777
+ end
3778
+ end
3779
+ end
3780
+ end