google-api-client 0.51.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 (418) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +0 -14
  3. data/CHANGELOG.md +106 -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/admin_datatransfer_v1/classes.rb +6 -16
  9. data/generated/google/apis/admin_datatransfer_v1/service.rb +3 -3
  10. data/generated/google/apis/admin_datatransfer_v1.rb +2 -2
  11. data/generated/google/apis/admin_directory_v1/classes.rb +453 -321
  12. data/generated/google/apis/admin_directory_v1/representations.rb +15 -15
  13. data/generated/google/apis/admin_directory_v1/service.rb +325 -185
  14. data/generated/google/apis/admin_directory_v1.rb +2 -2
  15. data/generated/google/apis/admin_reports_v1/classes.rb +48 -43
  16. data/generated/google/apis/admin_reports_v1/service.rb +198 -179
  17. data/generated/google/apis/admin_reports_v1.rb +2 -2
  18. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  19. data/generated/google/apis/analytics_v3/service.rb +1 -1
  20. data/generated/google/apis/analyticsadmin_v1alpha/classes.rb +10 -2
  21. data/generated/google/apis/analyticsadmin_v1alpha/representations.rb +1 -0
  22. data/generated/google/apis/analyticsadmin_v1alpha/service.rb +17 -13
  23. data/generated/google/apis/analyticsadmin_v1alpha.rb +2 -2
  24. data/generated/google/apis/analyticsdata_v1alpha/classes.rb +11 -11
  25. data/generated/google/apis/analyticsdata_v1alpha.rb +1 -1
  26. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  27. data/generated/google/apis/apigateway_v1/classes.rb +1116 -0
  28. data/generated/google/apis/apigateway_v1/representations.rb +442 -0
  29. data/generated/google/apis/apigateway_v1/service.rb +1172 -0
  30. data/{lib/google/apis/generator/templates/classes.rb.tmpl → generated/google/apis/apigateway_v1.rb} +14 -9
  31. data/generated/google/apis/apigateway_v1beta/classes.rb +22 -17
  32. data/generated/google/apis/apigateway_v1beta/representations.rb +1 -1
  33. data/generated/google/apis/apigateway_v1beta.rb +1 -1
  34. data/generated/google/apis/apigee_v1/classes.rb +95 -22
  35. data/generated/google/apis/apigee_v1/representations.rb +42 -0
  36. data/generated/google/apis/apigee_v1/service.rb +256 -48
  37. data/generated/google/apis/apigee_v1.rb +1 -1
  38. data/generated/google/apis/appengine_v1/classes.rb +7 -0
  39. data/generated/google/apis/appengine_v1/representations.rb +1 -0
  40. data/generated/google/apis/appengine_v1.rb +1 -1
  41. data/generated/google/apis/artifactregistry_v1/classes.rb +242 -0
  42. data/generated/google/apis/artifactregistry_v1/representations.rb +116 -0
  43. data/generated/google/apis/artifactregistry_v1/service.rb +210 -0
  44. data/generated/google/apis/artifactregistry_v1.rb +38 -0
  45. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +0 -120
  46. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +0 -62
  47. data/generated/google/apis/artifactregistry_v1beta1/service.rb +4 -1
  48. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  49. data/generated/google/apis/artifactregistry_v1beta2/classes.rb +0 -120
  50. data/generated/google/apis/artifactregistry_v1beta2/representations.rb +0 -62
  51. data/generated/google/apis/artifactregistry_v1beta2/service.rb +4 -1
  52. data/generated/google/apis/artifactregistry_v1beta2.rb +1 -1
  53. data/generated/google/apis/chat_v1/service.rb +132 -0
  54. data/generated/google/apis/chat_v1.rb +1 -1
  55. data/generated/google/apis/cloudasset_v1/classes.rb +326 -0
  56. data/generated/google/apis/cloudasset_v1/representations.rb +139 -0
  57. data/generated/google/apis/cloudasset_v1.rb +1 -1
  58. data/generated/google/apis/cloudasset_v1beta1/classes.rb +326 -0
  59. data/generated/google/apis/cloudasset_v1beta1/representations.rb +139 -0
  60. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  61. data/generated/google/apis/cloudasset_v1p5beta1/classes.rb +326 -0
  62. data/generated/google/apis/cloudasset_v1p5beta1/representations.rb +139 -0
  63. data/generated/google/apis/cloudasset_v1p5beta1.rb +1 -1
  64. data/generated/google/apis/cloudbuild_v1/classes.rb +3 -3
  65. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  66. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +3 -3
  67. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  68. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +3 -3
  69. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  70. data/generated/google/apis/cloudfunctions_v1/classes.rb +6 -0
  71. data/generated/google/apis/cloudfunctions_v1/representations.rb +1 -0
  72. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  73. data/generated/google/apis/cloudidentity_v1/classes.rb +240 -0
  74. data/generated/google/apis/cloudidentity_v1/representations.rb +125 -0
  75. data/generated/google/apis/cloudidentity_v1/service.rb +202 -2
  76. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  77. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +1 -1
  78. data/generated/google/apis/cloudidentity_v1beta1/service.rb +8 -2
  79. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  80. data/generated/google/apis/cloudkms_v1/classes.rb +0 -6
  81. data/generated/google/apis/cloudkms_v1/representations.rb +0 -1
  82. data/generated/google/apis/cloudkms_v1.rb +1 -1
  83. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +0 -26
  84. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +0 -24
  85. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  86. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +0 -26
  87. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +0 -24
  88. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  89. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +0 -26
  90. data/generated/google/apis/cloudresourcemanager_v2/representations.rb +0 -24
  91. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  92. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +0 -26
  93. data/generated/google/apis/cloudresourcemanager_v2beta1/representations.rb +0 -24
  94. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  95. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +19 -0
  96. data/generated/google/apis/cloudscheduler_v1beta1/representations.rb +2 -0
  97. data/generated/google/apis/cloudscheduler_v1beta1/service.rb +12 -2
  98. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  99. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +59 -0
  100. data/generated/google/apis/cloudtasks_v2beta2/representations.rb +19 -0
  101. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  102. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +102 -0
  103. data/generated/google/apis/cloudtasks_v2beta3/representations.rb +35 -0
  104. data/generated/google/apis/cloudtasks_v2beta3/service.rb +16 -2
  105. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  106. data/generated/google/apis/composer_v1beta1/classes.rb +64 -0
  107. data/generated/google/apis/composer_v1beta1/representations.rb +18 -0
  108. data/generated/google/apis/composer_v1beta1.rb +1 -1
  109. data/generated/google/apis/compute_alpha/classes.rb +1071 -341
  110. data/generated/google/apis/compute_alpha/representations.rb +248 -19
  111. data/generated/google/apis/compute_alpha/service.rb +291 -15
  112. data/generated/google/apis/compute_alpha.rb +1 -1
  113. data/generated/google/apis/compute_beta/classes.rb +926 -283
  114. data/generated/google/apis/compute_beta/representations.rb +221 -18
  115. data/generated/google/apis/compute_beta/service.rb +24 -15
  116. data/generated/google/apis/compute_beta.rb +1 -1
  117. data/generated/google/apis/compute_v1/classes.rb +419 -158
  118. data/generated/google/apis/compute_v1/representations.rb +55 -0
  119. data/generated/google/apis/compute_v1/service.rb +9 -7
  120. data/generated/google/apis/compute_v1.rb +1 -1
  121. data/generated/google/apis/container_v1/classes.rb +55 -16
  122. data/generated/google/apis/container_v1/representations.rb +17 -0
  123. data/generated/google/apis/container_v1/service.rb +4 -2
  124. data/generated/google/apis/container_v1.rb +1 -1
  125. data/generated/google/apis/container_v1beta1/classes.rb +31 -20
  126. data/generated/google/apis/container_v1beta1/representations.rb +2 -0
  127. data/generated/google/apis/container_v1beta1/service.rb +6 -2
  128. data/generated/google/apis/container_v1beta1.rb +1 -1
  129. data/generated/google/apis/content_v2_1/classes.rb +450 -7
  130. data/generated/google/apis/content_v2_1/representations.rb +188 -0
  131. data/generated/google/apis/content_v2_1/service.rb +116 -0
  132. data/generated/google/apis/content_v2_1.rb +1 -1
  133. data/generated/google/apis/datacatalog_v1beta1/classes.rb +6 -0
  134. data/generated/google/apis/datacatalog_v1beta1/representations.rb +1 -0
  135. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  136. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  137. data/generated/google/apis/datalabeling_v1beta1.rb +1 -1
  138. data/generated/google/apis/datamigration_v1beta1/classes.rb +0 -6
  139. data/generated/google/apis/datamigration_v1beta1/representations.rb +0 -1
  140. data/generated/google/apis/datamigration_v1beta1.rb +1 -1
  141. data/generated/google/apis/dataproc_v1/classes.rb +29 -1
  142. data/generated/google/apis/dataproc_v1/representations.rb +14 -0
  143. data/generated/google/apis/dataproc_v1/service.rb +42 -0
  144. data/generated/google/apis/dataproc_v1.rb +1 -1
  145. data/generated/google/apis/dataproc_v1beta2/classes.rb +29 -1
  146. data/generated/google/apis/dataproc_v1beta2/representations.rb +14 -0
  147. data/generated/google/apis/dataproc_v1beta2/service.rb +42 -0
  148. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  149. data/generated/google/apis/deploymentmanager_alpha/classes.rb +276 -644
  150. data/generated/google/apis/deploymentmanager_alpha/representations.rb +10 -143
  151. data/generated/google/apis/deploymentmanager_alpha/service.rb +247 -398
  152. data/generated/google/apis/deploymentmanager_alpha.rb +6 -5
  153. data/generated/google/apis/deploymentmanager_v2/service.rb +5 -25
  154. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  155. data/generated/google/apis/deploymentmanager_v2beta/service.rb +8 -40
  156. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  157. data/generated/google/apis/dialogflow_v2/classes.rb +4339 -284
  158. data/generated/google/apis/dialogflow_v2/representations.rb +2090 -211
  159. data/generated/google/apis/dialogflow_v2.rb +1 -1
  160. data/generated/google/apis/dialogflow_v2beta1/classes.rb +4341 -286
  161. data/generated/google/apis/dialogflow_v2beta1/representations.rb +2097 -218
  162. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  163. data/generated/google/apis/dialogflow_v3/classes.rb +11752 -0
  164. data/generated/google/apis/dialogflow_v3/representations.rb +5158 -0
  165. data/generated/google/apis/dialogflow_v3/service.rb +3414 -0
  166. data/generated/google/apis/{bigqueryreservation_v1alpha2.rb → dialogflow_v3.rb} +13 -12
  167. data/generated/google/apis/dialogflow_v3beta1/classes.rb +5147 -1554
  168. data/generated/google/apis/dialogflow_v3beta1/representations.rb +1966 -221
  169. data/generated/google/apis/dialogflow_v3beta1/service.rb +581 -0
  170. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  171. data/generated/google/apis/dlp_v2/service.rb +297 -10
  172. data/generated/google/apis/dlp_v2.rb +1 -1
  173. data/generated/google/apis/dns_v1/classes.rb +65 -0
  174. data/generated/google/apis/dns_v1/representations.rb +32 -0
  175. data/generated/google/apis/dns_v1.rb +1 -1
  176. data/generated/google/apis/documentai_v1beta2/classes.rb +217 -186
  177. data/generated/google/apis/documentai_v1beta2/representations.rb +107 -24
  178. data/generated/google/apis/documentai_v1beta2.rb +1 -1
  179. data/generated/google/apis/documentai_v1beta3/classes.rb +238 -201
  180. data/generated/google/apis/documentai_v1beta3/representations.rb +107 -24
  181. data/generated/google/apis/documentai_v1beta3/service.rb +81 -2
  182. data/generated/google/apis/documentai_v1beta3.rb +1 -1
  183. data/generated/google/apis/eventarc_v1beta1/classes.rb +8 -9
  184. data/generated/google/apis/eventarc_v1beta1/service.rb +25 -5
  185. data/generated/google/apis/eventarc_v1beta1.rb +1 -1
  186. data/generated/google/apis/file_v1/classes.rb +61 -0
  187. data/generated/google/apis/file_v1/representations.rb +19 -0
  188. data/generated/google/apis/file_v1.rb +1 -1
  189. data/generated/google/apis/gameservices_v1/service.rb +14 -14
  190. data/generated/google/apis/gameservices_v1.rb +1 -1
  191. data/generated/google/apis/gameservices_v1beta/service.rb +14 -14
  192. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  193. data/generated/google/apis/genomics_v2alpha1/classes.rb +11 -7
  194. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  195. data/generated/google/apis/healthcare_v1/classes.rb +0 -6
  196. data/generated/google/apis/healthcare_v1/representations.rb +0 -1
  197. data/generated/google/apis/healthcare_v1/service.rb +13 -12
  198. data/generated/google/apis/healthcare_v1.rb +1 -1
  199. data/generated/google/apis/healthcare_v1beta1/classes.rb +45 -19
  200. data/generated/google/apis/healthcare_v1beta1/representations.rb +3 -1
  201. data/generated/google/apis/healthcare_v1beta1/service.rb +37 -37
  202. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  203. data/generated/google/apis/iap_v1/classes.rb +0 -6
  204. data/generated/google/apis/iap_v1/representations.rb +0 -1
  205. data/generated/google/apis/iap_v1.rb +1 -1
  206. data/generated/google/apis/iap_v1beta1/classes.rb +0 -6
  207. data/generated/google/apis/iap_v1beta1/representations.rb +0 -1
  208. data/generated/google/apis/iap_v1beta1.rb +1 -1
  209. data/generated/google/apis/localservices_v1.rb +4 -1
  210. data/generated/google/apis/manufacturers_v1/classes.rb +2 -2
  211. data/generated/google/apis/manufacturers_v1.rb +1 -1
  212. data/generated/google/apis/metastore_v1beta/classes.rb +1151 -0
  213. data/generated/google/apis/metastore_v1beta/representations.rb +479 -0
  214. data/generated/google/apis/metastore_v1beta/service.rb +800 -0
  215. data/{lib/google/apis/core/logging.rb → generated/google/apis/metastore_v1beta.rb} +15 -10
  216. data/generated/google/apis/ml_v1/classes.rb +51 -18
  217. data/generated/google/apis/ml_v1/representations.rb +16 -0
  218. data/generated/google/apis/ml_v1.rb +1 -1
  219. data/generated/google/apis/monitoring_v3/classes.rb +10 -6
  220. data/generated/google/apis/monitoring_v3.rb +1 -1
  221. data/generated/google/apis/notebooks_v1/classes.rb +13 -0
  222. data/generated/google/apis/notebooks_v1/representations.rb +12 -0
  223. data/generated/google/apis/notebooks_v1/service.rb +34 -0
  224. data/generated/google/apis/notebooks_v1.rb +1 -1
  225. data/generated/google/apis/privateca_v1beta1/classes.rb +2 -1
  226. data/generated/google/apis/privateca_v1beta1.rb +1 -1
  227. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  228. data/generated/google/apis/recommendationengine_v1beta1/service.rb +2 -1
  229. data/generated/google/apis/recommendationengine_v1beta1.rb +1 -1
  230. data/generated/google/apis/recommender_v1beta1/service.rb +317 -0
  231. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  232. data/generated/google/apis/redis_v1/classes.rb +2 -2
  233. data/generated/google/apis/redis_v1.rb +1 -1
  234. data/generated/google/apis/redis_v1beta1/classes.rb +2 -2
  235. data/generated/google/apis/redis_v1beta1.rb +1 -1
  236. data/generated/google/apis/safebrowsing_v4/classes.rb +277 -277
  237. data/generated/google/apis/safebrowsing_v4/representations.rb +128 -128
  238. data/generated/google/apis/safebrowsing_v4/service.rb +44 -44
  239. data/generated/google/apis/safebrowsing_v4.rb +1 -1
  240. data/generated/google/apis/searchconsole_v1/classes.rb +7 -0
  241. data/generated/google/apis/searchconsole_v1/representations.rb +1 -0
  242. data/generated/google/apis/searchconsole_v1.rb +1 -1
  243. data/generated/google/apis/securitycenter_v1/classes.rb +18 -10
  244. data/generated/google/apis/securitycenter_v1/representations.rb +1 -0
  245. data/generated/google/apis/securitycenter_v1/service.rb +30 -30
  246. data/generated/google/apis/securitycenter_v1.rb +1 -1
  247. data/generated/google/apis/securitycenter_v1beta1/classes.rb +7 -0
  248. data/generated/google/apis/securitycenter_v1beta1/representations.rb +1 -0
  249. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  250. data/generated/google/apis/securitycenter_v1beta2/classes.rb +7 -0
  251. data/generated/google/apis/securitycenter_v1beta2/representations.rb +1 -0
  252. data/generated/google/apis/securitycenter_v1beta2.rb +1 -1
  253. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +11 -10
  254. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +1 -1
  255. data/generated/google/apis/servicecontrol_v1/service.rb +2 -2
  256. data/generated/google/apis/servicecontrol_v1.rb +3 -3
  257. data/generated/google/apis/servicecontrol_v2/service.rb +2 -2
  258. data/generated/google/apis/servicecontrol_v2.rb +3 -3
  259. data/generated/google/apis/servicedirectory_v1/classes.rb +721 -0
  260. data/generated/google/apis/servicedirectory_v1/representations.rb +304 -0
  261. data/generated/google/apis/servicedirectory_v1/service.rb +957 -0
  262. data/{lib/google/apis/generator/templates/representations.rb.tmpl → generated/google/apis/servicedirectory_v1.rb} +15 -12
  263. data/generated/google/apis/servicemanagement_v1/classes.rb +11 -10
  264. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  265. data/generated/google/apis/servicenetworking_v1/classes.rb +1 -1
  266. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  267. data/generated/google/apis/servicenetworking_v1beta/classes.rb +1 -1
  268. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  269. data/generated/google/apis/serviceusage_v1/classes.rb +11 -10
  270. data/generated/google/apis/serviceusage_v1.rb +1 -1
  271. data/generated/google/apis/serviceusage_v1beta1/classes.rb +11 -10
  272. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  273. data/generated/google/apis/slides_v1/classes.rb +9 -3
  274. data/generated/google/apis/slides_v1.rb +1 -1
  275. data/generated/google/apis/speech_v1p1beta1/classes.rb +0 -22
  276. data/generated/google/apis/speech_v1p1beta1/representations.rb +0 -2
  277. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  278. data/generated/google/apis/sqladmin_v1beta4/classes.rb +7 -7
  279. data/generated/google/apis/sqladmin_v1beta4/service.rb +4 -1
  280. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  281. data/generated/google/apis/storagetransfer_v1/classes.rb +25 -0
  282. data/generated/google/apis/storagetransfer_v1/representations.rb +3 -0
  283. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  284. data/generated/google/apis/testing_v1/classes.rb +1 -1
  285. data/generated/google/apis/testing_v1.rb +1 -1
  286. data/generated/google/apis/trafficdirector_v2/service.rb +1 -1
  287. data/generated/google/apis/trafficdirector_v2.rb +2 -2
  288. data/generated/google/apis/transcoder_v1beta1/classes.rb +12 -2
  289. data/generated/google/apis/transcoder_v1beta1/representations.rb +1 -0
  290. data/generated/google/apis/transcoder_v1beta1.rb +1 -1
  291. data/generated/google/apis/translate_v3/classes.rb +1 -1
  292. data/generated/google/apis/translate_v3.rb +1 -1
  293. data/generated/google/apis/translate_v3beta1/classes.rb +1 -1
  294. data/generated/google/apis/translate_v3beta1.rb +1 -1
  295. data/generated/google/apis/webmasters_v3/classes.rb +8 -0
  296. data/generated/google/apis/webmasters_v3/representations.rb +1 -0
  297. data/generated/google/apis/workflows_v1beta/classes.rb +4 -4
  298. data/generated/google/apis/workflows_v1beta.rb +1 -1
  299. data/generated/google/apis/youtube_v3/classes.rb +18 -143
  300. data/generated/google/apis/youtube_v3/representations.rb +0 -57
  301. data/generated/google/apis/youtube_v3/service.rb +0 -43
  302. data/generated/google/apis/youtube_v3.rb +1 -1
  303. data/lib/google/apis/version.rb +1 -23
  304. metadata +39 -267
  305. data/.github/CONTRIBUTING.md +0 -31
  306. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -36
  307. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -21
  308. data/.github/ISSUE_TEMPLATE/support_request.md +0 -7
  309. data/.github/workflows/autoapprove.yml +0 -49
  310. data/.github/workflows/release-please.yml +0 -79
  311. data/.gitignore +0 -23
  312. data/.kokoro/build.bat +0 -11
  313. data/.kokoro/build.sh +0 -4
  314. data/.kokoro/continuous/common.cfg +0 -25
  315. data/.kokoro/continuous/linux.cfg +0 -25
  316. data/.kokoro/continuous/osx.cfg +0 -8
  317. data/.kokoro/continuous/post.cfg +0 -30
  318. data/.kokoro/continuous/windows.cfg +0 -29
  319. data/.kokoro/osx.sh +0 -4
  320. data/.kokoro/presubmit/common.cfg +0 -24
  321. data/.kokoro/presubmit/linux.cfg +0 -24
  322. data/.kokoro/presubmit/osx.cfg +0 -8
  323. data/.kokoro/presubmit/windows.cfg +0 -29
  324. data/.kokoro/release.cfg +0 -94
  325. data/.kokoro/trampoline.bat +0 -10
  326. data/.kokoro/trampoline.sh +0 -4
  327. data/.repo-metadata.json +0 -5
  328. data/.rspec +0 -2
  329. data/.rubocop.yml +0 -12
  330. data/.rubocop_todo.yml +0 -63
  331. data/CODE_OF_CONDUCT.md +0 -43
  332. data/Gemfile +0 -55
  333. data/MIGRATING.md +0 -215
  334. data/README.md +0 -402
  335. data/Rakefile +0 -131
  336. data/api_list_config.yaml +0 -9
  337. data/api_names.yaml +0 -1082
  338. data/bin/generate-api +0 -194
  339. data/docs/api-keys.md +0 -20
  340. data/docs/auth.md +0 -53
  341. data/docs/client-secrets.md +0 -69
  342. data/docs/getting-started.md +0 -340
  343. data/docs/installation.md +0 -0
  344. data/docs/logging.md +0 -34
  345. data/docs/media-upload.md +0 -25
  346. data/docs/oauth-installed.md +0 -191
  347. data/docs/oauth-server.md +0 -133
  348. data/docs/oauth-web.md +0 -280
  349. data/docs/oauth.md +0 -268
  350. data/docs/pagination.md +0 -29
  351. data/docs/performance.md +0 -25
  352. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +0 -426
  353. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +0 -195
  354. data/generated/google/apis/bigqueryreservation_v1alpha2/service.rb +0 -622
  355. data/google-api-client.gemspec +0 -36
  356. data/lib/google/api_client/auth/installed_app.rb +0 -143
  357. data/lib/google/api_client/auth/key_utils.rb +0 -94
  358. data/lib/google/api_client/auth/storage.rb +0 -104
  359. data/lib/google/api_client/auth/storages/file_store.rb +0 -57
  360. data/lib/google/api_client/auth/storages/redis_store.rb +0 -59
  361. data/lib/google/api_client/client_secrets.rb +0 -176
  362. data/lib/google/apis/core/api_command.rb +0 -209
  363. data/lib/google/apis/core/base_service.rb +0 -447
  364. data/lib/google/apis/core/batch.rb +0 -236
  365. data/lib/google/apis/core/composite_io.rb +0 -97
  366. data/lib/google/apis/core/download.rb +0 -118
  367. data/lib/google/apis/core/hashable.rb +0 -44
  368. data/lib/google/apis/core/http_command.rb +0 -447
  369. data/lib/google/apis/core/json_representation.rb +0 -153
  370. data/lib/google/apis/core/multipart.rb +0 -135
  371. data/lib/google/apis/core/upload.rb +0 -273
  372. data/lib/google/apis/errors.rb +0 -89
  373. data/lib/google/apis/generator/annotator.rb +0 -339
  374. data/lib/google/apis/generator/helpers.rb +0 -76
  375. data/lib/google/apis/generator/model.rb +0 -187
  376. data/lib/google/apis/generator/template.rb +0 -124
  377. data/lib/google/apis/generator/templates/_class.tmpl +0 -43
  378. data/lib/google/apis/generator/templates/_method.tmpl +0 -92
  379. data/lib/google/apis/generator/templates/_representation.tmpl +0 -51
  380. data/lib/google/apis/generator/templates/_representation_stub.tmpl +0 -17
  381. data/lib/google/apis/generator/templates/_representation_type.tmpl +0 -10
  382. data/lib/google/apis/generator/templates/module.rb.tmpl +0 -40
  383. data/lib/google/apis/generator/templates/service.rb.tmpl +0 -61
  384. data/lib/google/apis/generator.rb +0 -71
  385. data/lib/google/apis/options.rb +0 -116
  386. data/lib/google/apis.rb +0 -58
  387. data/rakelib/devsite/devsite_builder.rb +0 -126
  388. data/rakelib/devsite/link_checker.rb +0 -64
  389. data/rakelib/devsite/repo_metadata.rb +0 -56
  390. data/rakelib/metrics.rake +0 -22
  391. data/rakelib/rubocop.rake +0 -10
  392. data/rakelib/spec.rake +0 -11
  393. data/rakelib/yard.rake +0 -11
  394. data/samples/cli/.env +0 -4
  395. data/samples/cli/Gemfile +0 -7
  396. data/samples/cli/README.md +0 -51
  397. data/samples/cli/google-api-samples +0 -32
  398. data/samples/cli/lib/base_cli.rb +0 -95
  399. data/samples/cli/lib/samples/adsense.rb +0 -99
  400. data/samples/cli/lib/samples/analytics.rb +0 -80
  401. data/samples/cli/lib/samples/androidpublisher.rb +0 -47
  402. data/samples/cli/lib/samples/bigquery.rb +0 -101
  403. data/samples/cli/lib/samples/calendar.rb +0 -83
  404. data/samples/cli/lib/samples/drive.rb +0 -82
  405. data/samples/cli/lib/samples/gmail.rb +0 -157
  406. data/samples/cli/lib/samples/pubsub.rb +0 -114
  407. data/samples/cli/lib/samples/sheets.rb +0 -61
  408. data/samples/cli/lib/samples/translate.rb +0 -44
  409. data/samples/cli/lib/samples/vision.rb +0 -69
  410. data/samples/cli/lib/samples/you_tube.rb +0 -47
  411. data/samples/web/Gemfile +0 -9
  412. data/samples/web/README.md +0 -44
  413. data/samples/web/app.rb +0 -120
  414. data/samples/web/views/calendar.erb +0 -34
  415. data/samples/web/views/drive.erb +0 -33
  416. data/samples/web/views/home.erb +0 -34
  417. data/samples/web/views/layout.erb +0 -40
  418. 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