google-api-client 0.8.7 → 0.9.pre1

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 (397) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +20 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +7 -0
  5. data/.rubocop_todo.yml +63 -0
  6. data/.travis.yml +21 -0
  7. data/.yardopts +12 -0
  8. data/CHANGELOG.md +6 -3
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +28 -2
  11. data/MIGRATING.md +171 -0
  12. data/README.md +158 -150
  13. data/Rakefile +1 -40
  14. data/api_names.yaml +872 -0
  15. data/api_names_out.yaml +20843 -0
  16. data/bin/generate-api +93 -0
  17. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  18. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1124 -0
  19. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +375 -0
  20. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +893 -0
  21. data/generated/google/apis/adexchangeseller_v2_0.rb +38 -0
  22. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  23. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +309 -0
  24. data/generated/google/apis/adexchangeseller_v2_0/service.rb +682 -0
  25. data/generated/google/apis/admin_directory_v1.rb +89 -0
  26. data/generated/google/apis/admin_directory_v1/classes.rb +2389 -0
  27. data/generated/google/apis/admin_directory_v1/representations.rb +780 -0
  28. data/generated/google/apis/admin_directory_v1/service.rb +2805 -0
  29. data/generated/google/apis/admin_reports_v1.rb +38 -0
  30. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  31. data/generated/google/apis/admin_reports_v1/representations.rb +231 -0
  32. data/generated/google/apis/admin_reports_v1/service.rb +341 -0
  33. data/generated/google/apis/adsense_v1_4.rb +38 -0
  34. data/generated/google/apis/adsense_v1_4/classes.rb +1279 -0
  35. data/generated/google/apis/adsense_v1_4/representations.rb +493 -0
  36. data/generated/google/apis/adsense_v1_4/service.rb +1752 -0
  37. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  38. data/generated/google/apis/adsensehost_v4_1/classes.rb +834 -0
  39. data/generated/google/apis/adsensehost_v4_1/representations.rb +327 -0
  40. data/generated/google/apis/adsensehost_v4_1/service.rb +1190 -0
  41. data/generated/google/apis/analytics_v3.rb +49 -0
  42. data/generated/google/apis/analytics_v3/classes.rb +5113 -0
  43. data/generated/google/apis/analytics_v3/representations.rb +1661 -0
  44. data/generated/google/apis/analytics_v3/service.rb +3600 -0
  45. data/generated/google/apis/androidenterprise_v1.rb +34 -0
  46. data/generated/google/apis/androidenterprise_v1/classes.rb +1162 -0
  47. data/generated/google/apis/androidenterprise_v1/representations.rb +431 -0
  48. data/generated/google/apis/androidenterprise_v1/service.rb +1979 -0
  49. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  50. data/generated/google/apis/androidpublisher_v2/classes.rb +1374 -0
  51. data/generated/google/apis/androidpublisher_v2/representations.rb +630 -0
  52. data/generated/google/apis/androidpublisher_v2/service.rb +2390 -0
  53. data/generated/google/apis/appsactivity_v1.rb +46 -0
  54. data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
  55. data/generated/google/apis/appsactivity_v1/representations.rb +184 -0
  56. data/generated/google/apis/appsactivity_v1/service.rb +129 -0
  57. data/generated/google/apis/appstate_v1.rb +34 -0
  58. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  59. data/generated/google/apis/appstate_v1/representations.rb +79 -0
  60. data/generated/google/apis/appstate_v1/service.rb +265 -0
  61. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  62. data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
  63. data/generated/google/apis/autoscaler_v1beta2/representations.rb +281 -0
  64. data/generated/google/apis/autoscaler_v1beta2/service.rb +488 -0
  65. data/generated/google/apis/bigquery_v2.rb +49 -0
  66. data/generated/google/apis/bigquery_v2/classes.rb +2255 -0
  67. data/generated/google/apis/bigquery_v2/representations.rb +754 -0
  68. data/generated/google/apis/bigquery_v2/service.rb +1003 -0
  69. data/generated/google/apis/blogger_v3.rb +37 -0
  70. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  71. data/generated/google/apis/blogger_v3/representations.rb +562 -0
  72. data/generated/google/apis/blogger_v3/service.rb +1620 -0
  73. data/generated/google/apis/books_v1.rb +34 -0
  74. data/generated/google/apis/books_v1/classes.rb +3515 -0
  75. data/generated/google/apis/books_v1/representations.rb +1361 -0
  76. data/generated/google/apis/books_v1/service.rb +2170 -0
  77. data/generated/google/apis/calendar_v3.rb +37 -0
  78. data/generated/google/apis/calendar_v3/classes.rb +1702 -0
  79. data/generated/google/apis/calendar_v3/representations.rb +566 -0
  80. data/generated/google/apis/calendar_v3/service.rb +1943 -0
  81. data/generated/google/apis/civicinfo_v2.rb +31 -0
  82. data/generated/google/apis/civicinfo_v2/classes.rb +1057 -0
  83. data/generated/google/apis/civicinfo_v2/representations.rb +374 -0
  84. data/generated/google/apis/civicinfo_v2/service.rb +284 -0
  85. data/generated/google/apis/cloudmonitoring_v2beta2.rb +34 -0
  86. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  87. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +311 -0
  88. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +458 -0
  89. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  90. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +139 -0
  91. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +65 -0
  92. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +301 -0
  93. data/generated/google/apis/compute_v1.rb +49 -0
  94. data/generated/google/apis/compute_v1/classes.rb +6391 -0
  95. data/generated/google/apis/compute_v1/representations.rb +2209 -0
  96. data/generated/google/apis/compute_v1/service.rb +6352 -0
  97. data/generated/google/apis/container_v1beta1.rb +35 -0
  98. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  99. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  100. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  101. data/generated/google/apis/content_v2.rb +35 -0
  102. data/generated/google/apis/content_v2/classes.rb +3780 -0
  103. data/generated/google/apis/content_v2/representations.rb +1456 -0
  104. data/generated/google/apis/content_v2/service.rb +1706 -0
  105. data/generated/google/apis/coordinate_v1.rb +37 -0
  106. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  107. data/generated/google/apis/coordinate_v1/representations.rb +285 -0
  108. data/generated/google/apis/coordinate_v1/service.rb +687 -0
  109. data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
  110. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  111. data/generated/google/apis/customsearch_v1/representations.rb +276 -0
  112. data/generated/google/apis/customsearch_v1/service.rb +208 -0
  113. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  114. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  115. data/generated/google/apis/datastore_v1beta2/representations.rb +526 -0
  116. data/generated/google/apis/datastore_v1beta2/service.rb +300 -0
  117. data/generated/google/apis/deploymentmanager_v2beta2.rb +41 -0
  118. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +820 -0
  119. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +303 -0
  120. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +647 -0
  121. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  122. data/generated/google/apis/dfareporting_v2_1/classes.rb +10755 -0
  123. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  124. data/generated/google/apis/dfareporting_v2_1/service.rb +8775 -0
  125. data/generated/google/apis/discovery_v1.rb +32 -0
  126. data/generated/google/apis/discovery_v1/classes.rb +947 -0
  127. data/generated/google/apis/discovery_v1/representations.rb +355 -0
  128. data/generated/google/apis/discovery_v1/service.rb +144 -0
  129. data/generated/google/apis/dns_v1.rb +41 -0
  130. data/generated/google/apis/dns_v1/classes.rb +406 -0
  131. data/generated/google/apis/dns_v1/representations.rb +151 -0
  132. data/generated/google/apis/dns_v1/service.rb +460 -0
  133. data/{spec/google/api_client/request_spec.rb → generated/google/apis/doubleclickbidmanager_v1.rb} +15 -13
  134. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +709 -0
  135. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +297 -0
  136. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +349 -0
  137. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  138. data/generated/google/apis/doubleclicksearch_v2/classes.rb +947 -0
  139. data/generated/google/apis/doubleclicksearch_v2/representations.rb +315 -0
  140. data/generated/google/apis/doubleclicksearch_v2/service.rb +490 -0
  141. data/generated/google/apis/drive_v2.rb +55 -0
  142. data/generated/google/apis/drive_v2/classes.rb +2519 -0
  143. data/generated/google/apis/drive_v2/representations.rb +781 -0
  144. data/generated/google/apis/drive_v2/service.rb +2685 -0
  145. data/generated/google/apis/fitness_v1.rb +49 -0
  146. data/generated/google/apis/fitness_v1/classes.rb +809 -0
  147. data/generated/google/apis/fitness_v1/representations.rb +295 -0
  148. data/generated/google/apis/fitness_v1/service.rb +684 -0
  149. data/generated/google/apis/fusiontables_v2.rb +37 -0
  150. data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
  151. data/generated/google/apis/fusiontables_v2/representations.rb +409 -0
  152. data/generated/google/apis/fusiontables_v2/service.rb +1496 -0
  153. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  154. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  155. data/generated/google/apis/games_configuration_v1configuration/representations.rb +206 -0
  156. data/generated/google/apis/games_configuration_v1configuration/service.rb +578 -0
  157. data/generated/google/apis/games_v1.rb +40 -0
  158. data/generated/google/apis/games_v1/classes.rb +4578 -0
  159. data/generated/google/apis/games_v1/representations.rb +1570 -0
  160. data/generated/google/apis/games_v1/service.rb +2306 -0
  161. data/generated/google/apis/gan_v1beta1.rb +31 -0
  162. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  163. data/generated/google/apis/gan_v1beta1/representations.rb +428 -0
  164. data/generated/google/apis/gan_v1beta1/service.rb +692 -0
  165. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  166. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  167. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  168. data/generated/google/apis/genomics_v1beta2/service.rb +2356 -0
  169. data/generated/google/apis/gmail_v1.rb +49 -0
  170. data/generated/google/apis/gmail_v1/classes.rb +794 -0
  171. data/generated/google/apis/gmail_v1/representations.rb +339 -0
  172. data/generated/google/apis/gmail_v1/service.rb +1502 -0
  173. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  174. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  175. data/generated/google/apis/groupsmigration_v1/representations.rb +38 -0
  176. data/generated/google/apis/groupsmigration_v1/service.rb +111 -0
  177. data/generated/google/apis/groupssettings_v1.rb +34 -0
  178. data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
  179. data/generated/google/apis/groupssettings_v1/representations.rb +64 -0
  180. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  181. data/generated/google/apis/identitytoolkit_v3.rb +31 -0
  182. data/generated/google/apis/identitytoolkit_v3/classes.rb +1229 -0
  183. data/generated/google/apis/identitytoolkit_v3/representations.rb +422 -0
  184. data/generated/google/apis/identitytoolkit_v3/service.rb +491 -0
  185. data/generated/google/apis/licensing_v1.rb +34 -0
  186. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  187. data/generated/google/apis/licensing_v1/representations.rb +68 -0
  188. data/generated/google/apis/licensing_v1/service.rb +376 -0
  189. data/generated/google/apis/logging_v1beta3.rb +35 -0
  190. data/generated/google/apis/logging_v1beta3/classes.rb +505 -0
  191. data/generated/google/apis/logging_v1beta3/representations.rb +222 -0
  192. data/generated/google/apis/logging_v1beta3/service.rb +670 -0
  193. data/generated/google/apis/manager_v1beta2.rb +50 -0
  194. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  195. data/generated/google/apis/manager_v1beta2/representations.rb +536 -0
  196. data/generated/google/apis/manager_v1beta2/service.rb +380 -0
  197. data/generated/google/apis/mapsengine_v1.rb +38 -0
  198. data/generated/google/apis/mapsengine_v1/classes.rb +2873 -0
  199. data/generated/google/apis/mapsengine_v1/representations.rb +1235 -0
  200. data/generated/google/apis/mapsengine_v1/service.rb +3465 -0
  201. data/generated/google/apis/mirror_v1.rb +37 -0
  202. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  203. data/generated/google/apis/mirror_v1/representations.rb +350 -0
  204. data/generated/google/apis/mirror_v1/service.rb +1001 -0
  205. data/generated/google/apis/oauth2_v2.rb +43 -0
  206. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  207. data/generated/google/apis/oauth2_v2/representations.rb +94 -0
  208. data/generated/google/apis/oauth2_v2/service.rb +203 -0
  209. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  210. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  211. data/generated/google/apis/pagespeedonline_v2/representations.rb +244 -0
  212. data/generated/google/apis/pagespeedonline_v2/service.rb +120 -0
  213. data/generated/google/apis/plus_domains_v1.rb +61 -0
  214. data/generated/google/apis/plus_domains_v1/classes.rb +2402 -0
  215. data/generated/google/apis/plus_domains_v1/representations.rb +873 -0
  216. data/generated/google/apis/plus_domains_v1/service.rb +924 -0
  217. data/generated/google/apis/plus_v1.rb +43 -0
  218. data/generated/google/apis/plus_v1/classes.rb +2384 -0
  219. data/generated/google/apis/plus_v1/representations.rb +812 -0
  220. data/generated/google/apis/plus_v1/service.rb +616 -0
  221. data/generated/google/apis/prediction_v1_6.rb +44 -0
  222. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  223. data/generated/google/apis/prediction_v1_6/representations.rb +327 -0
  224. data/generated/google/apis/prediction_v1_6/service.rb +388 -0
  225. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  226. data/generated/google/apis/pubsub_v1beta2/classes.rb +824 -0
  227. data/generated/google/apis/pubsub_v1beta2/representations.rb +366 -0
  228. data/generated/google/apis/pubsub_v1beta2/service.rb +778 -0
  229. data/generated/google/apis/qpx_express_v1.rb +31 -0
  230. data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
  231. data/generated/google/apis/qpx_express_v1/representations.rb +424 -0
  232. data/generated/google/apis/qpx_express_v1/service.rb +101 -0
  233. data/generated/google/apis/replicapool_v1beta2.rb +41 -0
  234. data/generated/google/apis/replicapool_v1beta2/classes.rb +621 -0
  235. data/generated/google/apis/replicapool_v1beta2/representations.rb +235 -0
  236. data/generated/google/apis/replicapool_v1beta2/service.rb +620 -0
  237. data/generated/google/apis/replicapoolupdater_v1beta1.rb +41 -0
  238. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +682 -0
  239. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +247 -0
  240. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +472 -0
  241. data/generated/google/apis/reseller_v1.rb +37 -0
  242. data/generated/google/apis/reseller_v1/classes.rb +502 -0
  243. data/generated/google/apis/reseller_v1/representations.rb +199 -0
  244. data/generated/google/apis/reseller_v1/service.rb +637 -0
  245. data/generated/google/apis/resourceviews_v1beta2.rb +47 -0
  246. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  247. data/generated/google/apis/resourceviews_v1beta2/representations.rb +269 -0
  248. data/generated/google/apis/resourceviews_v1beta2/service.rb +574 -0
  249. data/generated/google/apis/site_verification_v1.rb +37 -0
  250. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  251. data/generated/google/apis/site_verification_v1/representations.rb +101 -0
  252. data/generated/google/apis/site_verification_v1/service.rb +322 -0
  253. data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
  254. data/generated/google/apis/sqladmin_v1beta4/classes.rb +1817 -0
  255. data/generated/google/apis/sqladmin_v1beta4/representations.rb +688 -0
  256. data/generated/google/apis/sqladmin_v1beta4/service.rb +1534 -0
  257. data/generated/google/apis/storage_v1.rb +43 -0
  258. data/generated/google/apis/storage_v1/classes.rb +1177 -0
  259. data/generated/google/apis/storage_v1/representations.rb +427 -0
  260. data/generated/google/apis/storage_v1/service.rb +1920 -0
  261. data/generated/google/apis/tagmanager_v1.rb +52 -0
  262. data/generated/google/apis/tagmanager_v1/classes.rb +1226 -0
  263. data/generated/google/apis/tagmanager_v1/representations.rb +461 -0
  264. data/generated/google/apis/tagmanager_v1/service.rb +1978 -0
  265. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  266. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  267. data/generated/google/apis/taskqueue_v1beta2/representations.rb +114 -0
  268. data/generated/google/apis/taskqueue_v1beta2/service.rb +416 -0
  269. data/generated/google/apis/tasks_v1.rb +37 -0
  270. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  271. data/generated/google/apis/tasks_v1/representations.rb +115 -0
  272. data/generated/google/apis/tasks_v1/service.rb +657 -0
  273. data/generated/google/apis/translate_v2.rb +31 -0
  274. data/generated/google/apis/translate_v2/classes.rb +168 -0
  275. data/generated/google/apis/translate_v2/representations.rb +109 -0
  276. data/generated/google/apis/translate_v2/service.rb +185 -0
  277. data/generated/google/apis/urlshortener_v1.rb +34 -0
  278. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  279. data/generated/google/apis/urlshortener_v1/representations.rb +111 -0
  280. data/generated/google/apis/urlshortener_v1/service.rb +179 -0
  281. data/generated/google/apis/webmasters_v3.rb +37 -0
  282. data/generated/google/apis/webmasters_v3/classes.rb +563 -0
  283. data/generated/google/apis/webmasters_v3/representations.rb +250 -0
  284. data/generated/google/apis/webmasters_v3/service.rb +587 -0
  285. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  286. data/generated/google/apis/youtube_analytics_v1/classes.rb +540 -0
  287. data/generated/google/apis/youtube_analytics_v1/representations.rb +242 -0
  288. data/generated/google/apis/youtube_analytics_v1/service.rb +567 -0
  289. data/generated/google/apis/youtube_v3.rb +49 -0
  290. data/generated/google/apis/youtube_v3/classes.rb +7225 -0
  291. data/generated/google/apis/youtube_v3/representations.rb +2529 -0
  292. data/generated/google/apis/youtube_v3/service.rb +4051 -0
  293. data/google-api-client.gemspec +27 -39
  294. data/lib/google/api_client/auth/storage.rb +3 -2
  295. data/lib/google/api_client/auth/storages/file_store.rb +1 -3
  296. data/lib/google/api_client/auth/storages/redis_store.rb +6 -2
  297. data/lib/google/apis.rb +48 -0
  298. data/lib/google/apis/core/api_command.rb +128 -0
  299. data/lib/google/apis/core/base_service.rb +314 -0
  300. data/lib/google/apis/core/batch.rb +222 -0
  301. data/lib/google/apis/core/download.rb +94 -0
  302. data/lib/google/apis/core/hashable.rb +44 -0
  303. data/lib/google/apis/core/http_command.rb +275 -0
  304. data/lib/google/apis/core/json_representation.rb +122 -0
  305. data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
  306. data/lib/google/apis/core/multipart.rb +173 -0
  307. data/lib/google/apis/core/upload.rb +275 -0
  308. data/lib/google/{api_client → apis}/errors.rb +32 -28
  309. data/lib/google/apis/generator.rb +70 -0
  310. data/lib/google/apis/generator/annotator.rb +271 -0
  311. data/lib/google/apis/generator/helpers.rb +74 -0
  312. data/lib/google/apis/generator/model.rb +130 -0
  313. data/lib/google/apis/generator/template.rb +124 -0
  314. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  315. data/lib/google/apis/generator/templates/_method.tmpl +90 -0
  316. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  317. data/lib/google/apis/generator/templates/_representation_stub.tmpl +15 -0
  318. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  319. data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
  320. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  321. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  322. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  323. data/lib/google/apis/options.rb +79 -0
  324. data/lib/google/apis/version.rb +39 -0
  325. data/rakelib/metrics.rake +22 -0
  326. data/rakelib/rubocop.rake +10 -0
  327. data/rakelib/spec.rake +11 -0
  328. data/rakelib/yard.rake +11 -0
  329. data/samples/calendar/calendar.rb +43 -0
  330. data/samples/drive/drive.rb +40 -0
  331. data/samples/pubsub/pubsub.rb +52 -0
  332. data/{lib/google/api_client/discovery.rb → samples/translate/translate.rb} +14 -5
  333. data/script/generate +79 -0
  334. data/script/package +8 -0
  335. data/script/release +15 -0
  336. data/spec/fixtures/files/api_names.yaml +3 -0
  337. data/spec/fixtures/files/auth_stored_credentials.json +8 -0
  338. data/spec/fixtures/files/client_secrets.json +1 -0
  339. data/spec/fixtures/files/test.blah +1 -0
  340. data/spec/fixtures/files/test.txt +1 -0
  341. data/spec/fixtures/files/test_api.json +440 -0
  342. data/spec/google/api_client/auth/storage_spec.rb +1 -3
  343. data/spec/google/api_client/auth/storages/file_store_spec.rb +1 -2
  344. data/spec/google/api_client/auth/storages/redis_store_spec.rb +1 -3
  345. data/spec/google/apis/core/api_command_spec.rb +170 -0
  346. data/spec/google/apis/core/batch_spec.rb +128 -0
  347. data/spec/google/apis/core/download_spec.rb +90 -0
  348. data/spec/google/apis/core/hashable_spec.rb +60 -0
  349. data/spec/google/apis/core/http_command_spec.rb +238 -0
  350. data/spec/google/apis/core/json_representation_spec.rb +192 -0
  351. data/spec/google/apis/core/service_spec.rb +247 -0
  352. data/spec/google/apis/core/upload_spec.rb +238 -0
  353. data/{lib/google/api_client/service_account.rb → spec/google/apis/generated_spec.rb} +14 -8
  354. data/spec/google/apis/generator/generator_spec.rb +272 -0
  355. data/spec/google/apis/logging_spec.rb +45 -0
  356. data/spec/google/apis/options_spec.rb +40 -0
  357. data/spec/integration_tests/drive_spec.rb +35 -0
  358. data/spec/integration_tests/pubsub_spec.rb +48 -0
  359. data/spec/integration_tests/url_shortener_spec.rb +31 -0
  360. data/spec/spec_helper.rb +102 -46
  361. metadata +433 -178
  362. data/lib/compat/multi_json.rb +0 -19
  363. data/lib/google/api_client.rb +0 -750
  364. data/lib/google/api_client/auth/file_storage.rb +0 -59
  365. data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
  366. data/lib/google/api_client/auth/key_utils.rb +0 -93
  367. data/lib/google/api_client/auth/pkcs12.rb +0 -41
  368. data/lib/google/api_client/batch.rb +0 -326
  369. data/lib/google/api_client/charset.rb +0 -33
  370. data/lib/google/api_client/discovery/api.rb +0 -310
  371. data/lib/google/api_client/discovery/media.rb +0 -77
  372. data/lib/google/api_client/discovery/method.rb +0 -363
  373. data/lib/google/api_client/discovery/resource.rb +0 -156
  374. data/lib/google/api_client/discovery/schema.rb +0 -117
  375. data/lib/google/api_client/environment.rb +0 -42
  376. data/lib/google/api_client/gzip.rb +0 -28
  377. data/lib/google/api_client/logging.rb +0 -32
  378. data/lib/google/api_client/media.rb +0 -259
  379. data/lib/google/api_client/railtie.rb +0 -18
  380. data/lib/google/api_client/request.rb +0 -350
  381. data/lib/google/api_client/result.rb +0 -255
  382. data/lib/google/api_client/service.rb +0 -233
  383. data/lib/google/api_client/service/batch.rb +0 -110
  384. data/lib/google/api_client/service/request.rb +0 -144
  385. data/lib/google/api_client/service/resource.rb +0 -40
  386. data/lib/google/api_client/service/result.rb +0 -162
  387. data/lib/google/api_client/service/simple_file_store.rb +0 -151
  388. data/lib/google/api_client/service/stub_generator.rb +0 -61
  389. data/spec/google/api_client/batch_spec.rb +0 -248
  390. data/spec/google/api_client/discovery_spec.rb +0 -708
  391. data/spec/google/api_client/gzip_spec.rb +0 -98
  392. data/spec/google/api_client/media_spec.rb +0 -178
  393. data/spec/google/api_client/result_spec.rb +0 -207
  394. data/spec/google/api_client/service_account_spec.rb +0 -169
  395. data/spec/google/api_client/service_spec.rb +0 -618
  396. data/spec/google/api_client/simple_file_store_spec.rb +0 -133
  397. data/spec/google/api_client_spec.rb +0 -352
@@ -0,0 +1,37 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/calendar_v3/service.rb'
16
+ require 'google/apis/calendar_v3/classes.rb'
17
+ require 'google/apis/calendar_v3/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Calendar API
22
+ #
23
+ # Lets you manipulate events and other calendar data.
24
+ #
25
+ # @see https://developers.google.com/google-apps/calendar/firstapp
26
+ module CalendarV3
27
+ VERSION = 'V3'
28
+ REVISION = '20150623'
29
+
30
+ # Manage your calendars
31
+ AUTH_CALENDAR = 'https://www.googleapis.com/auth/calendar'
32
+
33
+ # View your calendars
34
+ AUTH_CALENDAR_READONLY = 'https://www.googleapis.com/auth/calendar.readonly'
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,1702 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module CalendarV3
24
+
25
+ #
26
+ class Acl
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # ETag of the collection.
30
+ # Corresponds to the JSON property `etag`
31
+ # @return [String]
32
+ attr_accessor :etag
33
+
34
+ # List of rules on the access control list.
35
+ # Corresponds to the JSON property `items`
36
+ # @return [Array<Google::Apis::CalendarV3::AclRule>]
37
+ attr_accessor :items
38
+
39
+ # Type of the collection ("calendar#acl").
40
+ # Corresponds to the JSON property `kind`
41
+ # @return [String]
42
+ attr_accessor :kind
43
+
44
+ # Token used to access the next page of this result. Omitted if no further
45
+ # results are available, in which case nextSyncToken is provided.
46
+ # Corresponds to the JSON property `nextPageToken`
47
+ # @return [String]
48
+ attr_accessor :next_page_token
49
+
50
+ # Token used at a later point in time to retrieve only the entries that have
51
+ # changed since this result was returned. Omitted if further results are
52
+ # available, in which case nextPageToken is provided.
53
+ # Corresponds to the JSON property `nextSyncToken`
54
+ # @return [String]
55
+ attr_accessor :next_sync_token
56
+
57
+ def initialize(**args)
58
+ update!(**args)
59
+ end
60
+
61
+ # Update properties of this object
62
+ def update!(**args)
63
+ @etag = args[:etag] unless args[:etag].nil?
64
+ @items = args[:items] unless args[:items].nil?
65
+ @kind = args[:kind] unless args[:kind].nil?
66
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
67
+ @next_sync_token = args[:next_sync_token] unless args[:next_sync_token].nil?
68
+ end
69
+ end
70
+
71
+ #
72
+ class AclRule
73
+ include Google::Apis::Core::Hashable
74
+
75
+ # ETag of the resource.
76
+ # Corresponds to the JSON property `etag`
77
+ # @return [String]
78
+ attr_accessor :etag
79
+
80
+ # Identifier of the ACL rule.
81
+ # Corresponds to the JSON property `id`
82
+ # @return [String]
83
+ attr_accessor :id
84
+
85
+ # Type of the resource ("calendar#aclRule").
86
+ # Corresponds to the JSON property `kind`
87
+ # @return [String]
88
+ attr_accessor :kind
89
+
90
+ # The role assigned to the scope. Possible values are:
91
+ # - "none" - Provides no access.
92
+ # - "freeBusyReader" - Provides read access to free/busy information.
93
+ # - "reader" - Provides read access to the calendar. Private events will appear
94
+ # to users with reader access, but event details will be hidden.
95
+ # - "writer" - Provides read and write access to the calendar. Private events
96
+ # will appear to users with writer access, and event details will be visible.
97
+ # - "owner" - Provides ownership of the calendar. This role has all of the
98
+ # permissions of the writer role with the additional ability to see and
99
+ # manipulate ACLs.
100
+ # Corresponds to the JSON property `role`
101
+ # @return [String]
102
+ attr_accessor :role
103
+
104
+ # The scope of the rule.
105
+ # Corresponds to the JSON property `scope`
106
+ # @return [Google::Apis::CalendarV3::AclRule::Scope]
107
+ attr_accessor :scope
108
+
109
+ def initialize(**args)
110
+ update!(**args)
111
+ end
112
+
113
+ # Update properties of this object
114
+ def update!(**args)
115
+ @etag = args[:etag] unless args[:etag].nil?
116
+ @id = args[:id] unless args[:id].nil?
117
+ @kind = args[:kind] unless args[:kind].nil?
118
+ @role = args[:role] unless args[:role].nil?
119
+ @scope = args[:scope] unless args[:scope].nil?
120
+ end
121
+
122
+ # The scope of the rule.
123
+ class Scope
124
+ include Google::Apis::Core::Hashable
125
+
126
+ # The type of the scope. Possible values are:
127
+ # - "default" - The public scope. This is the default value.
128
+ # - "user" - Limits the scope to a single user.
129
+ # - "group" - Limits the scope to a group.
130
+ # - "domain" - Limits the scope to a domain. Note: The permissions granted to
131
+ # the "default", or public, scope apply to any user, authenticated or not.
132
+ # Corresponds to the JSON property `type`
133
+ # @return [String]
134
+ attr_accessor :type
135
+
136
+ # The email address of a user or group, or the name of a domain, depending on
137
+ # the scope type. Omitted for type "default".
138
+ # Corresponds to the JSON property `value`
139
+ # @return [String]
140
+ attr_accessor :value
141
+
142
+ def initialize(**args)
143
+ update!(**args)
144
+ end
145
+
146
+ # Update properties of this object
147
+ def update!(**args)
148
+ @type = args[:type] unless args[:type].nil?
149
+ @value = args[:value] unless args[:value].nil?
150
+ end
151
+ end
152
+ end
153
+
154
+ #
155
+ class Calendar
156
+ include Google::Apis::Core::Hashable
157
+
158
+ # Description of the calendar. Optional.
159
+ # Corresponds to the JSON property `description`
160
+ # @return [String]
161
+ attr_accessor :description
162
+
163
+ # ETag of the resource.
164
+ # Corresponds to the JSON property `etag`
165
+ # @return [String]
166
+ attr_accessor :etag
167
+
168
+ # Identifier of the calendar.
169
+ # Corresponds to the JSON property `id`
170
+ # @return [String]
171
+ attr_accessor :id
172
+
173
+ # Type of the resource ("calendar#calendar").
174
+ # Corresponds to the JSON property `kind`
175
+ # @return [String]
176
+ attr_accessor :kind
177
+
178
+ # Geographic location of the calendar as free-form text. Optional.
179
+ # Corresponds to the JSON property `location`
180
+ # @return [String]
181
+ attr_accessor :location
182
+
183
+ # Title of the calendar.
184
+ # Corresponds to the JSON property `summary`
185
+ # @return [String]
186
+ attr_accessor :summary
187
+
188
+ # The time zone of the calendar. (Formatted as an IANA Time Zone Database name,
189
+ # e.g. "Europe/Zurich".) Optional.
190
+ # Corresponds to the JSON property `timeZone`
191
+ # @return [String]
192
+ attr_accessor :time_zone
193
+
194
+ def initialize(**args)
195
+ update!(**args)
196
+ end
197
+
198
+ # Update properties of this object
199
+ def update!(**args)
200
+ @description = args[:description] unless args[:description].nil?
201
+ @etag = args[:etag] unless args[:etag].nil?
202
+ @id = args[:id] unless args[:id].nil?
203
+ @kind = args[:kind] unless args[:kind].nil?
204
+ @location = args[:location] unless args[:location].nil?
205
+ @summary = args[:summary] unless args[:summary].nil?
206
+ @time_zone = args[:time_zone] unless args[:time_zone].nil?
207
+ end
208
+ end
209
+
210
+ #
211
+ class CalendarList
212
+ include Google::Apis::Core::Hashable
213
+
214
+ # ETag of the collection.
215
+ # Corresponds to the JSON property `etag`
216
+ # @return [String]
217
+ attr_accessor :etag
218
+
219
+ # Calendars that are present on the user's calendar list.
220
+ # Corresponds to the JSON property `items`
221
+ # @return [Array<Google::Apis::CalendarV3::CalendarListEntry>]
222
+ attr_accessor :items
223
+
224
+ # Type of the collection ("calendar#calendarList").
225
+ # Corresponds to the JSON property `kind`
226
+ # @return [String]
227
+ attr_accessor :kind
228
+
229
+ # Token used to access the next page of this result. Omitted if no further
230
+ # results are available, in which case nextSyncToken is provided.
231
+ # Corresponds to the JSON property `nextPageToken`
232
+ # @return [String]
233
+ attr_accessor :next_page_token
234
+
235
+ # Token used at a later point in time to retrieve only the entries that have
236
+ # changed since this result was returned. Omitted if further results are
237
+ # available, in which case nextPageToken is provided.
238
+ # Corresponds to the JSON property `nextSyncToken`
239
+ # @return [String]
240
+ attr_accessor :next_sync_token
241
+
242
+ def initialize(**args)
243
+ update!(**args)
244
+ end
245
+
246
+ # Update properties of this object
247
+ def update!(**args)
248
+ @etag = args[:etag] unless args[:etag].nil?
249
+ @items = args[:items] unless args[:items].nil?
250
+ @kind = args[:kind] unless args[:kind].nil?
251
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
252
+ @next_sync_token = args[:next_sync_token] unless args[:next_sync_token].nil?
253
+ end
254
+ end
255
+
256
+ #
257
+ class CalendarListEntry
258
+ include Google::Apis::Core::Hashable
259
+
260
+ # The effective access role that the authenticated user has on the calendar.
261
+ # Read-only. Possible values are:
262
+ # - "freeBusyReader" - Provides read access to free/busy information.
263
+ # - "reader" - Provides read access to the calendar. Private events will appear
264
+ # to users with reader access, but event details will be hidden.
265
+ # - "writer" - Provides read and write access to the calendar. Private events
266
+ # will appear to users with writer access, and event details will be visible.
267
+ # - "owner" - Provides ownership of the calendar. This role has all of the
268
+ # permissions of the writer role with the additional ability to see and
269
+ # manipulate ACLs.
270
+ # Corresponds to the JSON property `accessRole`
271
+ # @return [String]
272
+ attr_accessor :access_role
273
+
274
+ # The main color of the calendar in the hexadecimal format "#0088aa". This
275
+ # property supersedes the index-based colorId property. Optional.
276
+ # Corresponds to the JSON property `backgroundColor`
277
+ # @return [String]
278
+ attr_accessor :background_color
279
+
280
+ # The color of the calendar. This is an ID referring to an entry in the calendar
281
+ # section of the colors definition (see the colors endpoint). Optional.
282
+ # Corresponds to the JSON property `colorId`
283
+ # @return [String]
284
+ attr_accessor :color_id
285
+
286
+ # The default reminders that the authenticated user has for this calendar.
287
+ # Corresponds to the JSON property `defaultReminders`
288
+ # @return [Array<Google::Apis::CalendarV3::EventReminder>]
289
+ attr_accessor :default_reminders
290
+
291
+ # Whether this calendar list entry has been deleted from the calendar list. Read-
292
+ # only. Optional. The default is False.
293
+ # Corresponds to the JSON property `deleted`
294
+ # @return [Boolean]
295
+ attr_accessor :deleted
296
+ alias_method :deleted?, :deleted
297
+
298
+ # Description of the calendar. Optional. Read-only.
299
+ # Corresponds to the JSON property `description`
300
+ # @return [String]
301
+ attr_accessor :description
302
+
303
+ # ETag of the resource.
304
+ # Corresponds to the JSON property `etag`
305
+ # @return [String]
306
+ attr_accessor :etag
307
+
308
+ # The foreground color of the calendar in the hexadecimal format "#ffffff". This
309
+ # property supersedes the index-based colorId property. Optional.
310
+ # Corresponds to the JSON property `foregroundColor`
311
+ # @return [String]
312
+ attr_accessor :foreground_color
313
+
314
+ # Whether the calendar has been hidden from the list. Optional. The default is
315
+ # False.
316
+ # Corresponds to the JSON property `hidden`
317
+ # @return [Boolean]
318
+ attr_accessor :hidden
319
+ alias_method :hidden?, :hidden
320
+
321
+ # Identifier of the calendar.
322
+ # Corresponds to the JSON property `id`
323
+ # @return [String]
324
+ attr_accessor :id
325
+
326
+ # Type of the resource ("calendar#calendarListEntry").
327
+ # Corresponds to the JSON property `kind`
328
+ # @return [String]
329
+ attr_accessor :kind
330
+
331
+ # Geographic location of the calendar as free-form text. Optional. Read-only.
332
+ # Corresponds to the JSON property `location`
333
+ # @return [String]
334
+ attr_accessor :location
335
+
336
+ # The notifications that the authenticated user is receiving for this calendar.
337
+ # Corresponds to the JSON property `notificationSettings`
338
+ # @return [Google::Apis::CalendarV3::CalendarListEntry::NotificationSettings]
339
+ attr_accessor :notification_settings
340
+
341
+ # Whether the calendar is the primary calendar of the authenticated user. Read-
342
+ # only. Optional. The default is False.
343
+ # Corresponds to the JSON property `primary`
344
+ # @return [Boolean]
345
+ attr_accessor :primary
346
+ alias_method :primary?, :primary
347
+
348
+ # Whether the calendar content shows up in the calendar UI. Optional. The
349
+ # default is False.
350
+ # Corresponds to the JSON property `selected`
351
+ # @return [Boolean]
352
+ attr_accessor :selected
353
+ alias_method :selected?, :selected
354
+
355
+ # Title of the calendar. Read-only.
356
+ # Corresponds to the JSON property `summary`
357
+ # @return [String]
358
+ attr_accessor :summary
359
+
360
+ # The summary that the authenticated user has set for this calendar. Optional.
361
+ # Corresponds to the JSON property `summaryOverride`
362
+ # @return [String]
363
+ attr_accessor :summary_override
364
+
365
+ # The time zone of the calendar. Optional. Read-only.
366
+ # Corresponds to the JSON property `timeZone`
367
+ # @return [String]
368
+ attr_accessor :time_zone
369
+
370
+ def initialize(**args)
371
+ update!(**args)
372
+ end
373
+
374
+ # Update properties of this object
375
+ def update!(**args)
376
+ @access_role = args[:access_role] unless args[:access_role].nil?
377
+ @background_color = args[:background_color] unless args[:background_color].nil?
378
+ @color_id = args[:color_id] unless args[:color_id].nil?
379
+ @default_reminders = args[:default_reminders] unless args[:default_reminders].nil?
380
+ @deleted = args[:deleted] unless args[:deleted].nil?
381
+ @description = args[:description] unless args[:description].nil?
382
+ @etag = args[:etag] unless args[:etag].nil?
383
+ @foreground_color = args[:foreground_color] unless args[:foreground_color].nil?
384
+ @hidden = args[:hidden] unless args[:hidden].nil?
385
+ @id = args[:id] unless args[:id].nil?
386
+ @kind = args[:kind] unless args[:kind].nil?
387
+ @location = args[:location] unless args[:location].nil?
388
+ @notification_settings = args[:notification_settings] unless args[:notification_settings].nil?
389
+ @primary = args[:primary] unless args[:primary].nil?
390
+ @selected = args[:selected] unless args[:selected].nil?
391
+ @summary = args[:summary] unless args[:summary].nil?
392
+ @summary_override = args[:summary_override] unless args[:summary_override].nil?
393
+ @time_zone = args[:time_zone] unless args[:time_zone].nil?
394
+ end
395
+
396
+ # The notifications that the authenticated user is receiving for this calendar.
397
+ class NotificationSettings
398
+ include Google::Apis::Core::Hashable
399
+
400
+ # The list of notifications set for this calendar.
401
+ # Corresponds to the JSON property `notifications`
402
+ # @return [Array<Google::Apis::CalendarV3::CalendarNotification>]
403
+ attr_accessor :notifications
404
+
405
+ def initialize(**args)
406
+ update!(**args)
407
+ end
408
+
409
+ # Update properties of this object
410
+ def update!(**args)
411
+ @notifications = args[:notifications] unless args[:notifications].nil?
412
+ end
413
+ end
414
+ end
415
+
416
+ #
417
+ class CalendarNotification
418
+ include Google::Apis::Core::Hashable
419
+
420
+ # The method used to deliver the notification. Possible values are:
421
+ # - "email" - Reminders are sent via email.
422
+ # - "sms" - Reminders are sent via SMS. This value is read-only and is ignored
423
+ # on inserts and updates.
424
+ # Corresponds to the JSON property `method`
425
+ # @return [String]
426
+ attr_accessor :delivery_method
427
+
428
+ # The type of notification. Possible values are:
429
+ # - "eventCreation" - Notification sent when a new event is put on the calendar.
430
+ # - "eventChange" - Notification sent when an event is changed.
431
+ # - "eventCancellation" - Notification sent when an event is cancelled.
432
+ # - "eventResponse" - Notification sent when an event is changed.
433
+ # - "agenda" - An agenda with the events of the day (sent out in the morning).
434
+ # Corresponds to the JSON property `type`
435
+ # @return [String]
436
+ attr_accessor :type
437
+
438
+ def initialize(**args)
439
+ update!(**args)
440
+ end
441
+
442
+ # Update properties of this object
443
+ def update!(**args)
444
+ @delivery_method = args[:delivery_method] unless args[:delivery_method].nil?
445
+ @type = args[:type] unless args[:type].nil?
446
+ end
447
+ end
448
+
449
+ #
450
+ class Channel
451
+ include Google::Apis::Core::Hashable
452
+
453
+ # The address where notifications are delivered for this channel.
454
+ # Corresponds to the JSON property `address`
455
+ # @return [String]
456
+ attr_accessor :address
457
+
458
+ # Date and time of notification channel expiration, expressed as a Unix
459
+ # timestamp, in milliseconds. Optional.
460
+ # Corresponds to the JSON property `expiration`
461
+ # @return [String]
462
+ attr_accessor :expiration
463
+
464
+ # A UUID or similar unique string that identifies this channel.
465
+ # Corresponds to the JSON property `id`
466
+ # @return [String]
467
+ attr_accessor :id
468
+
469
+ # Identifies this as a notification channel used to watch for changes to a
470
+ # resource. Value: the fixed string "api#channel".
471
+ # Corresponds to the JSON property `kind`
472
+ # @return [String]
473
+ attr_accessor :kind
474
+
475
+ # Additional parameters controlling delivery channel behavior. Optional.
476
+ # Corresponds to the JSON property `params`
477
+ # @return [Hash<String,String>]
478
+ attr_accessor :params
479
+
480
+ # A Boolean value to indicate whether payload is wanted. Optional.
481
+ # Corresponds to the JSON property `payload`
482
+ # @return [Boolean]
483
+ attr_accessor :payload
484
+ alias_method :payload?, :payload
485
+
486
+ # An opaque ID that identifies the resource being watched on this channel.
487
+ # Stable across different API versions.
488
+ # Corresponds to the JSON property `resourceId`
489
+ # @return [String]
490
+ attr_accessor :resource_id
491
+
492
+ # A version-specific identifier for the watched resource.
493
+ # Corresponds to the JSON property `resourceUri`
494
+ # @return [String]
495
+ attr_accessor :resource_uri
496
+
497
+ # An arbitrary string delivered to the target address with each notification
498
+ # delivered over this channel. Optional.
499
+ # Corresponds to the JSON property `token`
500
+ # @return [String]
501
+ attr_accessor :token
502
+
503
+ # The type of delivery mechanism used for this channel.
504
+ # Corresponds to the JSON property `type`
505
+ # @return [String]
506
+ attr_accessor :type
507
+
508
+ def initialize(**args)
509
+ update!(**args)
510
+ end
511
+
512
+ # Update properties of this object
513
+ def update!(**args)
514
+ @address = args[:address] unless args[:address].nil?
515
+ @expiration = args[:expiration] unless args[:expiration].nil?
516
+ @id = args[:id] unless args[:id].nil?
517
+ @kind = args[:kind] unless args[:kind].nil?
518
+ @params = args[:params] unless args[:params].nil?
519
+ @payload = args[:payload] unless args[:payload].nil?
520
+ @resource_id = args[:resource_id] unless args[:resource_id].nil?
521
+ @resource_uri = args[:resource_uri] unless args[:resource_uri].nil?
522
+ @token = args[:token] unless args[:token].nil?
523
+ @type = args[:type] unless args[:type].nil?
524
+ end
525
+ end
526
+
527
+ #
528
+ class ColorDefinition
529
+ include Google::Apis::Core::Hashable
530
+
531
+ # The background color associated with this color definition.
532
+ # Corresponds to the JSON property `background`
533
+ # @return [String]
534
+ attr_accessor :background
535
+
536
+ # The foreground color that can be used to write on top of a background with '
537
+ # background' color.
538
+ # Corresponds to the JSON property `foreground`
539
+ # @return [String]
540
+ attr_accessor :foreground
541
+
542
+ def initialize(**args)
543
+ update!(**args)
544
+ end
545
+
546
+ # Update properties of this object
547
+ def update!(**args)
548
+ @background = args[:background] unless args[:background].nil?
549
+ @foreground = args[:foreground] unless args[:foreground].nil?
550
+ end
551
+ end
552
+
553
+ #
554
+ class Colors
555
+ include Google::Apis::Core::Hashable
556
+
557
+ # Palette of calendar colors, mapping from the color ID to its definition. A
558
+ # calendarListEntry resource refers to one of these color IDs in its color field.
559
+ # Read-only.
560
+ # Corresponds to the JSON property `calendar`
561
+ # @return [Hash<String,Google::Apis::CalendarV3::ColorDefinition>]
562
+ attr_accessor :calendar
563
+
564
+ # Palette of event colors, mapping from the color ID to its definition. An event
565
+ # resource may refer to one of these color IDs in its color field. Read-only.
566
+ # Corresponds to the JSON property `event`
567
+ # @return [Hash<String,Google::Apis::CalendarV3::ColorDefinition>]
568
+ attr_accessor :event
569
+
570
+ # Type of the resource ("calendar#colors").
571
+ # Corresponds to the JSON property `kind`
572
+ # @return [String]
573
+ attr_accessor :kind
574
+
575
+ # Last modification time of the color palette (as a RFC 3339 timestamp). Read-
576
+ # only.
577
+ # Corresponds to the JSON property `updated`
578
+ # @return [DateTime]
579
+ attr_accessor :updated
580
+
581
+ def initialize(**args)
582
+ update!(**args)
583
+ end
584
+
585
+ # Update properties of this object
586
+ def update!(**args)
587
+ @calendar = args[:calendar] unless args[:calendar].nil?
588
+ @event = args[:event] unless args[:event].nil?
589
+ @kind = args[:kind] unless args[:kind].nil?
590
+ @updated = args[:updated] unless args[:updated].nil?
591
+ end
592
+ end
593
+
594
+ #
595
+ class Error
596
+ include Google::Apis::Core::Hashable
597
+
598
+ # Domain, or broad category, of the error.
599
+ # Corresponds to the JSON property `domain`
600
+ # @return [String]
601
+ attr_accessor :domain
602
+
603
+ # Specific reason for the error. Some of the possible values are:
604
+ # - "groupTooBig" - The group of users requested is too large for a single query.
605
+ #
606
+ # - "tooManyCalendarsRequested" - The number of calendars requested is too large
607
+ # for a single query.
608
+ # - "notFound" - The requested resource was not found.
609
+ # - "internalError" - The API service has encountered an internal error.
610
+ # Additional error types may be added in the future, so clients should
611
+ # gracefully handle additional error statuses not included in this list.
612
+ # Corresponds to the JSON property `reason`
613
+ # @return [String]
614
+ attr_accessor :reason
615
+
616
+ def initialize(**args)
617
+ update!(**args)
618
+ end
619
+
620
+ # Update properties of this object
621
+ def update!(**args)
622
+ @domain = args[:domain] unless args[:domain].nil?
623
+ @reason = args[:reason] unless args[:reason].nil?
624
+ end
625
+ end
626
+
627
+ #
628
+ class Event
629
+ include Google::Apis::Core::Hashable
630
+
631
+ # Whether anyone can invite themselves to the event. Optional. The default is
632
+ # False.
633
+ # Corresponds to the JSON property `anyoneCanAddSelf`
634
+ # @return [Boolean]
635
+ attr_accessor :anyone_can_add_self
636
+ alias_method :anyone_can_add_self?, :anyone_can_add_self
637
+
638
+ # File attachments for the event. Currently only Google Drive attachments are
639
+ # supported.
640
+ # In order to modify attachments the supportsAttachments request parameter
641
+ # should be set to true.
642
+ # There can be at most 25 attachments per event,
643
+ # Corresponds to the JSON property `attachments`
644
+ # @return [Array<Google::Apis::CalendarV3::EventAttachment>]
645
+ attr_accessor :attachments
646
+
647
+ # The attendees of the event.
648
+ # Corresponds to the JSON property `attendees`
649
+ # @return [Array<Google::Apis::CalendarV3::EventAttendee>]
650
+ attr_accessor :attendees
651
+
652
+ # Whether attendees may have been omitted from the event's representation. When
653
+ # retrieving an event, this may be due to a restriction specified by the
654
+ # maxAttendee query parameter. When updating an event, this can be used to only
655
+ # update the participant's response. Optional. The default is False.
656
+ # Corresponds to the JSON property `attendeesOmitted`
657
+ # @return [Boolean]
658
+ attr_accessor :attendees_omitted
659
+ alias_method :attendees_omitted?, :attendees_omitted
660
+
661
+ # The color of the event. This is an ID referring to an entry in the event
662
+ # section of the colors definition (see the colors endpoint). Optional.
663
+ # Corresponds to the JSON property `colorId`
664
+ # @return [String]
665
+ attr_accessor :color_id
666
+
667
+ # Creation time of the event (as a RFC 3339 timestamp). Read-only.
668
+ # Corresponds to the JSON property `created`
669
+ # @return [DateTime]
670
+ attr_accessor :created
671
+
672
+ # The creator of the event. Read-only.
673
+ # Corresponds to the JSON property `creator`
674
+ # @return [Google::Apis::CalendarV3::Event::Creator]
675
+ attr_accessor :creator
676
+
677
+ # Description of the event. Optional.
678
+ # Corresponds to the JSON property `description`
679
+ # @return [String]
680
+ attr_accessor :description
681
+
682
+ # The (exclusive) end time of the event. For a recurring event, this is the end
683
+ # time of the first instance.
684
+ # Corresponds to the JSON property `end`
685
+ # @return [Google::Apis::CalendarV3::EventDateTime]
686
+ attr_accessor :end
687
+
688
+ # Whether the end time is actually unspecified. An end time is still provided
689
+ # for compatibility reasons, even if this attribute is set to True. The default
690
+ # is False.
691
+ # Corresponds to the JSON property `endTimeUnspecified`
692
+ # @return [Boolean]
693
+ attr_accessor :end_time_unspecified
694
+ alias_method :end_time_unspecified?, :end_time_unspecified
695
+
696
+ # ETag of the resource.
697
+ # Corresponds to the JSON property `etag`
698
+ # @return [String]
699
+ attr_accessor :etag
700
+
701
+ # Extended properties of the event.
702
+ # Corresponds to the JSON property `extendedProperties`
703
+ # @return [Google::Apis::CalendarV3::Event::ExtendedProperties]
704
+ attr_accessor :extended_properties
705
+
706
+ # A gadget that extends this event.
707
+ # Corresponds to the JSON property `gadget`
708
+ # @return [Google::Apis::CalendarV3::Event::Gadget]
709
+ attr_accessor :gadget
710
+
711
+ # Whether attendees other than the organizer can invite others to the event.
712
+ # Optional. The default is True.
713
+ # Corresponds to the JSON property `guestsCanInviteOthers`
714
+ # @return [Boolean]
715
+ attr_accessor :guests_can_invite_others
716
+ alias_method :guests_can_invite_others?, :guests_can_invite_others
717
+
718
+ # Whether attendees other than the organizer can modify the event. Optional. The
719
+ # default is False.
720
+ # Corresponds to the JSON property `guestsCanModify`
721
+ # @return [Boolean]
722
+ attr_accessor :guests_can_modify
723
+ alias_method :guests_can_modify?, :guests_can_modify
724
+
725
+ # Whether attendees other than the organizer can see who the event's attendees
726
+ # are. Optional. The default is True.
727
+ # Corresponds to the JSON property `guestsCanSeeOtherGuests`
728
+ # @return [Boolean]
729
+ attr_accessor :guests_can_see_other_guests
730
+ alias_method :guests_can_see_other_guests?, :guests_can_see_other_guests
731
+
732
+ # An absolute link to the Google+ hangout associated with this event. Read-only.
733
+ # Corresponds to the JSON property `hangoutLink`
734
+ # @return [String]
735
+ attr_accessor :hangout_link
736
+
737
+ # An absolute link to this event in the Google Calendar Web UI. Read-only.
738
+ # Corresponds to the JSON property `htmlLink`
739
+ # @return [String]
740
+ attr_accessor :html_link
741
+
742
+ # Event ID in the iCalendar format.
743
+ # Corresponds to the JSON property `iCalUID`
744
+ # @return [String]
745
+ attr_accessor :i_cal_uid
746
+
747
+ # Identifier of the event. When creating new single or recurring events, you can
748
+ # specify their IDs. Provided IDs must follow these rules:
749
+ # - characters allowed in the ID are those used in base32hex encoding, i.e.
750
+ # lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938
751
+ # - the length of the ID must be between 5 and 1024 characters
752
+ # - the ID must be unique per calendar Due to the globally distributed nature
753
+ # of the system, we cannot guarantee that ID collisions will be detected at
754
+ # event creation time. To minimize the risk of collisions we recommend using an
755
+ # established UUID algorithm such as one described in RFC4122.
756
+ # Corresponds to the JSON property `id`
757
+ # @return [String]
758
+ attr_accessor :id
759
+
760
+ # Type of the resource ("calendar#event").
761
+ # Corresponds to the JSON property `kind`
762
+ # @return [String]
763
+ attr_accessor :kind
764
+
765
+ # Geographic location of the event as free-form text. Optional.
766
+ # Corresponds to the JSON property `location`
767
+ # @return [String]
768
+ attr_accessor :location
769
+
770
+ # Whether this is a locked event copy where no changes can be made to the main
771
+ # event fields "summary", "description", "location", "start", "end" or "
772
+ # recurrence". The default is False. Read-Only.
773
+ # Corresponds to the JSON property `locked`
774
+ # @return [Boolean]
775
+ attr_accessor :locked
776
+ alias_method :locked?, :locked
777
+
778
+ # The organizer of the event. If the organizer is also an attendee, this is
779
+ # indicated with a separate entry in attendees with the organizer field set to
780
+ # True. To change the organizer, use the move operation. Read-only, except when
781
+ # importing an event.
782
+ # Corresponds to the JSON property `organizer`
783
+ # @return [Google::Apis::CalendarV3::Event::Organizer]
784
+ attr_accessor :organizer
785
+
786
+ # For an instance of a recurring event, this is the time at which this event
787
+ # would start according to the recurrence data in the recurring event identified
788
+ # by recurringEventId. Immutable.
789
+ # Corresponds to the JSON property `originalStartTime`
790
+ # @return [Google::Apis::CalendarV3::EventDateTime]
791
+ attr_accessor :original_start_time
792
+
793
+ # Whether this is a private event copy where changes are not shared with other
794
+ # copies on other calendars. Optional. Immutable. The default is False.
795
+ # Corresponds to the JSON property `privateCopy`
796
+ # @return [Boolean]
797
+ attr_accessor :private_copy
798
+ alias_method :private_copy?, :private_copy
799
+
800
+ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This
801
+ # field is omitted for single events or instances of recurring events.
802
+ # Corresponds to the JSON property `recurrence`
803
+ # @return [Array<String>]
804
+ attr_accessor :recurrence
805
+
806
+ # For an instance of a recurring event, this is the event ID of the recurring
807
+ # event itself. Immutable.
808
+ # Corresponds to the JSON property `recurringEventId`
809
+ # @return [String]
810
+ attr_accessor :recurring_event_id
811
+
812
+ # Information about the event's reminders for the authenticated user.
813
+ # Corresponds to the JSON property `reminders`
814
+ # @return [Google::Apis::CalendarV3::Event::Reminders]
815
+ attr_accessor :reminders
816
+
817
+ # Sequence number as per iCalendar.
818
+ # Corresponds to the JSON property `sequence`
819
+ # @return [Fixnum]
820
+ attr_accessor :sequence
821
+
822
+ # Source of an event from which it was created; for example a web page, an email
823
+ # message or any document identifiable by an URL using HTTP/HTTPS protocol.
824
+ # Accessible only by the creator of the event.
825
+ # Corresponds to the JSON property `source`
826
+ # @return [Google::Apis::CalendarV3::Event::Source]
827
+ attr_accessor :source
828
+
829
+ # The (inclusive) start time of the event. For a recurring event, this is the
830
+ # start time of the first instance.
831
+ # Corresponds to the JSON property `start`
832
+ # @return [Google::Apis::CalendarV3::EventDateTime]
833
+ attr_accessor :start
834
+
835
+ # Status of the event. Optional. Possible values are:
836
+ # - "confirmed" - The event is confirmed. This is the default status.
837
+ # - "tentative" - The event is tentatively confirmed.
838
+ # - "cancelled" - The event is cancelled.
839
+ # Corresponds to the JSON property `status`
840
+ # @return [String]
841
+ attr_accessor :status
842
+
843
+ # Title of the event.
844
+ # Corresponds to the JSON property `summary`
845
+ # @return [String]
846
+ attr_accessor :summary
847
+
848
+ # Whether the event blocks time on the calendar. Optional. Possible values are:
849
+ # - "opaque" - The event blocks time on the calendar. This is the default value.
850
+ # - "transparent" - The event does not block time on the calendar.
851
+ # Corresponds to the JSON property `transparency`
852
+ # @return [String]
853
+ attr_accessor :transparency
854
+
855
+ # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
856
+ # Corresponds to the JSON property `updated`
857
+ # @return [DateTime]
858
+ attr_accessor :updated
859
+
860
+ # Visibility of the event. Optional. Possible values are:
861
+ # - "default" - Uses the default visibility for events on the calendar. This is
862
+ # the default value.
863
+ # - "public" - The event is public and event details are visible to all readers
864
+ # of the calendar.
865
+ # - "private" - The event is private and only event attendees may view event
866
+ # details.
867
+ # - "confidential" - The event is private. This value is provided for
868
+ # compatibility reasons.
869
+ # Corresponds to the JSON property `visibility`
870
+ # @return [String]
871
+ attr_accessor :visibility
872
+
873
+ def initialize(**args)
874
+ update!(**args)
875
+ end
876
+
877
+ # Update properties of this object
878
+ def update!(**args)
879
+ @anyone_can_add_self = args[:anyone_can_add_self] unless args[:anyone_can_add_self].nil?
880
+ @attachments = args[:attachments] unless args[:attachments].nil?
881
+ @attendees = args[:attendees] unless args[:attendees].nil?
882
+ @attendees_omitted = args[:attendees_omitted] unless args[:attendees_omitted].nil?
883
+ @color_id = args[:color_id] unless args[:color_id].nil?
884
+ @created = args[:created] unless args[:created].nil?
885
+ @creator = args[:creator] unless args[:creator].nil?
886
+ @description = args[:description] unless args[:description].nil?
887
+ @end = args[:end] unless args[:end].nil?
888
+ @end_time_unspecified = args[:end_time_unspecified] unless args[:end_time_unspecified].nil?
889
+ @etag = args[:etag] unless args[:etag].nil?
890
+ @extended_properties = args[:extended_properties] unless args[:extended_properties].nil?
891
+ @gadget = args[:gadget] unless args[:gadget].nil?
892
+ @guests_can_invite_others = args[:guests_can_invite_others] unless args[:guests_can_invite_others].nil?
893
+ @guests_can_modify = args[:guests_can_modify] unless args[:guests_can_modify].nil?
894
+ @guests_can_see_other_guests = args[:guests_can_see_other_guests] unless args[:guests_can_see_other_guests].nil?
895
+ @hangout_link = args[:hangout_link] unless args[:hangout_link].nil?
896
+ @html_link = args[:html_link] unless args[:html_link].nil?
897
+ @i_cal_uid = args[:i_cal_uid] unless args[:i_cal_uid].nil?
898
+ @id = args[:id] unless args[:id].nil?
899
+ @kind = args[:kind] unless args[:kind].nil?
900
+ @location = args[:location] unless args[:location].nil?
901
+ @locked = args[:locked] unless args[:locked].nil?
902
+ @organizer = args[:organizer] unless args[:organizer].nil?
903
+ @original_start_time = args[:original_start_time] unless args[:original_start_time].nil?
904
+ @private_copy = args[:private_copy] unless args[:private_copy].nil?
905
+ @recurrence = args[:recurrence] unless args[:recurrence].nil?
906
+ @recurring_event_id = args[:recurring_event_id] unless args[:recurring_event_id].nil?
907
+ @reminders = args[:reminders] unless args[:reminders].nil?
908
+ @sequence = args[:sequence] unless args[:sequence].nil?
909
+ @source = args[:source] unless args[:source].nil?
910
+ @start = args[:start] unless args[:start].nil?
911
+ @status = args[:status] unless args[:status].nil?
912
+ @summary = args[:summary] unless args[:summary].nil?
913
+ @transparency = args[:transparency] unless args[:transparency].nil?
914
+ @updated = args[:updated] unless args[:updated].nil?
915
+ @visibility = args[:visibility] unless args[:visibility].nil?
916
+ end
917
+
918
+ # The creator of the event. Read-only.
919
+ class Creator
920
+ include Google::Apis::Core::Hashable
921
+
922
+ # The creator's name, if available.
923
+ # Corresponds to the JSON property `displayName`
924
+ # @return [String]
925
+ attr_accessor :display_name
926
+
927
+ # The creator's email address, if available.
928
+ # Corresponds to the JSON property `email`
929
+ # @return [String]
930
+ attr_accessor :email
931
+
932
+ # The creator's Profile ID, if available.
933
+ # Corresponds to the JSON property `id`
934
+ # @return [String]
935
+ attr_accessor :id
936
+
937
+ # Whether the creator corresponds to the calendar on which this copy of the
938
+ # event appears. Read-only. The default is False.
939
+ # Corresponds to the JSON property `self`
940
+ # @return [Boolean]
941
+ attr_accessor :self
942
+ alias_method :self?, :self
943
+
944
+ def initialize(**args)
945
+ update!(**args)
946
+ end
947
+
948
+ # Update properties of this object
949
+ def update!(**args)
950
+ @display_name = args[:display_name] unless args[:display_name].nil?
951
+ @email = args[:email] unless args[:email].nil?
952
+ @id = args[:id] unless args[:id].nil?
953
+ @self = args[:self] unless args[:self].nil?
954
+ end
955
+ end
956
+
957
+ # Extended properties of the event.
958
+ class ExtendedProperties
959
+ include Google::Apis::Core::Hashable
960
+
961
+ # Properties that are private to the copy of the event that appears on this
962
+ # calendar.
963
+ # Corresponds to the JSON property `private`
964
+ # @return [Hash<String,String>]
965
+ attr_accessor :private
966
+
967
+ # Properties that are shared between copies of the event on other attendees'
968
+ # calendars.
969
+ # Corresponds to the JSON property `shared`
970
+ # @return [Hash<String,String>]
971
+ attr_accessor :shared
972
+
973
+ def initialize(**args)
974
+ update!(**args)
975
+ end
976
+
977
+ # Update properties of this object
978
+ def update!(**args)
979
+ @private = args[:private] unless args[:private].nil?
980
+ @shared = args[:shared] unless args[:shared].nil?
981
+ end
982
+ end
983
+
984
+ # A gadget that extends this event.
985
+ class Gadget
986
+ include Google::Apis::Core::Hashable
987
+
988
+ # The gadget's display mode. Optional. Possible values are:
989
+ # - "icon" - The gadget displays next to the event's title in the calendar view.
990
+ # - "chip" - The gadget displays when the event is clicked.
991
+ # Corresponds to the JSON property `display`
992
+ # @return [String]
993
+ attr_accessor :display_mode
994
+
995
+ # The gadget's height in pixels. Optional.
996
+ # Corresponds to the JSON property `height`
997
+ # @return [Fixnum]
998
+ attr_accessor :height
999
+
1000
+ # The gadget's icon URL.
1001
+ # Corresponds to the JSON property `iconLink`
1002
+ # @return [String]
1003
+ attr_accessor :icon_link
1004
+
1005
+ # The gadget's URL.
1006
+ # Corresponds to the JSON property `link`
1007
+ # @return [String]
1008
+ attr_accessor :link
1009
+
1010
+ # Preferences.
1011
+ # Corresponds to the JSON property `preferences`
1012
+ # @return [Hash<String,String>]
1013
+ attr_accessor :preferences
1014
+
1015
+ # The gadget's title.
1016
+ # Corresponds to the JSON property `title`
1017
+ # @return [String]
1018
+ attr_accessor :title
1019
+
1020
+ # The gadget's type.
1021
+ # Corresponds to the JSON property `type`
1022
+ # @return [String]
1023
+ attr_accessor :type
1024
+
1025
+ # The gadget's width in pixels. Optional.
1026
+ # Corresponds to the JSON property `width`
1027
+ # @return [Fixnum]
1028
+ attr_accessor :width
1029
+
1030
+ def initialize(**args)
1031
+ update!(**args)
1032
+ end
1033
+
1034
+ # Update properties of this object
1035
+ def update!(**args)
1036
+ @display_mode = args[:display_mode] unless args[:display_mode].nil?
1037
+ @height = args[:height] unless args[:height].nil?
1038
+ @icon_link = args[:icon_link] unless args[:icon_link].nil?
1039
+ @link = args[:link] unless args[:link].nil?
1040
+ @preferences = args[:preferences] unless args[:preferences].nil?
1041
+ @title = args[:title] unless args[:title].nil?
1042
+ @type = args[:type] unless args[:type].nil?
1043
+ @width = args[:width] unless args[:width].nil?
1044
+ end
1045
+ end
1046
+
1047
+ # The organizer of the event. If the organizer is also an attendee, this is
1048
+ # indicated with a separate entry in attendees with the organizer field set to
1049
+ # True. To change the organizer, use the move operation. Read-only, except when
1050
+ # importing an event.
1051
+ class Organizer
1052
+ include Google::Apis::Core::Hashable
1053
+
1054
+ # The organizer's name, if available.
1055
+ # Corresponds to the JSON property `displayName`
1056
+ # @return [String]
1057
+ attr_accessor :display_name
1058
+
1059
+ # The organizer's email address, if available.
1060
+ # Corresponds to the JSON property `email`
1061
+ # @return [String]
1062
+ attr_accessor :email
1063
+
1064
+ # The organizer's Profile ID, if available.
1065
+ # Corresponds to the JSON property `id`
1066
+ # @return [String]
1067
+ attr_accessor :id
1068
+
1069
+ # Whether the organizer corresponds to the calendar on which this copy of the
1070
+ # event appears. Read-only. The default is False.
1071
+ # Corresponds to the JSON property `self`
1072
+ # @return [Boolean]
1073
+ attr_accessor :self
1074
+ alias_method :self?, :self
1075
+
1076
+ def initialize(**args)
1077
+ update!(**args)
1078
+ end
1079
+
1080
+ # Update properties of this object
1081
+ def update!(**args)
1082
+ @display_name = args[:display_name] unless args[:display_name].nil?
1083
+ @email = args[:email] unless args[:email].nil?
1084
+ @id = args[:id] unless args[:id].nil?
1085
+ @self = args[:self] unless args[:self].nil?
1086
+ end
1087
+ end
1088
+
1089
+ # Information about the event's reminders for the authenticated user.
1090
+ class Reminders
1091
+ include Google::Apis::Core::Hashable
1092
+
1093
+ # If the event doesn't use the default reminders, this lists the reminders
1094
+ # specific to the event, or, if not set, indicates that no reminders are set for
1095
+ # this event.
1096
+ # Corresponds to the JSON property `overrides`
1097
+ # @return [Array<Google::Apis::CalendarV3::EventReminder>]
1098
+ attr_accessor :overrides
1099
+
1100
+ # Whether the default reminders of the calendar apply to the event.
1101
+ # Corresponds to the JSON property `useDefault`
1102
+ # @return [Boolean]
1103
+ attr_accessor :use_default
1104
+ alias_method :use_default?, :use_default
1105
+
1106
+ def initialize(**args)
1107
+ update!(**args)
1108
+ end
1109
+
1110
+ # Update properties of this object
1111
+ def update!(**args)
1112
+ @overrides = args[:overrides] unless args[:overrides].nil?
1113
+ @use_default = args[:use_default] unless args[:use_default].nil?
1114
+ end
1115
+ end
1116
+
1117
+ # Source of an event from which it was created; for example a web page, an email
1118
+ # message or any document identifiable by an URL using HTTP/HTTPS protocol.
1119
+ # Accessible only by the creator of the event.
1120
+ class Source
1121
+ include Google::Apis::Core::Hashable
1122
+
1123
+ # Title of the source; for example a title of a web page or an email subject.
1124
+ # Corresponds to the JSON property `title`
1125
+ # @return [String]
1126
+ attr_accessor :title
1127
+
1128
+ # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
1129
+ # Corresponds to the JSON property `url`
1130
+ # @return [String]
1131
+ attr_accessor :url
1132
+
1133
+ def initialize(**args)
1134
+ update!(**args)
1135
+ end
1136
+
1137
+ # Update properties of this object
1138
+ def update!(**args)
1139
+ @title = args[:title] unless args[:title].nil?
1140
+ @url = args[:url] unless args[:url].nil?
1141
+ end
1142
+ end
1143
+ end
1144
+
1145
+ #
1146
+ class EventAttachment
1147
+ include Google::Apis::Core::Hashable
1148
+
1149
+ # URL link to the attachment.
1150
+ # For adding Google Drive file attachments use the same format as in
1151
+ # alternateLink property of the Files resource in the Drive API.
1152
+ # Corresponds to the JSON property `fileUrl`
1153
+ # @return [String]
1154
+ attr_accessor :file_url
1155
+
1156
+ # URL link to the attachment's icon. Read-only.
1157
+ # Corresponds to the JSON property `iconLink`
1158
+ # @return [String]
1159
+ attr_accessor :icon_link
1160
+
1161
+ # Internet media type (MIME type) of the attachment.
1162
+ # Corresponds to the JSON property `mimeType`
1163
+ # @return [String]
1164
+ attr_accessor :mime_type
1165
+
1166
+ # Attachment title.
1167
+ # Corresponds to the JSON property `title`
1168
+ # @return [String]
1169
+ attr_accessor :title
1170
+
1171
+ def initialize(**args)
1172
+ update!(**args)
1173
+ end
1174
+
1175
+ # Update properties of this object
1176
+ def update!(**args)
1177
+ @file_url = args[:file_url] unless args[:file_url].nil?
1178
+ @icon_link = args[:icon_link] unless args[:icon_link].nil?
1179
+ @mime_type = args[:mime_type] unless args[:mime_type].nil?
1180
+ @title = args[:title] unless args[:title].nil?
1181
+ end
1182
+ end
1183
+
1184
+ #
1185
+ class EventAttendee
1186
+ include Google::Apis::Core::Hashable
1187
+
1188
+ # Number of additional guests. Optional. The default is 0.
1189
+ # Corresponds to the JSON property `additionalGuests`
1190
+ # @return [Fixnum]
1191
+ attr_accessor :additional_guests
1192
+
1193
+ # The attendee's response comment. Optional.
1194
+ # Corresponds to the JSON property `comment`
1195
+ # @return [String]
1196
+ attr_accessor :comment
1197
+
1198
+ # The attendee's name, if available. Optional.
1199
+ # Corresponds to the JSON property `displayName`
1200
+ # @return [String]
1201
+ attr_accessor :display_name
1202
+
1203
+ # The attendee's email address, if available. This field must be present when
1204
+ # adding an attendee.
1205
+ # Corresponds to the JSON property `email`
1206
+ # @return [String]
1207
+ attr_accessor :email
1208
+
1209
+ # The attendee's Profile ID, if available.
1210
+ # Corresponds to the JSON property `id`
1211
+ # @return [String]
1212
+ attr_accessor :id
1213
+
1214
+ # Whether this is an optional attendee. Optional. The default is False.
1215
+ # Corresponds to the JSON property `optional`
1216
+ # @return [Boolean]
1217
+ attr_accessor :optional
1218
+ alias_method :optional?, :optional
1219
+
1220
+ # Whether the attendee is the organizer of the event. Read-only. The default is
1221
+ # False.
1222
+ # Corresponds to the JSON property `organizer`
1223
+ # @return [Boolean]
1224
+ attr_accessor :organizer
1225
+ alias_method :organizer?, :organizer
1226
+
1227
+ # Whether the attendee is a resource. Read-only. The default is False.
1228
+ # Corresponds to the JSON property `resource`
1229
+ # @return [Boolean]
1230
+ attr_accessor :resource
1231
+ alias_method :resource?, :resource
1232
+
1233
+ # The attendee's response status. Possible values are:
1234
+ # - "needsAction" - The attendee has not responded to the invitation.
1235
+ # - "declined" - The attendee has declined the invitation.
1236
+ # - "tentative" - The attendee has tentatively accepted the invitation.
1237
+ # - "accepted" - The attendee has accepted the invitation.
1238
+ # Corresponds to the JSON property `responseStatus`
1239
+ # @return [String]
1240
+ attr_accessor :response_status
1241
+
1242
+ # Whether this entry represents the calendar on which this copy of the event
1243
+ # appears. Read-only. The default is False.
1244
+ # Corresponds to the JSON property `self`
1245
+ # @return [Boolean]
1246
+ attr_accessor :self
1247
+ alias_method :self?, :self
1248
+
1249
+ def initialize(**args)
1250
+ update!(**args)
1251
+ end
1252
+
1253
+ # Update properties of this object
1254
+ def update!(**args)
1255
+ @additional_guests = args[:additional_guests] unless args[:additional_guests].nil?
1256
+ @comment = args[:comment] unless args[:comment].nil?
1257
+ @display_name = args[:display_name] unless args[:display_name].nil?
1258
+ @email = args[:email] unless args[:email].nil?
1259
+ @id = args[:id] unless args[:id].nil?
1260
+ @optional = args[:optional] unless args[:optional].nil?
1261
+ @organizer = args[:organizer] unless args[:organizer].nil?
1262
+ @resource = args[:resource] unless args[:resource].nil?
1263
+ @response_status = args[:response_status] unless args[:response_status].nil?
1264
+ @self = args[:self] unless args[:self].nil?
1265
+ end
1266
+ end
1267
+
1268
+ #
1269
+ class EventDateTime
1270
+ include Google::Apis::Core::Hashable
1271
+
1272
+ # The date, in the format "yyyy-mm-dd", if this is an all-day event.
1273
+ # Corresponds to the JSON property `date`
1274
+ # @return [Date]
1275
+ attr_accessor :date
1276
+
1277
+ # The time, as a combined date-time value (formatted according to RFC 3339). A
1278
+ # time zone offset is required unless a time zone is explicitly specified in
1279
+ # timeZone.
1280
+ # Corresponds to the JSON property `dateTime`
1281
+ # @return [DateTime]
1282
+ attr_accessor :date_time
1283
+
1284
+ # The time zone in which the time is specified. (Formatted as an IANA Time Zone
1285
+ # Database name, e.g. "Europe/Zurich".) For recurring events this field is
1286
+ # required and specifies the time zone in which the recurrence is expanded. For
1287
+ # single events this field is optional and indicates a custom time zone for the
1288
+ # event start/end.
1289
+ # Corresponds to the JSON property `timeZone`
1290
+ # @return [String]
1291
+ attr_accessor :time_zone
1292
+
1293
+ def initialize(**args)
1294
+ update!(**args)
1295
+ end
1296
+
1297
+ # Update properties of this object
1298
+ def update!(**args)
1299
+ @date = args[:date] unless args[:date].nil?
1300
+ @date_time = args[:date_time] unless args[:date_time].nil?
1301
+ @time_zone = args[:time_zone] unless args[:time_zone].nil?
1302
+ end
1303
+ end
1304
+
1305
+ #
1306
+ class EventReminder
1307
+ include Google::Apis::Core::Hashable
1308
+
1309
+ # The method used by this reminder. Possible values are:
1310
+ # - "email" - Reminders are sent via email.
1311
+ # - "sms" - Reminders are sent via SMS.
1312
+ # - "popup" - Reminders are sent via a UI popup.
1313
+ # Corresponds to the JSON property `method`
1314
+ # @return [String]
1315
+ attr_accessor :reminder_method
1316
+
1317
+ # Number of minutes before the start of the event when the reminder should
1318
+ # trigger.
1319
+ # Corresponds to the JSON property `minutes`
1320
+ # @return [Fixnum]
1321
+ attr_accessor :minutes
1322
+
1323
+ def initialize(**args)
1324
+ update!(**args)
1325
+ end
1326
+
1327
+ # Update properties of this object
1328
+ def update!(**args)
1329
+ @reminder_method = args[:reminder_method] unless args[:reminder_method].nil?
1330
+ @minutes = args[:minutes] unless args[:minutes].nil?
1331
+ end
1332
+ end
1333
+
1334
+ #
1335
+ class Events
1336
+ include Google::Apis::Core::Hashable
1337
+
1338
+ # The user's access role for this calendar. Read-only. Possible values are:
1339
+ # - "none" - The user has no access.
1340
+ # - "freeBusyReader" - The user has read access to free/busy information.
1341
+ # - "reader" - The user has read access to the calendar. Private events will
1342
+ # appear to users with reader access, but event details will be hidden.
1343
+ # - "writer" - The user has read and write access to the calendar. Private
1344
+ # events will appear to users with writer access, and event details will be
1345
+ # visible.
1346
+ # - "owner" - The user has ownership of the calendar. This role has all of the
1347
+ # permissions of the writer role with the additional ability to see and
1348
+ # manipulate ACLs.
1349
+ # Corresponds to the JSON property `accessRole`
1350
+ # @return [String]
1351
+ attr_accessor :access_role
1352
+
1353
+ # The default reminders on the calendar for the authenticated user. These
1354
+ # reminders apply to all events on this calendar that do not explicitly override
1355
+ # them (i.e. do not have reminders.useDefault set to True).
1356
+ # Corresponds to the JSON property `defaultReminders`
1357
+ # @return [Array<Google::Apis::CalendarV3::EventReminder>]
1358
+ attr_accessor :default_reminders
1359
+
1360
+ # Description of the calendar. Read-only.
1361
+ # Corresponds to the JSON property `description`
1362
+ # @return [String]
1363
+ attr_accessor :description
1364
+
1365
+ # ETag of the collection.
1366
+ # Corresponds to the JSON property `etag`
1367
+ # @return [String]
1368
+ attr_accessor :etag
1369
+
1370
+ # List of events on the calendar.
1371
+ # Corresponds to the JSON property `items`
1372
+ # @return [Array<Google::Apis::CalendarV3::Event>]
1373
+ attr_accessor :items
1374
+
1375
+ # Type of the collection ("calendar#events").
1376
+ # Corresponds to the JSON property `kind`
1377
+ # @return [String]
1378
+ attr_accessor :kind
1379
+
1380
+ # Token used to access the next page of this result. Omitted if no further
1381
+ # results are available, in which case nextSyncToken is provided.
1382
+ # Corresponds to the JSON property `nextPageToken`
1383
+ # @return [String]
1384
+ attr_accessor :next_page_token
1385
+
1386
+ # Token used at a later point in time to retrieve only the entries that have
1387
+ # changed since this result was returned. Omitted if further results are
1388
+ # available, in which case nextPageToken is provided.
1389
+ # Corresponds to the JSON property `nextSyncToken`
1390
+ # @return [String]
1391
+ attr_accessor :next_sync_token
1392
+
1393
+ # Title of the calendar. Read-only.
1394
+ # Corresponds to the JSON property `summary`
1395
+ # @return [String]
1396
+ attr_accessor :summary
1397
+
1398
+ # The time zone of the calendar. Read-only.
1399
+ # Corresponds to the JSON property `timeZone`
1400
+ # @return [String]
1401
+ attr_accessor :time_zone
1402
+
1403
+ # Last modification time of the calendar (as a RFC 3339 timestamp). Read-only.
1404
+ # Corresponds to the JSON property `updated`
1405
+ # @return [DateTime]
1406
+ attr_accessor :updated
1407
+
1408
+ def initialize(**args)
1409
+ update!(**args)
1410
+ end
1411
+
1412
+ # Update properties of this object
1413
+ def update!(**args)
1414
+ @access_role = args[:access_role] unless args[:access_role].nil?
1415
+ @default_reminders = args[:default_reminders] unless args[:default_reminders].nil?
1416
+ @description = args[:description] unless args[:description].nil?
1417
+ @etag = args[:etag] unless args[:etag].nil?
1418
+ @items = args[:items] unless args[:items].nil?
1419
+ @kind = args[:kind] unless args[:kind].nil?
1420
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1421
+ @next_sync_token = args[:next_sync_token] unless args[:next_sync_token].nil?
1422
+ @summary = args[:summary] unless args[:summary].nil?
1423
+ @time_zone = args[:time_zone] unless args[:time_zone].nil?
1424
+ @updated = args[:updated] unless args[:updated].nil?
1425
+ end
1426
+ end
1427
+
1428
+ #
1429
+ class FreeBusyCalendar
1430
+ include Google::Apis::Core::Hashable
1431
+
1432
+ # List of time ranges during which this calendar should be regarded as busy.
1433
+ # Corresponds to the JSON property `busy`
1434
+ # @return [Array<Google::Apis::CalendarV3::TimePeriod>]
1435
+ attr_accessor :busy
1436
+
1437
+ # Optional error(s) (if computation for the calendar failed).
1438
+ # Corresponds to the JSON property `errors`
1439
+ # @return [Array<Google::Apis::CalendarV3::Error>]
1440
+ attr_accessor :errors
1441
+
1442
+ def initialize(**args)
1443
+ update!(**args)
1444
+ end
1445
+
1446
+ # Update properties of this object
1447
+ def update!(**args)
1448
+ @busy = args[:busy] unless args[:busy].nil?
1449
+ @errors = args[:errors] unless args[:errors].nil?
1450
+ end
1451
+ end
1452
+
1453
+ #
1454
+ class FreeBusyGroup
1455
+ include Google::Apis::Core::Hashable
1456
+
1457
+ # List of calendars' identifiers within a group.
1458
+ # Corresponds to the JSON property `calendars`
1459
+ # @return [Array<String>]
1460
+ attr_accessor :calendars
1461
+
1462
+ # Optional error(s) (if computation for the group failed).
1463
+ # Corresponds to the JSON property `errors`
1464
+ # @return [Array<Google::Apis::CalendarV3::Error>]
1465
+ attr_accessor :errors
1466
+
1467
+ def initialize(**args)
1468
+ update!(**args)
1469
+ end
1470
+
1471
+ # Update properties of this object
1472
+ def update!(**args)
1473
+ @calendars = args[:calendars] unless args[:calendars].nil?
1474
+ @errors = args[:errors] unless args[:errors].nil?
1475
+ end
1476
+ end
1477
+
1478
+ #
1479
+ class FreeBusyRequest
1480
+ include Google::Apis::Core::Hashable
1481
+
1482
+ # Maximal number of calendars for which FreeBusy information is to be provided.
1483
+ # Optional.
1484
+ # Corresponds to the JSON property `calendarExpansionMax`
1485
+ # @return [Fixnum]
1486
+ attr_accessor :calendar_expansion_max
1487
+
1488
+ # Maximal number of calendar identifiers to be provided for a single group.
1489
+ # Optional. An error will be returned for a group with more members than this
1490
+ # value.
1491
+ # Corresponds to the JSON property `groupExpansionMax`
1492
+ # @return [Fixnum]
1493
+ attr_accessor :group_expansion_max
1494
+
1495
+ # List of calendars and/or groups to query.
1496
+ # Corresponds to the JSON property `items`
1497
+ # @return [Array<Google::Apis::CalendarV3::FreeBusyRequestItem>]
1498
+ attr_accessor :items
1499
+
1500
+ # The end of the interval for the query.
1501
+ # Corresponds to the JSON property `timeMax`
1502
+ # @return [DateTime]
1503
+ attr_accessor :time_max
1504
+
1505
+ # The start of the interval for the query.
1506
+ # Corresponds to the JSON property `timeMin`
1507
+ # @return [DateTime]
1508
+ attr_accessor :time_min
1509
+
1510
+ # Time zone used in the response. Optional. The default is UTC.
1511
+ # Corresponds to the JSON property `timeZone`
1512
+ # @return [String]
1513
+ attr_accessor :time_zone
1514
+
1515
+ def initialize(**args)
1516
+ update!(**args)
1517
+ end
1518
+
1519
+ # Update properties of this object
1520
+ def update!(**args)
1521
+ @calendar_expansion_max = args[:calendar_expansion_max] unless args[:calendar_expansion_max].nil?
1522
+ @group_expansion_max = args[:group_expansion_max] unless args[:group_expansion_max].nil?
1523
+ @items = args[:items] unless args[:items].nil?
1524
+ @time_max = args[:time_max] unless args[:time_max].nil?
1525
+ @time_min = args[:time_min] unless args[:time_min].nil?
1526
+ @time_zone = args[:time_zone] unless args[:time_zone].nil?
1527
+ end
1528
+ end
1529
+
1530
+ #
1531
+ class FreeBusyRequestItem
1532
+ include Google::Apis::Core::Hashable
1533
+
1534
+ # The identifier of a calendar or a group.
1535
+ # Corresponds to the JSON property `id`
1536
+ # @return [String]
1537
+ attr_accessor :id
1538
+
1539
+ def initialize(**args)
1540
+ update!(**args)
1541
+ end
1542
+
1543
+ # Update properties of this object
1544
+ def update!(**args)
1545
+ @id = args[:id] unless args[:id].nil?
1546
+ end
1547
+ end
1548
+
1549
+ #
1550
+ class FreeBusyResponse
1551
+ include Google::Apis::Core::Hashable
1552
+
1553
+ # List of free/busy information for calendars.
1554
+ # Corresponds to the JSON property `calendars`
1555
+ # @return [Hash<String,Google::Apis::CalendarV3::FreeBusyCalendar>]
1556
+ attr_accessor :calendars
1557
+
1558
+ # Expansion of groups.
1559
+ # Corresponds to the JSON property `groups`
1560
+ # @return [Hash<String,Google::Apis::CalendarV3::FreeBusyGroup>]
1561
+ attr_accessor :groups
1562
+
1563
+ # Type of the resource ("calendar#freeBusy").
1564
+ # Corresponds to the JSON property `kind`
1565
+ # @return [String]
1566
+ attr_accessor :kind
1567
+
1568
+ # The end of the interval.
1569
+ # Corresponds to the JSON property `timeMax`
1570
+ # @return [DateTime]
1571
+ attr_accessor :time_max
1572
+
1573
+ # The start of the interval.
1574
+ # Corresponds to the JSON property `timeMin`
1575
+ # @return [DateTime]
1576
+ attr_accessor :time_min
1577
+
1578
+ def initialize(**args)
1579
+ update!(**args)
1580
+ end
1581
+
1582
+ # Update properties of this object
1583
+ def update!(**args)
1584
+ @calendars = args[:calendars] unless args[:calendars].nil?
1585
+ @groups = args[:groups] unless args[:groups].nil?
1586
+ @kind = args[:kind] unless args[:kind].nil?
1587
+ @time_max = args[:time_max] unless args[:time_max].nil?
1588
+ @time_min = args[:time_min] unless args[:time_min].nil?
1589
+ end
1590
+ end
1591
+
1592
+ #
1593
+ class Setting
1594
+ include Google::Apis::Core::Hashable
1595
+
1596
+ # ETag of the resource.
1597
+ # Corresponds to the JSON property `etag`
1598
+ # @return [String]
1599
+ attr_accessor :etag
1600
+
1601
+ # The id of the user setting.
1602
+ # Corresponds to the JSON property `id`
1603
+ # @return [String]
1604
+ attr_accessor :id
1605
+
1606
+ # Type of the resource ("calendar#setting").
1607
+ # Corresponds to the JSON property `kind`
1608
+ # @return [String]
1609
+ attr_accessor :kind
1610
+
1611
+ # Value of the user setting. The format of the value depends on the ID of the
1612
+ # setting. It must always be a UTF-8 string of length up to 1024 characters.
1613
+ # Corresponds to the JSON property `value`
1614
+ # @return [String]
1615
+ attr_accessor :value
1616
+
1617
+ def initialize(**args)
1618
+ update!(**args)
1619
+ end
1620
+
1621
+ # Update properties of this object
1622
+ def update!(**args)
1623
+ @etag = args[:etag] unless args[:etag].nil?
1624
+ @id = args[:id] unless args[:id].nil?
1625
+ @kind = args[:kind] unless args[:kind].nil?
1626
+ @value = args[:value] unless args[:value].nil?
1627
+ end
1628
+ end
1629
+
1630
+ #
1631
+ class Settings
1632
+ include Google::Apis::Core::Hashable
1633
+
1634
+ # Etag of the collection.
1635
+ # Corresponds to the JSON property `etag`
1636
+ # @return [String]
1637
+ attr_accessor :etag
1638
+
1639
+ # List of user settings.
1640
+ # Corresponds to the JSON property `items`
1641
+ # @return [Array<Google::Apis::CalendarV3::Setting>]
1642
+ attr_accessor :items
1643
+
1644
+ # Type of the collection ("calendar#settings").
1645
+ # Corresponds to the JSON property `kind`
1646
+ # @return [String]
1647
+ attr_accessor :kind
1648
+
1649
+ # Token used to access the next page of this result. Omitted if no further
1650
+ # results are available, in which case nextSyncToken is provided.
1651
+ # Corresponds to the JSON property `nextPageToken`
1652
+ # @return [String]
1653
+ attr_accessor :next_page_token
1654
+
1655
+ # Token used at a later point in time to retrieve only the entries that have
1656
+ # changed since this result was returned. Omitted if further results are
1657
+ # available, in which case nextPageToken is provided.
1658
+ # Corresponds to the JSON property `nextSyncToken`
1659
+ # @return [String]
1660
+ attr_accessor :next_sync_token
1661
+
1662
+ def initialize(**args)
1663
+ update!(**args)
1664
+ end
1665
+
1666
+ # Update properties of this object
1667
+ def update!(**args)
1668
+ @etag = args[:etag] unless args[:etag].nil?
1669
+ @items = args[:items] unless args[:items].nil?
1670
+ @kind = args[:kind] unless args[:kind].nil?
1671
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1672
+ @next_sync_token = args[:next_sync_token] unless args[:next_sync_token].nil?
1673
+ end
1674
+ end
1675
+
1676
+ #
1677
+ class TimePeriod
1678
+ include Google::Apis::Core::Hashable
1679
+
1680
+ # The (exclusive) end of the time period.
1681
+ # Corresponds to the JSON property `end`
1682
+ # @return [DateTime]
1683
+ attr_accessor :end
1684
+
1685
+ # The (inclusive) start of the time period.
1686
+ # Corresponds to the JSON property `start`
1687
+ # @return [DateTime]
1688
+ attr_accessor :start
1689
+
1690
+ def initialize(**args)
1691
+ update!(**args)
1692
+ end
1693
+
1694
+ # Update properties of this object
1695
+ def update!(**args)
1696
+ @end = args[:end] unless args[:end].nil?
1697
+ @start = args[:start] unless args[:start].nil?
1698
+ end
1699
+ end
1700
+ end
1701
+ end
1702
+ end