google-api-client 0.8.7 → 0.9.pre1

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