google-api-client 0.48.0 → 0.53.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (702) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +0 -14
  3. data/CHANGELOG.md +408 -0
  4. data/OVERVIEW.md +36 -27
  5. data/generated/google/apis/accessapproval_v1.rb +1 -1
  6. data/generated/google/apis/accessapproval_v1/service.rb +12 -9
  7. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  8. data/generated/google/apis/accesscontextmanager_v1/classes.rb +326 -0
  9. data/generated/google/apis/accesscontextmanager_v1/representations.rb +139 -0
  10. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +50 -6
  12. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +18 -0
  13. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +3 -1
  14. data/generated/google/apis/admin_datatransfer_v1.rb +2 -2
  15. data/generated/google/apis/admin_datatransfer_v1/classes.rb +6 -16
  16. data/generated/google/apis/admin_datatransfer_v1/service.rb +3 -3
  17. data/generated/google/apis/admin_directory_v1.rb +2 -2
  18. data/generated/google/apis/admin_directory_v1/classes.rb +453 -321
  19. data/generated/google/apis/admin_directory_v1/representations.rb +15 -15
  20. data/generated/google/apis/admin_directory_v1/service.rb +325 -185
  21. data/generated/google/apis/admin_reports_v1.rb +2 -2
  22. data/generated/google/apis/admin_reports_v1/classes.rb +48 -43
  23. data/generated/google/apis/admin_reports_v1/service.rb +198 -179
  24. data/generated/google/apis/admob_v1.rb +4 -1
  25. data/generated/google/apis/admob_v1/service.rb +4 -0
  26. data/{lib/google/apis/generator/templates/representations.rb.tmpl → generated/google/apis/admob_v1beta.rb} +18 -12
  27. data/generated/google/apis/admob_v1beta/classes.rb +1035 -0
  28. data/generated/google/apis/admob_v1beta/representations.rb +472 -0
  29. data/generated/google/apis/admob_v1beta/service.rb +279 -0
  30. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  31. data/generated/google/apis/analytics_v3/service.rb +1 -1
  32. data/generated/google/apis/analyticsadmin_v1alpha.rb +2 -2
  33. data/generated/google/apis/analyticsadmin_v1alpha/classes.rb +19 -10
  34. data/generated/google/apis/analyticsadmin_v1alpha/representations.rb +1 -0
  35. data/generated/google/apis/analyticsadmin_v1alpha/service.rb +45 -25
  36. data/generated/google/apis/analyticsdata_v1alpha.rb +2 -2
  37. data/generated/google/apis/analyticsdata_v1alpha/classes.rb +243 -63
  38. data/generated/google/apis/analyticsdata_v1alpha/representations.rb +52 -14
  39. data/generated/google/apis/analyticsdata_v1alpha/service.rb +43 -34
  40. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  41. data/generated/google/apis/androidenterprise_v1/classes.rb +6 -0
  42. data/generated/google/apis/androidenterprise_v1/representations.rb +1 -0
  43. data/generated/google/apis/androidenterprise_v1/service.rb +4 -1
  44. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  45. data/generated/google/apis/androidmanagement_v1/classes.rb +69 -4
  46. data/generated/google/apis/androidmanagement_v1/representations.rb +19 -0
  47. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  48. data/generated/google/apis/androidpublisher_v3/service.rb +4 -4
  49. data/{lib/google/apis/core/logging.rb → generated/google/apis/apigateway_v1.rb} +14 -10
  50. data/generated/google/apis/apigateway_v1/classes.rb +1116 -0
  51. data/generated/google/apis/apigateway_v1/representations.rb +442 -0
  52. data/generated/google/apis/apigateway_v1/service.rb +1172 -0
  53. data/generated/google/apis/apigateway_v1beta.rb +1 -1
  54. data/generated/google/apis/apigateway_v1beta/classes.rb +24 -16
  55. data/generated/google/apis/apigateway_v1beta/representations.rb +1 -0
  56. data/generated/google/apis/apigee_v1.rb +1 -1
  57. data/generated/google/apis/apigee_v1/classes.rb +457 -106
  58. data/generated/google/apis/apigee_v1/representations.rb +150 -0
  59. data/generated/google/apis/apigee_v1/service.rb +973 -155
  60. data/generated/google/apis/appengine_v1.rb +1 -1
  61. data/generated/google/apis/appengine_v1/classes.rb +7 -0
  62. data/generated/google/apis/appengine_v1/representations.rb +1 -0
  63. data/generated/google/apis/appengine_v1beta.rb +1 -1
  64. data/generated/google/apis/appengine_v1beta/classes.rb +8 -0
  65. data/generated/google/apis/appengine_v1beta/representations.rb +1 -0
  66. data/generated/google/apis/area120tables_v1alpha1.rb +4 -1
  67. data/generated/google/apis/area120tables_v1alpha1/classes.rb +58 -0
  68. data/generated/google/apis/area120tables_v1alpha1/representations.rb +31 -0
  69. data/generated/google/apis/area120tables_v1alpha1/service.rb +67 -0
  70. data/generated/google/apis/artifactregistry_v1.rb +38 -0
  71. data/generated/google/apis/{displayvideo_v1beta2 → artifactregistry_v1}/classes.rb +104 -8
  72. data/generated/google/apis/{displayvideo_v1beta → artifactregistry_v1}/representations.rb +49 -5
  73. data/generated/google/apis/artifactregistry_v1/service.rb +210 -0
  74. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  75. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +0 -127
  76. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +0 -63
  77. data/generated/google/apis/artifactregistry_v1beta1/service.rb +4 -1
  78. data/generated/google/apis/artifactregistry_v1beta2.rb +38 -0
  79. data/generated/google/apis/artifactregistry_v1beta2/classes.rb +917 -0
  80. data/generated/google/apis/artifactregistry_v1beta2/representations.rb +381 -0
  81. data/generated/google/apis/artifactregistry_v1beta2/service.rb +947 -0
  82. data/generated/google/apis/{assuredworkloads_v1beta1.rb → assuredworkloads_v1.rb} +6 -6
  83. data/generated/google/apis/{assuredworkloads_v1beta1 → assuredworkloads_v1}/classes.rb +69 -137
  84. data/generated/google/apis/{assuredworkloads_v1beta1 → assuredworkloads_v1}/representations.rb +29 -87
  85. data/generated/google/apis/{assuredworkloads_v1beta1 → assuredworkloads_v1}/service.rb +46 -46
  86. data/generated/google/apis/bigquery_v2.rb +1 -1
  87. data/generated/google/apis/bigquery_v2/classes.rb +6 -0
  88. data/generated/google/apis/bigquery_v2/representations.rb +1 -0
  89. data/generated/google/apis/bigquery_v2/service.rb +1 -1
  90. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  91. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +6 -0
  92. data/generated/google/apis/bigqueryconnection_v1beta1/representations.rb +1 -0
  93. data/generated/google/apis/billingbudgets_v1.rb +1 -1
  94. data/generated/google/apis/billingbudgets_v1/classes.rb +6 -6
  95. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  96. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +6 -6
  97. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  98. data/generated/google/apis/binaryauthorization_v1/classes.rb +0 -7
  99. data/generated/google/apis/binaryauthorization_v1/representations.rb +0 -1
  100. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  101. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +2 -8
  102. data/generated/google/apis/binaryauthorization_v1beta1/representations.rb +0 -1
  103. data/generated/google/apis/calendar_v3.rb +1 -1
  104. data/generated/google/apis/calendar_v3/classes.rb +2 -2
  105. data/generated/google/apis/chat_v1.rb +1 -1
  106. data/generated/google/apis/chat_v1/classes.rb +1 -2
  107. data/generated/google/apis/chat_v1/service.rb +308 -0
  108. data/generated/google/apis/cloudasset_v1.rb +1 -1
  109. data/generated/google/apis/cloudasset_v1/classes.rb +757 -3
  110. data/generated/google/apis/cloudasset_v1/representations.rb +309 -0
  111. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  112. data/generated/google/apis/cloudasset_v1beta1/classes.rb +326 -0
  113. data/generated/google/apis/cloudasset_v1beta1/representations.rb +139 -0
  114. data/generated/google/apis/cloudasset_v1p1beta1.rb +1 -1
  115. data/generated/google/apis/cloudasset_v1p4beta1.rb +1 -1
  116. data/generated/google/apis/cloudasset_v1p5beta1.rb +1 -1
  117. data/generated/google/apis/cloudasset_v1p5beta1/classes.rb +326 -0
  118. data/generated/google/apis/cloudasset_v1p5beta1/representations.rb +139 -0
  119. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  120. data/generated/google/apis/cloudbuild_v1/classes.rb +4 -4
  121. data/generated/google/apis/cloudbuild_v1/service.rb +1 -1
  122. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  123. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +3 -3
  124. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  125. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +3 -3
  126. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  127. data/generated/google/apis/cloudfunctions_v1/classes.rb +6 -0
  128. data/generated/google/apis/cloudfunctions_v1/representations.rb +1 -0
  129. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  130. data/generated/google/apis/cloudidentity_v1/classes.rb +240 -0
  131. data/generated/google/apis/cloudidentity_v1/representations.rb +125 -0
  132. data/generated/google/apis/cloudidentity_v1/service.rb +217 -9
  133. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  134. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +1 -1
  135. data/generated/google/apis/cloudidentity_v1beta1/service.rb +45 -23
  136. data/generated/google/apis/cloudiot_v1.rb +1 -1
  137. data/generated/google/apis/cloudiot_v1/classes.rb +0 -7
  138. data/generated/google/apis/cloudiot_v1/representations.rb +0 -1
  139. data/generated/google/apis/cloudkms_v1.rb +1 -1
  140. data/generated/google/apis/cloudkms_v1/classes.rb +0 -7
  141. data/generated/google/apis/cloudkms_v1/representations.rb +0 -1
  142. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  143. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +375 -7
  144. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +256 -1
  145. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  146. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +375 -7
  147. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +256 -1
  148. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  149. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +379 -11
  150. data/generated/google/apis/cloudresourcemanager_v2/representations.rb +256 -1
  151. data/generated/google/apis/cloudresourcemanager_v2/service.rb +6 -6
  152. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  153. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +379 -11
  154. data/generated/google/apis/cloudresourcemanager_v2beta1/representations.rb +256 -1
  155. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +6 -6
  156. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  157. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +19 -0
  158. data/generated/google/apis/cloudscheduler_v1beta1/representations.rb +2 -0
  159. data/generated/google/apis/cloudscheduler_v1beta1/service.rb +12 -2
  160. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  161. data/generated/google/apis/cloudsearch_v1/classes.rb +10 -5
  162. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  163. data/generated/google/apis/cloudtasks_v2/classes.rb +0 -7
  164. data/generated/google/apis/cloudtasks_v2/representations.rb +0 -1
  165. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  166. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +59 -7
  167. data/generated/google/apis/cloudtasks_v2beta2/representations.rb +19 -1
  168. data/generated/google/apis/cloudtasks_v2beta2/service.rb +12 -2
  169. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  170. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +102 -7
  171. data/generated/google/apis/cloudtasks_v2beta3/representations.rb +35 -1
  172. data/generated/google/apis/cloudtasks_v2beta3/service.rb +16 -2
  173. data/generated/google/apis/composer_v1.rb +1 -1
  174. data/generated/google/apis/composer_v1/classes.rb +123 -0
  175. data/generated/google/apis/composer_v1/representations.rb +49 -0
  176. data/generated/google/apis/composer_v1/service.rb +19 -15
  177. data/generated/google/apis/composer_v1beta1.rb +1 -1
  178. data/generated/google/apis/composer_v1beta1/classes.rb +173 -0
  179. data/generated/google/apis/composer_v1beta1/representations.rb +64 -0
  180. data/generated/google/apis/composer_v1beta1/service.rb +39 -1
  181. data/generated/google/apis/compute_alpha.rb +1 -1
  182. data/generated/google/apis/compute_alpha/classes.rb +1071 -341
  183. data/generated/google/apis/compute_alpha/representations.rb +248 -19
  184. data/generated/google/apis/compute_alpha/service.rb +291 -15
  185. data/generated/google/apis/compute_beta.rb +1 -1
  186. data/generated/google/apis/compute_beta/classes.rb +926 -283
  187. data/generated/google/apis/compute_beta/representations.rb +221 -18
  188. data/generated/google/apis/compute_beta/service.rb +24 -15
  189. data/generated/google/apis/compute_v1.rb +1 -1
  190. data/generated/google/apis/compute_v1/classes.rb +461 -173
  191. data/generated/google/apis/compute_v1/representations.rb +58 -0
  192. data/generated/google/apis/compute_v1/service.rb +702 -552
  193. data/generated/google/apis/container_v1.rb +1 -1
  194. data/generated/google/apis/container_v1/classes.rb +55 -16
  195. data/generated/google/apis/container_v1/representations.rb +17 -0
  196. data/generated/google/apis/container_v1/service.rb +4 -2
  197. data/generated/google/apis/container_v1beta1.rb +1 -1
  198. data/generated/google/apis/container_v1beta1/classes.rb +60 -20
  199. data/generated/google/apis/container_v1beta1/representations.rb +17 -0
  200. data/generated/google/apis/container_v1beta1/service.rb +6 -2
  201. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  202. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +0 -7
  203. data/generated/google/apis/containeranalysis_v1alpha1/representations.rb +0 -1
  204. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  205. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +2 -8
  206. data/generated/google/apis/containeranalysis_v1beta1/representations.rb +0 -1
  207. data/generated/google/apis/content_v2.rb +1 -1
  208. data/generated/google/apis/content_v2/classes.rb +7 -7
  209. data/generated/google/apis/content_v2/service.rb +3 -1
  210. data/generated/google/apis/content_v2_1.rb +1 -1
  211. data/generated/google/apis/content_v2_1/classes.rb +1088 -30
  212. data/generated/google/apis/content_v2_1/representations.rb +402 -0
  213. data/generated/google/apis/content_v2_1/service.rb +331 -1
  214. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  215. data/generated/google/apis/datacatalog_v1beta1/classes.rb +7 -17
  216. data/generated/google/apis/datacatalog_v1beta1/representations.rb +1 -1
  217. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  218. data/generated/google/apis/dataflow_v1b3/classes.rb +17 -1
  219. data/generated/google/apis/dataflow_v1b3/representations.rb +2 -0
  220. data/generated/google/apis/datalabeling_v1beta1.rb +1 -1
  221. data/generated/google/apis/datamigration_v1beta1.rb +34 -0
  222. data/generated/google/apis/datamigration_v1beta1/classes.rb +1664 -0
  223. data/generated/google/apis/datamigration_v1beta1/representations.rb +677 -0
  224. data/generated/google/apis/datamigration_v1beta1/service.rb +1172 -0
  225. data/generated/google/apis/dataproc_v1.rb +1 -1
  226. data/generated/google/apis/dataproc_v1/classes.rb +109 -10
  227. data/generated/google/apis/dataproc_v1/representations.rb +36 -1
  228. data/generated/google/apis/dataproc_v1/service.rb +42 -0
  229. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  230. data/generated/google/apis/dataproc_v1beta2/classes.rb +77 -10
  231. data/generated/google/apis/dataproc_v1beta2/representations.rb +32 -1
  232. data/generated/google/apis/dataproc_v1beta2/service.rb +42 -0
  233. data/generated/google/apis/deploymentmanager_alpha.rb +6 -5
  234. data/generated/google/apis/deploymentmanager_alpha/classes.rb +276 -644
  235. data/generated/google/apis/deploymentmanager_alpha/representations.rb +10 -143
  236. data/generated/google/apis/deploymentmanager_alpha/service.rb +247 -398
  237. data/generated/google/apis/deploymentmanager_v2.rb +2 -2
  238. data/generated/google/apis/deploymentmanager_v2/service.rb +6 -26
  239. data/generated/google/apis/deploymentmanager_v2beta.rb +2 -2
  240. data/generated/google/apis/deploymentmanager_v2beta/service.rb +9 -41
  241. data/generated/google/apis/dfareporting_v3_3.rb +2 -2
  242. data/generated/google/apis/dfareporting_v3_3/classes.rb +6 -6
  243. data/generated/google/apis/dfareporting_v3_3/service.rb +12 -12
  244. data/generated/google/apis/dfareporting_v3_4.rb +2 -2
  245. data/generated/google/apis/dfareporting_v3_4/classes.rb +6 -6
  246. data/generated/google/apis/dfareporting_v3_4/service.rb +12 -12
  247. data/generated/google/apis/dialogflow_v2.rb +1 -1
  248. data/generated/google/apis/dialogflow_v2/classes.rb +4084 -692
  249. data/generated/google/apis/dialogflow_v2/representations.rb +1853 -287
  250. data/generated/google/apis/dialogflow_v2/service.rb +12 -4
  251. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  252. data/generated/google/apis/dialogflow_v2beta1/classes.rb +4080 -693
  253. data/generated/google/apis/dialogflow_v2beta1/representations.rb +1862 -296
  254. data/generated/google/apis/dialogflow_v2beta1/service.rb +508 -38
  255. data/generated/google/apis/{bigqueryreservation_v1alpha2.rb → dialogflow_v3.rb} +13 -12
  256. data/generated/google/apis/dialogflow_v3/classes.rb +11752 -0
  257. data/generated/google/apis/dialogflow_v3/representations.rb +5158 -0
  258. data/generated/google/apis/dialogflow_v3/service.rb +3414 -0
  259. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  260. data/generated/google/apis/dialogflow_v3beta1/classes.rb +5161 -2225
  261. data/generated/google/apis/dialogflow_v3beta1/representations.rb +1783 -350
  262. data/generated/google/apis/dialogflow_v3beta1/service.rb +591 -2
  263. data/generated/google/apis/displayvideo_v1.rb +1 -1
  264. data/generated/google/apis/displayvideo_v1/classes.rb +133 -39
  265. data/generated/google/apis/displayvideo_v1/representations.rb +45 -0
  266. data/generated/google/apis/displayvideo_v1/service.rb +104 -40
  267. data/generated/google/apis/dlp_v2.rb +1 -1
  268. data/generated/google/apis/dlp_v2/classes.rb +6 -0
  269. data/generated/google/apis/dlp_v2/representations.rb +1 -0
  270. data/generated/google/apis/dlp_v2/service.rb +297 -10
  271. data/generated/google/apis/dns_v1.rb +1 -1
  272. data/generated/google/apis/dns_v1/classes.rb +71 -0
  273. data/generated/google/apis/dns_v1/representations.rb +33 -0
  274. data/generated/google/apis/dns_v1beta2.rb +1 -1
  275. data/generated/google/apis/dns_v1beta2/classes.rb +19 -0
  276. data/generated/google/apis/dns_v1beta2/representations.rb +13 -0
  277. data/generated/google/apis/dns_v1beta2/service.rb +176 -0
  278. data/generated/google/apis/documentai_v1beta2.rb +1 -1
  279. data/generated/google/apis/documentai_v1beta2/classes.rb +217 -186
  280. data/generated/google/apis/documentai_v1beta2/representations.rb +107 -24
  281. data/generated/google/apis/documentai_v1beta3.rb +1 -1
  282. data/generated/google/apis/documentai_v1beta3/classes.rb +238 -201
  283. data/generated/google/apis/documentai_v1beta3/representations.rb +107 -24
  284. data/generated/google/apis/documentai_v1beta3/service.rb +81 -2
  285. data/generated/google/apis/domains_v1alpha2.rb +1 -1
  286. data/generated/google/apis/domains_v1alpha2/classes.rb +0 -6
  287. data/generated/google/apis/domains_v1alpha2/representations.rb +0 -1
  288. data/generated/google/apis/domains_v1beta1.rb +1 -1
  289. data/generated/google/apis/domains_v1beta1/classes.rb +0 -6
  290. data/generated/google/apis/domains_v1beta1/representations.rb +0 -1
  291. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  292. data/generated/google/apis/drive_v2.rb +1 -1
  293. data/generated/google/apis/drive_v2/classes.rb +24 -21
  294. data/generated/google/apis/drive_v2/service.rb +26 -58
  295. data/generated/google/apis/drive_v3.rb +1 -1
  296. data/generated/google/apis/drive_v3/classes.rb +12 -8
  297. data/generated/google/apis/drive_v3/service.rb +14 -30
  298. data/generated/google/apis/eventarc_v1beta1.rb +1 -1
  299. data/generated/google/apis/eventarc_v1beta1/classes.rb +8 -9
  300. data/generated/google/apis/eventarc_v1beta1/service.rb +25 -5
  301. data/generated/google/apis/file_v1.rb +1 -1
  302. data/generated/google/apis/file_v1/classes.rb +566 -4
  303. data/generated/google/apis/file_v1/representations.rb +222 -0
  304. data/generated/google/apis/file_v1/service.rb +229 -1
  305. data/generated/google/apis/file_v1beta1.rb +1 -1
  306. data/generated/google/apis/file_v1beta1/classes.rb +346 -6
  307. data/generated/google/apis/file_v1beta1/representations.rb +149 -0
  308. data/generated/google/apis/file_v1beta1/service.rb +6 -2
  309. data/generated/google/apis/firebasedatabase_v1beta.rb +44 -0
  310. data/generated/google/apis/firebasedatabase_v1beta/classes.rb +130 -0
  311. data/generated/google/apis/{displayvideo_v1beta2 → firebasedatabase_v1beta}/representations.rb +26 -16
  312. data/generated/google/apis/firebasedatabase_v1beta/service.rb +292 -0
  313. data/generated/google/apis/games_v1.rb +1 -1
  314. data/generated/google/apis/games_v1/classes.rb +67 -14
  315. data/generated/google/apis/games_v1/representations.rb +31 -2
  316. data/generated/google/apis/games_v1/service.rb +33 -0
  317. data/generated/google/apis/gameservices_v1.rb +1 -1
  318. data/generated/google/apis/gameservices_v1/classes.rb +1 -2
  319. data/generated/google/apis/gameservices_v1/service.rb +14 -14
  320. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  321. data/generated/google/apis/gameservices_v1beta/classes.rb +1 -2
  322. data/generated/google/apis/gameservices_v1beta/service.rb +14 -14
  323. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  324. data/generated/google/apis/genomics_v2alpha1/classes.rb +36 -7
  325. data/generated/google/apis/genomics_v2alpha1/representations.rb +15 -0
  326. data/generated/google/apis/gmailpostmastertools_v1beta1.rb +1 -1
  327. data/generated/google/apis/gmailpostmastertools_v1beta1/classes.rb +9 -0
  328. data/generated/google/apis/gmailpostmastertools_v1beta1/representations.rb +1 -0
  329. data/generated/google/apis/healthcare_v1.rb +1 -1
  330. data/generated/google/apis/healthcare_v1/classes.rb +18 -17
  331. data/generated/google/apis/healthcare_v1/service.rb +13 -12
  332. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  333. data/generated/google/apis/healthcare_v1beta1/classes.rb +321 -70
  334. data/generated/google/apis/healthcare_v1beta1/representations.rb +121 -18
  335. data/generated/google/apis/healthcare_v1beta1/service.rb +75 -39
  336. data/generated/google/apis/iam_v1.rb +1 -1
  337. data/generated/google/apis/iam_v1/classes.rb +109 -11
  338. data/generated/google/apis/iam_v1/representations.rb +33 -1
  339. data/generated/google/apis/iam_v1/service.rb +62 -0
  340. data/generated/google/apis/iap_v1.rb +1 -1
  341. data/generated/google/apis/iap_v1/classes.rb +0 -18
  342. data/generated/google/apis/iap_v1/representations.rb +0 -2
  343. data/generated/google/apis/iap_v1beta1.rb +1 -1
  344. data/generated/google/apis/iap_v1beta1/classes.rb +0 -7
  345. data/generated/google/apis/iap_v1beta1/representations.rb +0 -1
  346. data/generated/google/apis/jobs_v3.rb +1 -1
  347. data/generated/google/apis/jobs_v3/classes.rb +9 -807
  348. data/generated/google/apis/jobs_v3/representations.rb +0 -272
  349. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  350. data/generated/google/apis/jobs_v3p1beta1/classes.rb +9 -768
  351. data/generated/google/apis/jobs_v3p1beta1/representations.rb +0 -257
  352. data/generated/google/apis/{jobs_v2.rb → jobs_v4.rb} +6 -6
  353. data/generated/google/apis/jobs_v4/classes.rb +2699 -0
  354. data/generated/google/apis/jobs_v4/representations.rb +934 -0
  355. data/generated/google/apis/jobs_v4/service.rb +903 -0
  356. data/generated/google/apis/licensing_v1.rb +1 -1
  357. data/generated/google/apis/licensing_v1/classes.rb +26 -8
  358. data/generated/google/apis/licensing_v1/representations.rb +12 -0
  359. data/generated/google/apis/licensing_v1/service.rb +32 -29
  360. data/generated/google/apis/lifesciences_v2beta.rb +1 -1
  361. data/generated/google/apis/lifesciences_v2beta/classes.rb +25 -0
  362. data/generated/google/apis/lifesciences_v2beta/representations.rb +15 -0
  363. data/generated/google/apis/localservices_v1.rb +4 -1
  364. data/generated/google/apis/logging_v2.rb +1 -1
  365. data/generated/google/apis/logging_v2/classes.rb +115 -9
  366. data/generated/google/apis/logging_v2/representations.rb +45 -0
  367. data/generated/google/apis/logging_v2/service.rb +101 -25
  368. data/generated/google/apis/managedidentities_v1.rb +1 -1
  369. data/generated/google/apis/managedidentities_v1/classes.rb +361 -16
  370. data/generated/google/apis/managedidentities_v1/representations.rb +149 -1
  371. data/generated/google/apis/managedidentities_v1alpha1.rb +1 -1
  372. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +363 -17
  373. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +149 -1
  374. data/generated/google/apis/managedidentities_v1beta1.rb +1 -1
  375. data/generated/google/apis/managedidentities_v1beta1/classes.rb +349 -12
  376. data/generated/google/apis/managedidentities_v1beta1/representations.rb +149 -1
  377. data/generated/google/apis/manufacturers_v1.rb +1 -1
  378. data/generated/google/apis/manufacturers_v1/classes.rb +2 -2
  379. data/generated/google/apis/memcache_v1beta2.rb +1 -1
  380. data/generated/google/apis/memcache_v1beta2/classes.rb +345 -4
  381. data/generated/google/apis/memcache_v1beta2/representations.rb +149 -0
  382. data/generated/google/apis/metastore_v1beta.rb +35 -0
  383. data/generated/google/apis/metastore_v1beta/classes.rb +1151 -0
  384. data/generated/google/apis/metastore_v1beta/representations.rb +479 -0
  385. data/generated/google/apis/metastore_v1beta/service.rb +800 -0
  386. data/generated/google/apis/ml_v1.rb +1 -1
  387. data/generated/google/apis/ml_v1/classes.rb +85 -25
  388. data/generated/google/apis/ml_v1/representations.rb +42 -1
  389. data/generated/google/apis/ml_v1/service.rb +35 -0
  390. data/generated/google/apis/monitoring_v3.rb +1 -1
  391. data/generated/google/apis/monitoring_v3/classes.rb +15 -10
  392. data/generated/google/apis/monitoring_v3/service.rb +5 -4
  393. data/generated/google/apis/networkmanagement_v1.rb +1 -1
  394. data/generated/google/apis/networkmanagement_v1/classes.rb +6 -0
  395. data/generated/google/apis/networkmanagement_v1/representations.rb +1 -0
  396. data/generated/google/apis/networkmanagement_v1beta1.rb +1 -1
  397. data/generated/google/apis/networkmanagement_v1beta1/classes.rb +57 -0
  398. data/generated/google/apis/networkmanagement_v1beta1/representations.rb +31 -0
  399. data/generated/google/apis/notebooks_v1.rb +34 -0
  400. data/generated/google/apis/notebooks_v1/classes.rb +1468 -0
  401. data/generated/google/apis/notebooks_v1/representations.rb +592 -0
  402. data/generated/google/apis/notebooks_v1/service.rb +1076 -0
  403. data/generated/google/apis/osconfig_v1.rb +1 -1
  404. data/generated/google/apis/osconfig_v1/classes.rb +419 -0
  405. data/generated/google/apis/osconfig_v1/representations.rb +168 -0
  406. data/generated/google/apis/osconfig_v1beta.rb +1 -1
  407. data/generated/google/apis/osconfig_v1beta/classes.rb +419 -0
  408. data/generated/google/apis/osconfig_v1beta/representations.rb +168 -0
  409. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  410. data/generated/google/apis/pagespeedonline_v5/service.rb +3 -3
  411. data/generated/google/apis/people_v1.rb +1 -1
  412. data/generated/google/apis/people_v1/classes.rb +6 -2
  413. data/generated/google/apis/people_v1/service.rb +9 -6
  414. data/generated/google/apis/policytroubleshooter_v1.rb +1 -1
  415. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  416. data/generated/google/apis/privateca_v1beta1.rb +4 -2
  417. data/generated/google/apis/privateca_v1beta1/classes.rb +2 -1
  418. data/generated/google/apis/privateca_v1beta1/service.rb +3 -53
  419. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  420. data/generated/google/apis/pubsub_v1.rb +1 -1
  421. data/generated/google/apis/pubsub_v1/classes.rb +0 -7
  422. data/generated/google/apis/pubsub_v1/representations.rb +0 -1
  423. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  424. data/generated/google/apis/pubsub_v1beta2/classes.rb +0 -7
  425. data/generated/google/apis/pubsub_v1beta2/representations.rb +0 -1
  426. data/generated/google/apis/realtimebidding_v1.rb +1 -1
  427. data/generated/google/apis/realtimebidding_v1/classes.rb +545 -0
  428. data/generated/google/apis/realtimebidding_v1/representations.rb +232 -0
  429. data/generated/google/apis/realtimebidding_v1/service.rb +450 -0
  430. data/generated/google/apis/recommendationengine_v1beta1.rb +1 -1
  431. data/generated/google/apis/recommendationengine_v1beta1/service.rb +2 -1
  432. data/generated/google/apis/recommender_v1.rb +1 -1
  433. data/generated/google/apis/recommender_v1/classes.rb +2 -2
  434. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  435. data/generated/google/apis/recommender_v1beta1/classes.rb +2 -2
  436. data/generated/google/apis/recommender_v1beta1/service.rb +317 -0
  437. data/generated/google/apis/redis_v1.rb +1 -1
  438. data/generated/google/apis/redis_v1/classes.rb +86 -0
  439. data/generated/google/apis/redis_v1/representations.rb +34 -0
  440. data/generated/google/apis/redis_v1/service.rb +34 -0
  441. data/generated/google/apis/redis_v1beta1.rb +1 -1
  442. data/generated/google/apis/redis_v1beta1/classes.rb +58 -0
  443. data/generated/google/apis/redis_v1beta1/representations.rb +20 -0
  444. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  445. data/generated/google/apis/remotebuildexecution_v1/classes.rb +5 -30
  446. data/generated/google/apis/remotebuildexecution_v1/representations.rb +1 -16
  447. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  448. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +5 -30
  449. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +1 -16
  450. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  451. data/generated/google/apis/remotebuildexecution_v2/classes.rb +5 -30
  452. data/generated/google/apis/remotebuildexecution_v2/representations.rb +1 -16
  453. data/generated/google/apis/reseller_v1.rb +4 -4
  454. data/generated/google/apis/reseller_v1/service.rb +5 -5
  455. data/generated/google/apis/run_v1.rb +1 -1
  456. data/generated/google/apis/run_v1/classes.rb +2 -1
  457. data/generated/google/apis/run_v1alpha1.rb +1 -1
  458. data/generated/google/apis/run_v1alpha1/classes.rb +2 -1
  459. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  460. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +0 -6
  461. data/generated/google/apis/runtimeconfig_v1beta1/representations.rb +0 -1
  462. data/generated/google/apis/safebrowsing_v4.rb +1 -1
  463. data/generated/google/apis/safebrowsing_v4/classes.rb +277 -277
  464. data/generated/google/apis/safebrowsing_v4/representations.rb +128 -128
  465. data/generated/google/apis/safebrowsing_v4/service.rb +44 -44
  466. data/generated/google/apis/searchconsole_v1.rb +1 -1
  467. data/generated/google/apis/searchconsole_v1/classes.rb +7 -0
  468. data/generated/google/apis/searchconsole_v1/representations.rb +1 -0
  469. data/generated/google/apis/secretmanager_v1.rb +1 -1
  470. data/generated/google/apis/secretmanager_v1/classes.rb +0 -6
  471. data/generated/google/apis/secretmanager_v1/representations.rb +0 -1
  472. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  473. data/generated/google/apis/secretmanager_v1beta1/classes.rb +0 -6
  474. data/generated/google/apis/secretmanager_v1beta1/representations.rb +0 -1
  475. data/generated/google/apis/securitycenter_v1.rb +1 -1
  476. data/generated/google/apis/securitycenter_v1/classes.rb +109 -10
  477. data/generated/google/apis/securitycenter_v1/representations.rb +38 -0
  478. data/generated/google/apis/securitycenter_v1/service.rb +1464 -430
  479. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  480. data/generated/google/apis/securitycenter_v1beta1/classes.rb +75 -0
  481. data/generated/google/apis/securitycenter_v1beta1/representations.rb +33 -0
  482. data/generated/google/apis/securitycenter_v1beta2.rb +1 -1
  483. data/generated/google/apis/securitycenter_v1beta2/classes.rb +75 -0
  484. data/generated/google/apis/securitycenter_v1beta2/representations.rb +33 -0
  485. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  486. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +1 -1
  487. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +1 -1
  488. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +12 -11
  489. data/generated/google/apis/servicecontrol_v1.rb +3 -3
  490. data/generated/google/apis/servicecontrol_v1/service.rb +2 -2
  491. data/generated/google/apis/servicecontrol_v2.rb +3 -3
  492. data/generated/google/apis/servicecontrol_v2/service.rb +2 -2
  493. data/generated/google/apis/servicedirectory_v1.rb +35 -0
  494. data/generated/google/apis/servicedirectory_v1/classes.rb +721 -0
  495. data/generated/google/apis/servicedirectory_v1/representations.rb +304 -0
  496. data/generated/google/apis/servicedirectory_v1/service.rb +957 -0
  497. data/generated/google/apis/servicedirectory_v1beta1.rb +1 -1
  498. data/generated/google/apis/servicedirectory_v1beta1/classes.rb +26 -13
  499. data/generated/google/apis/servicedirectory_v1beta1/representations.rb +0 -1
  500. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  501. data/generated/google/apis/servicemanagement_v1/classes.rb +12 -11
  502. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  503. data/generated/google/apis/servicenetworking_v1/classes.rb +79 -5
  504. data/generated/google/apis/servicenetworking_v1/representations.rb +33 -1
  505. data/generated/google/apis/servicenetworking_v1/service.rb +80 -0
  506. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  507. data/generated/google/apis/servicenetworking_v1beta/classes.rb +38 -5
  508. data/generated/google/apis/servicenetworking_v1beta/representations.rb +17 -1
  509. data/generated/google/apis/serviceusage_v1.rb +1 -1
  510. data/generated/google/apis/serviceusage_v1/classes.rb +12 -11
  511. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  512. data/generated/google/apis/serviceusage_v1beta1/classes.rb +12 -11
  513. data/generated/google/apis/sheets_v4.rb +1 -1
  514. data/generated/google/apis/sheets_v4/classes.rb +332 -7
  515. data/generated/google/apis/sheets_v4/representations.rb +102 -0
  516. data/generated/google/apis/slides_v1.rb +1 -1
  517. data/generated/google/apis/slides_v1/classes.rb +9 -3
  518. data/generated/google/apis/spanner_v1.rb +1 -1
  519. data/generated/google/apis/spanner_v1/classes.rb +10 -8
  520. data/generated/google/apis/spanner_v1/representations.rb +1 -1
  521. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  522. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  523. data/generated/google/apis/sqladmin_v1beta4/classes.rb +97 -14
  524. data/generated/google/apis/sqladmin_v1beta4/representations.rb +34 -0
  525. data/generated/google/apis/sqladmin_v1beta4/service.rb +5 -2
  526. data/generated/google/apis/storage_v1.rb +1 -1
  527. data/generated/google/apis/storage_v1/classes.rb +7 -0
  528. data/generated/google/apis/storage_v1/representations.rb +1 -0
  529. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  530. data/generated/google/apis/storagetransfer_v1/classes.rb +54 -16
  531. data/generated/google/apis/storagetransfer_v1/representations.rb +6 -0
  532. data/generated/google/apis/storagetransfer_v1/service.rb +3 -3
  533. data/generated/google/apis/testing_v1.rb +1 -1
  534. data/generated/google/apis/testing_v1/classes.rb +1 -1
  535. data/generated/google/apis/trafficdirector_v2.rb +2 -2
  536. data/generated/google/apis/trafficdirector_v2/service.rb +1 -1
  537. data/generated/google/apis/transcoder_v1beta1.rb +34 -0
  538. data/generated/google/apis/transcoder_v1beta1/classes.rb +1694 -0
  539. data/generated/google/apis/transcoder_v1beta1/representations.rb +757 -0
  540. data/generated/google/apis/transcoder_v1beta1/service.rb +329 -0
  541. data/generated/google/apis/translate_v3.rb +1 -1
  542. data/generated/google/apis/translate_v3/classes.rb +1 -1
  543. data/generated/google/apis/translate_v3beta1.rb +1 -1
  544. data/generated/google/apis/translate_v3beta1/classes.rb +1 -1
  545. data/generated/google/apis/vault_v1.rb +1 -1
  546. data/generated/google/apis/vault_v1/classes.rb +76 -0
  547. data/generated/google/apis/vault_v1/representations.rb +45 -0
  548. data/generated/google/apis/vectortile_v1.rb +1 -1
  549. data/generated/google/apis/vectortile_v1/classes.rb +59 -4
  550. data/generated/google/apis/vectortile_v1/representations.rb +19 -0
  551. data/generated/google/apis/videointelligence_v1.rb +1 -1
  552. data/generated/google/apis/videointelligence_v1/classes.rb +65 -0
  553. data/generated/google/apis/videointelligence_v1/representations.rb +15 -0
  554. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  555. data/generated/google/apis/videointelligence_v1beta2/classes.rb +65 -0
  556. data/generated/google/apis/videointelligence_v1beta2/representations.rb +15 -0
  557. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  558. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +65 -0
  559. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +15 -0
  560. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  561. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +65 -0
  562. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +15 -0
  563. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  564. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +65 -0
  565. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +15 -0
  566. data/generated/google/apis/webmasters_v3/classes.rb +8 -0
  567. data/generated/google/apis/webmasters_v3/representations.rb +1 -0
  568. data/generated/google/apis/workflows_v1beta.rb +1 -1
  569. data/generated/google/apis/workflows_v1beta/classes.rb +4 -4
  570. data/generated/google/apis/youtube_v3.rb +1 -1
  571. data/generated/google/apis/youtube_v3/classes.rb +20 -145
  572. data/generated/google/apis/youtube_v3/representations.rb +0 -57
  573. data/generated/google/apis/youtube_v3/service.rb +6 -49
  574. data/lib/google/apis/version.rb +1 -23
  575. metadata +71 -287
  576. data/.github/CONTRIBUTING.md +0 -31
  577. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -36
  578. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -21
  579. data/.github/ISSUE_TEMPLATE/support_request.md +0 -7
  580. data/.github/workflows/autoapprove.yml +0 -49
  581. data/.github/workflows/release-please.yml +0 -77
  582. data/.gitignore +0 -23
  583. data/.kokoro/build.bat +0 -11
  584. data/.kokoro/build.sh +0 -4
  585. data/.kokoro/continuous/common.cfg +0 -25
  586. data/.kokoro/continuous/linux.cfg +0 -25
  587. data/.kokoro/continuous/osx.cfg +0 -8
  588. data/.kokoro/continuous/post.cfg +0 -30
  589. data/.kokoro/continuous/windows.cfg +0 -29
  590. data/.kokoro/osx.sh +0 -4
  591. data/.kokoro/presubmit/common.cfg +0 -24
  592. data/.kokoro/presubmit/linux.cfg +0 -24
  593. data/.kokoro/presubmit/osx.cfg +0 -8
  594. data/.kokoro/presubmit/windows.cfg +0 -29
  595. data/.kokoro/release.cfg +0 -94
  596. data/.kokoro/trampoline.bat +0 -10
  597. data/.kokoro/trampoline.sh +0 -4
  598. data/.repo-metadata.json +0 -5
  599. data/.rspec +0 -2
  600. data/.rubocop.yml +0 -12
  601. data/.rubocop_todo.yml +0 -63
  602. data/CODE_OF_CONDUCT.md +0 -43
  603. data/Gemfile +0 -55
  604. data/MIGRATING.md +0 -215
  605. data/README.md +0 -402
  606. data/Rakefile +0 -131
  607. data/api_list_config.yaml +0 -9
  608. data/api_names.yaml +0 -1082
  609. data/bin/generate-api +0 -194
  610. data/docs/api-keys.md +0 -20
  611. data/docs/auth.md +0 -53
  612. data/docs/client-secrets.md +0 -69
  613. data/docs/getting-started.md +0 -340
  614. data/docs/installation.md +0 -0
  615. data/docs/logging.md +0 -34
  616. data/docs/media-upload.md +0 -25
  617. data/docs/oauth-installed.md +0 -191
  618. data/docs/oauth-server.md +0 -133
  619. data/docs/oauth-web.md +0 -280
  620. data/docs/oauth.md +0 -268
  621. data/docs/pagination.md +0 -29
  622. data/docs/performance.md +0 -25
  623. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +0 -426
  624. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +0 -195
  625. data/generated/google/apis/bigqueryreservation_v1alpha2/service.rb +0 -622
  626. data/generated/google/apis/displayvideo_v1beta.rb +0 -38
  627. data/generated/google/apis/displayvideo_v1beta/classes.rb +0 -146
  628. data/generated/google/apis/displayvideo_v1beta/service.rb +0 -161
  629. data/generated/google/apis/displayvideo_v1beta2.rb +0 -38
  630. data/generated/google/apis/displayvideo_v1beta2/service.rb +0 -130
  631. data/generated/google/apis/displayvideo_v1dev.rb +0 -38
  632. data/generated/google/apis/displayvideo_v1dev/classes.rb +0 -146
  633. data/generated/google/apis/displayvideo_v1dev/representations.rb +0 -72
  634. data/generated/google/apis/displayvideo_v1dev/service.rb +0 -130
  635. data/generated/google/apis/jobs_v2/classes.rb +0 -4012
  636. data/generated/google/apis/jobs_v2/representations.rb +0 -1396
  637. data/generated/google/apis/jobs_v2/service.rb +0 -693
  638. data/google-api-client.gemspec +0 -36
  639. data/lib/google/api_client/auth/installed_app.rb +0 -143
  640. data/lib/google/api_client/auth/key_utils.rb +0 -94
  641. data/lib/google/api_client/auth/storage.rb +0 -104
  642. data/lib/google/api_client/auth/storages/file_store.rb +0 -57
  643. data/lib/google/api_client/auth/storages/redis_store.rb +0 -59
  644. data/lib/google/api_client/client_secrets.rb +0 -176
  645. data/lib/google/apis.rb +0 -58
  646. data/lib/google/apis/core/api_command.rb +0 -209
  647. data/lib/google/apis/core/base_service.rb +0 -447
  648. data/lib/google/apis/core/batch.rb +0 -236
  649. data/lib/google/apis/core/composite_io.rb +0 -97
  650. data/lib/google/apis/core/download.rb +0 -118
  651. data/lib/google/apis/core/hashable.rb +0 -44
  652. data/lib/google/apis/core/http_command.rb +0 -447
  653. data/lib/google/apis/core/json_representation.rb +0 -153
  654. data/lib/google/apis/core/multipart.rb +0 -135
  655. data/lib/google/apis/core/upload.rb +0 -273
  656. data/lib/google/apis/errors.rb +0 -89
  657. data/lib/google/apis/generator.rb +0 -71
  658. data/lib/google/apis/generator/annotator.rb +0 -339
  659. data/lib/google/apis/generator/helpers.rb +0 -76
  660. data/lib/google/apis/generator/model.rb +0 -187
  661. data/lib/google/apis/generator/template.rb +0 -124
  662. data/lib/google/apis/generator/templates/_class.tmpl +0 -43
  663. data/lib/google/apis/generator/templates/_method.tmpl +0 -92
  664. data/lib/google/apis/generator/templates/_representation.tmpl +0 -51
  665. data/lib/google/apis/generator/templates/_representation_stub.tmpl +0 -17
  666. data/lib/google/apis/generator/templates/_representation_type.tmpl +0 -10
  667. data/lib/google/apis/generator/templates/classes.rb.tmpl +0 -29
  668. data/lib/google/apis/generator/templates/module.rb.tmpl +0 -40
  669. data/lib/google/apis/generator/templates/service.rb.tmpl +0 -61
  670. data/lib/google/apis/options.rb +0 -116
  671. data/rakelib/devsite/devsite_builder.rb +0 -126
  672. data/rakelib/devsite/link_checker.rb +0 -64
  673. data/rakelib/devsite/repo_metadata.rb +0 -56
  674. data/rakelib/metrics.rake +0 -22
  675. data/rakelib/rubocop.rake +0 -10
  676. data/rakelib/spec.rake +0 -11
  677. data/rakelib/yard.rake +0 -11
  678. data/samples/cli/.env +0 -4
  679. data/samples/cli/Gemfile +0 -7
  680. data/samples/cli/README.md +0 -51
  681. data/samples/cli/google-api-samples +0 -32
  682. data/samples/cli/lib/base_cli.rb +0 -95
  683. data/samples/cli/lib/samples/adsense.rb +0 -99
  684. data/samples/cli/lib/samples/analytics.rb +0 -80
  685. data/samples/cli/lib/samples/androidpublisher.rb +0 -47
  686. data/samples/cli/lib/samples/bigquery.rb +0 -101
  687. data/samples/cli/lib/samples/calendar.rb +0 -83
  688. data/samples/cli/lib/samples/drive.rb +0 -82
  689. data/samples/cli/lib/samples/gmail.rb +0 -157
  690. data/samples/cli/lib/samples/pubsub.rb +0 -114
  691. data/samples/cli/lib/samples/sheets.rb +0 -61
  692. data/samples/cli/lib/samples/translate.rb +0 -44
  693. data/samples/cli/lib/samples/vision.rb +0 -69
  694. data/samples/cli/lib/samples/you_tube.rb +0 -47
  695. data/samples/web/Gemfile +0 -9
  696. data/samples/web/README.md +0 -44
  697. data/samples/web/app.rb +0 -120
  698. data/samples/web/views/calendar.erb +0 -34
  699. data/samples/web/views/drive.erb +0 -33
  700. data/samples/web/views/home.erb +0 -34
  701. data/samples/web/views/layout.erb +0 -40
  702. data/synth.py +0 -40
@@ -1,176 +0,0 @@
1
- # Copyright 2010 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 'json'
16
- require 'googleauth'
17
-
18
-
19
- module Google
20
- class APIClient
21
- ##
22
- # Manages the persistence of client configuration data and secrets. Format
23
- # inspired by the Google API Python client.
24
- #
25
- # @see https://developers.google.com/api-client-library/python/guide/aaa_client_secrets
26
- # @deprecated Use google-auth-library-ruby instead
27
- # @example
28
- # {
29
- # "web": {
30
- # "client_id": "asdfjasdljfasdkjf",
31
- # "client_secret": "1912308409123890",
32
- # "redirect_uris": ["https://www.example.com/oauth2callback"],
33
- # "auth_uri": "https://accounts.google.com/o/oauth2/auth",
34
- # "token_uri": "https://accounts.google.com/o/oauth2/token"
35
- # }
36
- # }
37
- #
38
- # @example
39
- # {
40
- # "installed": {
41
- # "client_id": "837647042410-75ifg...usercontent.com",
42
- # "client_secret":"asdlkfjaskd",
43
- # "redirect_uris": ["http://localhost", "urn:ietf:oauth:2.0:oob"],
44
- # "auth_uri": "https://accounts.google.com/o/oauth2/auth",
45
- # "token_uri": "https://accounts.google.com/o/oauth2/token"
46
- # }
47
- # }
48
- class ClientSecrets
49
- ##
50
- # Reads client configuration from a file
51
- #
52
- # @param [String] filename
53
- # Path to file to load
54
- #
55
- # @return [Google::APIClient::ClientSecrets]
56
- # OAuth client settings
57
- def self.load(filename=nil)
58
- if filename && File.directory?(filename)
59
- search_path = File.expand_path(filename)
60
- filename = nil
61
- end
62
- while filename == nil
63
- search_path ||= File.expand_path('.')
64
- if File.exists?(File.join(search_path, 'client_secrets.json'))
65
- filename = File.join(search_path, 'client_secrets.json')
66
- elsif search_path == File.expand_path('..', search_path)
67
- raise ArgumentError,
68
- 'No client_secrets.json filename supplied ' +
69
- 'and/or could not be found in search path.'
70
- else
71
- search_path = File.expand_path(File.join(search_path, '..'))
72
- end
73
- end
74
- data = File.open(filename, 'r') { |file| JSON.load(file.read) }
75
- return self.new(data)
76
- end
77
-
78
- ##
79
- # Initialize OAuth client settings.
80
- #
81
- # @param [Hash] options
82
- # Parsed client secrets files
83
- def initialize(options={})
84
- # Client auth configuration
85
- @flow = options[:flow] || options.keys.first.to_s || 'web'
86
- fdata = options[@flow.to_sym] || options[@flow]
87
- @client_id = fdata[:client_id] || fdata["client_id"]
88
- @client_secret = fdata[:client_secret] || fdata["client_secret"]
89
- @redirect_uris = fdata[:redirect_uris] || fdata["redirect_uris"]
90
- @redirect_uris ||= [fdata[:redirect_uri] || fdata["redirect_uri"]].compact
91
- @javascript_origins = (
92
- fdata[:javascript_origins] ||
93
- fdata["javascript_origins"]
94
- )
95
- @javascript_origins ||= [fdata[:javascript_origin] || fdata["javascript_origin"]].compact
96
- @authorization_uri = fdata[:auth_uri] || fdata["auth_uri"]
97
- @authorization_uri ||= fdata[:authorization_uri]
98
- @token_credential_uri = fdata[:token_uri] || fdata["token_uri"]
99
- @token_credential_uri ||= fdata[:token_credential_uri]
100
-
101
- # Associated token info
102
- @access_token = fdata[:access_token] || fdata["access_token"]
103
- @refresh_token = fdata[:refresh_token] || fdata["refresh_token"]
104
- @id_token = fdata[:id_token] || fdata["id_token"]
105
- @expires_in = fdata[:expires_in] || fdata["expires_in"]
106
- @expires_at = fdata[:expires_at] || fdata["expires_at"]
107
- @issued_at = fdata[:issued_at] || fdata["issued_at"]
108
- end
109
-
110
- attr_reader(
111
- :flow, :client_id, :client_secret, :redirect_uris, :javascript_origins,
112
- :authorization_uri, :token_credential_uri, :access_token,
113
- :refresh_token, :id_token, :expires_in, :expires_at, :issued_at
114
- )
115
-
116
- ##
117
- # Serialize back to the original JSON form
118
- #
119
- # @return [String]
120
- # JSON
121
- def to_json
122
- return Json.dump(to_hash)
123
- end
124
-
125
- def to_hash
126
- {
127
- self.flow => ({
128
- 'client_id' => self.client_id,
129
- 'client_secret' => self.client_secret,
130
- 'redirect_uris' => self.redirect_uris,
131
- 'javascript_origins' => self.javascript_origins,
132
- 'auth_uri' => self.authorization_uri,
133
- 'token_uri' => self.token_credential_uri,
134
- 'access_token' => self.access_token,
135
- 'refresh_token' => self.refresh_token,
136
- 'id_token' => self.id_token,
137
- 'expires_in' => self.expires_in,
138
- 'expires_at' => self.expires_at,
139
- 'issued_at' => self.issued_at
140
- }).inject({}) do |accu, (k, v)|
141
- # Prunes empty values from JSON output.
142
- unless v == nil || (v.respond_to?(:empty?) && v.empty?)
143
- accu[k] = v
144
- end
145
- accu
146
- end
147
- }
148
- end
149
-
150
- def to_authorization
151
- # NOTE: Do not rely on this default value, as it may change
152
- new_authorization = Signet::OAuth2::Client.new
153
- new_authorization.client_id = self.client_id
154
- new_authorization.client_secret = self.client_secret
155
- new_authorization.authorization_uri = (
156
- self.authorization_uri ||
157
- 'https://accounts.google.com/o/oauth2/auth'
158
- )
159
- new_authorization.token_credential_uri = (
160
- self.token_credential_uri ||
161
- 'https://accounts.google.com/o/oauth2/token'
162
- )
163
- new_authorization.redirect_uri = self.redirect_uris.first
164
-
165
- # These are supported, but unlikely.
166
- new_authorization.access_token = self.access_token
167
- new_authorization.refresh_token = self.refresh_token
168
- new_authorization.id_token = self.id_token
169
- new_authorization.expires_in = self.expires_in
170
- new_authorization.issued_at = self.issued_at if self.issued_at
171
- new_authorization.expires_at = self.expires_at if self.expires_at
172
- return new_authorization
173
- end
174
- end
175
- end
176
- end
@@ -1,58 +0,0 @@
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/version'
16
- require 'logger'
17
-
18
- module Google
19
- module Apis
20
- ROOT = File.expand_path('..', File.dirname(__dir__))
21
-
22
- # @!attribute [rw] logger
23
- # @return [Logger] The logger.
24
- def self.logger
25
- @logger ||= rails_logger || default_logger
26
- end
27
-
28
- class << self
29
- attr_writer :logger
30
- end
31
-
32
- private
33
-
34
- # Create and configure a logger
35
- # @return [Logger]
36
- def self.default_logger
37
- logger = Logger.new($stdout)
38
- logger.level = Logger::WARN
39
- logger
40
- end
41
-
42
- # Check to see if client is being used in a Rails environment and get the logger if present.
43
- # Setting the ENV variable 'GOOGLE_API_USE_RAILS_LOGGER' to false will force the client
44
- # to use its own logger.
45
- #
46
- # @return [Logger]
47
- def self.rails_logger
48
- if 'true' == ENV.fetch('GOOGLE_API_USE_RAILS_LOGGER', 'true') &&
49
- defined?(::Rails) &&
50
- ::Rails.respond_to?(:logger) &&
51
- !::Rails.logger.nil?
52
- ::Rails.logger
53
- else
54
- nil
55
- end
56
- end
57
- end
58
- end
@@ -1,209 +0,0 @@
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 'addressable/uri'
16
- require 'addressable/template'
17
- require 'google/apis/core/http_command'
18
- require 'google/apis/errors'
19
- require 'json'
20
- require 'retriable'
21
-
22
- module Google
23
- module Apis
24
- module Core
25
- # Command for executing most basic API request with JSON requests/responses
26
- class ApiCommand < HttpCommand
27
- JSON_CONTENT_TYPE = 'application/json'
28
- FIELDS_PARAM = 'fields'
29
- ERROR_REASON_MAPPING = {
30
- 'rateLimitExceeded' => Google::Apis::RateLimitError,
31
- 'userRateLimitExceeded' => Google::Apis::RateLimitError,
32
- 'projectNotLinked' => Google::Apis::ProjectNotLinkedError
33
- }
34
-
35
- # JSON serializer for request objects
36
- # @return [Google::Apis::Core::JsonRepresentation]
37
- attr_accessor :request_representation
38
-
39
- # Request body to serialize
40
- # @return [Object]
41
- attr_accessor :request_object
42
-
43
- # JSON serializer for response objects
44
- # @return [Google::Apis::Core::JsonRepresentation]
45
- attr_accessor :response_representation
46
-
47
- # Class to instantiate when de-serializing responses
48
- # @return [Object]
49
- attr_accessor :response_class
50
-
51
- # Serialize the request body
52
- #
53
- # @return [void]
54
- def prepare!
55
- set_api_client_header
56
- set_user_project_header
57
- if options&.api_format_version
58
- header['X-Goog-Api-Format-Version'] = options.api_format_version.to_s
59
- end
60
- query[FIELDS_PARAM] = normalize_fields_param(query[FIELDS_PARAM]) if query.key?(FIELDS_PARAM)
61
- if request_representation && request_object
62
- header['Content-Type'] ||= JSON_CONTENT_TYPE
63
- if options && options.skip_serialization
64
- self.body = request_object
65
- else
66
- self.body = request_representation.new(request_object).to_json(user_options: { skip_undefined: true })
67
- end
68
- end
69
- super
70
- end
71
-
72
- # Deserialize the response body if present
73
- #
74
- # @param [String] content_type
75
- # Content type of body
76
- # @param [String, #read] body
77
- # Response body
78
- # @return [Object]
79
- # Response object
80
- # noinspection RubyUnusedLocalVariable
81
- def decode_response_body(content_type, body)
82
- return super unless response_representation
83
- return super if options && options.skip_deserialization
84
- return super if content_type.nil?
85
- return nil unless content_type.start_with?(JSON_CONTENT_TYPE)
86
- body = "{}" if body.empty?
87
- instance = response_class.new
88
- response_representation.new(instance).from_json(body, unwrap: response_class)
89
- instance
90
- end
91
-
92
- # Check the response and raise error if needed
93
- #
94
- # @param [Fixnum] status
95
- # HTTP status code of response
96
- # @param [Hash] header
97
- # HTTP response headers
98
- # @param [String] body
99
- # HTTP response body
100
- # @param [String] message
101
- # Error message text
102
- # @return [void]
103
- # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
104
- # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
105
- # @raise [Google::Apis::AuthorizationError] Authorization is required
106
- def check_status(status, header = nil, body = nil, message = nil)
107
- case status
108
- when 400, 402...500
109
- reason, message = parse_error(body)
110
- if reason
111
- message = sprintf('%s: %s', reason, message)
112
- raise ERROR_REASON_MAPPING[reason].new(
113
- message,
114
- status_code: status,
115
- header: header,
116
- body: body
117
- ) if ERROR_REASON_MAPPING.key?(reason)
118
- end
119
- super(status, header, body, message)
120
- else
121
- super(status, header, body, message)
122
- end
123
- end
124
-
125
- def allow_form_encoding?
126
- request_representation.nil? && super
127
- end
128
-
129
- private
130
-
131
- def set_api_client_header
132
- old_xgac = header
133
- .find_all { |k, v| k.downcase == 'x-goog-api-client' }
134
- .map { |(a, b)| b }
135
- .join(' ')
136
- .split
137
- .find_all { |s| s !~ %r{^gl-ruby/|^gdcl/} }
138
- .join(' ')
139
- xgac = "gl-ruby/#{RUBY_VERSION} gdcl/#{Google::Apis::VERSION}"
140
- xgac = old_xgac.empty? ? xgac : "#{old_xgac} #{xgac}"
141
- header.delete_if { |k, v| k.downcase == 'x-goog-api-client' }
142
- header['X-Goog-Api-Client'] = xgac
143
- end
144
-
145
- def set_user_project_header
146
- quota_project_id = options.quota_project
147
- if !quota_project_id && options&.authorization.respond_to?(:quota_project_id)
148
- quota_project_id = options.authorization.quota_project_id
149
- end
150
- header['X-Goog-User-Project'] = quota_project_id if quota_project_id
151
- end
152
-
153
- # Attempt to parse a JSON error message
154
- # @param [String] body
155
- # HTTP response body
156
- # @return [Array<(String, String)>]
157
- # Error reason and message
158
- def parse_error(body)
159
- obj = JSON.load(body)
160
- error = obj['error']
161
- if error['details']
162
- return extract_v2_error_details(error)
163
- elsif error['errors']
164
- return extract_v1_error_details(error)
165
- else
166
- fail 'Can not parse error message. No "details" or "errors" detected'
167
- end
168
- rescue
169
- return [nil, nil]
170
- end
171
-
172
- # Extracts details from a v1 error message
173
- # @param [Hash] error
174
- # Parsed JSON
175
- # @return [Array<(String, String)>]
176
- # Error reason and message
177
- def extract_v1_error_details(error)
178
- reason = error['errors'].first['reason']
179
- message = error['message']
180
- return [reason, message]
181
- end
182
-
183
- # Extracts details from a v2error message
184
- # @param [Hash] error
185
- # Parsed JSON
186
- # @return [Array<(String, String)>]
187
- # Error reason and message
188
- def extract_v2_error_details(error)
189
- reason = error['status']
190
- message = error['message']
191
- return [reason, message]
192
- end
193
-
194
- # Convert field names from ruby conventions to original names in JSON
195
- #
196
- # @param [String] fields
197
- # Value of 'fields' param
198
- # @return [String]
199
- # Updated header value
200
- def normalize_fields_param(fields)
201
- # TODO: Generate map of parameter names during code gen. Small possibility that camelization fails
202
- fields.gsub(/:/, '').gsub(/\w+/) do |str|
203
- str.gsub(/(?:^|_)([a-z])/){ Regexp.last_match.begin(0) == 0 ? $1 : $1.upcase }
204
- end
205
- end
206
- end
207
- end
208
- end
209
- end
@@ -1,447 +0,0 @@
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 'addressable/uri'
16
- require 'addressable/template'
17
- require 'google/apis/version'
18
- require 'google/apis/core/api_command'
19
- require 'google/apis/core/batch'
20
- require 'google/apis/core/upload'
21
- require 'google/apis/core/download'
22
- require 'google/apis/options'
23
- require 'googleauth'
24
- require 'httpclient'
25
-
26
- module Google
27
- module Apis
28
- module Core
29
- # Helper class for enumerating over a result set requiring multiple fetches
30
- class PagedResults
31
- include Enumerable
32
-
33
- attr_reader :last_result
34
-
35
- # @param [BaseService] service
36
- # Current service instance
37
- # @param [Fixnum] max
38
- # Maximum number of items to iterate over. Nil if no limit
39
- # @param [Boolean] cache
40
- # True (default) if results should be cached so multiple iterations can be used.
41
- # @param [Symbol] items
42
- # Name of the field in the result containing the items. Defaults to :items
43
- def initialize(service, max: nil, items: :items, cache: true, response_page_token: :next_page_token, &block)
44
- @service = service
45
- @block = block
46
- @max = max
47
- @items_field = items
48
- @response_page_token_field = response_page_token
49
- if cache
50
- @result_cache = Hash.new do |h, k|
51
- h[k] = @block.call(k, @service)
52
- end
53
- @fetch_proc = Proc.new { |token| @result_cache[token] }
54
- else
55
- @fetch_proc = Proc.new { |token| @block.call(token, @service) }
56
- end
57
- end
58
-
59
- # Iterates over result set, fetching additional pages as needed
60
- def each
61
- page_token = nil
62
- item_count = 0
63
- loop do
64
- @last_result = @fetch_proc.call(page_token)
65
- items = @last_result.send(@items_field)
66
- if items.kind_of?(Array)
67
- for item in items
68
- item_count = item_count + 1
69
- break if @max && item_count > @max
70
- yield item
71
- end
72
- elsif items.kind_of?(Hash)
73
- items.each do |key, val|
74
- item_count = item_count + 1
75
- break if @max && item_count > @max
76
- yield key, val
77
- end
78
- elsif items
79
- # yield singular non-nil items (for genomics API)
80
- yield items
81
- end
82
- break if @max && item_count >= @max
83
- next_page_token = @last_result.send(@response_page_token_field)
84
- break if next_page_token.nil? || next_page_token == page_token
85
- page_token = next_page_token
86
- end
87
- end
88
- end
89
-
90
- # Base service for all APIs. Not to be used directly.
91
- #
92
- class BaseService
93
- include Logging
94
-
95
- # Root URL (host/port) for the API
96
- # @return [Addressable::URI]
97
- attr_accessor :root_url
98
-
99
- # Additional path prefix for all API methods
100
- # @return [Addressable::URI]
101
- attr_accessor :base_path
102
-
103
- # Alternate path prefix for media uploads
104
- # @return [Addressable::URI]
105
- attr_accessor :upload_path
106
-
107
- # Alternate path prefix for all batch methods
108
- # @return [Addressable::URI]
109
- attr_accessor :batch_path
110
-
111
- # HTTP client
112
- # @return [HTTPClient]
113
- attr_accessor :client
114
-
115
- # General settings
116
- # @return [Google::Apis::ClientOptions]
117
- attr_accessor :client_options
118
-
119
- # Default options for all requests
120
- # @return [Google::Apis::RequestOptions]
121
- attr_accessor :request_options
122
-
123
- # @param [String,Addressable::URI] root_url
124
- # Root URL for the API
125
- # @param [String,Addressable::URI] base_path
126
- # Additional path prefix for all API methods
127
- # @api private
128
- def initialize(root_url, base_path)
129
- self.root_url = root_url
130
- self.base_path = base_path
131
- self.upload_path = "upload/#{base_path}"
132
- self.batch_path = 'batch'
133
- self.client_options = Google::Apis::ClientOptions.default.dup
134
- self.request_options = Google::Apis::RequestOptions.default.dup
135
- end
136
-
137
- # @!attribute [rw] authorization
138
- # @return [Signet::OAuth2::Client]
139
- # OAuth2 credentials
140
- def authorization=(authorization)
141
- request_options.authorization = authorization
142
- end
143
-
144
- def authorization
145
- request_options.authorization
146
- end
147
-
148
- # TODO: with(options) method
149
-
150
- # Perform a batch request. Calls made within the block are sent in a single network
151
- # request to the server.
152
- #
153
- # @example
154
- # service.batch do |s|
155
- # s.get_item(id1) do |res, err|
156
- # # process response for 1st call
157
- # end
158
- # # ...
159
- # s.get_item(idN) do |res, err|
160
- # # process response for Nth call
161
- # end
162
- # end
163
- #
164
- # @param [Hash, Google::Apis::RequestOptions] options
165
- # Request-specific options
166
- # @yield [self]
167
- # @return [void]
168
- def batch(options = nil)
169
- batch_command = BatchCommand.new(:post, Addressable::URI.parse(root_url + batch_path))
170
- batch_command.options = request_options.merge(options)
171
- apply_command_defaults(batch_command)
172
- begin
173
- start_batch(batch_command)
174
- yield self
175
- ensure
176
- end_batch
177
- end
178
- batch_command.execute(client)
179
- end
180
-
181
- # Perform a batch upload request. Calls made within the block are sent in a single network
182
- # request to the server. Batch uploads are useful for uploading multiple small files. For larger
183
- # files, use single requests which use a resumable upload protocol.
184
- #
185
- # @example
186
- # service.batch do |s|
187
- # s.insert_item(upload_source: 'file1.txt') do |res, err|
188
- # # process response for 1st call
189
- # end
190
- # # ...
191
- # s.insert_item(upload_source: 'fileN.txt') do |res, err|
192
- # # process response for Nth call
193
- # end
194
- # end
195
- #
196
- # @param [Hash, Google::Apis::RequestOptions] options
197
- # Request-specific options
198
- # @yield [self]
199
- # @return [void]
200
- def batch_upload(options = nil)
201
- batch_command = BatchUploadCommand.new(:put, Addressable::URI.parse(root_url + upload_path))
202
- batch_command.options = request_options.merge(options)
203
- apply_command_defaults(batch_command)
204
- begin
205
- start_batch(batch_command)
206
- yield self
207
- ensure
208
- end_batch
209
- end
210
- batch_command.execute(client)
211
- end
212
-
213
- # Get the current HTTP client
214
- # @return [HTTPClient]
215
- def client
216
- @client ||= new_client
217
- end
218
-
219
-
220
- # Simple escape hatch for making API requests directly to a given
221
- # URL. This is not intended to be used as a generic HTTP client
222
- # and should be used only in cases where no service method exists
223
- # (e.g. fetching an export link for a Google Drive file.)
224
- #
225
- # @param [Symbol] method
226
- # HTTP method as symbol (e.g. :get, :post, :put, ...)
227
- # @param [String] url
228
- # URL to call
229
- # @param [Hash<String,String>] params
230
- # Optional hash of query parameters
231
- # @param [#read] body
232
- # Optional body for POST/PUT
233
- # @param [IO, String] download_dest
234
- # IO stream or filename to receive content download
235
- # @param [Google::Apis::RequestOptions] options
236
- # Request-specific options
237
- #
238
- # @yield [result, err] Result & error if block supplied
239
- # @yieldparam result [String] HTTP response body
240
- # @yieldparam err [StandardError] error object if request failed
241
- #
242
- # @return [String] HTTP response body
243
- def http(method, url, params: nil, body: nil, download_dest: nil, options: nil, &block)
244
- if download_dest
245
- command = DownloadCommand.new(method, url, body: body)
246
- else
247
- command = HttpCommand.new(method, url, body: body)
248
- end
249
- command.options = request_options.merge(options)
250
- apply_command_defaults(command)
251
- command.query.merge(Hash(params))
252
- execute_or_queue_command(command, &block)
253
- end
254
-
255
- # Executes a given query with paging, automatically retrieving
256
- # additional pages as necessary. Requires a block that returns the
257
- # result set of a page. The current page token is supplied as an argument
258
- # to the block.
259
- #
260
- # Note: The returned enumerable also contains a `last_result` field
261
- # containing the full result of the last query executed.
262
- #
263
- # @param [Fixnum] max
264
- # Maximum number of items to iterate over. Defaults to nil -- no upper bound.
265
- # @param [Symbol] items
266
- # Name of the field in the result containing the items. Defaults to :items
267
- # @param [Boolean] cache
268
- # True (default) if results should be cached so multiple iterations can be used.
269
- # @return [Enumerble]
270
- # @yield [token, service]
271
- # Current page token & service instance
272
- # @yieldparam [String] token
273
- # Current page token to be used in the query
274
- # @yieldparam [service]
275
- # Current service instance
276
- # @since 0.9.4
277
- #
278
- # @example Retrieve all files,
279
- # file_list = service.fetch_all { |token, s| s.list_files(page_token: token) }
280
- # file_list.each { |f| ... }
281
- def fetch_all(max: nil, items: :items, cache: true, response_page_token: :next_page_token, &block)
282
- fail "fetch_all may not be used inside a batch" if batch?
283
- return PagedResults.new(self, max: max, items: items, cache: cache, response_page_token: response_page_token, &block)
284
- end
285
-
286
- protected
287
-
288
- # Create a new upload command.
289
- #
290
- # @param [symbol] method
291
- # HTTP method for uploading (typically :put or :post)
292
- # @param [String] path
293
- # Additional path to upload endpoint, appended to API base path
294
- # @param [Hash, Google::Apis::RequestOptions] options
295
- # Request-specific options
296
- # @return [Google::Apis::Core::UploadCommand]
297
- def make_upload_command(method, path, options)
298
- template = Addressable::Template.new(root_url + upload_path + path)
299
- if batch?
300
- command = MultipartUploadCommand.new(method, template)
301
- else
302
- command = ResumableUploadCommand.new(method, template)
303
- end
304
- command.options = request_options.merge(options)
305
- apply_command_defaults(command)
306
- command
307
- end
308
-
309
- # Create a new download command.
310
- #
311
- # @param [symbol] method
312
- # HTTP method for uploading (typically :get)
313
- # @param [String] path
314
- # Additional path to download endpoint, appended to API base path
315
- # @param [Hash, Google::Apis::RequestOptions] options
316
- # Request-specific options
317
- # @return [Google::Apis::Core::DownloadCommand]
318
- def make_download_command(method, path, options)
319
- template = Addressable::Template.new(root_url + base_path + path)
320
- command = DownloadCommand.new(method, template)
321
- command.options = request_options.merge(options)
322
- command.query['alt'] = 'media'
323
- apply_command_defaults(command)
324
- command
325
- end
326
-
327
- # Create a new command.
328
- #
329
- # @param [symbol] method
330
- # HTTP method (:get, :post, :delete, etc...)
331
- # @param [String] path
332
- # Additional path, appended to API base path
333
- # @param [Hash, Google::Apis::RequestOptions] options
334
- # Request-specific options
335
- # @return [Google::Apis::Core::DownloadCommand]
336
- def make_simple_command(method, path, options)
337
- full_path =
338
- if path.start_with? "/"
339
- path[1..-1]
340
- else
341
- base_path + path
342
- end
343
- template = Addressable::Template.new(root_url + full_path)
344
- command = ApiCommand.new(method, template)
345
- command.options = request_options.merge(options)
346
- apply_command_defaults(command)
347
- command
348
- end
349
-
350
- # Execute the request. If a batch is in progress, the request is added to the batch instead.
351
- #
352
- # @param [Google::Apis::Core::HttpCommand] command
353
- # Command to execute
354
- # @return [Object] response object if command executed and no callback supplied
355
- # @yield [result, err] Result & error if block supplied
356
- # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
357
- # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
358
- # @raise [Google::Apis::AuthorizationError] Authorization is required
359
- def execute_or_queue_command(command, &callback)
360
- batch_command = current_batch
361
- if batch_command
362
- fail "Can not combine services in a batch" if Thread.current[:google_api_batch_service] != self
363
- batch_command.add(command, &callback)
364
- nil
365
- else
366
- command.execute(client, &callback)
367
- end
368
- end
369
-
370
- # Update commands with service-specific options. To be implemented by subclasses
371
- # @param [Google::Apis::Core::HttpCommand] _command
372
- def apply_command_defaults(_command)
373
- end
374
-
375
- private
376
-
377
- # Get the current batch context
378
- #
379
- # @return [Google:Apis::Core::BatchRequest]
380
- def current_batch
381
- Thread.current[:google_api_batch]
382
- end
383
-
384
- # Check if a batch is in progress
385
- # @return [Boolean]
386
- def batch?
387
- !current_batch.nil?
388
- end
389
-
390
- # Start a new thread-local batch context
391
- # @param [Google::Apis::Core::BatchCommand] cmd
392
- def start_batch(cmd)
393
- fail "Batch already in progress" if batch?
394
- Thread.current[:google_api_batch] = cmd
395
- Thread.current[:google_api_batch_service] = self
396
- end
397
-
398
- # Clear thread-local batch context
399
- def end_batch
400
- Thread.current[:google_api_batch] = nil
401
- Thread.current[:google_api_batch_service] = nil
402
- end
403
-
404
- # Create a new HTTP client
405
- # @return [HTTPClient]
406
- def new_client
407
- client = ::HTTPClient.new
408
-
409
- if client_options.transparent_gzip_decompression
410
- client.transparent_gzip_decompression = client_options.transparent_gzip_decompression
411
- end
412
-
413
- client.proxy = client_options.proxy_url if client_options.proxy_url
414
-
415
- if client_options.open_timeout_sec
416
- client.connect_timeout = client_options.open_timeout_sec
417
- end
418
-
419
- if client_options.read_timeout_sec
420
- client.receive_timeout = client_options.read_timeout_sec
421
- end
422
-
423
- if client_options.send_timeout_sec
424
- client.send_timeout = client_options.send_timeout_sec
425
- end
426
-
427
- client.follow_redirect_count = 5
428
- client.default_header = { 'User-Agent' => user_agent }
429
-
430
- client.debug_dev = logger if client_options.log_http_requests
431
- client
432
- end
433
-
434
-
435
- # Build the user agent header
436
- # @return [String]
437
- def user_agent
438
- sprintf('%s/%s google-api-ruby-client/%s %s (gzip)',
439
- client_options.application_name,
440
- client_options.application_version,
441
- Google::Apis::VERSION,
442
- Google::Apis::OS_VERSION)
443
- end
444
- end
445
- end
446
- end
447
- end