google-api-client 0.50.0 → 0.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (608) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +0 -14
  3. data/CHANGELOG.md +233 -0
  4. data/OVERVIEW.md +36 -27
  5. data/generated/google/apis/accesscontextmanager_v1/classes.rb +326 -0
  6. data/generated/google/apis/accesscontextmanager_v1/representations.rb +139 -0
  7. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +50 -6
  9. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +18 -0
  10. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +3 -1
  11. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  12. data/generated/google/apis/admin_datatransfer_v1/classes.rb +6 -16
  13. data/generated/google/apis/admin_datatransfer_v1/service.rb +3 -3
  14. data/generated/google/apis/admin_datatransfer_v1.rb +2 -2
  15. data/generated/google/apis/admin_directory_v1/classes.rb +453 -321
  16. data/generated/google/apis/admin_directory_v1/representations.rb +15 -15
  17. data/generated/google/apis/admin_directory_v1/service.rb +325 -185
  18. data/generated/google/apis/admin_directory_v1.rb +2 -2
  19. data/generated/google/apis/admin_reports_v1/classes.rb +48 -43
  20. data/generated/google/apis/admin_reports_v1/service.rb +198 -179
  21. data/generated/google/apis/admin_reports_v1.rb +2 -2
  22. data/generated/google/apis/admob_v1.rb +1 -1
  23. data/generated/google/apis/admob_v1beta.rb +1 -1
  24. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  25. data/generated/google/apis/analytics_v3/service.rb +1 -1
  26. data/generated/google/apis/analyticsadmin_v1alpha/classes.rb +10 -2
  27. data/generated/google/apis/analyticsadmin_v1alpha/representations.rb +1 -0
  28. data/generated/google/apis/analyticsadmin_v1alpha/service.rb +41 -21
  29. data/generated/google/apis/analyticsadmin_v1alpha.rb +2 -2
  30. data/generated/google/apis/analyticsdata_v1alpha/classes.rb +93 -28
  31. data/generated/google/apis/analyticsdata_v1alpha/representations.rb +2 -0
  32. data/generated/google/apis/analyticsdata_v1alpha/service.rb +5 -5
  33. data/generated/google/apis/analyticsdata_v1alpha.rb +2 -2
  34. data/generated/google/apis/androidenterprise_v1/service.rb +4 -1
  35. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  36. data/generated/google/apis/androidmanagement_v1/classes.rb +69 -4
  37. data/generated/google/apis/androidmanagement_v1/representations.rb +19 -0
  38. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  39. data/generated/google/apis/androidpublisher_v3/service.rb +4 -4
  40. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  41. data/generated/google/apis/apigateway_v1/classes.rb +1116 -0
  42. data/generated/google/apis/apigateway_v1/representations.rb +442 -0
  43. data/generated/google/apis/apigateway_v1/service.rb +1172 -0
  44. data/{lib/google/apis/core/logging.rb → generated/google/apis/apigateway_v1.rb} +14 -10
  45. data/generated/google/apis/apigateway_v1beta/classes.rb +22 -17
  46. data/generated/google/apis/apigateway_v1beta/representations.rb +1 -1
  47. data/generated/google/apis/apigateway_v1beta.rb +1 -1
  48. data/generated/google/apis/apigee_v1/classes.rb +102 -29
  49. data/generated/google/apis/apigee_v1/representations.rb +42 -0
  50. data/generated/google/apis/apigee_v1/service.rb +264 -55
  51. data/generated/google/apis/apigee_v1.rb +1 -1
  52. data/generated/google/apis/appengine_v1/classes.rb +7 -0
  53. data/generated/google/apis/appengine_v1/representations.rb +1 -0
  54. data/generated/google/apis/appengine_v1.rb +1 -1
  55. data/generated/google/apis/appengine_v1beta/classes.rb +8 -0
  56. data/generated/google/apis/appengine_v1beta/representations.rb +1 -0
  57. data/generated/google/apis/appengine_v1beta.rb +1 -1
  58. data/generated/google/apis/area120tables_v1alpha1.rb +4 -1
  59. data/generated/google/apis/artifactregistry_v1/classes.rb +242 -0
  60. data/generated/google/apis/artifactregistry_v1/representations.rb +116 -0
  61. data/generated/google/apis/artifactregistry_v1/service.rb +210 -0
  62. data/generated/google/apis/artifactregistry_v1.rb +38 -0
  63. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +0 -120
  64. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +0 -62
  65. data/generated/google/apis/artifactregistry_v1beta1/service.rb +4 -1
  66. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  67. data/generated/google/apis/artifactregistry_v1beta2/classes.rb +917 -0
  68. data/generated/google/apis/artifactregistry_v1beta2/representations.rb +381 -0
  69. data/generated/google/apis/artifactregistry_v1beta2/service.rb +947 -0
  70. data/generated/google/apis/artifactregistry_v1beta2.rb +38 -0
  71. data/generated/google/apis/{assuredworkloads_v1beta1 → assuredworkloads_v1}/classes.rb +49 -137
  72. data/generated/google/apis/{assuredworkloads_v1beta1 → assuredworkloads_v1}/representations.rb +27 -87
  73. data/generated/google/apis/{assuredworkloads_v1beta1 → assuredworkloads_v1}/service.rb +46 -46
  74. data/generated/google/apis/{assuredworkloads_v1beta1.rb → assuredworkloads_v1.rb} +6 -6
  75. data/generated/google/apis/binaryauthorization_v1/classes.rb +0 -6
  76. data/generated/google/apis/binaryauthorization_v1/representations.rb +0 -1
  77. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  78. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +2 -7
  79. data/generated/google/apis/binaryauthorization_v1beta1/representations.rb +0 -1
  80. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  81. data/generated/google/apis/chat_v1/service.rb +308 -0
  82. data/generated/google/apis/chat_v1.rb +1 -1
  83. data/generated/google/apis/cloudasset_v1/classes.rb +332 -3
  84. data/generated/google/apis/cloudasset_v1/representations.rb +139 -0
  85. data/generated/google/apis/cloudasset_v1.rb +1 -1
  86. data/generated/google/apis/cloudasset_v1beta1/classes.rb +326 -0
  87. data/generated/google/apis/cloudasset_v1beta1/representations.rb +139 -0
  88. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  89. data/generated/google/apis/cloudasset_v1p5beta1/classes.rb +326 -0
  90. data/generated/google/apis/cloudasset_v1p5beta1/representations.rb +139 -0
  91. data/generated/google/apis/cloudasset_v1p5beta1.rb +1 -1
  92. data/generated/google/apis/cloudbuild_v1/classes.rb +4 -4
  93. data/generated/google/apis/cloudbuild_v1/service.rb +1 -1
  94. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  95. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +3 -3
  96. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  97. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +3 -3
  98. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  99. data/generated/google/apis/cloudfunctions_v1/classes.rb +6 -0
  100. data/generated/google/apis/cloudfunctions_v1/representations.rb +1 -0
  101. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  102. data/generated/google/apis/cloudidentity_v1/classes.rb +240 -0
  103. data/generated/google/apis/cloudidentity_v1/representations.rb +125 -0
  104. data/generated/google/apis/cloudidentity_v1/service.rb +210 -6
  105. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  106. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +1 -1
  107. data/generated/google/apis/cloudidentity_v1beta1/service.rb +16 -6
  108. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  109. data/generated/google/apis/cloudiot_v1/classes.rb +0 -6
  110. data/generated/google/apis/cloudiot_v1/representations.rb +0 -1
  111. data/generated/google/apis/cloudiot_v1.rb +1 -1
  112. data/generated/google/apis/cloudkms_v1/classes.rb +0 -6
  113. data/generated/google/apis/cloudkms_v1/representations.rb +0 -1
  114. data/generated/google/apis/cloudkms_v1.rb +1 -1
  115. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +0 -26
  116. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +0 -24
  117. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  118. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +0 -26
  119. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +0 -24
  120. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  121. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +0 -26
  122. data/generated/google/apis/cloudresourcemanager_v2/representations.rb +0 -24
  123. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  124. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +0 -26
  125. data/generated/google/apis/cloudresourcemanager_v2beta1/representations.rb +0 -24
  126. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  127. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +19 -0
  128. data/generated/google/apis/cloudscheduler_v1beta1/representations.rb +2 -0
  129. data/generated/google/apis/cloudscheduler_v1beta1/service.rb +12 -2
  130. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  131. data/generated/google/apis/cloudsearch_v1/classes.rb +10 -5
  132. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  133. data/generated/google/apis/cloudtasks_v2/classes.rb +0 -6
  134. data/generated/google/apis/cloudtasks_v2/representations.rb +0 -1
  135. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  136. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +59 -6
  137. data/generated/google/apis/cloudtasks_v2beta2/representations.rb +19 -1
  138. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  139. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +102 -6
  140. data/generated/google/apis/cloudtasks_v2beta3/representations.rb +35 -1
  141. data/generated/google/apis/cloudtasks_v2beta3/service.rb +16 -2
  142. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  143. data/generated/google/apis/composer_v1/classes.rb +123 -0
  144. data/generated/google/apis/composer_v1/representations.rb +49 -0
  145. data/generated/google/apis/composer_v1/service.rb +19 -15
  146. data/generated/google/apis/composer_v1.rb +1 -1
  147. data/generated/google/apis/composer_v1beta1/classes.rb +173 -0
  148. data/generated/google/apis/composer_v1beta1/representations.rb +64 -0
  149. data/generated/google/apis/composer_v1beta1/service.rb +39 -1
  150. data/generated/google/apis/composer_v1beta1.rb +1 -1
  151. data/generated/google/apis/compute_alpha/classes.rb +1071 -341
  152. data/generated/google/apis/compute_alpha/representations.rb +248 -19
  153. data/generated/google/apis/compute_alpha/service.rb +291 -15
  154. data/generated/google/apis/compute_alpha.rb +1 -1
  155. data/generated/google/apis/compute_beta/classes.rb +926 -283
  156. data/generated/google/apis/compute_beta/representations.rb +221 -18
  157. data/generated/google/apis/compute_beta/service.rb +24 -15
  158. data/generated/google/apis/compute_beta.rb +1 -1
  159. data/generated/google/apis/compute_v1/classes.rb +426 -160
  160. data/generated/google/apis/compute_v1/representations.rb +56 -0
  161. data/generated/google/apis/compute_v1/service.rb +700 -551
  162. data/generated/google/apis/compute_v1.rb +1 -1
  163. data/generated/google/apis/container_v1/classes.rb +55 -16
  164. data/generated/google/apis/container_v1/representations.rb +17 -0
  165. data/generated/google/apis/container_v1/service.rb +4 -2
  166. data/generated/google/apis/container_v1.rb +1 -1
  167. data/generated/google/apis/container_v1beta1/classes.rb +31 -20
  168. data/generated/google/apis/container_v1beta1/representations.rb +2 -0
  169. data/generated/google/apis/container_v1beta1/service.rb +6 -2
  170. data/generated/google/apis/container_v1beta1.rb +1 -1
  171. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +0 -6
  172. data/generated/google/apis/containeranalysis_v1alpha1/representations.rb +0 -1
  173. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  174. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +2 -7
  175. data/generated/google/apis/containeranalysis_v1beta1/representations.rb +0 -1
  176. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  177. data/generated/google/apis/content_v2/classes.rb +4 -4
  178. data/generated/google/apis/content_v2.rb +1 -1
  179. data/generated/google/apis/content_v2_1/classes.rb +625 -11
  180. data/generated/google/apis/content_v2_1/representations.rb +266 -0
  181. data/generated/google/apis/content_v2_1/service.rb +295 -0
  182. data/generated/google/apis/content_v2_1.rb +1 -1
  183. data/generated/google/apis/datacatalog_v1beta1/classes.rb +6 -6
  184. data/generated/google/apis/datacatalog_v1beta1/representations.rb +1 -1
  185. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  186. data/generated/google/apis/dataflow_v1b3/classes.rb +17 -1
  187. data/generated/google/apis/dataflow_v1b3/representations.rb +2 -0
  188. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  189. data/generated/google/apis/datalabeling_v1beta1.rb +1 -1
  190. data/generated/google/apis/datamigration_v1beta1/classes.rb +0 -6
  191. data/generated/google/apis/datamigration_v1beta1/representations.rb +0 -1
  192. data/generated/google/apis/datamigration_v1beta1.rb +1 -1
  193. data/generated/google/apis/dataproc_v1/classes.rb +107 -7
  194. data/generated/google/apis/dataproc_v1/representations.rb +36 -1
  195. data/generated/google/apis/dataproc_v1/service.rb +42 -0
  196. data/generated/google/apis/dataproc_v1.rb +1 -1
  197. data/generated/google/apis/dataproc_v1beta2/classes.rb +75 -7
  198. data/generated/google/apis/dataproc_v1beta2/representations.rb +32 -1
  199. data/generated/google/apis/dataproc_v1beta2/service.rb +42 -0
  200. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  201. data/generated/google/apis/deploymentmanager_alpha/classes.rb +276 -644
  202. data/generated/google/apis/deploymentmanager_alpha/representations.rb +10 -143
  203. data/generated/google/apis/deploymentmanager_alpha/service.rb +247 -398
  204. data/generated/google/apis/deploymentmanager_alpha.rb +6 -5
  205. data/generated/google/apis/deploymentmanager_v2/classes.rb +0 -6
  206. data/generated/google/apis/deploymentmanager_v2/representations.rb +0 -1
  207. data/generated/google/apis/deploymentmanager_v2/service.rb +5 -25
  208. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  209. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +0 -6
  210. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +0 -1
  211. data/generated/google/apis/deploymentmanager_v2beta/service.rb +8 -40
  212. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  213. data/generated/google/apis/dialogflow_v2/classes.rb +3930 -507
  214. data/generated/google/apis/dialogflow_v2/representations.rb +1866 -285
  215. data/generated/google/apis/dialogflow_v2/service.rb +12 -4
  216. data/generated/google/apis/dialogflow_v2.rb +1 -1
  217. data/generated/google/apis/dialogflow_v2beta1/classes.rb +4100 -682
  218. data/generated/google/apis/dialogflow_v2beta1/representations.rb +1877 -296
  219. data/generated/google/apis/dialogflow_v2beta1/service.rb +496 -32
  220. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  221. data/generated/google/apis/dialogflow_v3/classes.rb +11752 -0
  222. data/generated/google/apis/dialogflow_v3/representations.rb +5158 -0
  223. data/generated/google/apis/dialogflow_v3/service.rb +3414 -0
  224. data/generated/google/apis/{bigqueryreservation_v1alpha2.rb → dialogflow_v3.rb} +13 -12
  225. data/generated/google/apis/dialogflow_v3beta1/classes.rb +5190 -2229
  226. data/generated/google/apis/dialogflow_v3beta1/representations.rb +1789 -342
  227. data/generated/google/apis/dialogflow_v3beta1/service.rb +591 -2
  228. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  229. data/generated/google/apis/displayvideo_v1/classes.rb +97 -3
  230. data/generated/google/apis/displayvideo_v1/representations.rb +45 -0
  231. data/generated/google/apis/displayvideo_v1/service.rb +103 -39
  232. data/generated/google/apis/displayvideo_v1.rb +1 -1
  233. data/generated/google/apis/dlp_v2/service.rb +297 -10
  234. data/generated/google/apis/dlp_v2.rb +1 -1
  235. data/generated/google/apis/dns_v1/classes.rb +71 -0
  236. data/generated/google/apis/dns_v1/representations.rb +33 -0
  237. data/generated/google/apis/dns_v1.rb +1 -1
  238. data/generated/google/apis/dns_v1beta2/classes.rb +6 -0
  239. data/generated/google/apis/dns_v1beta2/representations.rb +1 -0
  240. data/generated/google/apis/dns_v1beta2.rb +1 -1
  241. data/generated/google/apis/documentai_v1beta2/classes.rb +217 -186
  242. data/generated/google/apis/documentai_v1beta2/representations.rb +107 -24
  243. data/generated/google/apis/documentai_v1beta2.rb +1 -1
  244. data/generated/google/apis/documentai_v1beta3/classes.rb +238 -201
  245. data/generated/google/apis/documentai_v1beta3/representations.rb +107 -24
  246. data/generated/google/apis/documentai_v1beta3/service.rb +81 -2
  247. data/generated/google/apis/documentai_v1beta3.rb +1 -1
  248. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  249. data/generated/google/apis/drive_v2/classes.rb +4 -1
  250. data/generated/google/apis/drive_v2/service.rb +24 -56
  251. data/generated/google/apis/drive_v2.rb +1 -1
  252. data/generated/google/apis/drive_v3/classes.rb +4 -1
  253. data/generated/google/apis/drive_v3/service.rb +14 -30
  254. data/generated/google/apis/drive_v3.rb +1 -1
  255. data/generated/google/apis/eventarc_v1beta1/classes.rb +8 -15
  256. data/generated/google/apis/eventarc_v1beta1/representations.rb +0 -1
  257. data/generated/google/apis/eventarc_v1beta1/service.rb +25 -5
  258. data/generated/google/apis/eventarc_v1beta1.rb +1 -1
  259. data/generated/google/apis/file_v1/classes.rb +61 -0
  260. data/generated/google/apis/file_v1/representations.rb +19 -0
  261. data/generated/google/apis/file_v1.rb +1 -1
  262. data/generated/google/apis/firebasedatabase_v1beta/classes.rb +130 -0
  263. data/generated/google/apis/firebasedatabase_v1beta/representations.rb +82 -0
  264. data/generated/google/apis/firebasedatabase_v1beta/service.rb +292 -0
  265. data/generated/google/apis/firebasedatabase_v1beta.rb +44 -0
  266. data/generated/google/apis/games_v1/classes.rb +67 -14
  267. data/generated/google/apis/games_v1/representations.rb +31 -2
  268. data/generated/google/apis/games_v1/service.rb +33 -0
  269. data/generated/google/apis/games_v1.rb +1 -1
  270. data/generated/google/apis/gameservices_v1/service.rb +14 -14
  271. data/generated/google/apis/gameservices_v1.rb +1 -1
  272. data/generated/google/apis/gameservices_v1beta/service.rb +14 -14
  273. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  274. data/generated/google/apis/genomics_v2alpha1/classes.rb +11 -7
  275. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  276. data/generated/google/apis/gmailpostmastertools_v1beta1/classes.rb +9 -0
  277. data/generated/google/apis/gmailpostmastertools_v1beta1/representations.rb +1 -0
  278. data/generated/google/apis/gmailpostmastertools_v1beta1.rb +1 -1
  279. data/generated/google/apis/healthcare_v1/classes.rb +18 -23
  280. data/generated/google/apis/healthcare_v1/representations.rb +0 -1
  281. data/generated/google/apis/healthcare_v1/service.rb +13 -12
  282. data/generated/google/apis/healthcare_v1.rb +1 -1
  283. data/generated/google/apis/healthcare_v1beta1/classes.rb +63 -36
  284. data/generated/google/apis/healthcare_v1beta1/representations.rb +3 -1
  285. data/generated/google/apis/healthcare_v1beta1/service.rb +37 -37
  286. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  287. data/generated/google/apis/iam_v1/classes.rb +101 -0
  288. data/generated/google/apis/iam_v1/representations.rb +33 -0
  289. data/generated/google/apis/iam_v1/service.rb +62 -0
  290. data/generated/google/apis/iam_v1.rb +1 -1
  291. data/generated/google/apis/iap_v1/classes.rb +0 -6
  292. data/generated/google/apis/iap_v1/representations.rb +0 -1
  293. data/generated/google/apis/iap_v1.rb +1 -1
  294. data/generated/google/apis/iap_v1beta1/classes.rb +0 -6
  295. data/generated/google/apis/iap_v1beta1/representations.rb +0 -1
  296. data/generated/google/apis/iap_v1beta1.rb +1 -1
  297. data/generated/google/apis/jobs_v3/classes.rb +9 -807
  298. data/generated/google/apis/jobs_v3/representations.rb +0 -272
  299. data/generated/google/apis/jobs_v3.rb +1 -1
  300. data/generated/google/apis/jobs_v3p1beta1/classes.rb +9 -768
  301. data/generated/google/apis/jobs_v3p1beta1/representations.rb +0 -257
  302. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  303. data/generated/google/apis/jobs_v4/classes.rb +2699 -0
  304. data/generated/google/apis/jobs_v4/representations.rb +934 -0
  305. data/generated/google/apis/jobs_v4/service.rb +903 -0
  306. data/generated/google/apis/{jobs_v2.rb → jobs_v4.rb} +6 -6
  307. data/generated/google/apis/licensing_v1/classes.rb +26 -8
  308. data/generated/google/apis/licensing_v1/representations.rb +12 -0
  309. data/generated/google/apis/licensing_v1/service.rb +32 -29
  310. data/generated/google/apis/licensing_v1.rb +1 -1
  311. data/generated/google/apis/lifesciences_v2beta/classes.rb +25 -0
  312. data/generated/google/apis/lifesciences_v2beta/representations.rb +15 -0
  313. data/generated/google/apis/lifesciences_v2beta.rb +1 -1
  314. data/generated/google/apis/localservices_v1.rb +4 -1
  315. data/generated/google/apis/logging_v2/classes.rb +5 -4
  316. data/generated/google/apis/logging_v2.rb +1 -1
  317. data/generated/google/apis/managedidentities_v1/classes.rb +16 -11
  318. data/generated/google/apis/managedidentities_v1/representations.rb +0 -1
  319. data/generated/google/apis/managedidentities_v1.rb +1 -1
  320. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +18 -12
  321. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +0 -1
  322. data/generated/google/apis/managedidentities_v1alpha1.rb +1 -1
  323. data/generated/google/apis/managedidentities_v1beta1/classes.rb +4 -7
  324. data/generated/google/apis/managedidentities_v1beta1/representations.rb +0 -1
  325. data/generated/google/apis/managedidentities_v1beta1.rb +1 -1
  326. data/generated/google/apis/manufacturers_v1/classes.rb +2 -2
  327. data/generated/google/apis/manufacturers_v1.rb +1 -1
  328. data/generated/google/apis/metastore_v1beta/classes.rb +1151 -0
  329. data/generated/google/apis/metastore_v1beta/representations.rb +479 -0
  330. data/generated/google/apis/metastore_v1beta/service.rb +800 -0
  331. data/generated/google/apis/metastore_v1beta.rb +35 -0
  332. data/generated/google/apis/ml_v1/classes.rb +51 -24
  333. data/generated/google/apis/ml_v1/representations.rb +16 -1
  334. data/generated/google/apis/ml_v1.rb +1 -1
  335. data/generated/google/apis/monitoring_v3/classes.rb +15 -10
  336. data/generated/google/apis/monitoring_v3/service.rb +5 -4
  337. data/generated/google/apis/monitoring_v3.rb +1 -1
  338. data/generated/google/apis/notebooks_v1/classes.rb +13 -6
  339. data/generated/google/apis/notebooks_v1/representations.rb +12 -1
  340. data/generated/google/apis/notebooks_v1/service.rb +34 -0
  341. data/generated/google/apis/notebooks_v1.rb +1 -1
  342. data/generated/google/apis/osconfig_v1/classes.rb +419 -0
  343. data/generated/google/apis/osconfig_v1/representations.rb +168 -0
  344. data/generated/google/apis/osconfig_v1.rb +1 -1
  345. data/generated/google/apis/osconfig_v1beta/classes.rb +419 -0
  346. data/generated/google/apis/osconfig_v1beta/representations.rb +168 -0
  347. data/generated/google/apis/osconfig_v1beta.rb +1 -1
  348. data/generated/google/apis/pagespeedonline_v5/service.rb +3 -3
  349. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  350. data/generated/google/apis/people_v1/classes.rb +6 -2
  351. data/generated/google/apis/people_v1.rb +1 -1
  352. data/generated/google/apis/privateca_v1beta1/classes.rb +2 -1
  353. data/generated/google/apis/privateca_v1beta1.rb +1 -1
  354. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  355. data/generated/google/apis/pubsub_v1/classes.rb +0 -6
  356. data/generated/google/apis/pubsub_v1/representations.rb +0 -1
  357. data/generated/google/apis/pubsub_v1.rb +1 -1
  358. data/generated/google/apis/pubsub_v1beta2/classes.rb +0 -6
  359. data/generated/google/apis/pubsub_v1beta2/representations.rb +0 -1
  360. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  361. data/generated/google/apis/recommendationengine_v1beta1/service.rb +2 -1
  362. data/generated/google/apis/recommendationengine_v1beta1.rb +1 -1
  363. data/generated/google/apis/recommender_v1/classes.rb +2 -2
  364. data/generated/google/apis/recommender_v1.rb +1 -1
  365. data/generated/google/apis/recommender_v1beta1/classes.rb +2 -2
  366. data/generated/google/apis/recommender_v1beta1/service.rb +317 -0
  367. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  368. data/generated/google/apis/redis_v1/classes.rb +2 -2
  369. data/generated/google/apis/redis_v1.rb +1 -1
  370. data/generated/google/apis/redis_v1beta1/classes.rb +2 -2
  371. data/generated/google/apis/redis_v1beta1.rb +1 -1
  372. data/generated/google/apis/remotebuildexecution_v1/classes.rb +5 -30
  373. data/generated/google/apis/remotebuildexecution_v1/representations.rb +1 -16
  374. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  375. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +5 -30
  376. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +1 -16
  377. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  378. data/generated/google/apis/remotebuildexecution_v2/classes.rb +5 -30
  379. data/generated/google/apis/remotebuildexecution_v2/representations.rb +1 -16
  380. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  381. data/generated/google/apis/reseller_v1/service.rb +5 -5
  382. data/generated/google/apis/reseller_v1.rb +4 -4
  383. data/generated/google/apis/run_v1/classes.rb +2 -1
  384. data/generated/google/apis/run_v1.rb +1 -1
  385. data/generated/google/apis/run_v1alpha1/classes.rb +2 -1
  386. data/generated/google/apis/run_v1alpha1.rb +1 -1
  387. data/generated/google/apis/safebrowsing_v4/classes.rb +277 -277
  388. data/generated/google/apis/safebrowsing_v4/representations.rb +128 -128
  389. data/generated/google/apis/safebrowsing_v4/service.rb +44 -44
  390. data/generated/google/apis/safebrowsing_v4.rb +1 -1
  391. data/generated/google/apis/searchconsole_v1/classes.rb +7 -0
  392. data/generated/google/apis/searchconsole_v1/representations.rb +1 -0
  393. data/generated/google/apis/searchconsole_v1.rb +1 -1
  394. data/generated/google/apis/securitycenter_v1/classes.rb +109 -10
  395. data/generated/google/apis/securitycenter_v1/representations.rb +38 -0
  396. data/generated/google/apis/securitycenter_v1/service.rb +1464 -430
  397. data/generated/google/apis/securitycenter_v1.rb +1 -1
  398. data/generated/google/apis/securitycenter_v1beta1/classes.rb +75 -0
  399. data/generated/google/apis/securitycenter_v1beta1/representations.rb +33 -0
  400. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  401. data/generated/google/apis/securitycenter_v1beta2/classes.rb +75 -0
  402. data/generated/google/apis/securitycenter_v1beta2/representations.rb +33 -0
  403. data/generated/google/apis/securitycenter_v1beta2.rb +1 -1
  404. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +11 -10
  405. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +1 -1
  406. data/generated/google/apis/servicecontrol_v1/service.rb +2 -2
  407. data/generated/google/apis/servicecontrol_v1.rb +3 -3
  408. data/generated/google/apis/servicecontrol_v2/service.rb +2 -2
  409. data/generated/google/apis/servicecontrol_v2.rb +3 -3
  410. data/generated/google/apis/servicedirectory_v1/classes.rb +721 -0
  411. data/generated/google/apis/servicedirectory_v1/representations.rb +304 -0
  412. data/generated/google/apis/servicedirectory_v1/service.rb +957 -0
  413. data/generated/google/apis/servicedirectory_v1.rb +35 -0
  414. data/generated/google/apis/servicedirectory_v1beta1/classes.rb +0 -6
  415. data/generated/google/apis/servicedirectory_v1beta1/representations.rb +0 -1
  416. data/generated/google/apis/servicedirectory_v1beta1.rb +1 -1
  417. data/generated/google/apis/servicemanagement_v1/classes.rb +11 -10
  418. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  419. data/generated/google/apis/servicenetworking_v1/classes.rb +57 -4
  420. data/generated/google/apis/servicenetworking_v1/representations.rb +19 -1
  421. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  422. data/generated/google/apis/servicenetworking_v1beta/classes.rb +37 -4
  423. data/generated/google/apis/servicenetworking_v1beta/representations.rb +17 -1
  424. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  425. data/generated/google/apis/serviceusage_v1/classes.rb +11 -10
  426. data/generated/google/apis/serviceusage_v1.rb +1 -1
  427. data/generated/google/apis/serviceusage_v1beta1/classes.rb +11 -10
  428. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  429. data/generated/google/apis/sheets_v4/classes.rb +309 -0
  430. data/generated/google/apis/sheets_v4/representations.rb +99 -0
  431. data/generated/google/apis/sheets_v4.rb +1 -1
  432. data/generated/google/apis/slides_v1/classes.rb +9 -3
  433. data/generated/google/apis/slides_v1.rb +1 -1
  434. data/generated/google/apis/spanner_v1/classes.rb +9 -6
  435. data/generated/google/apis/spanner_v1/representations.rb +1 -1
  436. data/generated/google/apis/spanner_v1.rb +1 -1
  437. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  438. data/generated/google/apis/sqladmin_v1beta4/classes.rb +97 -14
  439. data/generated/google/apis/sqladmin_v1beta4/representations.rb +34 -0
  440. data/generated/google/apis/sqladmin_v1beta4/service.rb +5 -2
  441. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  442. data/generated/google/apis/storage_v1/classes.rb +7 -0
  443. data/generated/google/apis/storage_v1/representations.rb +1 -0
  444. data/generated/google/apis/storage_v1.rb +1 -1
  445. data/generated/google/apis/storagetransfer_v1/classes.rb +39 -16
  446. data/generated/google/apis/storagetransfer_v1/representations.rb +3 -0
  447. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  448. data/generated/google/apis/testing_v1/classes.rb +1 -1
  449. data/generated/google/apis/testing_v1.rb +1 -1
  450. data/generated/google/apis/trafficdirector_v2/service.rb +1 -1
  451. data/generated/google/apis/trafficdirector_v2.rb +2 -2
  452. data/generated/google/apis/transcoder_v1beta1/classes.rb +12 -2
  453. data/generated/google/apis/transcoder_v1beta1/representations.rb +1 -0
  454. data/generated/google/apis/transcoder_v1beta1.rb +1 -1
  455. data/generated/google/apis/translate_v3/classes.rb +1 -1
  456. data/generated/google/apis/translate_v3.rb +1 -1
  457. data/generated/google/apis/translate_v3beta1/classes.rb +1 -1
  458. data/generated/google/apis/translate_v3beta1.rb +1 -1
  459. data/generated/google/apis/vault_v1/classes.rb +76 -0
  460. data/generated/google/apis/vault_v1/representations.rb +45 -0
  461. data/generated/google/apis/vault_v1.rb +1 -1
  462. data/generated/google/apis/vectortile_v1/classes.rb +59 -4
  463. data/generated/google/apis/vectortile_v1/representations.rb +19 -0
  464. data/generated/google/apis/vectortile_v1.rb +1 -1
  465. data/generated/google/apis/videointelligence_v1/classes.rb +65 -0
  466. data/generated/google/apis/videointelligence_v1/representations.rb +15 -0
  467. data/generated/google/apis/videointelligence_v1.rb +1 -1
  468. data/generated/google/apis/videointelligence_v1beta2/classes.rb +65 -0
  469. data/generated/google/apis/videointelligence_v1beta2/representations.rb +15 -0
  470. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  471. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +65 -0
  472. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +15 -0
  473. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  474. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +65 -0
  475. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +15 -0
  476. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  477. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +65 -0
  478. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +15 -0
  479. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  480. data/generated/google/apis/webmasters_v3/classes.rb +8 -0
  481. data/generated/google/apis/webmasters_v3/representations.rb +1 -0
  482. data/generated/google/apis/workflows_v1beta/classes.rb +4 -4
  483. data/generated/google/apis/workflows_v1beta.rb +1 -1
  484. data/generated/google/apis/youtube_v3/classes.rb +20 -145
  485. data/generated/google/apis/youtube_v3/representations.rb +0 -57
  486. data/generated/google/apis/youtube_v3/service.rb +0 -43
  487. data/generated/google/apis/youtube_v3.rb +1 -1
  488. data/lib/google/apis/version.rb +1 -23
  489. metadata +55 -275
  490. data/.github/CONTRIBUTING.md +0 -31
  491. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -36
  492. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -21
  493. data/.github/ISSUE_TEMPLATE/support_request.md +0 -7
  494. data/.github/workflows/autoapprove.yml +0 -49
  495. data/.github/workflows/release-please.yml +0 -77
  496. data/.gitignore +0 -23
  497. data/.kokoro/build.bat +0 -11
  498. data/.kokoro/build.sh +0 -4
  499. data/.kokoro/continuous/common.cfg +0 -25
  500. data/.kokoro/continuous/linux.cfg +0 -25
  501. data/.kokoro/continuous/osx.cfg +0 -8
  502. data/.kokoro/continuous/post.cfg +0 -30
  503. data/.kokoro/continuous/windows.cfg +0 -29
  504. data/.kokoro/osx.sh +0 -4
  505. data/.kokoro/presubmit/common.cfg +0 -24
  506. data/.kokoro/presubmit/linux.cfg +0 -24
  507. data/.kokoro/presubmit/osx.cfg +0 -8
  508. data/.kokoro/presubmit/windows.cfg +0 -29
  509. data/.kokoro/release.cfg +0 -94
  510. data/.kokoro/trampoline.bat +0 -10
  511. data/.kokoro/trampoline.sh +0 -4
  512. data/.repo-metadata.json +0 -5
  513. data/.rspec +0 -2
  514. data/.rubocop.yml +0 -12
  515. data/.rubocop_todo.yml +0 -63
  516. data/CODE_OF_CONDUCT.md +0 -43
  517. data/Gemfile +0 -55
  518. data/MIGRATING.md +0 -215
  519. data/README.md +0 -402
  520. data/Rakefile +0 -131
  521. data/api_list_config.yaml +0 -9
  522. data/api_names.yaml +0 -1082
  523. data/bin/generate-api +0 -194
  524. data/docs/api-keys.md +0 -20
  525. data/docs/auth.md +0 -53
  526. data/docs/client-secrets.md +0 -69
  527. data/docs/getting-started.md +0 -340
  528. data/docs/installation.md +0 -0
  529. data/docs/logging.md +0 -34
  530. data/docs/media-upload.md +0 -25
  531. data/docs/oauth-installed.md +0 -191
  532. data/docs/oauth-server.md +0 -133
  533. data/docs/oauth-web.md +0 -280
  534. data/docs/oauth.md +0 -268
  535. data/docs/pagination.md +0 -29
  536. data/docs/performance.md +0 -25
  537. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +0 -426
  538. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +0 -195
  539. data/generated/google/apis/bigqueryreservation_v1alpha2/service.rb +0 -622
  540. data/generated/google/apis/jobs_v2/classes.rb +0 -4012
  541. data/generated/google/apis/jobs_v2/representations.rb +0 -1396
  542. data/generated/google/apis/jobs_v2/service.rb +0 -693
  543. data/google-api-client.gemspec +0 -36
  544. data/lib/google/api_client/auth/installed_app.rb +0 -143
  545. data/lib/google/api_client/auth/key_utils.rb +0 -94
  546. data/lib/google/api_client/auth/storage.rb +0 -104
  547. data/lib/google/api_client/auth/storages/file_store.rb +0 -57
  548. data/lib/google/api_client/auth/storages/redis_store.rb +0 -59
  549. data/lib/google/api_client/client_secrets.rb +0 -176
  550. data/lib/google/apis/core/api_command.rb +0 -209
  551. data/lib/google/apis/core/base_service.rb +0 -447
  552. data/lib/google/apis/core/batch.rb +0 -236
  553. data/lib/google/apis/core/composite_io.rb +0 -97
  554. data/lib/google/apis/core/download.rb +0 -118
  555. data/lib/google/apis/core/hashable.rb +0 -44
  556. data/lib/google/apis/core/http_command.rb +0 -447
  557. data/lib/google/apis/core/json_representation.rb +0 -153
  558. data/lib/google/apis/core/multipart.rb +0 -135
  559. data/lib/google/apis/core/upload.rb +0 -273
  560. data/lib/google/apis/errors.rb +0 -89
  561. data/lib/google/apis/generator/annotator.rb +0 -339
  562. data/lib/google/apis/generator/helpers.rb +0 -76
  563. data/lib/google/apis/generator/model.rb +0 -187
  564. data/lib/google/apis/generator/template.rb +0 -124
  565. data/lib/google/apis/generator/templates/_class.tmpl +0 -43
  566. data/lib/google/apis/generator/templates/_method.tmpl +0 -92
  567. data/lib/google/apis/generator/templates/_representation.tmpl +0 -51
  568. data/lib/google/apis/generator/templates/_representation_stub.tmpl +0 -17
  569. data/lib/google/apis/generator/templates/_representation_type.tmpl +0 -10
  570. data/lib/google/apis/generator/templates/classes.rb.tmpl +0 -29
  571. data/lib/google/apis/generator/templates/module.rb.tmpl +0 -40
  572. data/lib/google/apis/generator/templates/representations.rb.tmpl +0 -32
  573. data/lib/google/apis/generator/templates/service.rb.tmpl +0 -61
  574. data/lib/google/apis/generator.rb +0 -71
  575. data/lib/google/apis/options.rb +0 -116
  576. data/lib/google/apis.rb +0 -58
  577. data/rakelib/devsite/devsite_builder.rb +0 -126
  578. data/rakelib/devsite/link_checker.rb +0 -64
  579. data/rakelib/devsite/repo_metadata.rb +0 -56
  580. data/rakelib/metrics.rake +0 -22
  581. data/rakelib/rubocop.rake +0 -10
  582. data/rakelib/spec.rake +0 -11
  583. data/rakelib/yard.rake +0 -11
  584. data/samples/cli/.env +0 -4
  585. data/samples/cli/Gemfile +0 -7
  586. data/samples/cli/README.md +0 -51
  587. data/samples/cli/google-api-samples +0 -32
  588. data/samples/cli/lib/base_cli.rb +0 -95
  589. data/samples/cli/lib/samples/adsense.rb +0 -99
  590. data/samples/cli/lib/samples/analytics.rb +0 -80
  591. data/samples/cli/lib/samples/androidpublisher.rb +0 -47
  592. data/samples/cli/lib/samples/bigquery.rb +0 -101
  593. data/samples/cli/lib/samples/calendar.rb +0 -83
  594. data/samples/cli/lib/samples/drive.rb +0 -82
  595. data/samples/cli/lib/samples/gmail.rb +0 -157
  596. data/samples/cli/lib/samples/pubsub.rb +0 -114
  597. data/samples/cli/lib/samples/sheets.rb +0 -61
  598. data/samples/cli/lib/samples/translate.rb +0 -44
  599. data/samples/cli/lib/samples/vision.rb +0 -69
  600. data/samples/cli/lib/samples/you_tube.rb +0 -47
  601. data/samples/web/Gemfile +0 -9
  602. data/samples/web/README.md +0 -44
  603. data/samples/web/app.rb +0 -120
  604. data/samples/web/views/calendar.erb +0 -34
  605. data/samples/web/views/drive.erb +0 -33
  606. data/samples/web/views/home.erb +0 -34
  607. data/samples/web/views/layout.erb +0 -40
  608. data/synth.py +0 -40
@@ -1,339 +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 'logger'
16
- require 'erb'
17
- require 'yaml'
18
- require 'json'
19
- require 'active_support/inflector'
20
- require 'google/apis/core/logging'
21
- require 'google/apis/generator/template'
22
- require 'google/apis/generator/model'
23
- require 'google/apis/generator/helpers'
24
- require 'addressable/uri'
25
-
26
- module Google
27
- module Apis
28
-
29
- # @private
30
- class Generator
31
-
32
- # Helper for picking names for methods, properties, types, etc. Performs various normaliations
33
- # as well as allows for overriding individual names from a configuration file for cases
34
- # where algorithmic approaches produce poor APIs.
35
- class Names
36
- ActiveSupport::Inflector.inflections do |inflections|
37
- inflections.uncountable('send_as', 'as')
38
- inflections.irregular('drive', 'drives')
39
- inflections.irregular('teamdrive', 'teamdrives')
40
- end
41
-
42
- include Google::Apis::Core::Logging
43
- include NameHelpers
44
-
45
- def initialize(names_out_file_path = nil, names_file_path = nil)
46
- if names_out_file_path && File.file?(names_out_file_path)
47
- logger.info { sprintf('Loading API names from %s', names_out_file_path) }
48
- @names = YAML.load(File.read(names_out_file_path)) || {}
49
- else
50
- @names = {}
51
- end
52
- if names_file_path && File.file?(names_file_path)
53
- logger.info { sprintf('Loading API names from %s', names_file_path) }
54
- @names = @names.merge(YAML.load(File.read(names_file_path)) || {})
55
- end
56
- @path = []
57
- end
58
-
59
- def with_path(path)
60
- @path.push(path)
61
- begin
62
- yield
63
- ensure
64
- @path.pop
65
- end
66
- end
67
-
68
- def infer_parameter_name
69
- pick_name(normalize_param_name(@path.last))
70
- end
71
-
72
- def infer_property_name
73
- pick_name(normalize_property_name(@path.last))
74
- end
75
-
76
- def pick_name(alt_name)
77
- preferred_name = @names[key]
78
- if preferred_name && preferred_name == alt_name
79
- # logger.warn { sprintf("Unnecessary name override '%s': %s", key, alt_name) }
80
- elsif preferred_name.nil?
81
- preferred_name = @names[key] = alt_name
82
- end
83
- preferred_name
84
- end
85
-
86
- def [](key)
87
- @names[key]
88
- end
89
-
90
- def []=(key, value)
91
- @names[key] = value
92
- end
93
-
94
- def dump
95
- YAML.dump(Hash[@names.sort])
96
- end
97
-
98
- def key
99
- @path.reduce('') { |a, e| a + '/' + e }
100
- end
101
-
102
- def option(opt_name)
103
- @names[sprintf('%s?%s', key, opt_name)]
104
- end
105
-
106
- # For RPC style methods, pick a name based off the request objects.
107
- # @param [Google::Apis::DiscoveryV1::RestMethod] method
108
- # @param [Boolean] pick_name
109
- # Fragment of the discovery doc describing the method
110
- def infer_method_name_for_rpc(method, pick_name = true)
111
- return nil if method.request.nil?
112
- parts = method.id.split('.')
113
- parts.shift
114
- verb = ActiveSupport::Inflector.underscore(parts.pop)
115
- match = method.request._ref.match(/(.*)(?i:request)/)
116
- return nil if match.nil?
117
- name = ActiveSupport::Inflector.underscore(match[1])
118
- return nil unless name == verb || name.start_with?(verb + '_')
119
- if !parts.empty?
120
- resource_name = ActiveSupport::Inflector.singularize(parts.pop)
121
- resource_name = ActiveSupport::Inflector.underscore(resource_name)
122
- if !name.include?(resource_name)
123
- name = name.split('_').insert(1, resource_name).join('_')
124
- end
125
- end
126
- if pick_name
127
- pick_name(name)
128
- else
129
- name
130
- end
131
- end
132
-
133
- # For REST style methods, build a method name from the verb/resource(s) in the method
134
- # id. IDs are in the form <api>.<resource>.<verb>
135
- # @param [Google::Apis::DiscoveryV1::RestMethod] method
136
- # Fragment of the discovery doc describing the method
137
- def infer_method_name_from_id(method)
138
- parts = method.id.split('.')
139
- parts.shift
140
- verb = ActiveSupport::Inflector.underscore(parts.pop)
141
- return verb if parts.empty?
142
- resource_name = ActiveSupport::Inflector.underscore(parts.pop)
143
- if pluralize_method?(verb)
144
- resource_name = ActiveSupport::Inflector.pluralize(resource_name)
145
- else
146
- resource_name = ActiveSupport::Inflector.singularize(resource_name)
147
- end
148
- if parts.empty?
149
- resource_path = resource_name
150
- else
151
- resource_path = parts.map do |p|
152
- p = ActiveSupport::Inflector.singularize(p)
153
- ActiveSupport::Inflector.underscore(p)
154
- end.join('_') + '_' + resource_name
155
- end
156
- method_name = verb.split('_').insert(1, resource_path.split('_')).join('_')
157
- pick_name(method_name)
158
- end
159
- end
160
-
161
- # Modifies an API description to support ruby code generation. Primarily does:
162
- # - Ensure all names follow appopriate ruby conventions
163
- # - Maps types to ruby types, classes, and resolves $refs
164
- # - Attempts to simplify names where possible to make APIs more sensible
165
- class Annotator
166
- include NameHelpers
167
- include Google::Apis::Core::Logging
168
-
169
- # Prepare the API for the templates.
170
- # @param [Google::Apis::DiscoveryV1::RestDescription] description
171
- # API Description
172
- def self.process(description, api_names = nil)
173
- Annotator.new(description, api_names).annotate_api
174
- end
175
-
176
- # @param [Google::Apis::DiscoveryV1::RestDescription] description
177
- # API Description
178
- # @param [Google::Api::Generator::Names] api_names
179
- # Name helper instanace
180
- def initialize(description, api_names = nil)
181
- api_names = Names.new if api_names.nil?
182
- @names = api_names
183
- @rest_description = description
184
- @registered_types = []
185
- @deferred_types = []
186
- @strip_prefixes = []
187
- @all_methods = {}
188
- @dup_method_names_for_rpc = collect_dup_method_names_for_rpc
189
- @path = []
190
- end
191
-
192
- def collect_method_names_for_rpc(resource, method_names_for_rpc)
193
- resource.api_methods.each do |_k, v|
194
- # First look for the method name in the `@names` hash. If there's
195
- # no override set, generate it without inserting the generated name
196
- # into the `@names` hash.
197
- method_name_for_rpc = @names[@names.key]
198
- if method_name_for_rpc.nil?
199
- method_name_for_rpc = @names.infer_method_name_for_rpc(v, false)
200
- end
201
- method_names_for_rpc << method_name_for_rpc if method_name_for_rpc
202
- end unless resource.api_methods.nil?
203
-
204
- resource.resources.each do |_k, v|
205
- collect_method_names_for_rpc(v, method_names_for_rpc)
206
- end unless resource.resources.nil?
207
- end
208
-
209
- def collect_dup_method_names_for_rpc
210
- method_names_for_rpc = []
211
- collect_method_names_for_rpc(@rest_description, method_names_for_rpc)
212
- method_names_for_rpc.group_by{ |e| e }.select { |k, v| v.size > 1 }.map(&:first)
213
- end
214
-
215
- def annotate_api
216
- @names.with_path(@rest_description.id) do
217
- @strip_prefixes << @rest_description.name
218
- if @rest_description.auth
219
- @rest_description.auth.oauth2.scopes.each do |key, value|
220
- value.constant = constantize_scope(key)
221
- end
222
- end
223
- @rest_description.force_alt_json = @names.option('force_alt_json')
224
- annotate_parameters(@rest_description.parameters)
225
- annotate_resource(@rest_description.name, @rest_description)
226
- @rest_description.schemas.each do |k, v|
227
- annotate_type(k, v, @rest_description)
228
- end unless @rest_description.schemas.nil?
229
- end
230
- resolve_type_references
231
- resolve_variants
232
- end
233
-
234
- def annotate_type(name, type, parent)
235
- @names.with_path(name) do
236
- type.name = name
237
- type.path = @names.key
238
- type.generated_name = @names.infer_property_name
239
- if type.type == 'object'
240
- type.generated_class_name = ActiveSupport::Inflector.camelize(type.generated_name)
241
- @registered_types << type
242
- end
243
- type.parent = parent
244
- @deferred_types << type if type._ref
245
- type.properties.each do |k, v|
246
- annotate_type(k, v, type)
247
- end unless type.properties.nil?
248
- if type.additional_properties
249
- type.type = 'hash'
250
- annotate_type(ActiveSupport::Inflector.singularize(type.generated_name), type.additional_properties,
251
- parent)
252
- end
253
- annotate_type(ActiveSupport::Inflector.singularize(type.generated_name), type.items, parent) if type.items
254
- end
255
- end
256
-
257
- def annotate_resource(name, resource, parent_resource = nil)
258
- @strip_prefixes << name
259
- resource.parent = parent_resource unless parent_resource.nil?
260
- resource.api_methods.each do |_k, v|
261
- annotate_method(v, resource)
262
- end unless resource.api_methods.nil?
263
-
264
- resource.resources.each do |k, v|
265
- annotate_resource(k, v, resource)
266
- end unless resource.resources.nil?
267
- end
268
-
269
- def annotate_method(method, parent_resource = nil)
270
- @names.with_path(method.id) do
271
- method.parent = parent_resource
272
- # Grab the method name generated from the request object without
273
- # inserting into, or querying, the names hash.
274
- method_name_for_rpc = @names.infer_method_name_for_rpc(method, false)
275
- # If `method_name_for_rpc` is a duplicate (more than one method in
276
- # the API will generate this name), generate the method name from
277
- # the method ID instead.
278
- if @dup_method_names_for_rpc.include?(method_name_for_rpc)
279
- method.generated_name = @names.infer_method_name_from_id(method)
280
- # Otherwise, proceed as normal.
281
- elsif method_name_for_rpc
282
- method.generated_name = @names.infer_method_name_for_rpc(method)
283
- else
284
- method.generated_name = @names.infer_method_name_from_id(method)
285
- end
286
- check_duplicate_method(method)
287
- annotate_parameters(method.parameters)
288
- end
289
- end
290
-
291
- def annotate_parameters(parameters)
292
- parameters.each do |key, value|
293
- @names.with_path(key) do
294
- value.name = key
295
- value.generated_name = @names.infer_parameter_name
296
- @deferred_types << value if value._ref
297
- end
298
- end unless parameters.nil?
299
- end
300
-
301
- def resolve_type_references
302
- @deferred_types.each do |type|
303
- if type._ref
304
- ref = @rest_description.schemas[type._ref]
305
- ivars = ref.instance_variables - [:@name, :@generated_name]
306
- (ivars).each do |var|
307
- type.instance_variable_set(var, ref.instance_variable_get(var))
308
- end
309
- end
310
- end
311
- end
312
-
313
- def resolve_variants
314
- @deferred_types.each do |type|
315
- if type.variant
316
- type.variant.map.each do |v|
317
- ref = @rest_description.schemas[v._ref]
318
- ref.base_ref = type
319
- ref.discriminant = type.variant.discriminant
320
- ref.discriminant_value = v.type_value
321
- end
322
- end
323
- end
324
- end
325
-
326
- def check_duplicate_method(m)
327
- if @all_methods.include?(m.generated_name)
328
- logger.error do
329
- sprintf('Duplicate method %s generated, conflicting paths %s and %s',
330
- m.generated_name, @names.key, @all_methods[m.generated_name])
331
- end
332
- fail 'Duplicate name generated'
333
- end
334
- @all_methods[m.generated_name] = @names.key
335
- end
336
- end
337
- end
338
- end
339
- end
@@ -1,76 +0,0 @@
1
- module Google
2
- module Apis
3
- # @private
4
- class Generator
5
- # Methods for validating & normalizing symbols
6
- module NameHelpers
7
- KEYWORDS = %w(__ENCODING__ def in self __LINE__ defined? module super __FILE__ do next then BEGIN
8
- else nil true END elsif not undef alias end or unless and ensure redo until begin
9
- false rescue when break for retry while case if return yield class command)
10
- PLURAL_METHODS = %w(list search)
11
-
12
- # Check to see if the method name should be plauralized
13
- # @return [Boolean]
14
- def pluralize_method?(method_name)
15
- PLURAL_METHODS.include?(method_name)
16
- end
17
-
18
- # Check to see if the method is either a keyword or built-in method on object
19
- # @return [Boolean]
20
- def reserved?(name)
21
- keyword?(name) || object_method?(name)
22
- end
23
-
24
- # Check to see if the name is a ruby keyword
25
- # @return [Boolean]
26
- def keyword?(name)
27
- KEYWORDS.include?(name)
28
- end
29
-
30
- # Check to see if the method already exists on ruby objects
31
- # @return [Boolean]
32
- def object_method?(name)
33
- Object.new.respond_to?(name)
34
- end
35
-
36
- # Convert a parameter name to ruby conventions
37
- # @param [String] name
38
- # @return [String] updated param name
39
- def normalize_param_name(name)
40
- name = name.gsub(/\W/, '_')
41
- name = name.gsub(/IPv4/, 'Ipv4')
42
- name = ActiveSupport::Inflector.underscore(name)
43
- if reserved?(name)
44
- logger.warn { sprintf('Found reserved keyword \'%1$s\'', name) }
45
- name += '_'
46
- logger.warn { sprintf('Changed to \'%1$s\'', name) }
47
- end
48
- name
49
- end
50
-
51
- # Convert a property name to ruby conventions
52
- # @param [String] name
53
- # @return [String]
54
- def normalize_property_name(name)
55
- name = ActiveSupport::Inflector.underscore(name.gsub(/\W/, '_'))
56
- if object_method?(name)
57
- logger.warn { sprintf('Found reserved property \'%1$s\'', name) }
58
- name += '_prop'
59
- logger.warn { sprintf('Changed to \'%1$s\'', name) }
60
- end
61
- name
62
- end
63
-
64
- # Converts a scope string into a ruby constant
65
- # @param [String] url
66
- # Url to convert
67
- # @return [String]
68
- def constantize_scope(url)
69
- scope = Addressable::URI.parse(url).path[1..-1].upcase.gsub(/\W/, '_')
70
- scope = 'AUTH_SCOPE' if scope.nil? || scope.empty?
71
- scope
72
- end
73
- end
74
- end
75
- end
76
- end
@@ -1,187 +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 'active_support/inflector'
16
- require 'google/apis/discovery_v1'
17
-
18
- # Extend the discovery API classes with additional data needed to make
19
- # code generation produce better results
20
- module Google
21
- module Apis
22
- module DiscoveryV1
23
- TYPE_MAP = {
24
- 'string' => 'String',
25
- 'boolean' => 'Boolean',
26
- 'number' => 'Float',
27
- 'integer' => 'Fixnum',
28
- 'any' => 'Object'
29
- }
30
-
31
- class JsonSchema
32
- attr_accessor :name
33
- attr_accessor :generated_name
34
- attr_accessor :generated_class_name
35
- attr_accessor :base_ref
36
- attr_accessor :parent
37
- attr_accessor :discriminant
38
- attr_accessor :discriminant_value
39
- attr_accessor :path
40
-
41
- def properties
42
- Hash[(@properties || {}).sort]
43
- end
44
-
45
- def qualified_name
46
- parent.qualified_name + '::' + generated_class_name
47
- end
48
-
49
- def generated_type
50
- case type
51
- when 'string', 'boolean', 'number', 'integer', 'any'
52
- return 'DateTime' if format == 'date-time'
53
- return 'Date' if format == 'date'
54
- return 'Fixnum' if format == 'int64'
55
- return 'Fixnum' if format == 'uint64'
56
- return TYPE_MAP[type]
57
- when 'array'
58
- if items == self
59
- return sprintf('Array<%s>', qualified_name)
60
- end
61
- return sprintf('Array<%s>', items.generated_type)
62
- when 'hash'
63
- if additional_properties == self
64
- return sprintf('Hash<String,%s>', qualified_name)
65
- end
66
- return sprintf('Hash<String,%s>', additional_properties.generated_type)
67
- when 'object'
68
- return qualified_name
69
- end
70
- end
71
- end
72
-
73
- class RestMethod
74
- attr_accessor :generated_name
75
- attr_accessor :parent
76
-
77
- def parameters
78
- Hash[(@parameters || {}).sort]
79
- end
80
-
81
- def path_parameters
82
- return [] if parameter_order.nil? || parameters.nil?
83
- parameter_order.map { |name| parameters[name] }.select { |param| param.location == 'path' }
84
- end
85
-
86
- def query_parameters
87
- return [] if parameters.nil?
88
- parameters.values.select { |param| param.location == 'query' }
89
- end
90
-
91
- def required_parameters
92
- return [] if parameter_order.nil? || parameters.nil?
93
- parameter_order.map { |name| parameters[name] }.select { |param| param.location == 'path' || param.required }
94
- end
95
-
96
- def optional_query_parameters
97
- query_parameters.select { |param| param.required != true }
98
- end
99
-
100
- end
101
-
102
- class RestResource
103
- attr_accessor :parent
104
-
105
- def api_methods
106
- Hash[(@api_methods || {}).sort]
107
- end
108
-
109
- def resources
110
- Hash[(@resources || {}).sort]
111
- end
112
-
113
- def all_methods
114
- m = []
115
- m << api_methods.values unless api_methods.nil?
116
- m << resources.map { |_k, r| r.all_methods } unless resources.nil?
117
- m.flatten
118
- end
119
- end
120
-
121
- class RestDescription
122
- attr_accessor :force_alt_json
123
- alias_method :force_alt_json?, :force_alt_json
124
-
125
- # Don't expose these in the API directly.
126
- PARAMETER_BLACKLIST = %w(alt access_token bearer_token oauth_token pp prettyPrint
127
- $.xgafv callback upload_protocol uploadType)
128
-
129
- def version
130
- ActiveSupport::Inflector.camelize(@version.gsub(/\W/, '-')).gsub(/-/, '_')
131
- end
132
-
133
- def name
134
- ActiveSupport::Inflector.camelize(@name)
135
- end
136
-
137
- def module_name
138
- name + version
139
- end
140
-
141
- def qualified_name
142
- sprintf('Google::Apis::%s', module_name)
143
- end
144
-
145
- def service_name
146
- class_name = (canonical_name || name).gsub(/\W/, '')
147
- ActiveSupport::Inflector.camelize(sprintf('%sService', class_name))
148
- end
149
-
150
- def api_methods
151
- Hash[(@api_methods || {}).sort]
152
- end
153
-
154
- def resources
155
- Hash[(@resources || {}).sort]
156
- end
157
-
158
- def all_methods
159
- m = []
160
- m << api_methods.values unless api_methods.nil?
161
- m << resources.map { |_k, r| r.all_methods } unless resources.nil?
162
- m.flatten
163
- end
164
-
165
- def parameters
166
- Hash[(@parameters || {}).sort].delete_if { |k, _v| PARAMETER_BLACKLIST.include?(k) }
167
- end
168
-
169
- def schemas
170
- Hash[(@schemas || {}).sort]
171
- end
172
-
173
- class Auth
174
- class Oauth2
175
- class Scope
176
- attr_accessor :constant
177
- end
178
-
179
- def scopes
180
- Hash[(@scopes || {}).sort]
181
- end
182
- end
183
- end
184
- end
185
- end
186
- end
187
- end