google-api-client 0.50.0 → 0.53.0

Sign up to get free protection for your applications and to get access to all the features.
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