google-api-client 0.40.2 → 0.42.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (431) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +285 -0
  3. data/bin/generate-api +1 -3
  4. data/generated/google/apis/accessapproval_v1.rb +1 -1
  5. data/generated/google/apis/accessapproval_v1/service.rb +3 -0
  6. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  7. data/generated/google/apis/accessapproval_v1beta1/service.rb +3 -0
  8. data/generated/google/apis/admin_directory_v1.rb +1 -1
  9. data/generated/google/apis/admin_directory_v1/classes.rb +31 -0
  10. data/generated/google/apis/admin_directory_v1/representations.rb +16 -0
  11. data/generated/google/apis/admin_directory_v1/service.rb +3 -5
  12. data/generated/google/apis/admob_v1.rb +1 -1
  13. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  14. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +32 -26
  15. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  16. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  17. data/generated/google/apis/androidmanagement_v1/classes.rb +117 -0
  18. data/generated/google/apis/androidmanagement_v1/representations.rb +39 -0
  19. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  20. data/generated/google/apis/androidpublisher_v3/classes.rb +78 -0
  21. data/generated/google/apis/androidpublisher_v3/representations.rb +44 -0
  22. data/generated/google/apis/androidpublisher_v3/service.rb +149 -1
  23. data/generated/google/apis/apigee_v1.rb +1 -1
  24. data/generated/google/apis/apigee_v1/classes.rb +1481 -107
  25. data/generated/google/apis/apigee_v1/representations.rb +559 -0
  26. data/generated/google/apis/apigee_v1/service.rb +1162 -117
  27. data/generated/google/apis/appsmarket_v2.rb +1 -1
  28. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  29. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +9 -0
  30. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +1 -0
  31. data/generated/google/apis/bigquery_v2.rb +1 -1
  32. data/generated/google/apis/bigquery_v2/classes.rb +36 -6
  33. data/generated/google/apis/bigquery_v2/representations.rb +4 -0
  34. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  35. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +6 -6
  36. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  37. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +4 -4
  38. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  39. data/generated/google/apis/bigqueryreservation_v1/classes.rb +34 -0
  40. data/generated/google/apis/bigqueryreservation_v1/representations.rb +16 -0
  41. data/generated/google/apis/bigqueryreservation_v1/service.rb +60 -0
  42. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  43. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +8 -0
  44. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +1 -0
  45. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  46. data/generated/google/apis/bigtableadmin_v1/classes.rb +5 -10
  47. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  48. data/generated/google/apis/bigtableadmin_v2/classes.rb +45 -37
  49. data/generated/google/apis/bigtableadmin_v2/service.rb +1 -5
  50. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  51. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +28 -13
  52. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +1 -0
  53. data/generated/google/apis/blogger_v3.rb +1 -1
  54. data/generated/google/apis/books_v1.rb +1 -1
  55. data/generated/google/apis/calendar_v3.rb +1 -1
  56. data/generated/google/apis/chat_v1.rb +1 -1
  57. data/generated/google/apis/chat_v1/classes.rb +113 -0
  58. data/generated/google/apis/chat_v1/representations.rb +50 -0
  59. data/generated/google/apis/chat_v1/service.rb +32 -0
  60. data/generated/google/apis/civicinfo_v2.rb +2 -2
  61. data/generated/google/apis/civicinfo_v2/classes.rb +21 -801
  62. data/generated/google/apis/civicinfo_v2/representations.rb +1 -295
  63. data/generated/google/apis/civicinfo_v2/service.rb +28 -63
  64. data/generated/google/apis/classroom_v1.rb +1 -1
  65. data/generated/google/apis/classroom_v1/service.rb +9 -5
  66. data/generated/google/apis/cloudasset_v1.rb +1 -1
  67. data/generated/google/apis/cloudasset_v1/classes.rb +403 -6
  68. data/generated/google/apis/cloudasset_v1/representations.rb +101 -0
  69. data/generated/google/apis/cloudasset_v1/service.rb +178 -0
  70. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  71. data/generated/google/apis/cloudasset_v1beta1/classes.rb +948 -36
  72. data/generated/google/apis/cloudasset_v1beta1/representations.rb +241 -0
  73. data/generated/google/apis/cloudasset_v1beta1/service.rb +4 -4
  74. data/generated/google/apis/cloudasset_v1p4beta1.rb +1 -1
  75. data/generated/google/apis/cloudasset_v1p4beta1/classes.rb +18 -19
  76. data/generated/google/apis/cloudasset_v1p4beta1/service.rb +10 -6
  77. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  78. data/generated/google/apis/cloudbilling_v1/classes.rb +38 -6
  79. data/generated/google/apis/cloudbilling_v1/representations.rb +16 -0
  80. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  81. data/generated/google/apis/cloudbuild_v1/classes.rb +272 -12
  82. data/generated/google/apis/cloudbuild_v1/representations.rb +130 -4
  83. data/generated/google/apis/cloudbuild_v1/service.rb +0 -136
  84. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  85. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +284 -24
  86. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +135 -9
  87. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +0 -47
  88. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  89. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +284 -24
  90. data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +135 -9
  91. data/generated/google/apis/cloudbuild_v1alpha2/service.rb +0 -47
  92. data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
  93. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +1 -1
  94. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +5 -6
  95. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  96. data/generated/google/apis/cloudfunctions_v1/classes.rb +20 -6
  97. data/generated/google/apis/cloudfunctions_v1/representations.rb +2 -0
  98. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  99. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +7 -0
  100. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +1 -0
  101. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  102. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  103. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +32 -1
  104. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +16 -0
  105. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  106. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +16 -12
  107. data/generated/google/apis/cloudresourcemanager_v1/service.rb +15 -6
  108. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  109. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +6 -5
  110. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  111. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  112. data/generated/google/apis/cloudscheduler_v1.rb +1 -1
  113. data/generated/google/apis/cloudscheduler_v1/classes.rb +7 -6
  114. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  115. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +7 -6
  116. data/generated/google/apis/cloudtrace_v1.rb +1 -1
  117. data/generated/google/apis/cloudtrace_v1/classes.rb +2 -3
  118. data/generated/google/apis/cloudtrace_v1/service.rb +1 -7
  119. data/generated/google/apis/cloudtrace_v2.rb +1 -1
  120. data/generated/google/apis/cloudtrace_v2/classes.rb +6 -5
  121. data/generated/google/apis/cloudtrace_v2/service.rb +3 -6
  122. data/generated/google/apis/composer_v1beta1.rb +1 -1
  123. data/generated/google/apis/composer_v1beta1/classes.rb +4 -3
  124. data/generated/google/apis/composer_v1beta1/service.rb +13 -0
  125. data/generated/google/apis/compute_alpha.rb +1 -1
  126. data/generated/google/apis/compute_alpha/classes.rb +634 -104
  127. data/generated/google/apis/compute_alpha/representations.rb +170 -0
  128. data/generated/google/apis/compute_alpha/service.rb +888 -139
  129. data/generated/google/apis/compute_beta.rb +1 -1
  130. data/generated/google/apis/compute_beta/classes.rb +703 -102
  131. data/generated/google/apis/compute_beta/representations.rb +182 -0
  132. data/generated/google/apis/compute_beta/service.rb +565 -33
  133. data/generated/google/apis/compute_v1.rb +1 -1
  134. data/generated/google/apis/compute_v1/classes.rb +989 -80
  135. data/generated/google/apis/compute_v1/representations.rb +290 -0
  136. data/generated/google/apis/compute_v1/service.rb +784 -38
  137. data/generated/google/apis/container_v1.rb +1 -1
  138. data/generated/google/apis/container_v1/classes.rb +132 -5
  139. data/generated/google/apis/container_v1/representations.rb +51 -0
  140. data/generated/google/apis/container_v1beta1.rb +1 -1
  141. data/generated/google/apis/container_v1beta1/classes.rb +157 -24
  142. data/generated/google/apis/container_v1beta1/representations.rb +39 -0
  143. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  144. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +1 -1
  145. data/generated/google/apis/content_v2.rb +1 -1
  146. data/generated/google/apis/content_v2/classes.rb +8 -2
  147. data/generated/google/apis/content_v2/representations.rb +1 -0
  148. data/generated/google/apis/content_v2/service.rb +10 -5
  149. data/generated/google/apis/content_v2_1.rb +1 -1
  150. data/generated/google/apis/content_v2_1/classes.rb +266 -8
  151. data/generated/google/apis/content_v2_1/representations.rb +108 -0
  152. data/generated/google/apis/content_v2_1/service.rb +10 -5
  153. data/generated/google/apis/customsearch_v1.rb +1 -1
  154. data/generated/google/apis/customsearch_v1/service.rb +12 -2
  155. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  156. data/generated/google/apis/datacatalog_v1beta1/classes.rb +34 -10
  157. data/generated/google/apis/datacatalog_v1beta1/representations.rb +13 -0
  158. data/generated/google/apis/datacatalog_v1beta1/service.rb +37 -0
  159. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  160. data/generated/google/apis/dataflow_v1b3/classes.rb +19 -0
  161. data/generated/google/apis/dataflow_v1b3/representations.rb +3 -0
  162. data/generated/google/apis/dataflow_v1b3/service.rb +2 -2
  163. data/generated/google/apis/dataproc_v1.rb +1 -1
  164. data/generated/google/apis/dataproc_v1/classes.rb +58 -11
  165. data/generated/google/apis/dataproc_v1/representations.rb +17 -0
  166. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  167. data/generated/google/apis/dataproc_v1beta2/classes.rb +53 -11
  168. data/generated/google/apis/dataproc_v1beta2/representations.rb +5 -0
  169. data/generated/google/apis/datastore_v1.rb +1 -1
  170. data/generated/google/apis/datastore_v1/classes.rb +1 -1
  171. data/generated/google/apis/dialogflow_v2.rb +1 -1
  172. data/generated/google/apis/dialogflow_v2/classes.rb +268 -28
  173. data/generated/google/apis/dialogflow_v2/representations.rb +93 -0
  174. data/generated/google/apis/dialogflow_v2/service.rb +14 -2
  175. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  176. data/generated/google/apis/dialogflow_v2beta1/classes.rb +272 -30
  177. data/generated/google/apis/dialogflow_v2beta1/representations.rb +93 -0
  178. data/generated/google/apis/dialogflow_v2beta1/service.rb +78 -48
  179. data/generated/google/apis/displayvideo_v1.rb +1 -1
  180. data/generated/google/apis/displayvideo_v1/classes.rb +117 -10
  181. data/generated/google/apis/displayvideo_v1/representations.rb +11 -0
  182. data/generated/google/apis/displayvideo_v1/service.rb +80 -6
  183. data/generated/google/apis/dlp_v2.rb +1 -1
  184. data/generated/google/apis/dlp_v2/classes.rb +5 -2
  185. data/generated/google/apis/dns_v1.rb +4 -4
  186. data/generated/google/apis/dns_v1/classes.rb +313 -162
  187. data/generated/google/apis/dns_v1/service.rb +247 -180
  188. data/generated/google/apis/dns_v1beta2.rb +4 -4
  189. data/generated/google/apis/dns_v1beta2/classes.rb +325 -171
  190. data/generated/google/apis/dns_v1beta2/service.rb +247 -180
  191. data/generated/google/apis/dns_v2beta1.rb +4 -4
  192. data/generated/google/apis/dns_v2beta1/classes.rb +313 -162
  193. data/generated/google/apis/dns_v2beta1/service.rb +247 -180
  194. data/generated/google/apis/documentai_v1beta2.rb +36 -0
  195. data/generated/google/apis/documentai_v1beta2/classes.rb +3284 -0
  196. data/generated/google/apis/documentai_v1beta2/representations.rb +1344 -0
  197. data/generated/google/apis/documentai_v1beta2/service.rb +269 -0
  198. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  199. data/generated/google/apis/doubleclicksearch_v2.rb +4 -4
  200. data/generated/google/apis/doubleclicksearch_v2/classes.rb +127 -111
  201. data/generated/google/apis/doubleclicksearch_v2/representations.rb +4 -6
  202. data/generated/google/apis/doubleclicksearch_v2/service.rb +47 -78
  203. data/generated/google/apis/drive_v2.rb +1 -1
  204. data/generated/google/apis/drive_v2/classes.rb +75 -2
  205. data/generated/google/apis/drive_v2/representations.rb +23 -0
  206. data/generated/google/apis/drive_v2/service.rb +49 -88
  207. data/generated/google/apis/drive_v3.rb +1 -1
  208. data/generated/google/apis/drive_v3/classes.rb +74 -2
  209. data/generated/google/apis/drive_v3/representations.rb +23 -0
  210. data/generated/google/apis/drive_v3/service.rb +26 -59
  211. data/generated/google/apis/fcm_v1.rb +1 -1
  212. data/generated/google/apis/fcm_v1/classes.rb +6 -0
  213. data/generated/google/apis/file_v1.rb +1 -1
  214. data/generated/google/apis/file_v1beta1.rb +1 -1
  215. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  216. data/generated/google/apis/firebase_v1beta1/classes.rb +7 -6
  217. data/generated/google/apis/firebase_v1beta1/service.rb +53 -49
  218. data/generated/google/apis/{androidpublisher_v2.rb → firebasehosting_v1.rb} +11 -12
  219. data/generated/google/apis/firebasehosting_v1/classes.rb +186 -0
  220. data/generated/google/apis/{androidpublisher_v2 → firebasehosting_v1}/representations.rb +22 -32
  221. data/generated/google/apis/firebasehosting_v1/service.rb +183 -0
  222. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  223. data/generated/google/apis/firebasehosting_v1beta1/service.rb +2 -0
  224. data/generated/google/apis/firestore_v1.rb +1 -1
  225. data/generated/google/apis/firestore_v1/classes.rb +152 -0
  226. data/generated/google/apis/firestore_v1/representations.rb +63 -0
  227. data/generated/google/apis/firestore_v1/service.rb +78 -0
  228. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  229. data/generated/google/apis/firestore_v1beta1/classes.rb +152 -0
  230. data/generated/google/apis/firestore_v1beta1/representations.rb +63 -0
  231. data/generated/google/apis/firestore_v1beta1/service.rb +78 -0
  232. data/generated/google/apis/games_v1.rb +6 -4
  233. data/generated/google/apis/games_v1/classes.rb +354 -2112
  234. data/generated/google/apis/games_v1/representations.rb +12 -647
  235. data/generated/google/apis/games_v1/service.rb +212 -1154
  236. data/generated/google/apis/{groupsmigration_v1.rb → gameservices_v1.rb} +10 -11
  237. data/generated/google/apis/gameservices_v1/classes.rb +2354 -0
  238. data/generated/google/apis/gameservices_v1/representations.rb +971 -0
  239. data/generated/google/apis/gameservices_v1/service.rb +1472 -0
  240. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  241. data/generated/google/apis/gameservices_v1beta/classes.rb +6 -6
  242. data/generated/google/apis/gmail_v1.rb +1 -1
  243. data/generated/google/apis/gmail_v1/classes.rb +53 -53
  244. data/generated/google/apis/gmail_v1/service.rb +72 -72
  245. data/generated/google/apis/{androidpublisher_v1_1.rb → gmailpostmastertools_v1beta1.rb} +11 -12
  246. data/generated/google/apis/gmailpostmastertools_v1beta1/classes.rb +306 -0
  247. data/generated/google/apis/gmailpostmastertools_v1beta1/representations.rb +141 -0
  248. data/generated/google/apis/gmailpostmastertools_v1beta1/service.rb +236 -0
  249. data/generated/google/apis/groupssettings_v1.rb +1 -1
  250. data/generated/google/apis/groupssettings_v1/classes.rb +1 -1
  251. data/generated/google/apis/healthcare_v1.rb +1 -1
  252. data/generated/google/apis/healthcare_v1/classes.rb +6 -6
  253. data/generated/google/apis/healthcare_v1/service.rb +50 -1
  254. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  255. data/generated/google/apis/healthcare_v1beta1/classes.rb +916 -49
  256. data/generated/google/apis/healthcare_v1beta1/representations.rb +404 -0
  257. data/generated/google/apis/healthcare_v1beta1/service.rb +577 -1
  258. data/generated/google/apis/iam_v1.rb +1 -1
  259. data/generated/google/apis/iam_v1/classes.rb +27 -3
  260. data/generated/google/apis/iam_v1/service.rb +22 -6
  261. data/generated/google/apis/iamcredentials_v1.rb +2 -2
  262. data/generated/google/apis/iamcredentials_v1/service.rb +1 -1
  263. data/generated/google/apis/lifesciences_v2beta.rb +1 -1
  264. data/generated/google/apis/lifesciences_v2beta/classes.rb +10 -0
  265. data/generated/google/apis/lifesciences_v2beta/representations.rb +1 -0
  266. data/generated/google/apis/logging_v2.rb +1 -1
  267. data/generated/google/apis/logging_v2/classes.rb +69 -21
  268. data/generated/google/apis/managedidentities_v1.rb +1 -1
  269. data/generated/google/apis/managedidentities_v1/classes.rb +54 -10
  270. data/generated/google/apis/managedidentities_v1/representations.rb +15 -0
  271. data/generated/google/apis/managedidentities_v1/service.rb +3 -0
  272. data/generated/google/apis/managedidentities_v1alpha1.rb +1 -1
  273. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +54 -10
  274. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +15 -0
  275. data/generated/google/apis/managedidentities_v1alpha1/service.rb +3 -0
  276. data/generated/google/apis/managedidentities_v1beta1.rb +1 -1
  277. data/generated/google/apis/managedidentities_v1beta1/classes.rb +54 -10
  278. data/generated/google/apis/managedidentities_v1beta1/representations.rb +15 -0
  279. data/generated/google/apis/managedidentities_v1beta1/service.rb +3 -0
  280. data/generated/google/apis/memcache_v1beta2.rb +1 -1
  281. data/generated/google/apis/memcache_v1beta2/classes.rb +1 -1
  282. data/generated/google/apis/ml_v1.rb +1 -1
  283. data/generated/google/apis/ml_v1/classes.rb +28 -14
  284. data/generated/google/apis/ml_v1/representations.rb +1 -0
  285. data/generated/google/apis/monitoring_v3.rb +1 -1
  286. data/generated/google/apis/monitoring_v3/classes.rb +119 -48
  287. data/generated/google/apis/monitoring_v3/representations.rb +1 -0
  288. data/generated/google/apis/monitoring_v3/service.rb +8 -5
  289. data/generated/google/apis/networkmanagement_v1.rb +1 -1
  290. data/generated/google/apis/networkmanagement_v1/classes.rb +6 -6
  291. data/generated/google/apis/networkmanagement_v1beta1.rb +1 -1
  292. data/generated/google/apis/networkmanagement_v1beta1/classes.rb +6 -6
  293. data/generated/google/apis/osconfig_v1.rb +1 -1
  294. data/generated/google/apis/osconfig_v1/classes.rb +2 -2
  295. data/generated/google/apis/osconfig_v1beta.rb +1 -1
  296. data/generated/google/apis/osconfig_v1beta/classes.rb +2 -2
  297. data/generated/google/apis/people_v1.rb +4 -1
  298. data/generated/google/apis/people_v1/classes.rb +4 -4
  299. data/generated/google/apis/people_v1/service.rb +6 -5
  300. data/generated/google/apis/{androidpublisher_v1/classes.rb → playablelocations_v3.rb} +11 -6
  301. data/generated/google/apis/playablelocations_v3/classes.rb +633 -0
  302. data/generated/google/apis/playablelocations_v3/representations.rb +273 -0
  303. data/generated/google/apis/playablelocations_v3/service.rb +157 -0
  304. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  305. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +92 -0
  306. data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +46 -0
  307. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +477 -0
  308. data/generated/google/apis/pubsub_v1.rb +1 -1
  309. data/generated/google/apis/pubsub_v1/classes.rb +28 -30
  310. data/generated/google/apis/pubsub_v1/service.rb +35 -44
  311. data/generated/google/apis/realtimebidding_v1.rb +40 -0
  312. data/generated/google/apis/realtimebidding_v1/classes.rb +1436 -0
  313. data/generated/google/apis/realtimebidding_v1/representations.rb +565 -0
  314. data/generated/google/apis/realtimebidding_v1/service.rb +661 -0
  315. data/generated/google/apis/recommendationengine_v1beta1.rb +36 -0
  316. data/generated/google/apis/recommendationengine_v1beta1/classes.rb +2015 -0
  317. data/generated/google/apis/recommendationengine_v1beta1/representations.rb +848 -0
  318. data/generated/google/apis/recommendationengine_v1beta1/service.rb +990 -0
  319. data/generated/google/apis/recommender_v1.rb +1 -1
  320. data/generated/google/apis/recommender_v1/classes.rb +211 -0
  321. data/generated/google/apis/recommender_v1/representations.rb +96 -0
  322. data/generated/google/apis/recommender_v1/service.rb +123 -0
  323. data/generated/google/apis/redis_v1.rb +1 -1
  324. data/generated/google/apis/redis_v1/classes.rb +1 -1
  325. data/generated/google/apis/redis_v1/service.rb +1 -1
  326. data/generated/google/apis/redis_v1beta1.rb +1 -1
  327. data/generated/google/apis/redis_v1beta1/classes.rb +1 -1
  328. data/generated/google/apis/redis_v1beta1/service.rb +1 -1
  329. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  330. data/generated/google/apis/remotebuildexecution_v1/classes.rb +1 -1
  331. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  332. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +1 -1
  333. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  334. data/generated/google/apis/remotebuildexecution_v2/classes.rb +1 -1
  335. data/generated/google/apis/reseller_v1.rb +4 -3
  336. data/generated/google/apis/reseller_v1/classes.rb +219 -160
  337. data/generated/google/apis/reseller_v1/service.rb +247 -252
  338. data/generated/google/apis/run_v1.rb +2 -2
  339. data/generated/google/apis/run_v1/classes.rb +10 -7
  340. data/generated/google/apis/run_v1/service.rb +1 -1
  341. data/generated/google/apis/run_v1alpha1.rb +2 -2
  342. data/generated/google/apis/run_v1alpha1/classes.rb +6 -6
  343. data/generated/google/apis/run_v1alpha1/service.rb +1 -1
  344. data/generated/google/apis/run_v1beta1.rb +2 -2
  345. data/generated/google/apis/run_v1beta1/service.rb +1 -1
  346. data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
  347. data/generated/google/apis/sasportal_v1alpha1/classes.rb +92 -0
  348. data/generated/google/apis/sasportal_v1alpha1/representations.rb +46 -0
  349. data/generated/google/apis/sasportal_v1alpha1/service.rb +477 -0
  350. data/generated/google/apis/searchconsole_v1.rb +4 -3
  351. data/generated/google/apis/searchconsole_v1/service.rb +3 -2
  352. data/generated/google/apis/secretmanager_v1.rb +1 -1
  353. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  354. data/generated/google/apis/securitycenter_v1.rb +1 -1
  355. data/generated/google/apis/securitycenter_v1/classes.rb +10 -10
  356. data/generated/google/apis/securitycenter_v1/service.rb +14 -15
  357. data/generated/google/apis/securitycenter_v1p1beta1.rb +1 -1
  358. data/generated/google/apis/securitycenter_v1p1beta1/classes.rb +10 -10
  359. data/generated/google/apis/securitycenter_v1p1beta1/service.rb +12 -15
  360. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  361. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +23 -4
  362. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +1 -0
  363. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +1 -1
  364. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +23 -4
  365. data/generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb +1 -0
  366. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  367. data/generated/google/apis/servicecontrol_v1/classes.rb +12 -6
  368. data/generated/google/apis/servicecontrol_v1/representations.rb +1 -0
  369. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  370. data/generated/google/apis/servicemanagement_v1/classes.rb +118 -37
  371. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  372. data/generated/google/apis/servicenetworking_v1/classes.rb +15 -4
  373. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  374. data/generated/google/apis/servicenetworking_v1beta/classes.rb +15 -4
  375. data/generated/google/apis/serviceusage_v1.rb +1 -1
  376. data/generated/google/apis/serviceusage_v1/classes.rb +29 -4
  377. data/generated/google/apis/serviceusage_v1/representations.rb +2 -0
  378. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  379. data/generated/google/apis/serviceusage_v1beta1/classes.rb +74 -4
  380. data/generated/google/apis/serviceusage_v1beta1/representations.rb +30 -0
  381. data/generated/google/apis/serviceusage_v1beta1/service.rb +37 -0
  382. data/generated/google/apis/sheets_v4.rb +1 -1
  383. data/generated/google/apis/sheets_v4/classes.rb +118 -28
  384. data/generated/google/apis/slides_v1.rb +1 -1
  385. data/generated/google/apis/slides_v1/classes.rb +4 -0
  386. data/generated/google/apis/spanner_v1.rb +1 -1
  387. data/generated/google/apis/spanner_v1/classes.rb +25 -20
  388. data/generated/google/apis/spanner_v1/service.rb +7 -0
  389. data/generated/google/apis/speech_v1.rb +1 -1
  390. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  391. data/generated/google/apis/storage_v1.rb +1 -1
  392. data/generated/google/apis/storage_v1/service.rb +2 -3
  393. data/generated/google/apis/testing_v1.rb +1 -1
  394. data/generated/google/apis/testing_v1/classes.rb +17 -6
  395. data/generated/google/apis/testing_v1/representations.rb +1 -0
  396. data/generated/google/apis/texttospeech_v1.rb +1 -1
  397. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  398. data/generated/google/apis/{androidpublisher_v1.rb → vectortile_v1.rb} +8 -8
  399. data/generated/google/apis/vectortile_v1/classes.rb +881 -0
  400. data/generated/google/apis/vectortile_v1/representations.rb +329 -0
  401. data/generated/google/apis/vectortile_v1/service.rb +268 -0
  402. data/generated/google/apis/vision_v1.rb +1 -1
  403. data/generated/google/apis/vision_v1/classes.rb +20 -0
  404. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  405. data/generated/google/apis/vision_v1p1beta1/classes.rb +20 -0
  406. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  407. data/generated/google/apis/vision_v1p2beta1/classes.rb +20 -0
  408. data/generated/google/apis/webfonts_v1.rb +5 -5
  409. data/generated/google/apis/webfonts_v1/classes.rb +4 -3
  410. data/generated/google/apis/webfonts_v1/representations.rb +1 -2
  411. data/generated/google/apis/webfonts_v1/service.rb +14 -21
  412. data/generated/google/apis/youtube_partner_v1.rb +4 -3
  413. data/generated/google/apis/youtube_partner_v1/classes.rb +1616 -1076
  414. data/generated/google/apis/youtube_partner_v1/representations.rb +357 -256
  415. data/generated/google/apis/youtube_partner_v1/service.rb +942 -1362
  416. data/generated/google/apis/youtube_v3.rb +1 -1
  417. data/generated/google/apis/youtube_v3/classes.rb +594 -2
  418. data/generated/google/apis/youtube_v3/representations.rb +308 -0
  419. data/generated/google/apis/youtube_v3/service.rb +292 -0
  420. data/lib/google/apis/version.rb +1 -1
  421. metadata +35 -19
  422. data/generated/google/apis/androidpublisher_v1/representations.rb +0 -26
  423. data/generated/google/apis/androidpublisher_v1/service.rb +0 -64
  424. data/generated/google/apis/androidpublisher_v1_1/classes.rb +0 -94
  425. data/generated/google/apis/androidpublisher_v1_1/representations.rb +0 -45
  426. data/generated/google/apis/androidpublisher_v1_1/service.rb +0 -104
  427. data/generated/google/apis/androidpublisher_v2/classes.rb +0 -223
  428. data/generated/google/apis/androidpublisher_v2/service.rb +0 -160
  429. data/generated/google/apis/groupsmigration_v1/classes.rb +0 -51
  430. data/generated/google/apis/groupsmigration_v1/representations.rb +0 -40
  431. data/generated/google/apis/groupsmigration_v1/service.rb +0 -100
@@ -0,0 +1,36 @@
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/recommendationengine_v1beta1/service.rb'
16
+ require 'google/apis/recommendationengine_v1beta1/classes.rb'
17
+ require 'google/apis/recommendationengine_v1beta1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Recommendations AI
22
+ #
23
+ # Recommendations AI service enables customers to build end-to-end personalized
24
+ # recommendation systems without requiring a high level of expertise in machine
25
+ # learning, recommendation system, or Google Cloud.
26
+ #
27
+ # @see https://cloud.google.com/recommendations/docs/
28
+ module RecommendationengineV1beta1
29
+ VERSION = 'V1beta1'
30
+ REVISION = '20200706'
31
+
32
+ # View and manage your data across Google Cloud Platform services
33
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,2015 @@
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 RecommendationengineV1beta1
24
+
25
+ # Message that represents an arbitrary HTTP body. It should only be used for
26
+ # payload formats that can't be represented as JSON, such as raw binary or
27
+ # an HTML page.
28
+ # This message can be used both in streaming and non-streaming API methods in
29
+ # the request as well as the response.
30
+ # It can be used as a top-level request field, which is convenient if one
31
+ # wants to extract parameters from either the URL or HTTP template into the
32
+ # request fields and also want access to the raw HTTP body.
33
+ # Example:
34
+ # message GetResourceRequest `
35
+ # // A unique request id.
36
+ # string request_id = 1;
37
+ # // The raw HTTP body is bound to this field.
38
+ # google.api.HttpBody http_body = 2;
39
+ # `
40
+ # service ResourceService `
41
+ # rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
42
+ # rpc UpdateResource(google.api.HttpBody) returns
43
+ # (google.protobuf.Empty);
44
+ # `
45
+ # Example with streaming methods:
46
+ # service CaldavService `
47
+ # rpc GetCalendar(stream google.api.HttpBody)
48
+ # returns (stream google.api.HttpBody);
49
+ # rpc UpdateCalendar(stream google.api.HttpBody)
50
+ # returns (stream google.api.HttpBody);
51
+ # `
52
+ # Use of this type only changes how the request and response bodies are
53
+ # handled, all other features will continue to work unchanged.
54
+ class GoogleApiHttpBody
55
+ include Google::Apis::Core::Hashable
56
+
57
+ # The HTTP Content-Type header value specifying the content type of the body.
58
+ # Corresponds to the JSON property `contentType`
59
+ # @return [String]
60
+ attr_accessor :content_type
61
+
62
+ # The HTTP request/response body as raw binary.
63
+ # Corresponds to the JSON property `data`
64
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
65
+ # @return [String]
66
+ attr_accessor :data
67
+
68
+ # Application specific response metadata. Must be set in the first response
69
+ # for streaming APIs.
70
+ # Corresponds to the JSON property `extensions`
71
+ # @return [Array<Hash<String,Object>>]
72
+ attr_accessor :extensions
73
+
74
+ def initialize(**args)
75
+ update!(**args)
76
+ end
77
+
78
+ # Update properties of this object
79
+ def update!(**args)
80
+ @content_type = args[:content_type] if args.key?(:content_type)
81
+ @data = args[:data] if args.key?(:data)
82
+ @extensions = args[:extensions] if args.key?(:extensions)
83
+ end
84
+ end
85
+
86
+ # Metadata for TriggerCatalogRejoin method.
87
+ class GoogleCloudRecommendationengineV1alphaRejoinCatalogMetadata
88
+ include Google::Apis::Core::Hashable
89
+
90
+ def initialize(**args)
91
+ update!(**args)
92
+ end
93
+
94
+ # Update properties of this object
95
+ def update!(**args)
96
+ end
97
+ end
98
+
99
+ # Response message for TriggerCatalogRejoin method.
100
+ class GoogleCloudRecommendationengineV1alphaRejoinCatalogResponse
101
+ include Google::Apis::Core::Hashable
102
+
103
+ # Number of user events that were joined with latest catalog items.
104
+ # Corresponds to the JSON property `rejoinedUserEventsCount`
105
+ # @return [Fixnum]
106
+ attr_accessor :rejoined_user_events_count
107
+
108
+ def initialize(**args)
109
+ update!(**args)
110
+ end
111
+
112
+ # Update properties of this object
113
+ def update!(**args)
114
+ @rejoined_user_events_count = args[:rejoined_user_events_count] if args.key?(:rejoined_user_events_count)
115
+ end
116
+ end
117
+
118
+ # Metadata associated with a tune operation.
119
+ class GoogleCloudRecommendationengineV1alphaTuningMetadata
120
+ include Google::Apis::Core::Hashable
121
+
122
+ # The resource name of the recommendation model that this tune applies to.
123
+ # Format:
124
+ # projects/`project_number`/locations/`location_id`/catalogs/`catalog_id`/
125
+ # eventStores/`event_store_id`/recommendationModels/`recommendation_model_id`
126
+ # Corresponds to the JSON property `recommendationModel`
127
+ # @return [String]
128
+ attr_accessor :recommendation_model
129
+
130
+ def initialize(**args)
131
+ update!(**args)
132
+ end
133
+
134
+ # Update properties of this object
135
+ def update!(**args)
136
+ @recommendation_model = args[:recommendation_model] if args.key?(:recommendation_model)
137
+ end
138
+ end
139
+
140
+ # Response associated with a tune operation.
141
+ class GoogleCloudRecommendationengineV1alphaTuningResponse
142
+ include Google::Apis::Core::Hashable
143
+
144
+ def initialize(**args)
145
+ update!(**args)
146
+ end
147
+
148
+ # Update properties of this object
149
+ def update!(**args)
150
+ end
151
+ end
152
+
153
+ # BigQuery source import data from.
154
+ class GoogleCloudRecommendationengineV1beta1BigQuerySource
155
+ include Google::Apis::Core::Hashable
156
+
157
+ # Optional. The schema to use when parsing the data from the source.
158
+ # Supported values for catalog imports:
159
+ # 1: "catalog_recommendations_ai" using
160
+ # https://cloud.google.com/recommendations-ai/docs/upload-catalog#json
161
+ # (Default for catalogItems.import)
162
+ # 2: "catalog_merchant_center" using
163
+ # https://cloud.google.com/recommendations-ai/docs/upload-catalog#mc
164
+ # Supported values for user event imports:
165
+ # 1: "user_events_recommendations_ai" using
166
+ # https://cloud.google.com/recommendations-ai/docs/manage-user-events#import
167
+ # (Default for userEvents.import)
168
+ # Corresponds to the JSON property `dataSchema`
169
+ # @return [String]
170
+ attr_accessor :data_schema
171
+
172
+ # Required. The BigQuery data set to copy the data from.
173
+ # Corresponds to the JSON property `datasetId`
174
+ # @return [String]
175
+ attr_accessor :dataset_id
176
+
177
+ # Required. Intermediate gcs dir used for the import.
178
+ # .
179
+ # Corresponds to the JSON property `gcsStagingDir`
180
+ # @return [String]
181
+ attr_accessor :gcs_staging_dir
182
+
183
+ # Optional. The project id (can be project # or id) that the BigQuery source is
184
+ # in. If
185
+ # not specified, inherits the project id from the parent request.
186
+ # Corresponds to the JSON property `projectId`
187
+ # @return [String]
188
+ attr_accessor :project_id
189
+
190
+ # Required. The BigQuery table to copy the data from.
191
+ # Corresponds to the JSON property `tableId`
192
+ # @return [String]
193
+ attr_accessor :table_id
194
+
195
+ def initialize(**args)
196
+ update!(**args)
197
+ end
198
+
199
+ # Update properties of this object
200
+ def update!(**args)
201
+ @data_schema = args[:data_schema] if args.key?(:data_schema)
202
+ @dataset_id = args[:dataset_id] if args.key?(:dataset_id)
203
+ @gcs_staging_dir = args[:gcs_staging_dir] if args.key?(:gcs_staging_dir)
204
+ @project_id = args[:project_id] if args.key?(:project_id)
205
+ @table_id = args[:table_id] if args.key?(:table_id)
206
+ end
207
+ end
208
+
209
+ # The catalog configuration.
210
+ # Next ID: 5.
211
+ class GoogleCloudRecommendationengineV1beta1Catalog
212
+ include Google::Apis::Core::Hashable
213
+
214
+ # Configures what level the catalog should be uploaded with regards to
215
+ # how users will be send events and how predictions will be made.
216
+ # Corresponds to the JSON property `catalogItemLevelConfig`
217
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1CatalogItemLevelConfig]
218
+ attr_accessor :catalog_item_level_config
219
+
220
+ # Required. The id of the default event store.
221
+ # Corresponds to the JSON property `defaultEventStoreId`
222
+ # @return [String]
223
+ attr_accessor :default_event_store_id
224
+
225
+ # Required. The catalog display name.
226
+ # Corresponds to the JSON property `displayName`
227
+ # @return [String]
228
+ attr_accessor :display_name
229
+
230
+ # The fully qualified resource name of the catalog.
231
+ # Corresponds to the JSON property `name`
232
+ # @return [String]
233
+ attr_accessor :name
234
+
235
+ def initialize(**args)
236
+ update!(**args)
237
+ end
238
+
239
+ # Update properties of this object
240
+ def update!(**args)
241
+ @catalog_item_level_config = args[:catalog_item_level_config] if args.key?(:catalog_item_level_config)
242
+ @default_event_store_id = args[:default_event_store_id] if args.key?(:default_event_store_id)
243
+ @display_name = args[:display_name] if args.key?(:display_name)
244
+ @name = args[:name] if args.key?(:name)
245
+ end
246
+ end
247
+
248
+ # The inline source for the input config for ImportCatalogItems method.
249
+ class GoogleCloudRecommendationengineV1beta1CatalogInlineSource
250
+ include Google::Apis::Core::Hashable
251
+
252
+ # Optional. A list of catalog items to update/create. Recommended max of 10k
253
+ # items.
254
+ # Corresponds to the JSON property `catalogItems`
255
+ # @return [Array<Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1CatalogItem>]
256
+ attr_accessor :catalog_items
257
+
258
+ def initialize(**args)
259
+ update!(**args)
260
+ end
261
+
262
+ # Update properties of this object
263
+ def update!(**args)
264
+ @catalog_items = args[:catalog_items] if args.key?(:catalog_items)
265
+ end
266
+ end
267
+
268
+ # CatalogItem captures all metadata information of items to be recommended.
269
+ class GoogleCloudRecommendationengineV1beta1CatalogItem
270
+ include Google::Apis::Core::Hashable
271
+
272
+ # Required. Catalog item categories. This field is repeated for supporting
273
+ # one catalog item belonging to several parallel category hierarchies.
274
+ # For example, if a shoes product belongs to both
275
+ # ["Shoes & Accessories" -> "Shoes"] and
276
+ # ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
277
+ # represented as:
278
+ # "categoryHierarchies": [
279
+ # ` "categories": ["Shoes & Accessories", "Shoes"]`,
280
+ # ` "categories": ["Sports & Fitness", "Athletic Clothing", "Shoes"] `
281
+ # ]
282
+ # Corresponds to the JSON property `categoryHierarchies`
283
+ # @return [Array<Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1CatalogItemCategoryHierarchy>]
284
+ attr_accessor :category_hierarchies
285
+
286
+ # Optional. Catalog item description. UTF-8 encoded string with a length
287
+ # limit of 5 KiB.
288
+ # Corresponds to the JSON property `description`
289
+ # @return [String]
290
+ attr_accessor :description
291
+
292
+ # Required. Catalog item identifier. UTF-8 encoded string with a length limit
293
+ # of 128 bytes.
294
+ # This id must be unique among all catalog items within the same catalog. It
295
+ # should also be used when logging user events in order for the user events
296
+ # to be joined with the Catalog.
297
+ # Corresponds to the JSON property `id`
298
+ # @return [String]
299
+ attr_accessor :id
300
+
301
+ # FeatureMap represents extra features that customers want to include in the
302
+ # recommendation model for catalogs/user events as categorical/numerical
303
+ # features.
304
+ # Corresponds to the JSON property `itemAttributes`
305
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1FeatureMap]
306
+ attr_accessor :item_attributes
307
+
308
+ # Optional. Variant group identifier for prediction results. UTF-8 encoded
309
+ # string with a length limit of 128 bytes.
310
+ # This field must be enabled before it can be used. [Learn
311
+ # more](/recommendations-ai/docs/catalog#item-group-id).
312
+ # Corresponds to the JSON property `itemGroupId`
313
+ # @return [String]
314
+ attr_accessor :item_group_id
315
+
316
+ # Optional. Deprecated. The model automatically detects the text language. Your
317
+ # catalog can include text in different languages, but duplicating
318
+ # catalog items to provide text in multiple languages can result in
319
+ # degraded model performance.
320
+ # Corresponds to the JSON property `languageCode`
321
+ # @return [String]
322
+ attr_accessor :language_code
323
+
324
+ # ProductCatalogItem captures item metadata specific to retail products.
325
+ # Corresponds to the JSON property `productMetadata`
326
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1ProductCatalogItem]
327
+ attr_accessor :product_metadata
328
+
329
+ # Optional. Filtering tags associated with the catalog item. Each tag should
330
+ # be a UTF-8 encoded string with a length limit of 1 KiB.
331
+ # This tag can be used for filtering recommendation results by passing the
332
+ # tag as part of the predict request filter.
333
+ # Corresponds to the JSON property `tags`
334
+ # @return [Array<String>]
335
+ attr_accessor :tags
336
+
337
+ # Required. Catalog item title. UTF-8 encoded string with a length limit of 1
338
+ # KiB.
339
+ # Corresponds to the JSON property `title`
340
+ # @return [String]
341
+ attr_accessor :title
342
+
343
+ def initialize(**args)
344
+ update!(**args)
345
+ end
346
+
347
+ # Update properties of this object
348
+ def update!(**args)
349
+ @category_hierarchies = args[:category_hierarchies] if args.key?(:category_hierarchies)
350
+ @description = args[:description] if args.key?(:description)
351
+ @id = args[:id] if args.key?(:id)
352
+ @item_attributes = args[:item_attributes] if args.key?(:item_attributes)
353
+ @item_group_id = args[:item_group_id] if args.key?(:item_group_id)
354
+ @language_code = args[:language_code] if args.key?(:language_code)
355
+ @product_metadata = args[:product_metadata] if args.key?(:product_metadata)
356
+ @tags = args[:tags] if args.key?(:tags)
357
+ @title = args[:title] if args.key?(:title)
358
+ end
359
+ end
360
+
361
+ # Category represents catalog item category hierarchy.
362
+ class GoogleCloudRecommendationengineV1beta1CatalogItemCategoryHierarchy
363
+ include Google::Apis::Core::Hashable
364
+
365
+ # Required. Catalog item categories. Each category should be a UTF-8
366
+ # encoded string with a length limit of 2 KiB.
367
+ # Note that the order in the list denotes the specificity (from least to
368
+ # most specific).
369
+ # Corresponds to the JSON property `categories`
370
+ # @return [Array<String>]
371
+ attr_accessor :categories
372
+
373
+ def initialize(**args)
374
+ update!(**args)
375
+ end
376
+
377
+ # Update properties of this object
378
+ def update!(**args)
379
+ @categories = args[:categories] if args.key?(:categories)
380
+ end
381
+ end
382
+
383
+ # Configures what level the catalog should be uploaded with regards to
384
+ # how users will be send events and how predictions will be made.
385
+ class GoogleCloudRecommendationengineV1beta1CatalogItemLevelConfig
386
+ include Google::Apis::Core::Hashable
387
+
388
+ # Optional. What level of the catalog are events uploaded at.
389
+ # See https://cloud.google.com/recommendations-ai/docs/catalog#catalog-levels
390
+ # for more details.
391
+ # Corresponds to the JSON property `eventItemLevel`
392
+ # @return [String]
393
+ attr_accessor :event_item_level
394
+
395
+ # Optional. What level of the catalog are predictions made at.
396
+ # See https://cloud.google.com/recommendations-ai/docs/catalog#catalog-levels
397
+ # for more details.
398
+ # Corresponds to the JSON property `predictItemLevel`
399
+ # @return [String]
400
+ attr_accessor :predict_item_level
401
+
402
+ def initialize(**args)
403
+ update!(**args)
404
+ end
405
+
406
+ # Update properties of this object
407
+ def update!(**args)
408
+ @event_item_level = args[:event_item_level] if args.key?(:event_item_level)
409
+ @predict_item_level = args[:predict_item_level] if args.key?(:predict_item_level)
410
+ end
411
+ end
412
+
413
+ # Request message for the `CreatePredictionApiKeyRegistration` method.
414
+ class GoogleCloudRecommendationengineV1beta1CreatePredictionApiKeyRegistrationRequest
415
+ include Google::Apis::Core::Hashable
416
+
417
+ # Registered Api Key.
418
+ # Corresponds to the JSON property `predictionApiKeyRegistration`
419
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1PredictionApiKeyRegistration]
420
+ attr_accessor :prediction_api_key_registration
421
+
422
+ def initialize(**args)
423
+ update!(**args)
424
+ end
425
+
426
+ # Update properties of this object
427
+ def update!(**args)
428
+ @prediction_api_key_registration = args[:prediction_api_key_registration] if args.key?(:prediction_api_key_registration)
429
+ end
430
+ end
431
+
432
+ # User event details shared by all recommendation types.
433
+ class GoogleCloudRecommendationengineV1beta1EventDetail
434
+ include Google::Apis::Core::Hashable
435
+
436
+ # FeatureMap represents extra features that customers want to include in the
437
+ # recommendation model for catalogs/user events as categorical/numerical
438
+ # features.
439
+ # Corresponds to the JSON property `eventAttributes`
440
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1FeatureMap]
441
+ attr_accessor :event_attributes
442
+
443
+ # Optional. A list of identifiers for the independent experiment groups
444
+ # this user event belongs to. This is used to distinguish between user events
445
+ # associated with different experiment setups (e.g. using Recommendation
446
+ # Engine system, using different recommendation models).
447
+ # Corresponds to the JSON property `experimentIds`
448
+ # @return [Array<String>]
449
+ attr_accessor :experiment_ids
450
+
451
+ # Optional. A unique id of a web page view.
452
+ # This should be kept the same for all user events triggered from the same
453
+ # pageview. For example, an item detail page view could trigger multiple
454
+ # events as the user is browsing the page.
455
+ # The `pageViewId` property should be kept the same for all these events so
456
+ # that they can be grouped together properly. This `pageViewId` will be
457
+ # automatically generated if using the JavaScript pixel.
458
+ # Corresponds to the JSON property `pageViewId`
459
+ # @return [String]
460
+ attr_accessor :page_view_id
461
+
462
+ # Optional. Recommendation token included in the recommendation prediction
463
+ # response.
464
+ # This field enables accurate attribution of recommendation model
465
+ # performance.
466
+ # This token enables us to accurately attribute page view or purchase back to
467
+ # the event and the particular predict response containing this
468
+ # clicked/purchased item. If user clicks on product K in the recommendation
469
+ # results, pass the `PredictResponse.recommendationToken` property as a url
470
+ # parameter to product K's page. When recording events on product K's page,
471
+ # log the PredictResponse.recommendation_token to this field.
472
+ # Optional, but highly encouraged for user events that are the result of a
473
+ # recommendation prediction query.
474
+ # Corresponds to the JSON property `recommendationToken`
475
+ # @return [String]
476
+ attr_accessor :recommendation_token
477
+
478
+ # Optional. The referrer url of the current page. When using
479
+ # the JavaScript pixel, this value is filled in automatically.
480
+ # Corresponds to the JSON property `referrerUri`
481
+ # @return [String]
482
+ attr_accessor :referrer_uri
483
+
484
+ # Optional. Complete url (window.location.href) of the user's current page.
485
+ # When using the JavaScript pixel, this value is filled in automatically.
486
+ # Maximum length 5KB.
487
+ # Corresponds to the JSON property `uri`
488
+ # @return [String]
489
+ attr_accessor :uri
490
+
491
+ def initialize(**args)
492
+ update!(**args)
493
+ end
494
+
495
+ # Update properties of this object
496
+ def update!(**args)
497
+ @event_attributes = args[:event_attributes] if args.key?(:event_attributes)
498
+ @experiment_ids = args[:experiment_ids] if args.key?(:experiment_ids)
499
+ @page_view_id = args[:page_view_id] if args.key?(:page_view_id)
500
+ @recommendation_token = args[:recommendation_token] if args.key?(:recommendation_token)
501
+ @referrer_uri = args[:referrer_uri] if args.key?(:referrer_uri)
502
+ @uri = args[:uri] if args.key?(:uri)
503
+ end
504
+ end
505
+
506
+ # FeatureMap represents extra features that customers want to include in the
507
+ # recommendation model for catalogs/user events as categorical/numerical
508
+ # features.
509
+ class GoogleCloudRecommendationengineV1beta1FeatureMap
510
+ include Google::Apis::Core::Hashable
511
+
512
+ # Categorical features that can take on one of a limited number of possible
513
+ # values. Some examples would be the brand/maker of a product, or country of
514
+ # a customer.
515
+ # Feature names and values must be UTF-8 encoded strings.
516
+ # For example: `` "colors": `"value": ["yellow", "green"]`,
517
+ # "sizes": `"value":["S", "M"]``
518
+ # Corresponds to the JSON property `categoricalFeatures`
519
+ # @return [Hash<String,Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1FeatureMapStringList>]
520
+ attr_accessor :categorical_features
521
+
522
+ # Numerical features. Some examples would be the height/weight of a product,
523
+ # or age of a customer.
524
+ # Feature names must be UTF-8 encoded strings.
525
+ # For example: `` "lengths_cm": `"value":[2.3, 15.4]`,
526
+ # "heights_cm": `"value":[8.1, 6.4]` ``
527
+ # Corresponds to the JSON property `numericalFeatures`
528
+ # @return [Hash<String,Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1FeatureMapFloatList>]
529
+ attr_accessor :numerical_features
530
+
531
+ def initialize(**args)
532
+ update!(**args)
533
+ end
534
+
535
+ # Update properties of this object
536
+ def update!(**args)
537
+ @categorical_features = args[:categorical_features] if args.key?(:categorical_features)
538
+ @numerical_features = args[:numerical_features] if args.key?(:numerical_features)
539
+ end
540
+ end
541
+
542
+ # A list of float features.
543
+ class GoogleCloudRecommendationengineV1beta1FeatureMapFloatList
544
+ include Google::Apis::Core::Hashable
545
+
546
+ # Float feature value.
547
+ # Corresponds to the JSON property `value`
548
+ # @return [Array<Float>]
549
+ attr_accessor :value
550
+
551
+ def initialize(**args)
552
+ update!(**args)
553
+ end
554
+
555
+ # Update properties of this object
556
+ def update!(**args)
557
+ @value = args[:value] if args.key?(:value)
558
+ end
559
+ end
560
+
561
+ # A list of string features.
562
+ class GoogleCloudRecommendationengineV1beta1FeatureMapStringList
563
+ include Google::Apis::Core::Hashable
564
+
565
+ # String feature value with a length limit of 128 bytes.
566
+ # Corresponds to the JSON property `value`
567
+ # @return [Array<String>]
568
+ attr_accessor :value
569
+
570
+ def initialize(**args)
571
+ update!(**args)
572
+ end
573
+
574
+ # Update properties of this object
575
+ def update!(**args)
576
+ @value = args[:value] if args.key?(:value)
577
+ end
578
+ end
579
+
580
+ # Google Cloud Storage location for input content.
581
+ # format.
582
+ class GoogleCloudRecommendationengineV1beta1GcsSource
583
+ include Google::Apis::Core::Hashable
584
+
585
+ # Required. Google Cloud Storage URIs to input files. URI can be up to
586
+ # 2000 characters long. URIs can match the full object path (for example,
587
+ # gs://bucket/directory/object.json) or a pattern matching one or more
588
+ # files, such as gs://bucket/directory/*.json. A request can
589
+ # contain at most 100 files, and each file can be up to 2 GB. See
590
+ # [Importing catalog information](/recommendations-ai/docs/upload-catalog)
591
+ # for the expected file format and setup instructions.
592
+ # Corresponds to the JSON property `inputUris`
593
+ # @return [Array<String>]
594
+ attr_accessor :input_uris
595
+
596
+ # Optional. The schema to use when parsing the data from the source.
597
+ # Supported values for catalog imports:
598
+ # 1: "catalog_recommendations_ai" using
599
+ # https://cloud.google.com/recommendations-ai/docs/upload-catalog#json
600
+ # (Default for catalogItems.import)
601
+ # 2: "catalog_merchant_center" using
602
+ # https://cloud.google.com/recommendations-ai/docs/upload-catalog#mc
603
+ # Supported values for user events imports:
604
+ # 1: "user_events_recommendations_ai" using
605
+ # https://cloud.google.com/recommendations-ai/docs/manage-user-events#import
606
+ # (Default for userEvents.import)
607
+ # Corresponds to the JSON property `jsonSchema`
608
+ # @return [String]
609
+ attr_accessor :json_schema
610
+
611
+ def initialize(**args)
612
+ update!(**args)
613
+ end
614
+
615
+ # Update properties of this object
616
+ def update!(**args)
617
+ @input_uris = args[:input_uris] if args.key?(:input_uris)
618
+ @json_schema = args[:json_schema] if args.key?(:json_schema)
619
+ end
620
+ end
621
+
622
+ # Response message for GetCatalogItemsWithItemGroupId method.
623
+ class GoogleCloudRecommendationengineV1beta1GetCatalogItemsWithItemGroupIdResponse
624
+ include Google::Apis::Core::Hashable
625
+
626
+ # CatalogItem captures all metadata information of items to be recommended.
627
+ # Corresponds to the JSON property `canonicalCatalogItem`
628
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1CatalogItem]
629
+ attr_accessor :canonical_catalog_item
630
+
631
+ # The list of catalog items associated with the item group id.
632
+ # Corresponds to the JSON property `catalogItems`
633
+ # @return [Array<Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1CatalogItem>]
634
+ attr_accessor :catalog_items
635
+
636
+ def initialize(**args)
637
+ update!(**args)
638
+ end
639
+
640
+ # Update properties of this object
641
+ def update!(**args)
642
+ @canonical_catalog_item = args[:canonical_catalog_item] if args.key?(:canonical_catalog_item)
643
+ @catalog_items = args[:catalog_items] if args.key?(:catalog_items)
644
+ end
645
+ end
646
+
647
+ # Catalog item thumbnail/detail image.
648
+ class GoogleCloudRecommendationengineV1beta1Image
649
+ include Google::Apis::Core::Hashable
650
+
651
+ # Optional. Height of the image in number of pixels.
652
+ # Corresponds to the JSON property `height`
653
+ # @return [Fixnum]
654
+ attr_accessor :height
655
+
656
+ # Required. URL of the image with a length limit of 5 KiB.
657
+ # Corresponds to the JSON property `uri`
658
+ # @return [String]
659
+ attr_accessor :uri
660
+
661
+ # Optional. Width of the image in number of pixels.
662
+ # Corresponds to the JSON property `width`
663
+ # @return [Fixnum]
664
+ attr_accessor :width
665
+
666
+ def initialize(**args)
667
+ update!(**args)
668
+ end
669
+
670
+ # Update properties of this object
671
+ def update!(**args)
672
+ @height = args[:height] if args.key?(:height)
673
+ @uri = args[:uri] if args.key?(:uri)
674
+ @width = args[:width] if args.key?(:width)
675
+ end
676
+ end
677
+
678
+ # Request message for Import methods.
679
+ class GoogleCloudRecommendationengineV1beta1ImportCatalogItemsRequest
680
+ include Google::Apis::Core::Hashable
681
+
682
+ # Configuration of destination for Import related errors.
683
+ # Corresponds to the JSON property `errorsConfig`
684
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1ImportErrorsConfig]
685
+ attr_accessor :errors_config
686
+
687
+ # The input config source.
688
+ # Corresponds to the JSON property `inputConfig`
689
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1InputConfig]
690
+ attr_accessor :input_config
691
+
692
+ # Optional. Unique identifier provided by client, within the ancestor
693
+ # dataset scope. Ensures idempotency and used for request deduplication.
694
+ # Server-generated if unspecified. Up to 128 characters long. This is
695
+ # returned as google.longrunning.Operation.name in the response.
696
+ # Corresponds to the JSON property `requestId`
697
+ # @return [String]
698
+ attr_accessor :request_id
699
+
700
+ # Optional. Indicates which fields in the provided imported 'items' to update.
701
+ # If not
702
+ # set, will by default update all fields.
703
+ # Corresponds to the JSON property `updateMask`
704
+ # @return [String]
705
+ attr_accessor :update_mask
706
+
707
+ def initialize(**args)
708
+ update!(**args)
709
+ end
710
+
711
+ # Update properties of this object
712
+ def update!(**args)
713
+ @errors_config = args[:errors_config] if args.key?(:errors_config)
714
+ @input_config = args[:input_config] if args.key?(:input_config)
715
+ @request_id = args[:request_id] if args.key?(:request_id)
716
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
717
+ end
718
+ end
719
+
720
+ # Response of the ImportCatalogItemsRequest. If the long running
721
+ # operation is done, then this message is returned by the
722
+ # google.longrunning.Operations.response field if the operation was successful.
723
+ class GoogleCloudRecommendationengineV1beta1ImportCatalogItemsResponse
724
+ include Google::Apis::Core::Hashable
725
+
726
+ # A sample of errors encountered while processing the request.
727
+ # Corresponds to the JSON property `errorSamples`
728
+ # @return [Array<Google::Apis::RecommendationengineV1beta1::GoogleRpcStatus>]
729
+ attr_accessor :error_samples
730
+
731
+ # Configuration of destination for Import related errors.
732
+ # Corresponds to the JSON property `errorsConfig`
733
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1ImportErrorsConfig]
734
+ attr_accessor :errors_config
735
+
736
+ def initialize(**args)
737
+ update!(**args)
738
+ end
739
+
740
+ # Update properties of this object
741
+ def update!(**args)
742
+ @error_samples = args[:error_samples] if args.key?(:error_samples)
743
+ @errors_config = args[:errors_config] if args.key?(:errors_config)
744
+ end
745
+ end
746
+
747
+ # Configuration of destination for Import related errors.
748
+ class GoogleCloudRecommendationengineV1beta1ImportErrorsConfig
749
+ include Google::Apis::Core::Hashable
750
+
751
+ # Google Cloud Storage path for import errors. This must be an empty,
752
+ # existing Cloud Storage bucket. Import errors will be written to a file in
753
+ # this bucket, one per line, as a JSON-encoded
754
+ # `google.rpc.Status` message.
755
+ # Corresponds to the JSON property `gcsPrefix`
756
+ # @return [String]
757
+ attr_accessor :gcs_prefix
758
+
759
+ def initialize(**args)
760
+ update!(**args)
761
+ end
762
+
763
+ # Update properties of this object
764
+ def update!(**args)
765
+ @gcs_prefix = args[:gcs_prefix] if args.key?(:gcs_prefix)
766
+ end
767
+ end
768
+
769
+ # Metadata related to the progress of the Import operation. This will be
770
+ # returned by the google.longrunning.Operation.metadata field.
771
+ class GoogleCloudRecommendationengineV1beta1ImportMetadata
772
+ include Google::Apis::Core::Hashable
773
+
774
+ # Operation create time.
775
+ # Corresponds to the JSON property `createTime`
776
+ # @return [String]
777
+ attr_accessor :create_time
778
+
779
+ # Count of entries that encountered errors while processing.
780
+ # Corresponds to the JSON property `failureCount`
781
+ # @return [Fixnum]
782
+ attr_accessor :failure_count
783
+
784
+ # Name of the operation.
785
+ # Corresponds to the JSON property `operationName`
786
+ # @return [String]
787
+ attr_accessor :operation_name
788
+
789
+ # Id of the request / operation. This is parroting back the requestId that
790
+ # was passed in the request.
791
+ # Corresponds to the JSON property `requestId`
792
+ # @return [String]
793
+ attr_accessor :request_id
794
+
795
+ # Count of entries that were processed successfully.
796
+ # Corresponds to the JSON property `successCount`
797
+ # @return [Fixnum]
798
+ attr_accessor :success_count
799
+
800
+ # Operation last update time. If the operation is done, this is also the
801
+ # finish time.
802
+ # Corresponds to the JSON property `updateTime`
803
+ # @return [String]
804
+ attr_accessor :update_time
805
+
806
+ def initialize(**args)
807
+ update!(**args)
808
+ end
809
+
810
+ # Update properties of this object
811
+ def update!(**args)
812
+ @create_time = args[:create_time] if args.key?(:create_time)
813
+ @failure_count = args[:failure_count] if args.key?(:failure_count)
814
+ @operation_name = args[:operation_name] if args.key?(:operation_name)
815
+ @request_id = args[:request_id] if args.key?(:request_id)
816
+ @success_count = args[:success_count] if args.key?(:success_count)
817
+ @update_time = args[:update_time] if args.key?(:update_time)
818
+ end
819
+ end
820
+
821
+ # Request message for the ImportUserEvents request.
822
+ class GoogleCloudRecommendationengineV1beta1ImportUserEventsRequest
823
+ include Google::Apis::Core::Hashable
824
+
825
+ # Configuration of destination for Import related errors.
826
+ # Corresponds to the JSON property `errorsConfig`
827
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1ImportErrorsConfig]
828
+ attr_accessor :errors_config
829
+
830
+ # The input config source.
831
+ # Corresponds to the JSON property `inputConfig`
832
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1InputConfig]
833
+ attr_accessor :input_config
834
+
835
+ # Optional. Unique identifier provided by client, within the ancestor
836
+ # dataset scope. Ensures idempotency for expensive long running operations.
837
+ # Server-generated if unspecified. Up to 128 characters long. This is
838
+ # returned as google.longrunning.Operation.name in the response. Note that
839
+ # this field must not be set if the desired input config is
840
+ # catalog_inline_source.
841
+ # Corresponds to the JSON property `requestId`
842
+ # @return [String]
843
+ attr_accessor :request_id
844
+
845
+ def initialize(**args)
846
+ update!(**args)
847
+ end
848
+
849
+ # Update properties of this object
850
+ def update!(**args)
851
+ @errors_config = args[:errors_config] if args.key?(:errors_config)
852
+ @input_config = args[:input_config] if args.key?(:input_config)
853
+ @request_id = args[:request_id] if args.key?(:request_id)
854
+ end
855
+ end
856
+
857
+ # Response of the ImportUserEventsRequest. If the long running
858
+ # operation was successful, then this message is returned by the
859
+ # google.longrunning.Operations.response field if the operation was successful.
860
+ class GoogleCloudRecommendationengineV1beta1ImportUserEventsResponse
861
+ include Google::Apis::Core::Hashable
862
+
863
+ # A sample of errors encountered while processing the request.
864
+ # Corresponds to the JSON property `errorSamples`
865
+ # @return [Array<Google::Apis::RecommendationengineV1beta1::GoogleRpcStatus>]
866
+ attr_accessor :error_samples
867
+
868
+ # Configuration of destination for Import related errors.
869
+ # Corresponds to the JSON property `errorsConfig`
870
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1ImportErrorsConfig]
871
+ attr_accessor :errors_config
872
+
873
+ # A summary of import result. The UserEventImportSummary summarizes
874
+ # the import status for user events.
875
+ # Corresponds to the JSON property `importSummary`
876
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1UserEventImportSummary]
877
+ attr_accessor :import_summary
878
+
879
+ def initialize(**args)
880
+ update!(**args)
881
+ end
882
+
883
+ # Update properties of this object
884
+ def update!(**args)
885
+ @error_samples = args[:error_samples] if args.key?(:error_samples)
886
+ @errors_config = args[:errors_config] if args.key?(:errors_config)
887
+ @import_summary = args[:import_summary] if args.key?(:import_summary)
888
+ end
889
+ end
890
+
891
+ # The input config source.
892
+ class GoogleCloudRecommendationengineV1beta1InputConfig
893
+ include Google::Apis::Core::Hashable
894
+
895
+ # BigQuery source import data from.
896
+ # Corresponds to the JSON property `bigQuerySource`
897
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1BigQuerySource]
898
+ attr_accessor :big_query_source
899
+
900
+ # The inline source for the input config for ImportCatalogItems method.
901
+ # Corresponds to the JSON property `catalogInlineSource`
902
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1CatalogInlineSource]
903
+ attr_accessor :catalog_inline_source
904
+
905
+ # Google Cloud Storage location for input content.
906
+ # format.
907
+ # Corresponds to the JSON property `gcsSource`
908
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1GcsSource]
909
+ attr_accessor :gcs_source
910
+
911
+ # The inline source for the input config for ImportUserEvents method.
912
+ # Corresponds to the JSON property `userEventInlineSource`
913
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1UserEventInlineSource]
914
+ attr_accessor :user_event_inline_source
915
+
916
+ def initialize(**args)
917
+ update!(**args)
918
+ end
919
+
920
+ # Update properties of this object
921
+ def update!(**args)
922
+ @big_query_source = args[:big_query_source] if args.key?(:big_query_source)
923
+ @catalog_inline_source = args[:catalog_inline_source] if args.key?(:catalog_inline_source)
924
+ @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
925
+ @user_event_inline_source = args[:user_event_inline_source] if args.key?(:user_event_inline_source)
926
+ end
927
+ end
928
+
929
+ # Response message for ListCatalogItems method.
930
+ class GoogleCloudRecommendationengineV1beta1ListCatalogItemsResponse
931
+ include Google::Apis::Core::Hashable
932
+
933
+ # The catalog items.
934
+ # Corresponds to the JSON property `catalogItems`
935
+ # @return [Array<Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1CatalogItem>]
936
+ attr_accessor :catalog_items
937
+
938
+ # If empty, the list is complete. If nonempty, the token to pass to the next
939
+ # request's ListCatalogItemRequest.page_token.
940
+ # Corresponds to the JSON property `nextPageToken`
941
+ # @return [String]
942
+ attr_accessor :next_page_token
943
+
944
+ def initialize(**args)
945
+ update!(**args)
946
+ end
947
+
948
+ # Update properties of this object
949
+ def update!(**args)
950
+ @catalog_items = args[:catalog_items] if args.key?(:catalog_items)
951
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
952
+ end
953
+ end
954
+
955
+ # Response for ListCatalogs method.
956
+ class GoogleCloudRecommendationengineV1beta1ListCatalogsResponse
957
+ include Google::Apis::Core::Hashable
958
+
959
+ # Output only. All the customer's catalogs.
960
+ # Corresponds to the JSON property `catalogs`
961
+ # @return [Array<Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1Catalog>]
962
+ attr_accessor :catalogs
963
+
964
+ # Pagination token, if not returned indicates the last page.
965
+ # Corresponds to the JSON property `nextPageToken`
966
+ # @return [String]
967
+ attr_accessor :next_page_token
968
+
969
+ def initialize(**args)
970
+ update!(**args)
971
+ end
972
+
973
+ # Update properties of this object
974
+ def update!(**args)
975
+ @catalogs = args[:catalogs] if args.key?(:catalogs)
976
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
977
+ end
978
+ end
979
+
980
+ # Response message for the `ListPredictionApiKeyRegistrations`.
981
+ class GoogleCloudRecommendationengineV1beta1ListPredictionApiKeyRegistrationsResponse
982
+ include Google::Apis::Core::Hashable
983
+
984
+ # If empty, the list is complete. If nonempty, pass the token to the next
985
+ # request's `ListPredictionApiKeysRegistrationsRequest.pageToken`.
986
+ # Corresponds to the JSON property `nextPageToken`
987
+ # @return [String]
988
+ attr_accessor :next_page_token
989
+
990
+ # The list of registered API keys.
991
+ # Corresponds to the JSON property `predictionApiKeyRegistrations`
992
+ # @return [Array<Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1PredictionApiKeyRegistration>]
993
+ attr_accessor :prediction_api_key_registrations
994
+
995
+ def initialize(**args)
996
+ update!(**args)
997
+ end
998
+
999
+ # Update properties of this object
1000
+ def update!(**args)
1001
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1002
+ @prediction_api_key_registrations = args[:prediction_api_key_registrations] if args.key?(:prediction_api_key_registrations)
1003
+ end
1004
+ end
1005
+
1006
+ # Response message for ListUserEvents method.
1007
+ class GoogleCloudRecommendationengineV1beta1ListUserEventsResponse
1008
+ include Google::Apis::Core::Hashable
1009
+
1010
+ # If empty, the list is complete. If nonempty, the token to pass to the next
1011
+ # request's ListUserEvents.page_token.
1012
+ # Corresponds to the JSON property `nextPageToken`
1013
+ # @return [String]
1014
+ attr_accessor :next_page_token
1015
+
1016
+ # The user events.
1017
+ # Corresponds to the JSON property `userEvents`
1018
+ # @return [Array<Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1UserEvent>]
1019
+ attr_accessor :user_events
1020
+
1021
+ def initialize(**args)
1022
+ update!(**args)
1023
+ end
1024
+
1025
+ # Update properties of this object
1026
+ def update!(**args)
1027
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1028
+ @user_events = args[:user_events] if args.key?(:user_events)
1029
+ end
1030
+ end
1031
+
1032
+ # Request message for Predict method.
1033
+ class GoogleCloudRecommendationengineV1beta1PredictRequest
1034
+ include Google::Apis::Core::Hashable
1035
+
1036
+ # Optional. Use dryRun mode for this prediction query. If set to true, a
1037
+ # dummy model will be used that returns arbitrary catalog items.
1038
+ # Note that the dryRun mode should only be used for testing the API, or if
1039
+ # the model is not ready.
1040
+ # Corresponds to the JSON property `dryRun`
1041
+ # @return [Boolean]
1042
+ attr_accessor :dry_run
1043
+ alias_method :dry_run?, :dry_run
1044
+
1045
+ # Optional. Filter for restricting prediction results. Accepts values for
1046
+ # tags and the `filterOutOfStockItems` flag.
1047
+ # * Tag expressions. Restricts predictions to items that match all of the
1048
+ # specified tags. Boolean operators `OR` and `NOT` are supported if the
1049
+ # expression is enclosed in parentheses, and must be separated from the
1050
+ # tag values by a space. `-"tagA"` is also supported and is equivalent to
1051
+ # `NOT "tagA"`. Tag values must be double quoted UTF-8 encoded strings
1052
+ # with a size limit of 1 KiB.
1053
+ # * filterOutOfStockItems. Restricts predictions to items that do not have a
1054
+ # stockState value of OUT_OF_STOCK.
1055
+ # Examples:
1056
+ # * tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional")
1057
+ # * filterOutOfStockItems tag=(-"promotional")
1058
+ # * filterOutOfStockItems
1059
+ # If your filter blocks all prediction results, generic (unfiltered) popular
1060
+ # items are returned. This behavior can be overridden by setting
1061
+ # `strictFiltering` to true in `PredictRequest.params`.
1062
+ # Corresponds to the JSON property `filter`
1063
+ # @return [String]
1064
+ attr_accessor :filter
1065
+
1066
+ # Optional. The labels for the predict request.
1067
+ # * Label keys can contain lowercase letters, digits and hyphens, must start
1068
+ # with a letter, and must end with a letter or digit.
1069
+ # * Non-zero label values can contain lowercase letters, digits and hyphens,
1070
+ # must start with a letter, and must end with a letter or digit.
1071
+ # * No more than 64 labels can be associated with a given request.
1072
+ # See https://goo.gl/xmQnxf for more information on and examples of labels.
1073
+ # Corresponds to the JSON property `labels`
1074
+ # @return [Hash<String,String>]
1075
+ attr_accessor :labels
1076
+
1077
+ # Optional. Maximum number of results to return per page. Set this property
1078
+ # to the number of prediction results required. If zero, the service will
1079
+ # choose a reasonable default.
1080
+ # Corresponds to the JSON property `pageSize`
1081
+ # @return [Fixnum]
1082
+ attr_accessor :page_size
1083
+
1084
+ # Optional. The previous PredictResponse.next_page_token.
1085
+ # Corresponds to the JSON property `pageToken`
1086
+ # @return [String]
1087
+ attr_accessor :page_token
1088
+
1089
+ # Optional. Additional domain specific parameters for the predictions.
1090
+ # Allowed values:
1091
+ # * `returnCatalogItem`: Boolean. If set to true, the associated catalogItem
1092
+ # object will be returned in the
1093
+ # `PredictResponse.PredictionResult.itemMetadata` object in the method
1094
+ # response.
1095
+ # * `returnItemScore`: Boolean. If set to true, the prediction 'score'
1096
+ # corresponding to each returned item will be set in the `metadata`
1097
+ # field in the prediction response. The given 'score' indicates the
1098
+ # probability of an item being clicked/purchased given the user's context
1099
+ # and history.
1100
+ # * `strictFiltering`: Boolean. If set to true, the service will return empty
1101
+ # instead of generic (unfiltered) popular items if your filter blocks all
1102
+ # prediction results.
1103
+ # Corresponds to the JSON property `params`
1104
+ # @return [Hash<String,Object>]
1105
+ attr_accessor :params
1106
+
1107
+ # UserEvent captures all metadata information recommendation engine needs to
1108
+ # know about how end users interact with customers' website.
1109
+ # Corresponds to the JSON property `userEvent`
1110
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1UserEvent]
1111
+ attr_accessor :user_event
1112
+
1113
+ def initialize(**args)
1114
+ update!(**args)
1115
+ end
1116
+
1117
+ # Update properties of this object
1118
+ def update!(**args)
1119
+ @dry_run = args[:dry_run] if args.key?(:dry_run)
1120
+ @filter = args[:filter] if args.key?(:filter)
1121
+ @labels = args[:labels] if args.key?(:labels)
1122
+ @page_size = args[:page_size] if args.key?(:page_size)
1123
+ @page_token = args[:page_token] if args.key?(:page_token)
1124
+ @params = args[:params] if args.key?(:params)
1125
+ @user_event = args[:user_event] if args.key?(:user_event)
1126
+ end
1127
+ end
1128
+
1129
+ # Response message for predict method.
1130
+ class GoogleCloudRecommendationengineV1beta1PredictResponse
1131
+ include Google::Apis::Core::Hashable
1132
+
1133
+ # True if the dryRun property was set in the request.
1134
+ # Corresponds to the JSON property `dryRun`
1135
+ # @return [Boolean]
1136
+ attr_accessor :dry_run
1137
+ alias_method :dry_run?, :dry_run
1138
+
1139
+ # IDs of items in the request that were missing from the catalog.
1140
+ # Corresponds to the JSON property `itemsMissingInCatalog`
1141
+ # @return [Array<String>]
1142
+ attr_accessor :items_missing_in_catalog
1143
+
1144
+ # Additional domain specific prediction response metadata.
1145
+ # Corresponds to the JSON property `metadata`
1146
+ # @return [Hash<String,Object>]
1147
+ attr_accessor :metadata
1148
+
1149
+ # If empty, the list is complete. If nonempty, the token to pass to the next
1150
+ # request's PredictRequest.page_token.
1151
+ # Corresponds to the JSON property `nextPageToken`
1152
+ # @return [String]
1153
+ attr_accessor :next_page_token
1154
+
1155
+ # A unique recommendation token. This should be included in the user event
1156
+ # logs resulting from this recommendation, which enables accurate attribution
1157
+ # of recommendation model performance.
1158
+ # Corresponds to the JSON property `recommendationToken`
1159
+ # @return [String]
1160
+ attr_accessor :recommendation_token
1161
+
1162
+ # A list of recommended items. The order represents the ranking (from the
1163
+ # most relevant item to the least).
1164
+ # Corresponds to the JSON property `results`
1165
+ # @return [Array<Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1PredictResponsePredictionResult>]
1166
+ attr_accessor :results
1167
+
1168
+ def initialize(**args)
1169
+ update!(**args)
1170
+ end
1171
+
1172
+ # Update properties of this object
1173
+ def update!(**args)
1174
+ @dry_run = args[:dry_run] if args.key?(:dry_run)
1175
+ @items_missing_in_catalog = args[:items_missing_in_catalog] if args.key?(:items_missing_in_catalog)
1176
+ @metadata = args[:metadata] if args.key?(:metadata)
1177
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1178
+ @recommendation_token = args[:recommendation_token] if args.key?(:recommendation_token)
1179
+ @results = args[:results] if args.key?(:results)
1180
+ end
1181
+ end
1182
+
1183
+ # PredictionResult represents the recommendation prediction results.
1184
+ class GoogleCloudRecommendationengineV1beta1PredictResponsePredictionResult
1185
+ include Google::Apis::Core::Hashable
1186
+
1187
+ # ID of the recommended catalog item
1188
+ # Corresponds to the JSON property `id`
1189
+ # @return [String]
1190
+ attr_accessor :id
1191
+
1192
+ # Additional item metadata / annotations.
1193
+ # Possible values:
1194
+ # * `catalogItem`: JSON representation of the catalogItem. Will be set if
1195
+ # `returnCatalogItem` is set to true in `PredictRequest.params`.
1196
+ # * `score`: Prediction score in double value. Will be set if
1197
+ # `returnItemScore` is set to true in `PredictRequest.params`.
1198
+ # Corresponds to the JSON property `itemMetadata`
1199
+ # @return [Hash<String,Object>]
1200
+ attr_accessor :item_metadata
1201
+
1202
+ def initialize(**args)
1203
+ update!(**args)
1204
+ end
1205
+
1206
+ # Update properties of this object
1207
+ def update!(**args)
1208
+ @id = args[:id] if args.key?(:id)
1209
+ @item_metadata = args[:item_metadata] if args.key?(:item_metadata)
1210
+ end
1211
+ end
1212
+
1213
+ # Registered Api Key.
1214
+ class GoogleCloudRecommendationengineV1beta1PredictionApiKeyRegistration
1215
+ include Google::Apis::Core::Hashable
1216
+
1217
+ # The API key.
1218
+ # Corresponds to the JSON property `apiKey`
1219
+ # @return [String]
1220
+ attr_accessor :api_key
1221
+
1222
+ def initialize(**args)
1223
+ update!(**args)
1224
+ end
1225
+
1226
+ # Update properties of this object
1227
+ def update!(**args)
1228
+ @api_key = args[:api_key] if args.key?(:api_key)
1229
+ end
1230
+ end
1231
+
1232
+ # ProductCatalogItem captures item metadata specific to retail products.
1233
+ class GoogleCloudRecommendationengineV1beta1ProductCatalogItem
1234
+ include Google::Apis::Core::Hashable
1235
+
1236
+ # Optional. The available quantity of the item.
1237
+ # Corresponds to the JSON property `availableQuantity`
1238
+ # @return [Fixnum]
1239
+ attr_accessor :available_quantity
1240
+
1241
+ # Optional. Canonical URL directly linking to the item detail page with a
1242
+ # length limit of 5 KiB..
1243
+ # Corresponds to the JSON property `canonicalProductUri`
1244
+ # @return [String]
1245
+ attr_accessor :canonical_product_uri
1246
+
1247
+ # Optional. A map to pass the costs associated with the product.
1248
+ # For example:
1249
+ # `"manufacturing": 45.5` The profit of selling this item is computed like
1250
+ # so:
1251
+ # * If 'exactPrice' is provided, profit = displayPrice - sum(costs)
1252
+ # * If 'priceRange' is provided, profit = minPrice - sum(costs)
1253
+ # Corresponds to the JSON property `costs`
1254
+ # @return [Hash<String,Float>]
1255
+ attr_accessor :costs
1256
+
1257
+ # Optional. Only required if the price is set. Currency code for price/costs.
1258
+ # Use
1259
+ # three-character ISO-4217 code.
1260
+ # Corresponds to the JSON property `currencyCode`
1261
+ # @return [String]
1262
+ attr_accessor :currency_code
1263
+
1264
+ # Exact product price.
1265
+ # Corresponds to the JSON property `exactPrice`
1266
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1ProductCatalogItemExactPrice]
1267
+ attr_accessor :exact_price
1268
+
1269
+ # Optional. Product images for the catalog item.
1270
+ # Corresponds to the JSON property `images`
1271
+ # @return [Array<Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1Image>]
1272
+ attr_accessor :images
1273
+
1274
+ # Product price range when there are a range of prices for different
1275
+ # variations of the same product.
1276
+ # Corresponds to the JSON property `priceRange`
1277
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1ProductCatalogItemPriceRange]
1278
+ attr_accessor :price_range
1279
+
1280
+ # Optional. Online stock state of the catalog item. Default is `IN_STOCK`.
1281
+ # Corresponds to the JSON property `stockState`
1282
+ # @return [String]
1283
+ attr_accessor :stock_state
1284
+
1285
+ def initialize(**args)
1286
+ update!(**args)
1287
+ end
1288
+
1289
+ # Update properties of this object
1290
+ def update!(**args)
1291
+ @available_quantity = args[:available_quantity] if args.key?(:available_quantity)
1292
+ @canonical_product_uri = args[:canonical_product_uri] if args.key?(:canonical_product_uri)
1293
+ @costs = args[:costs] if args.key?(:costs)
1294
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
1295
+ @exact_price = args[:exact_price] if args.key?(:exact_price)
1296
+ @images = args[:images] if args.key?(:images)
1297
+ @price_range = args[:price_range] if args.key?(:price_range)
1298
+ @stock_state = args[:stock_state] if args.key?(:stock_state)
1299
+ end
1300
+ end
1301
+
1302
+ # Exact product price.
1303
+ class GoogleCloudRecommendationengineV1beta1ProductCatalogItemExactPrice
1304
+ include Google::Apis::Core::Hashable
1305
+
1306
+ # Optional. Display price of the product.
1307
+ # Corresponds to the JSON property `displayPrice`
1308
+ # @return [Float]
1309
+ attr_accessor :display_price
1310
+
1311
+ # Optional. Price of the product without any discount. If zero, by default
1312
+ # set to be the 'displayPrice'.
1313
+ # Corresponds to the JSON property `originalPrice`
1314
+ # @return [Float]
1315
+ attr_accessor :original_price
1316
+
1317
+ def initialize(**args)
1318
+ update!(**args)
1319
+ end
1320
+
1321
+ # Update properties of this object
1322
+ def update!(**args)
1323
+ @display_price = args[:display_price] if args.key?(:display_price)
1324
+ @original_price = args[:original_price] if args.key?(:original_price)
1325
+ end
1326
+ end
1327
+
1328
+ # Product price range when there are a range of prices for different
1329
+ # variations of the same product.
1330
+ class GoogleCloudRecommendationengineV1beta1ProductCatalogItemPriceRange
1331
+ include Google::Apis::Core::Hashable
1332
+
1333
+ # Required. The maximum product price.
1334
+ # Corresponds to the JSON property `max`
1335
+ # @return [Float]
1336
+ attr_accessor :max
1337
+
1338
+ # Required. The minimum product price.
1339
+ # Corresponds to the JSON property `min`
1340
+ # @return [Float]
1341
+ attr_accessor :min
1342
+
1343
+ def initialize(**args)
1344
+ update!(**args)
1345
+ end
1346
+
1347
+ # Update properties of this object
1348
+ def update!(**args)
1349
+ @max = args[:max] if args.key?(:max)
1350
+ @min = args[:min] if args.key?(:min)
1351
+ end
1352
+ end
1353
+
1354
+ # Detailed product information associated with a user event.
1355
+ class GoogleCloudRecommendationengineV1beta1ProductDetail
1356
+ include Google::Apis::Core::Hashable
1357
+
1358
+ # Optional. Quantity of the products in stock when a user event happens.
1359
+ # Optional. If provided, this overrides the available quantity in Catalog for
1360
+ # this event. and can only be set if `stock_status` is set to `IN_STOCK`.
1361
+ # Note that if an item is out of stock, you must set the `stock_state` field
1362
+ # to be `OUT_OF_STOCK`. Leaving this field unspecified / as zero is not
1363
+ # sufficient to mark the item out of stock.
1364
+ # Corresponds to the JSON property `availableQuantity`
1365
+ # @return [Fixnum]
1366
+ attr_accessor :available_quantity
1367
+
1368
+ # Optional. Currency code for price/costs. Use three-character ISO-4217
1369
+ # code. Required only if originalPrice or displayPrice is set.
1370
+ # Corresponds to the JSON property `currencyCode`
1371
+ # @return [String]
1372
+ attr_accessor :currency_code
1373
+
1374
+ # Optional. Display price of the product (e.g. discounted price). If
1375
+ # provided, this will override the display price in Catalog for this product.
1376
+ # Corresponds to the JSON property `displayPrice`
1377
+ # @return [Float]
1378
+ attr_accessor :display_price
1379
+
1380
+ # Required. Catalog item ID. UTF-8 encoded string with a length limit of 128
1381
+ # characters.
1382
+ # Corresponds to the JSON property `id`
1383
+ # @return [String]
1384
+ attr_accessor :id
1385
+
1386
+ # FeatureMap represents extra features that customers want to include in the
1387
+ # recommendation model for catalogs/user events as categorical/numerical
1388
+ # features.
1389
+ # Corresponds to the JSON property `itemAttributes`
1390
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1FeatureMap]
1391
+ attr_accessor :item_attributes
1392
+
1393
+ # Optional. Original price of the product. If provided, this will override
1394
+ # the original price in Catalog for this product.
1395
+ # Corresponds to the JSON property `originalPrice`
1396
+ # @return [Float]
1397
+ attr_accessor :original_price
1398
+
1399
+ # Optional. Quantity of the product associated with the user event. For
1400
+ # example, this field will be 2 if two products are added to the shopping
1401
+ # cart for `add-to-cart` event. Required for `add-to-cart`, `add-to-list`,
1402
+ # `remove-from-cart`, `checkout-start`, `purchase-complete`, `refund` event
1403
+ # types.
1404
+ # Corresponds to the JSON property `quantity`
1405
+ # @return [Fixnum]
1406
+ attr_accessor :quantity
1407
+
1408
+ # Optional. Item stock state. If provided, this overrides the stock state
1409
+ # in Catalog for items in this event.
1410
+ # Corresponds to the JSON property `stockState`
1411
+ # @return [String]
1412
+ attr_accessor :stock_state
1413
+
1414
+ def initialize(**args)
1415
+ update!(**args)
1416
+ end
1417
+
1418
+ # Update properties of this object
1419
+ def update!(**args)
1420
+ @available_quantity = args[:available_quantity] if args.key?(:available_quantity)
1421
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
1422
+ @display_price = args[:display_price] if args.key?(:display_price)
1423
+ @id = args[:id] if args.key?(:id)
1424
+ @item_attributes = args[:item_attributes] if args.key?(:item_attributes)
1425
+ @original_price = args[:original_price] if args.key?(:original_price)
1426
+ @quantity = args[:quantity] if args.key?(:quantity)
1427
+ @stock_state = args[:stock_state] if args.key?(:stock_state)
1428
+ end
1429
+ end
1430
+
1431
+ # ProductEventDetail captures user event information specific to retail
1432
+ # products.
1433
+ class GoogleCloudRecommendationengineV1beta1ProductEventDetail
1434
+ include Google::Apis::Core::Hashable
1435
+
1436
+ # Optional. The id or name of the associated shopping cart. This id is used
1437
+ # to associate multiple items added or present in the cart before purchase.
1438
+ # This can only be set for `add-to-cart`, `remove-from-cart`,
1439
+ # `checkout-start`, `purchase-complete`, or `shopping-cart-page-view` events.
1440
+ # Corresponds to the JSON property `cartId`
1441
+ # @return [String]
1442
+ attr_accessor :cart_id
1443
+
1444
+ # Required for `add-to-list` and `remove-from-list` events. The id or name of
1445
+ # the list that the item is being added to or removed from. Other event types
1446
+ # should not set this field.
1447
+ # Corresponds to the JSON property `listId`
1448
+ # @return [String]
1449
+ attr_accessor :list_id
1450
+
1451
+ # Required for `category-page-view` events. Other event types should not set
1452
+ # this field.
1453
+ # The categories associated with a category page.
1454
+ # Category pages include special pages such as sales or promotions. For
1455
+ # instance, a special sale page may have the category hierarchy:
1456
+ # categories : ["Sales", "2017 Black Friday Deals"].
1457
+ # Corresponds to the JSON property `pageCategories`
1458
+ # @return [Array<Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1CatalogItemCategoryHierarchy>]
1459
+ attr_accessor :page_categories
1460
+
1461
+ # The main product details related to the event.
1462
+ # This field is required for the following event types:
1463
+ # * `add-to-cart`
1464
+ # * `add-to-list`
1465
+ # * `checkout-start`
1466
+ # * `detail-page-view`
1467
+ # * `purchase-complete`
1468
+ # * `refund`
1469
+ # * `remove-from-cart`
1470
+ # * `remove-from-list`
1471
+ # This field is optional for the following event types:
1472
+ # * `page-visit`
1473
+ # * `shopping-cart-page-view` - note that 'product_details' should be set for
1474
+ # this unless the shopping cart is empty.
1475
+ # * `search` (highly encouraged)
1476
+ # In a `search` event, this field represents the products returned to the end
1477
+ # user on the current page (the end user may have not finished broswing the
1478
+ # whole page yet). When a new page is returned to the end user, after
1479
+ # pagination/filtering/ordering even for the same query, a new SEARCH event
1480
+ # with different product_details is desired. The end user may have not
1481
+ # finished broswing the whole page yet.
1482
+ # This field is not allowed for the following event types:
1483
+ # * `category-page-view`
1484
+ # * `home-page-view`
1485
+ # Corresponds to the JSON property `productDetails`
1486
+ # @return [Array<Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1ProductDetail>]
1487
+ attr_accessor :product_details
1488
+
1489
+ # A transaction represents the entire purchase transaction.
1490
+ # Corresponds to the JSON property `purchaseTransaction`
1491
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1PurchaseTransaction]
1492
+ attr_accessor :purchase_transaction
1493
+
1494
+ # Required for `search` events. Other event types should not set this field.
1495
+ # The user's search query as UTF-8 encoded text with a length limit of 5 KiB.
1496
+ # Corresponds to the JSON property `searchQuery`
1497
+ # @return [String]
1498
+ attr_accessor :search_query
1499
+
1500
+ def initialize(**args)
1501
+ update!(**args)
1502
+ end
1503
+
1504
+ # Update properties of this object
1505
+ def update!(**args)
1506
+ @cart_id = args[:cart_id] if args.key?(:cart_id)
1507
+ @list_id = args[:list_id] if args.key?(:list_id)
1508
+ @page_categories = args[:page_categories] if args.key?(:page_categories)
1509
+ @product_details = args[:product_details] if args.key?(:product_details)
1510
+ @purchase_transaction = args[:purchase_transaction] if args.key?(:purchase_transaction)
1511
+ @search_query = args[:search_query] if args.key?(:search_query)
1512
+ end
1513
+ end
1514
+
1515
+ # A transaction represents the entire purchase transaction.
1516
+ class GoogleCloudRecommendationengineV1beta1PurchaseTransaction
1517
+ include Google::Apis::Core::Hashable
1518
+
1519
+ # Optional. All the costs associated with the product. These can be
1520
+ # manufacturing costs, shipping expenses not borne by the end user, or any
1521
+ # other costs.
1522
+ # Total product cost such that
1523
+ # profit = revenue - (sum(taxes) + sum(costs))
1524
+ # If product_cost is not set, then
1525
+ # profit = revenue - tax - shipping - sum(CatalogItem.costs).
1526
+ # If CatalogItem.cost is not specified for one of the items, CatalogItem.cost
1527
+ # based profit *cannot* be calculated for this Transaction.
1528
+ # Corresponds to the JSON property `costs`
1529
+ # @return [Hash<String,Float>]
1530
+ attr_accessor :costs
1531
+
1532
+ # Required. Currency code. Use three-character ISO-4217 code. This field
1533
+ # is not required if the event type is `refund`.
1534
+ # Corresponds to the JSON property `currencyCode`
1535
+ # @return [String]
1536
+ attr_accessor :currency_code
1537
+
1538
+ # Optional. The transaction ID with a length limit of 128 bytes.
1539
+ # Corresponds to the JSON property `id`
1540
+ # @return [String]
1541
+ attr_accessor :id
1542
+
1543
+ # Required. Total revenue or grand total associated with the transaction.
1544
+ # This value include shipping, tax, or other adjustments to total revenue
1545
+ # that you want to include as part of your revenue calculations. This field
1546
+ # is not required if the event type is `refund`.
1547
+ # Corresponds to the JSON property `revenue`
1548
+ # @return [Float]
1549
+ attr_accessor :revenue
1550
+
1551
+ # Optional. All the taxes associated with the transaction.
1552
+ # Corresponds to the JSON property `taxes`
1553
+ # @return [Hash<String,Float>]
1554
+ attr_accessor :taxes
1555
+
1556
+ def initialize(**args)
1557
+ update!(**args)
1558
+ end
1559
+
1560
+ # Update properties of this object
1561
+ def update!(**args)
1562
+ @costs = args[:costs] if args.key?(:costs)
1563
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
1564
+ @id = args[:id] if args.key?(:id)
1565
+ @revenue = args[:revenue] if args.key?(:revenue)
1566
+ @taxes = args[:taxes] if args.key?(:taxes)
1567
+ end
1568
+ end
1569
+
1570
+ # Metadata related to the progress of the PurgeUserEvents operation.
1571
+ # This will be returned by the google.longrunning.Operation.metadata field.
1572
+ class GoogleCloudRecommendationengineV1beta1PurgeUserEventsMetadata
1573
+ include Google::Apis::Core::Hashable
1574
+
1575
+ # Operation create time.
1576
+ # Corresponds to the JSON property `createTime`
1577
+ # @return [String]
1578
+ attr_accessor :create_time
1579
+
1580
+ # The ID of the request / operation.
1581
+ # Corresponds to the JSON property `operationName`
1582
+ # @return [String]
1583
+ attr_accessor :operation_name
1584
+
1585
+ def initialize(**args)
1586
+ update!(**args)
1587
+ end
1588
+
1589
+ # Update properties of this object
1590
+ def update!(**args)
1591
+ @create_time = args[:create_time] if args.key?(:create_time)
1592
+ @operation_name = args[:operation_name] if args.key?(:operation_name)
1593
+ end
1594
+ end
1595
+
1596
+ # Request message for PurgeUserEvents method.
1597
+ class GoogleCloudRecommendationengineV1beta1PurgeUserEventsRequest
1598
+ include Google::Apis::Core::Hashable
1599
+
1600
+ # Required. The filter string to specify the events to be deleted. Empty
1601
+ # string filter is not allowed. The eligible fields
1602
+ # for filtering are:
1603
+ # * `eventType`: UserEvent.eventType field of type string.
1604
+ # * `eventTime`: in ISO 8601 "zulu" format.
1605
+ # * `visitorId`: field of type string. Specifying this will delete all
1606
+ # events associated with a visitor.
1607
+ # * `userId`: field of type string. Specifying this will delete all events
1608
+ # associated with a user.
1609
+ # Examples:
1610
+ # * Deleting all events in a time range:
1611
+ # `eventTime > "2012-04-23T18:25:43.511Z"
1612
+ # eventTime < "2012-04-23T18:30:43.511Z"`
1613
+ # * Deleting specific eventType in time range:
1614
+ # `eventTime > "2012-04-23T18:25:43.511Z" eventType = "detail-page-view"`
1615
+ # * Deleting all events for a specific visitor:
1616
+ # `visitorId = "visitor1024"`
1617
+ # The filtering fields are assumed to have an implicit AND.
1618
+ # Corresponds to the JSON property `filter`
1619
+ # @return [String]
1620
+ attr_accessor :filter
1621
+
1622
+ # Optional. The default value is false. Override this flag to true to
1623
+ # actually perform the purge. If the field is not set to true, a sampling of
1624
+ # events to be deleted will be returned.
1625
+ # Corresponds to the JSON property `force`
1626
+ # @return [Boolean]
1627
+ attr_accessor :force
1628
+ alias_method :force?, :force
1629
+
1630
+ def initialize(**args)
1631
+ update!(**args)
1632
+ end
1633
+
1634
+ # Update properties of this object
1635
+ def update!(**args)
1636
+ @filter = args[:filter] if args.key?(:filter)
1637
+ @force = args[:force] if args.key?(:force)
1638
+ end
1639
+ end
1640
+
1641
+ # Response of the PurgeUserEventsRequest. If the long running operation is
1642
+ # successfully done, then this message is returned by the
1643
+ # google.longrunning.Operations.response field.
1644
+ class GoogleCloudRecommendationengineV1beta1PurgeUserEventsResponse
1645
+ include Google::Apis::Core::Hashable
1646
+
1647
+ # The total count of events purged as a result of the operation.
1648
+ # Corresponds to the JSON property `purgedEventsCount`
1649
+ # @return [Fixnum]
1650
+ attr_accessor :purged_events_count
1651
+
1652
+ # A sampling of events deleted (or will be deleted) depending on the `force`
1653
+ # property in the request. Max of 500 items will be returned.
1654
+ # Corresponds to the JSON property `userEventsSample`
1655
+ # @return [Array<Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1UserEvent>]
1656
+ attr_accessor :user_events_sample
1657
+
1658
+ def initialize(**args)
1659
+ update!(**args)
1660
+ end
1661
+
1662
+ # Update properties of this object
1663
+ def update!(**args)
1664
+ @purged_events_count = args[:purged_events_count] if args.key?(:purged_events_count)
1665
+ @user_events_sample = args[:user_events_sample] if args.key?(:user_events_sample)
1666
+ end
1667
+ end
1668
+
1669
+ # Request message for CatalogRejoin method.
1670
+ class GoogleCloudRecommendationengineV1beta1RejoinUserEventsRequest
1671
+ include Google::Apis::Core::Hashable
1672
+
1673
+ # Required. The type of the catalog rejoin to define the scope and range of the
1674
+ # user
1675
+ # events to be rejoined with catalog items.
1676
+ # Corresponds to the JSON property `userEventRejoinScope`
1677
+ # @return [String]
1678
+ attr_accessor :user_event_rejoin_scope
1679
+
1680
+ def initialize(**args)
1681
+ update!(**args)
1682
+ end
1683
+
1684
+ # Update properties of this object
1685
+ def update!(**args)
1686
+ @user_event_rejoin_scope = args[:user_event_rejoin_scope] if args.key?(:user_event_rejoin_scope)
1687
+ end
1688
+ end
1689
+
1690
+ # UserEvent captures all metadata information recommendation engine needs to
1691
+ # know about how end users interact with customers' website.
1692
+ class GoogleCloudRecommendationengineV1beta1UserEvent
1693
+ include Google::Apis::Core::Hashable
1694
+
1695
+ # User event details shared by all recommendation types.
1696
+ # Corresponds to the JSON property `eventDetail`
1697
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1EventDetail]
1698
+ attr_accessor :event_detail
1699
+
1700
+ # Optional. This field should *not* be set when using JavaScript pixel
1701
+ # or the Recommendations AI Tag. Defaults to `EVENT_SOURCE_UNSPECIFIED`.
1702
+ # Corresponds to the JSON property `eventSource`
1703
+ # @return [String]
1704
+ attr_accessor :event_source
1705
+
1706
+ # Optional. Only required for ImportUserEvents method. Timestamp of user
1707
+ # event created.
1708
+ # Corresponds to the JSON property `eventTime`
1709
+ # @return [String]
1710
+ attr_accessor :event_time
1711
+
1712
+ # Required. User event type. Allowed values are:
1713
+ # * `add-to-cart` Products being added to cart.
1714
+ # * `add-to-list` Items being added to a list (shopping list, favorites
1715
+ # etc).
1716
+ # * `category-page-view` Special pages such as sale or promotion pages
1717
+ # viewed.
1718
+ # * `checkout-start` User starting a checkout process.
1719
+ # * `detail-page-view` Products detail page viewed.
1720
+ # * `home-page-view` Homepage viewed.
1721
+ # * `page-visit` Generic page visits not included in the event types above.
1722
+ # * `purchase-complete` User finishing a purchase.
1723
+ # * `refund` Purchased items being refunded or returned.
1724
+ # * `remove-from-cart` Products being removed from cart.
1725
+ # * `remove-from-list` Items being removed from a list.
1726
+ # * `search` Product search.
1727
+ # * `shopping-cart-page-view` User viewing a shopping cart.
1728
+ # * `impression` List of items displayed. Used by Google Tag Manager.
1729
+ # Corresponds to the JSON property `eventType`
1730
+ # @return [String]
1731
+ attr_accessor :event_type
1732
+
1733
+ # ProductEventDetail captures user event information specific to retail
1734
+ # products.
1735
+ # Corresponds to the JSON property `productEventDetail`
1736
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1ProductEventDetail]
1737
+ attr_accessor :product_event_detail
1738
+
1739
+ # Information of end users.
1740
+ # Corresponds to the JSON property `userInfo`
1741
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1UserInfo]
1742
+ attr_accessor :user_info
1743
+
1744
+ def initialize(**args)
1745
+ update!(**args)
1746
+ end
1747
+
1748
+ # Update properties of this object
1749
+ def update!(**args)
1750
+ @event_detail = args[:event_detail] if args.key?(:event_detail)
1751
+ @event_source = args[:event_source] if args.key?(:event_source)
1752
+ @event_time = args[:event_time] if args.key?(:event_time)
1753
+ @event_type = args[:event_type] if args.key?(:event_type)
1754
+ @product_event_detail = args[:product_event_detail] if args.key?(:product_event_detail)
1755
+ @user_info = args[:user_info] if args.key?(:user_info)
1756
+ end
1757
+ end
1758
+
1759
+ # A summary of import result. The UserEventImportSummary summarizes
1760
+ # the import status for user events.
1761
+ class GoogleCloudRecommendationengineV1beta1UserEventImportSummary
1762
+ include Google::Apis::Core::Hashable
1763
+
1764
+ # Count of user events imported with complete existing catalog information.
1765
+ # Corresponds to the JSON property `joinedEventsCount`
1766
+ # @return [Fixnum]
1767
+ attr_accessor :joined_events_count
1768
+
1769
+ # Count of user events imported, but with catalog information not found
1770
+ # in the imported catalog.
1771
+ # Corresponds to the JSON property `unjoinedEventsCount`
1772
+ # @return [Fixnum]
1773
+ attr_accessor :unjoined_events_count
1774
+
1775
+ def initialize(**args)
1776
+ update!(**args)
1777
+ end
1778
+
1779
+ # Update properties of this object
1780
+ def update!(**args)
1781
+ @joined_events_count = args[:joined_events_count] if args.key?(:joined_events_count)
1782
+ @unjoined_events_count = args[:unjoined_events_count] if args.key?(:unjoined_events_count)
1783
+ end
1784
+ end
1785
+
1786
+ # The inline source for the input config for ImportUserEvents method.
1787
+ class GoogleCloudRecommendationengineV1beta1UserEventInlineSource
1788
+ include Google::Apis::Core::Hashable
1789
+
1790
+ # Optional. A list of user events to import. Recommended max of 10k items.
1791
+ # Corresponds to the JSON property `userEvents`
1792
+ # @return [Array<Google::Apis::RecommendationengineV1beta1::GoogleCloudRecommendationengineV1beta1UserEvent>]
1793
+ attr_accessor :user_events
1794
+
1795
+ def initialize(**args)
1796
+ update!(**args)
1797
+ end
1798
+
1799
+ # Update properties of this object
1800
+ def update!(**args)
1801
+ @user_events = args[:user_events] if args.key?(:user_events)
1802
+ end
1803
+ end
1804
+
1805
+ # Information of end users.
1806
+ class GoogleCloudRecommendationengineV1beta1UserInfo
1807
+ include Google::Apis::Core::Hashable
1808
+
1809
+ # Optional. Indicates if the request is made directly from the end user
1810
+ # in which case the user_agent and ip_address fields can be populated
1811
+ # from the HTTP request. This should *not* be set when using the javascript
1812
+ # pixel. This flag should be set only if the API request is made directly
1813
+ # from the end user such as a mobile app (and not if a gateway or a server is
1814
+ # processing and pushing the user events).
1815
+ # Corresponds to the JSON property `directUserRequest`
1816
+ # @return [Boolean]
1817
+ attr_accessor :direct_user_request
1818
+ alias_method :direct_user_request?, :direct_user_request
1819
+
1820
+ # Optional. IP address of the user. This could be either IPv4 (e.g. 104.133.9.80)
1821
+ # or
1822
+ # IPv6 (e.g. 2001:0db8:85a3:0000:0000:8a2e:0370:7334). This should *not* be
1823
+ # set when using the javascript pixel or if `direct_user_request` is set.
1824
+ # Used to extract location information for personalization.
1825
+ # Corresponds to the JSON property `ipAddress`
1826
+ # @return [String]
1827
+ attr_accessor :ip_address
1828
+
1829
+ # Optional. User agent as included in the HTTP header. UTF-8 encoded string
1830
+ # with a length limit of 1 KiB.
1831
+ # This should *not* be set when using the JavaScript pixel or if
1832
+ # `directUserRequest` is set.
1833
+ # Corresponds to the JSON property `userAgent`
1834
+ # @return [String]
1835
+ attr_accessor :user_agent
1836
+
1837
+ # Optional. Unique identifier for logged-in user with a length limit of 128
1838
+ # bytes. Required only for logged-in users.
1839
+ # Corresponds to the JSON property `userId`
1840
+ # @return [String]
1841
+ attr_accessor :user_id
1842
+
1843
+ # Required. A unique identifier for tracking visitors with a length limit of
1844
+ # 128 bytes.
1845
+ # For example, this could be implemented with a http cookie, which should be
1846
+ # able to uniquely identify a visitor on a single device. This unique
1847
+ # identifier should not change if the visitor log in/out of the website.
1848
+ # Maximum length 128 bytes. Cannot be empty.
1849
+ # Corresponds to the JSON property `visitorId`
1850
+ # @return [String]
1851
+ attr_accessor :visitor_id
1852
+
1853
+ def initialize(**args)
1854
+ update!(**args)
1855
+ end
1856
+
1857
+ # Update properties of this object
1858
+ def update!(**args)
1859
+ @direct_user_request = args[:direct_user_request] if args.key?(:direct_user_request)
1860
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
1861
+ @user_agent = args[:user_agent] if args.key?(:user_agent)
1862
+ @user_id = args[:user_id] if args.key?(:user_id)
1863
+ @visitor_id = args[:visitor_id] if args.key?(:visitor_id)
1864
+ end
1865
+ end
1866
+
1867
+ # The response message for Operations.ListOperations.
1868
+ class GoogleLongrunningListOperationsResponse
1869
+ include Google::Apis::Core::Hashable
1870
+
1871
+ # The standard List next-page token.
1872
+ # Corresponds to the JSON property `nextPageToken`
1873
+ # @return [String]
1874
+ attr_accessor :next_page_token
1875
+
1876
+ # A list of operations that matches the specified filter in the request.
1877
+ # Corresponds to the JSON property `operations`
1878
+ # @return [Array<Google::Apis::RecommendationengineV1beta1::GoogleLongrunningOperation>]
1879
+ attr_accessor :operations
1880
+
1881
+ def initialize(**args)
1882
+ update!(**args)
1883
+ end
1884
+
1885
+ # Update properties of this object
1886
+ def update!(**args)
1887
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1888
+ @operations = args[:operations] if args.key?(:operations)
1889
+ end
1890
+ end
1891
+
1892
+ # This resource represents a long-running operation that is the result of a
1893
+ # network API call.
1894
+ class GoogleLongrunningOperation
1895
+ include Google::Apis::Core::Hashable
1896
+
1897
+ # If the value is `false`, it means the operation is still in progress.
1898
+ # If `true`, the operation is completed, and either `error` or `response` is
1899
+ # available.
1900
+ # Corresponds to the JSON property `done`
1901
+ # @return [Boolean]
1902
+ attr_accessor :done
1903
+ alias_method :done?, :done
1904
+
1905
+ # The `Status` type defines a logical error model that is suitable for
1906
+ # different programming environments, including REST APIs and RPC APIs. It is
1907
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1908
+ # three pieces of data: error code, error message, and error details.
1909
+ # You can find out more about this error model and how to work with it in the
1910
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
1911
+ # Corresponds to the JSON property `error`
1912
+ # @return [Google::Apis::RecommendationengineV1beta1::GoogleRpcStatus]
1913
+ attr_accessor :error
1914
+
1915
+ # Service-specific metadata associated with the operation. It typically
1916
+ # contains progress information and common metadata such as create time.
1917
+ # Some services might not provide such metadata. Any method that returns a
1918
+ # long-running operation should document the metadata type, if any.
1919
+ # Corresponds to the JSON property `metadata`
1920
+ # @return [Hash<String,Object>]
1921
+ attr_accessor :metadata
1922
+
1923
+ # The server-assigned name, which is only unique within the same service that
1924
+ # originally returns it. If you use the default HTTP mapping, the
1925
+ # `name` should be a resource name ending with `operations/`unique_id``.
1926
+ # Corresponds to the JSON property `name`
1927
+ # @return [String]
1928
+ attr_accessor :name
1929
+
1930
+ # The normal response of the operation in case of success. If the original
1931
+ # method returns no data on success, such as `Delete`, the response is
1932
+ # `google.protobuf.Empty`. If the original method is standard
1933
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
1934
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
1935
+ # is the original method name. For example, if the original method name
1936
+ # is `TakeSnapshot()`, the inferred response type is
1937
+ # `TakeSnapshotResponse`.
1938
+ # Corresponds to the JSON property `response`
1939
+ # @return [Hash<String,Object>]
1940
+ attr_accessor :response
1941
+
1942
+ def initialize(**args)
1943
+ update!(**args)
1944
+ end
1945
+
1946
+ # Update properties of this object
1947
+ def update!(**args)
1948
+ @done = args[:done] if args.key?(:done)
1949
+ @error = args[:error] if args.key?(:error)
1950
+ @metadata = args[:metadata] if args.key?(:metadata)
1951
+ @name = args[:name] if args.key?(:name)
1952
+ @response = args[:response] if args.key?(:response)
1953
+ end
1954
+ end
1955
+
1956
+ # A generic empty message that you can re-use to avoid defining duplicated
1957
+ # empty messages in your APIs. A typical example is to use it as the request
1958
+ # or the response type of an API method. For instance:
1959
+ # service Foo `
1960
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
1961
+ # `
1962
+ # The JSON representation for `Empty` is empty JSON object ````.
1963
+ class GoogleProtobufEmpty
1964
+ include Google::Apis::Core::Hashable
1965
+
1966
+ def initialize(**args)
1967
+ update!(**args)
1968
+ end
1969
+
1970
+ # Update properties of this object
1971
+ def update!(**args)
1972
+ end
1973
+ end
1974
+
1975
+ # The `Status` type defines a logical error model that is suitable for
1976
+ # different programming environments, including REST APIs and RPC APIs. It is
1977
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1978
+ # three pieces of data: error code, error message, and error details.
1979
+ # You can find out more about this error model and how to work with it in the
1980
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
1981
+ class GoogleRpcStatus
1982
+ include Google::Apis::Core::Hashable
1983
+
1984
+ # The status code, which should be an enum value of google.rpc.Code.
1985
+ # Corresponds to the JSON property `code`
1986
+ # @return [Fixnum]
1987
+ attr_accessor :code
1988
+
1989
+ # A list of messages that carry the error details. There is a common set of
1990
+ # message types for APIs to use.
1991
+ # Corresponds to the JSON property `details`
1992
+ # @return [Array<Hash<String,Object>>]
1993
+ attr_accessor :details
1994
+
1995
+ # A developer-facing error message, which should be in English. Any
1996
+ # user-facing error message should be localized and sent in the
1997
+ # google.rpc.Status.details field, or localized by the client.
1998
+ # Corresponds to the JSON property `message`
1999
+ # @return [String]
2000
+ attr_accessor :message
2001
+
2002
+ def initialize(**args)
2003
+ update!(**args)
2004
+ end
2005
+
2006
+ # Update properties of this object
2007
+ def update!(**args)
2008
+ @code = args[:code] if args.key?(:code)
2009
+ @details = args[:details] if args.key?(:details)
2010
+ @message = args[:message] if args.key?(:message)
2011
+ end
2012
+ end
2013
+ end
2014
+ end
2015
+ end