google-api-client 0.9.8 → 0.10.2

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 (320) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +15 -8
  3. data/CHANGELOG.md +84 -0
  4. data/Gemfile +10 -2
  5. data/README.md +10 -2
  6. data/api_names.yaml +37172 -135
  7. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +35 -0
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +1200 -0
  9. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +526 -0
  10. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +844 -0
  11. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  12. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +310 -28
  13. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +84 -0
  14. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +60 -8
  15. data/generated/google/apis/adexchangeseller_v2_0.rb +2 -3
  16. data/generated/google/apis/adexchangeseller_v2_0/service.rb +1 -2
  17. data/generated/google/apis/admin_directory_v1.rb +1 -1
  18. data/generated/google/apis/admin_directory_v1/classes.rb +206 -0
  19. data/generated/google/apis/admin_directory_v1/representations.rb +63 -0
  20. data/generated/google/apis/admin_directory_v1/service.rb +41 -2
  21. data/generated/google/apis/admin_reports_v1.rb +5 -5
  22. data/generated/google/apis/admin_reports_v1/service.rb +6 -6
  23. data/generated/google/apis/adsense_v1_4.rb +1 -1
  24. data/generated/google/apis/adsense_v1_4/classes.rb +1 -1
  25. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  26. data/generated/google/apis/adsensehost_v4_1/classes.rb +1 -2
  27. data/generated/google/apis/analytics_v3.rb +1 -1
  28. data/generated/google/apis/analytics_v3/classes.rb +379 -3
  29. data/generated/google/apis/analytics_v3/representations.rb +136 -0
  30. data/generated/google/apis/analytics_v3/service.rb +256 -0
  31. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  32. data/generated/google/apis/analyticsreporting_v4/classes.rb +858 -823
  33. data/generated/google/apis/analyticsreporting_v4/representations.rb +194 -193
  34. data/generated/google/apis/analyticsreporting_v4/service.rb +4 -4
  35. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  36. data/generated/google/apis/androidenterprise_v1/classes.rb +913 -220
  37. data/generated/google/apis/androidenterprise_v1/representations.rb +337 -30
  38. data/generated/google/apis/androidenterprise_v1/service.rb +1163 -561
  39. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  40. data/generated/google/apis/androidpublisher_v2/classes.rb +230 -8
  41. data/generated/google/apis/androidpublisher_v2/representations.rb +90 -0
  42. data/generated/google/apis/androidpublisher_v2/service.rb +116 -3
  43. data/generated/google/apis/appengine_v1beta5.rb +7 -1
  44. data/generated/google/apis/appengine_v1beta5/classes.rb +810 -395
  45. data/generated/google/apis/appengine_v1beta5/representations.rb +188 -22
  46. data/generated/google/apis/appengine_v1beta5/service.rb +343 -39
  47. data/generated/google/apis/appsactivity_v1.rb +3 -3
  48. data/generated/google/apis/appsactivity_v1/classes.rb +7 -0
  49. data/generated/google/apis/appsactivity_v1/representations.rb +1 -0
  50. data/generated/google/apis/appsactivity_v1/service.rb +1 -1
  51. data/generated/google/apis/appstate_v1.rb +1 -1
  52. data/generated/google/apis/bigquery_v2.rb +1 -1
  53. data/generated/google/apis/bigquery_v2/classes.rb +360 -38
  54. data/generated/google/apis/bigquery_v2/representations.rb +106 -0
  55. data/generated/google/apis/bigquery_v2/service.rb +18 -4
  56. data/generated/google/apis/books_v1.rb +2 -2
  57. data/generated/google/apis/books_v1/classes.rb +83 -0
  58. data/generated/google/apis/books_v1/representations.rb +35 -0
  59. data/generated/google/apis/books_v1/service.rb +7 -3
  60. data/generated/google/apis/calendar_v3.rb +1 -1
  61. data/generated/google/apis/calendar_v3/classes.rb +208 -5
  62. data/generated/google/apis/calendar_v3/representations.rb +97 -0
  63. data/generated/google/apis/civicinfo_v2.rb +3 -2
  64. data/generated/google/apis/civicinfo_v2/classes.rb +377 -5
  65. data/generated/google/apis/civicinfo_v2/representations.rb +149 -0
  66. data/generated/google/apis/civicinfo_v2/service.rb +27 -6
  67. data/generated/google/apis/classroom_v1.rb +22 -25
  68. data/generated/google/apis/classroom_v1/classes.rb +998 -761
  69. data/generated/google/apis/classroom_v1/representations.rb +263 -198
  70. data/generated/google/apis/classroom_v1/service.rb +1349 -672
  71. data/generated/google/apis/cloudbilling_v1.rb +3 -3
  72. data/generated/google/apis/cloudbilling_v1/classes.rb +76 -75
  73. data/generated/google/apis/cloudbilling_v1/representations.rb +17 -17
  74. data/generated/google/apis/cloudbilling_v1/service.rb +117 -110
  75. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  76. data/generated/google/apis/cloudbuild_v1/classes.rb +661 -264
  77. data/generated/google/apis/cloudbuild_v1/representations.rb +198 -48
  78. data/generated/google/apis/cloudbuild_v1/service.rb +259 -44
  79. data/generated/google/apis/clouddebugger_v2.rb +5 -8
  80. data/generated/google/apis/clouddebugger_v2/classes.rb +686 -616
  81. data/generated/google/apis/clouddebugger_v2/representations.rb +151 -151
  82. data/generated/google/apis/clouddebugger_v2/service.rb +165 -159
  83. data/generated/google/apis/cloudkms_v1.rb +35 -0
  84. data/generated/google/apis/cloudkms_v1/classes.rb +1022 -0
  85. data/generated/google/apis/cloudkms_v1/representations.rb +448 -0
  86. data/generated/google/apis/cloudkms_v1/service.rb +933 -0
  87. data/generated/google/apis/cloudkms_v1beta1.rb +35 -0
  88. data/generated/google/apis/cloudkms_v1beta1/classes.rb +1039 -0
  89. data/generated/google/apis/cloudkms_v1beta1/representations.rb +448 -0
  90. data/generated/google/apis/cloudkms_v1beta1/service.rb +933 -0
  91. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  92. data/generated/google/apis/cloudresourcemanager_v1.rb +4 -4
  93. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +1529 -167
  94. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +491 -26
  95. data/generated/google/apis/cloudresourcemanager_v1/service.rb +1593 -135
  96. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  97. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +1155 -235
  98. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +344 -44
  99. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +702 -310
  100. data/generated/google/apis/cloudtrace_v1.rb +9 -9
  101. data/generated/google/apis/cloudtrace_v1/classes.rb +98 -92
  102. data/generated/google/apis/cloudtrace_v1/representations.rb +24 -24
  103. data/generated/google/apis/cloudtrace_v1/service.rb +42 -37
  104. data/generated/google/apis/compute_beta.rb +1 -1
  105. data/generated/google/apis/compute_beta/classes.rb +7007 -3648
  106. data/generated/google/apis/compute_beta/representations.rb +1459 -120
  107. data/generated/google/apis/compute_beta/service.rb +7943 -3726
  108. data/generated/google/apis/compute_v1.rb +1 -1
  109. data/generated/google/apis/compute_v1/classes.rb +2567 -370
  110. data/generated/google/apis/compute_v1/representations.rb +855 -0
  111. data/generated/google/apis/compute_v1/service.rb +6388 -2908
  112. data/generated/google/apis/container_v1.rb +1 -1
  113. data/generated/google/apis/container_v1/classes.rb +287 -16
  114. data/generated/google/apis/container_v1/representations.rb +113 -2
  115. data/generated/google/apis/container_v1/service.rb +130 -0
  116. data/generated/google/apis/content_v2.rb +1 -1
  117. data/generated/google/apis/content_v2/classes.rb +778 -10
  118. data/generated/google/apis/content_v2/representations.rb +339 -0
  119. data/generated/google/apis/content_v2/service.rb +364 -49
  120. data/generated/google/apis/dataflow_v1b3.rb +37 -0
  121. data/generated/google/apis/dataflow_v1b3/classes.rb +4941 -0
  122. data/generated/google/apis/dataflow_v1b3/representations.rb +2037 -0
  123. data/generated/google/apis/dataflow_v1b3/service.rb +957 -0
  124. data/generated/google/apis/dataproc_v1.rb +1 -1
  125. data/generated/google/apis/dataproc_v1/classes.rb +1235 -963
  126. data/generated/google/apis/dataproc_v1/representations.rb +299 -225
  127. data/generated/google/apis/dataproc_v1/service.rb +277 -192
  128. data/generated/google/apis/datastore_v1.rb +38 -0
  129. data/generated/google/apis/datastore_v1/classes.rb +1289 -0
  130. data/generated/google/apis/datastore_v1/representations.rb +572 -0
  131. data/generated/google/apis/datastore_v1/service.rb +259 -0
  132. data/generated/google/apis/datastore_v1beta3.rb +38 -0
  133. data/generated/google/apis/datastore_v1beta3/classes.rb +1284 -0
  134. data/generated/google/apis/datastore_v1beta3/representations.rb +572 -0
  135. data/generated/google/apis/datastore_v1beta3/service.rb +259 -0
  136. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  137. data/generated/google/apis/deploymentmanager_v2/classes.rb +436 -3
  138. data/generated/google/apis/deploymentmanager_v2/representations.rb +178 -0
  139. data/generated/google/apis/deploymentmanager_v2/service.rb +226 -61
  140. data/generated/google/apis/dfareporting_v2_5.rb +40 -0
  141. data/generated/google/apis/dfareporting_v2_5/classes.rb +11225 -0
  142. data/generated/google/apis/dfareporting_v2_5/representations.rb +3982 -0
  143. data/generated/google/apis/dfareporting_v2_5/service.rb +8755 -0
  144. data/generated/google/apis/dfareporting_v2_6.rb +40 -0
  145. data/generated/google/apis/dfareporting_v2_6/classes.rb +11586 -0
  146. data/generated/google/apis/dfareporting_v2_6/representations.rb +4119 -0
  147. data/generated/google/apis/dfareporting_v2_6/service.rb +9025 -0
  148. data/generated/google/apis/dfareporting_v2_7.rb +40 -0
  149. data/generated/google/apis/dfareporting_v2_7/classes.rb +11876 -0
  150. data/generated/google/apis/dfareporting_v2_7/representations.rb +4243 -0
  151. data/generated/google/apis/dfareporting_v2_7/service.rb +9095 -0
  152. data/generated/google/apis/dns_v1.rb +1 -1
  153. data/generated/google/apis/dns_v1/classes.rb +1 -1
  154. data/generated/google/apis/dns_v2beta1.rb +43 -0
  155. data/generated/google/apis/dns_v2beta1/classes.rb +915 -0
  156. data/generated/google/apis/dns_v2beta1/representations.rb +368 -0
  157. data/generated/google/apis/dns_v2beta1/service.rb +768 -0
  158. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  159. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +79 -86
  160. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +25 -28
  161. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +10 -8
  162. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  163. data/generated/google/apis/doubleclicksearch_v2/classes.rb +6 -4
  164. data/generated/google/apis/drive_v2.rb +1 -1
  165. data/generated/google/apis/drive_v2/classes.rb +595 -37
  166. data/generated/google/apis/drive_v2/representations.rb +140 -0
  167. data/generated/google/apis/drive_v2/service.rb +406 -40
  168. data/generated/google/apis/drive_v3.rb +1 -1
  169. data/generated/google/apis/drive_v3/classes.rb +507 -40
  170. data/generated/google/apis/drive_v3/representations.rb +105 -0
  171. data/generated/google/apis/drive_v3/service.rb +326 -29
  172. data/generated/google/apis/fitness_v1.rb +38 -2
  173. data/generated/google/apis/fitness_v1/classes.rb +65 -7
  174. data/generated/google/apis/fitness_v1/representations.rb +20 -0
  175. data/generated/google/apis/fitness_v1/service.rb +17 -18
  176. data/generated/google/apis/fusiontables_v2.rb +1 -1
  177. data/generated/google/apis/fusiontables_v2/classes.rb +4 -3
  178. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  179. data/generated/google/apis/games_management_v1management.rb +1 -1
  180. data/generated/google/apis/games_v1.rb +1 -1
  181. data/generated/google/apis/genomics_v1.rb +10 -12
  182. data/generated/google/apis/genomics_v1/classes.rb +2276 -2165
  183. data/generated/google/apis/genomics_v1/representations.rb +468 -496
  184. data/generated/google/apis/genomics_v1/service.rb +978 -882
  185. data/generated/google/apis/gmail_v1.rb +11 -2
  186. data/generated/google/apis/gmail_v1/classes.rb +655 -5
  187. data/generated/google/apis/gmail_v1/representations.rb +261 -0
  188. data/generated/google/apis/gmail_v1/service.rb +1211 -48
  189. data/generated/google/apis/groupssettings_v1.rb +2 -2
  190. data/generated/google/apis/groupssettings_v1/classes.rb +12 -0
  191. data/generated/google/apis/groupssettings_v1/representations.rb +2 -0
  192. data/generated/google/apis/iam_v1.rb +2 -2
  193. data/generated/google/apis/iam_v1/classes.rb +446 -368
  194. data/generated/google/apis/iam_v1/representations.rb +109 -91
  195. data/generated/google/apis/iam_v1/service.rb +249 -162
  196. data/generated/google/apis/identitytoolkit_v3.rb +7 -1
  197. data/generated/google/apis/identitytoolkit_v3/classes.rb +254 -2
  198. data/generated/google/apis/identitytoolkit_v3/representations.rb +38 -0
  199. data/generated/google/apis/kgsearch_v1.rb +2 -3
  200. data/generated/google/apis/kgsearch_v1/classes.rb +13 -13
  201. data/generated/google/apis/kgsearch_v1/representations.rb +2 -2
  202. data/generated/google/apis/kgsearch_v1/service.rb +26 -24
  203. data/generated/google/apis/language_v1beta1.rb +36 -0
  204. data/generated/google/apis/language_v1beta1/classes.rb +757 -0
  205. data/generated/google/apis/language_v1beta1/representations.rb +339 -0
  206. data/generated/google/apis/language_v1beta1/service.rb +185 -0
  207. data/generated/google/apis/licensing_v1.rb +3 -3
  208. data/generated/google/apis/licensing_v1/classes.rb +14 -2
  209. data/generated/google/apis/licensing_v1/representations.rb +2 -0
  210. data/generated/google/apis/licensing_v1/service.rb +1 -1
  211. data/generated/google/apis/logging_v2beta1.rb +6 -6
  212. data/generated/google/apis/logging_v2beta1/classes.rb +900 -775
  213. data/generated/google/apis/logging_v2beta1/representations.rb +163 -142
  214. data/generated/google/apis/logging_v2beta1/service.rb +427 -155
  215. data/generated/google/apis/manufacturers_v1.rb +34 -0
  216. data/generated/google/apis/manufacturers_v1/classes.rb +605 -0
  217. data/generated/google/apis/manufacturers_v1/representations.rb +223 -0
  218. data/generated/google/apis/manufacturers_v1/service.rb +138 -0
  219. data/generated/google/apis/mirror_v1.rb +2 -2
  220. data/generated/google/apis/mirror_v1/service.rb +1 -1
  221. data/generated/google/apis/monitoring_v3.rb +45 -0
  222. data/generated/google/apis/monitoring_v3/classes.rb +1333 -0
  223. data/generated/google/apis/monitoring_v3/representations.rb +516 -0
  224. data/generated/google/apis/monitoring_v3/service.rb +706 -0
  225. data/generated/google/apis/oauth2_v2.rb +1 -1
  226. data/generated/google/apis/pagespeedonline_v2.rb +1 -1
  227. data/generated/google/apis/partners_v2.rb +3 -3
  228. data/generated/google/apis/partners_v2/classes.rb +1831 -477
  229. data/generated/google/apis/partners_v2/representations.rb +571 -114
  230. data/generated/google/apis/partners_v2/service.rb +898 -167
  231. data/generated/google/apis/people_v1.rb +15 -16
  232. data/generated/google/apis/people_v1/classes.rb +1047 -859
  233. data/generated/google/apis/people_v1/representations.rb +252 -213
  234. data/generated/google/apis/people_v1/service.rb +75 -62
  235. data/generated/google/apis/plus_domains_v1.rb +1 -1
  236. data/generated/google/apis/plus_v1.rb +1 -1
  237. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  238. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +527 -456
  239. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +101 -100
  240. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +467 -343
  241. data/generated/google/apis/pubsub_v1.rb +1 -1
  242. data/generated/google/apis/pubsub_v1/classes.rb +363 -310
  243. data/generated/google/apis/pubsub_v1/representations.rb +76 -76
  244. data/generated/google/apis/pubsub_v1/service.rb +464 -335
  245. data/generated/google/apis/qpx_express_v1.rb +1 -1
  246. data/generated/google/apis/qpx_express_v1/classes.rb +6 -0
  247. data/generated/google/apis/qpx_express_v1/representations.rb +1 -0
  248. data/generated/google/apis/replicapool_v1beta2.rb +1 -1
  249. data/generated/google/apis/replicapoolupdater_v1beta1.rb +4 -2
  250. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +3 -1
  251. data/generated/google/apis/reseller_v1.rb +1 -1
  252. data/generated/google/apis/reseller_v1/classes.rb +222 -61
  253. data/generated/google/apis/reseller_v1/representations.rb +28 -0
  254. data/generated/google/apis/reseller_v1/service.rb +240 -47
  255. data/generated/google/apis/script_v1.rb +19 -19
  256. data/generated/google/apis/script_v1/classes.rb +151 -137
  257. data/generated/google/apis/script_v1/representations.rb +26 -26
  258. data/generated/google/apis/script_v1/service.rb +9 -8
  259. data/generated/google/apis/sheets_v4.rb +7 -7
  260. data/generated/google/apis/sheets_v4/classes.rb +4530 -3506
  261. data/generated/google/apis/sheets_v4/representations.rb +988 -737
  262. data/generated/google/apis/sheets_v4/service.rb +266 -99
  263. data/generated/google/apis/site_verification_v1.rb +1 -1
  264. data/generated/google/apis/slides_v1.rb +49 -0
  265. data/generated/google/apis/slides_v1/classes.rb +4480 -0
  266. data/generated/google/apis/slides_v1/representations.rb +1926 -0
  267. data/generated/google/apis/slides_v1/service.rb +245 -0
  268. data/generated/google/apis/speech_v1beta1.rb +34 -0
  269. data/generated/google/apis/speech_v1beta1/classes.rb +498 -0
  270. data/generated/google/apis/speech_v1beta1/representations.rb +206 -0
  271. data/generated/google/apis/speech_v1beta1/service.rb +270 -0
  272. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  273. data/generated/google/apis/sqladmin_v1beta4/classes.rb +131 -10
  274. data/generated/google/apis/sqladmin_v1beta4/representations.rb +50 -0
  275. data/generated/google/apis/sqladmin_v1beta4/service.rb +92 -2
  276. data/generated/google/apis/storage_v1.rb +1 -1
  277. data/generated/google/apis/storage_v1/classes.rb +205 -21
  278. data/generated/google/apis/storage_v1/representations.rb +51 -1
  279. data/generated/google/apis/storage_v1/service.rb +263 -9
  280. data/generated/google/apis/tagmanager_v1.rb +5 -5
  281. data/generated/google/apis/translate_v2.rb +2 -2
  282. data/generated/google/apis/translate_v2/service.rb +1 -1
  283. data/generated/google/apis/vision_v1.rb +1 -1
  284. data/generated/google/apis/vision_v1/classes.rb +1275 -731
  285. data/generated/google/apis/vision_v1/representations.rb +378 -111
  286. data/generated/google/apis/vision_v1/service.rb +4 -4
  287. data/generated/google/apis/webmasters_v3.rb +1 -1
  288. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  289. data/generated/google/apis/youtube_analytics_v1/classes.rb +0 -209
  290. data/generated/google/apis/youtube_analytics_v1/representations.rb +0 -99
  291. data/generated/google/apis/youtube_analytics_v1/service.rb +5 -77
  292. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  293. data/generated/google/apis/youtube_partner_v1/classes.rb +155 -0
  294. data/generated/google/apis/youtube_partner_v1/representations.rb +69 -0
  295. data/generated/google/apis/youtube_partner_v1/service.rb +107 -3
  296. data/generated/google/apis/youtube_v3.rb +1 -1
  297. data/generated/google/apis/youtube_v3/classes.rb +430 -22
  298. data/generated/google/apis/youtube_v3/representations.rb +171 -4
  299. data/generated/google/apis/youtube_v3/service.rb +100 -9
  300. data/generated/google/apis/youtubereporting_v1.rb +4 -4
  301. data/generated/google/apis/youtubereporting_v1/classes.rb +140 -131
  302. data/generated/google/apis/youtubereporting_v1/representations.rb +37 -37
  303. data/generated/google/apis/youtubereporting_v1/service.rb +139 -135
  304. data/google-api-client.gemspec +4 -3
  305. data/lib/google/apis/core/api_command.rb +16 -6
  306. data/lib/google/apis/core/base_service.rb +17 -9
  307. data/lib/google/apis/core/download.rb +7 -2
  308. data/lib/google/apis/core/http_command.rb +5 -1
  309. data/lib/google/apis/core/json_representation.rb +2 -2
  310. data/lib/google/apis/core/upload.rb +7 -1
  311. data/lib/google/apis/errors.rb +6 -2
  312. data/lib/google/apis/generator/annotator.rb +6 -0
  313. data/lib/google/apis/version.rb +1 -1
  314. data/samples/cli/lib/samples/bigquery.rb +101 -0
  315. data/samples/cli/lib/samples/calendar.rb +1 -1
  316. data/samples/cli/lib/samples/gmail.rb +74 -0
  317. data/samples/cli/lib/samples/sheets.rb +61 -0
  318. data/samples/cli/lib/samples/you_tube.rb +4 -1
  319. data/sync.rb +71 -0
  320. metadata +86 -18
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/site-verification/
26
26
  module SiteVerificationV1
27
27
  VERSION = 'V1'
28
- REVISION = '20160228'
28
+ REVISION = '20161114'
29
29
 
30
30
  # Manage the list of sites and domains you control
31
31
  AUTH_SITEVERIFICATION = 'https://www.googleapis.com/auth/siteverification'
@@ -0,0 +1,49 @@
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/slides_v1/service.rb'
16
+ require 'google/apis/slides_v1/classes.rb'
17
+ require 'google/apis/slides_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Google Slides API
22
+ #
23
+ # An API for creating and editing Google Slides presentations.
24
+ #
25
+ # @see https://developers.google.com/slides/
26
+ module SlidesV1
27
+ VERSION = 'V1'
28
+ REVISION = '20170323'
29
+
30
+ # View your Google Slides presentations
31
+ AUTH_PRESENTATIONS_READONLY = 'https://www.googleapis.com/auth/presentations.readonly'
32
+
33
+ # View your Google Spreadsheets
34
+ AUTH_SPREADSHEETS_READONLY = 'https://www.googleapis.com/auth/spreadsheets.readonly'
35
+
36
+ # View and manage the files in your Google Drive
37
+ AUTH_DRIVE = 'https://www.googleapis.com/auth/drive'
38
+
39
+ # View the files in your Google Drive
40
+ AUTH_DRIVE_READONLY = 'https://www.googleapis.com/auth/drive.readonly'
41
+
42
+ # View and manage your spreadsheets in Google Drive
43
+ AUTH_SPREADSHEETS = 'https://www.googleapis.com/auth/spreadsheets'
44
+
45
+ # View and manage your Google Slides presentations
46
+ AUTH_PRESENTATIONS = 'https://www.googleapis.com/auth/presentations'
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,4480 @@
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 SlidesV1
24
+
25
+ # Creates a new table.
26
+ class CreateTableRequest
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Number of rows in the table.
30
+ # Corresponds to the JSON property `rows`
31
+ # @return [Fixnum]
32
+ attr_accessor :rows
33
+
34
+ # A user-supplied object ID.
35
+ # If you specify an ID, it must be unique among all pages and page elements
36
+ # in the presentation. The ID must start with an alphanumeric character or an
37
+ # underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
38
+ # may include those as well as a hyphen or colon (matches regex
39
+ # `[a-zA-Z0-9_-:]`).
40
+ # The length of the ID must not be less than 5 or greater than 50.
41
+ # If you don't specify an ID, a unique one is generated.
42
+ # Corresponds to the JSON property `objectId`
43
+ # @return [String]
44
+ attr_accessor :object_id_prop
45
+
46
+ # Number of columns in the table.
47
+ # Corresponds to the JSON property `columns`
48
+ # @return [Fixnum]
49
+ attr_accessor :columns
50
+
51
+ # Common properties for a page element.
52
+ # Note: When you initially create a
53
+ # PageElement, the API may modify
54
+ # the values of both `size` and `transform`, but the
55
+ # visual size will be unchanged.
56
+ # Corresponds to the JSON property `elementProperties`
57
+ # @return [Google::Apis::SlidesV1::PageElementProperties]
58
+ attr_accessor :element_properties
59
+
60
+ def initialize(**args)
61
+ update!(**args)
62
+ end
63
+
64
+ # Update properties of this object
65
+ def update!(**args)
66
+ @rows = args[:rows] if args.key?(:rows)
67
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
68
+ @columns = args[:columns] if args.key?(:columns)
69
+ @element_properties = args[:element_properties] if args.key?(:element_properties)
70
+ end
71
+ end
72
+
73
+ # The result of creating a table.
74
+ class CreateTableResponse
75
+ include Google::Apis::Core::Hashable
76
+
77
+ # The object ID of the created table.
78
+ # Corresponds to the JSON property `objectId`
79
+ # @return [String]
80
+ attr_accessor :object_id_prop
81
+
82
+ def initialize(**args)
83
+ update!(**args)
84
+ end
85
+
86
+ # Update properties of this object
87
+ def update!(**args)
88
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
89
+ end
90
+ end
91
+
92
+ # A PageElement kind representing a
93
+ # table.
94
+ class Table
95
+ include Google::Apis::Core::Hashable
96
+
97
+ # Properties and contents of each row.
98
+ # Cells that span multiple rows are contained in only one of these rows and
99
+ # have a row_span greater
100
+ # than 1.
101
+ # Corresponds to the JSON property `tableRows`
102
+ # @return [Array<Google::Apis::SlidesV1::TableRow>]
103
+ attr_accessor :table_rows
104
+
105
+ # Number of rows in the table.
106
+ # Corresponds to the JSON property `rows`
107
+ # @return [Fixnum]
108
+ attr_accessor :rows
109
+
110
+ # Properties of each column.
111
+ # Corresponds to the JSON property `tableColumns`
112
+ # @return [Array<Google::Apis::SlidesV1::TableColumnProperties>]
113
+ attr_accessor :table_columns
114
+
115
+ # Number of columns in the table.
116
+ # Corresponds to the JSON property `columns`
117
+ # @return [Fixnum]
118
+ attr_accessor :columns
119
+
120
+ def initialize(**args)
121
+ update!(**args)
122
+ end
123
+
124
+ # Update properties of this object
125
+ def update!(**args)
126
+ @table_rows = args[:table_rows] if args.key?(:table_rows)
127
+ @rows = args[:rows] if args.key?(:rows)
128
+ @table_columns = args[:table_columns] if args.key?(:table_columns)
129
+ @columns = args[:columns] if args.key?(:columns)
130
+ end
131
+ end
132
+
133
+ # The page background fill.
134
+ class PageBackgroundFill
135
+ include Google::Apis::Core::Hashable
136
+
137
+ # The stretched picture fill. The page or page element is filled entirely with
138
+ # the specified picture. The picture is stretched to fit its container.
139
+ # Corresponds to the JSON property `stretchedPictureFill`
140
+ # @return [Google::Apis::SlidesV1::StretchedPictureFill]
141
+ attr_accessor :stretched_picture_fill
142
+
143
+ # A solid color fill. The page or page element is filled entirely with the
144
+ # specified color value.
145
+ # If any field is unset, its value may be inherited from a parent placeholder
146
+ # if it exists.
147
+ # Corresponds to the JSON property `solidFill`
148
+ # @return [Google::Apis::SlidesV1::SolidFill]
149
+ attr_accessor :solid_fill
150
+
151
+ # The background fill property state.
152
+ # Updating the the fill on a page will implicitly update this field to
153
+ # `RENDERED`, unless another value is specified in the same request. To
154
+ # have no fill on a page, set this field to `NOT_RENDERED`. In this case,
155
+ # any other fill fields set in the same request will be ignored.
156
+ # Corresponds to the JSON property `propertyState`
157
+ # @return [String]
158
+ attr_accessor :property_state
159
+
160
+ def initialize(**args)
161
+ update!(**args)
162
+ end
163
+
164
+ # Update properties of this object
165
+ def update!(**args)
166
+ @stretched_picture_fill = args[:stretched_picture_fill] if args.key?(:stretched_picture_fill)
167
+ @solid_fill = args[:solid_fill] if args.key?(:solid_fill)
168
+ @property_state = args[:property_state] if args.key?(:property_state)
169
+ end
170
+ end
171
+
172
+ # A PageElement kind representing
173
+ # a linked chart embedded from Google Sheets.
174
+ class SheetsChart
175
+ include Google::Apis::Core::Hashable
176
+
177
+ # The ID of the specific chart in the Google Sheets spreadsheet that is
178
+ # embedded.
179
+ # Corresponds to the JSON property `chartId`
180
+ # @return [Fixnum]
181
+ attr_accessor :chart_id
182
+
183
+ # The properties of the SheetsChart.
184
+ # Corresponds to the JSON property `sheetsChartProperties`
185
+ # @return [Google::Apis::SlidesV1::SheetsChartProperties]
186
+ attr_accessor :sheets_chart_properties
187
+
188
+ # The URL of an image of the embedded chart, with a default lifetime of 30
189
+ # minutes. This URL is tagged with the account of the requester. Anyone with
190
+ # the URL effectively accesses the image as the original requester. Access to
191
+ # the image may be lost if the presentation's sharing settings change.
192
+ # Corresponds to the JSON property `contentUrl`
193
+ # @return [String]
194
+ attr_accessor :content_url
195
+
196
+ # The ID of the Google Sheets spreadsheet that contains the source chart.
197
+ # Corresponds to the JSON property `spreadsheetId`
198
+ # @return [String]
199
+ attr_accessor :spreadsheet_id
200
+
201
+ def initialize(**args)
202
+ update!(**args)
203
+ end
204
+
205
+ # Update properties of this object
206
+ def update!(**args)
207
+ @chart_id = args[:chart_id] if args.key?(:chart_id)
208
+ @sheets_chart_properties = args[:sheets_chart_properties] if args.key?(:sheets_chart_properties)
209
+ @content_url = args[:content_url] if args.key?(:content_url)
210
+ @spreadsheet_id = args[:spreadsheet_id] if args.key?(:spreadsheet_id)
211
+ end
212
+ end
213
+
214
+ # A solid color fill. The page or page element is filled entirely with the
215
+ # specified color value.
216
+ # If any field is unset, its value may be inherited from a parent placeholder
217
+ # if it exists.
218
+ class SolidFill
219
+ include Google::Apis::Core::Hashable
220
+
221
+ # A themeable solid color value.
222
+ # Corresponds to the JSON property `color`
223
+ # @return [Google::Apis::SlidesV1::OpaqueColor]
224
+ attr_accessor :color
225
+
226
+ # The fraction of this `color` that should be applied to the pixel.
227
+ # That is, the final pixel color is defined by the equation:
228
+ # pixel color = alpha * (color) + (1.0 - alpha) * (background color)
229
+ # This means that a value of 1.0 corresponds to a solid color, whereas
230
+ # a value of 0.0 corresponds to a completely transparent color.
231
+ # Corresponds to the JSON property `alpha`
232
+ # @return [Float]
233
+ attr_accessor :alpha
234
+
235
+ def initialize(**args)
236
+ update!(**args)
237
+ end
238
+
239
+ # Update properties of this object
240
+ def update!(**args)
241
+ @color = args[:color] if args.key?(:color)
242
+ @alpha = args[:alpha] if args.key?(:alpha)
243
+ end
244
+ end
245
+
246
+ # A pair mapping a theme color type to the concrete color it represents.
247
+ class ThemeColorPair
248
+ include Google::Apis::Core::Hashable
249
+
250
+ # An RGB color.
251
+ # Corresponds to the JSON property `color`
252
+ # @return [Google::Apis::SlidesV1::RgbColor]
253
+ attr_accessor :color
254
+
255
+ # The type of the theme color.
256
+ # Corresponds to the JSON property `type`
257
+ # @return [String]
258
+ attr_accessor :type
259
+
260
+ def initialize(**args)
261
+ update!(**args)
262
+ end
263
+
264
+ # Update properties of this object
265
+ def update!(**args)
266
+ @color = args[:color] if args.key?(:color)
267
+ @type = args[:type] if args.key?(:type)
268
+ end
269
+ end
270
+
271
+ # A color that can either be fully opaque or fully transparent.
272
+ class OptionalColor
273
+ include Google::Apis::Core::Hashable
274
+
275
+ # A themeable solid color value.
276
+ # Corresponds to the JSON property `opaqueColor`
277
+ # @return [Google::Apis::SlidesV1::OpaqueColor]
278
+ attr_accessor :opaque_color
279
+
280
+ def initialize(**args)
281
+ update!(**args)
282
+ end
283
+
284
+ # Update properties of this object
285
+ def update!(**args)
286
+ @opaque_color = args[:opaque_color] if args.key?(:opaque_color)
287
+ end
288
+ end
289
+
290
+ # Common properties for a page element.
291
+ # Note: When you initially create a
292
+ # PageElement, the API may modify
293
+ # the values of both `size` and `transform`, but the
294
+ # visual size will be unchanged.
295
+ class PageElementProperties
296
+ include Google::Apis::Core::Hashable
297
+
298
+ # The object ID of the page where the element is located.
299
+ # Corresponds to the JSON property `pageObjectId`
300
+ # @return [String]
301
+ attr_accessor :page_object_id
302
+
303
+ # A width and height.
304
+ # Corresponds to the JSON property `size`
305
+ # @return [Google::Apis::SlidesV1::Size]
306
+ attr_accessor :size
307
+
308
+ # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ]
309
+ # to transform source coordinates (x,y) into destination coordinates (x', y')
310
+ # according to:
311
+ # x' x = shear_y scale_y translate_y
312
+ # 1 [ 1 ]
313
+ # After transformation,
314
+ # x' = scale_x * x + shear_x * y + translate_x;
315
+ # y' = scale_y * y + shear_y * x + translate_y;
316
+ # This message is therefore composed of these six matrix elements.
317
+ # Corresponds to the JSON property `transform`
318
+ # @return [Google::Apis::SlidesV1::AffineTransform]
319
+ attr_accessor :transform
320
+
321
+ def initialize(**args)
322
+ update!(**args)
323
+ end
324
+
325
+ # Update properties of this object
326
+ def update!(**args)
327
+ @page_object_id = args[:page_object_id] if args.key?(:page_object_id)
328
+ @size = args[:size] if args.key?(:size)
329
+ @transform = args[:transform] if args.key?(:transform)
330
+ end
331
+ end
332
+
333
+ # The properties of the SheetsChart.
334
+ class SheetsChartProperties
335
+ include Google::Apis::Core::Hashable
336
+
337
+ # The properties of the Image.
338
+ # Corresponds to the JSON property `chartImageProperties`
339
+ # @return [Google::Apis::SlidesV1::ImageProperties]
340
+ attr_accessor :chart_image_properties
341
+
342
+ def initialize(**args)
343
+ update!(**args)
344
+ end
345
+
346
+ # Update properties of this object
347
+ def update!(**args)
348
+ @chart_image_properties = args[:chart_image_properties] if args.key?(:chart_image_properties)
349
+ end
350
+ end
351
+
352
+ # The stretched picture fill. The page or page element is filled entirely with
353
+ # the specified picture. The picture is stretched to fit its container.
354
+ class StretchedPictureFill
355
+ include Google::Apis::Core::Hashable
356
+
357
+ # Reading the content_url:
358
+ # An URL to a picture with a default lifetime of 30 minutes.
359
+ # This URL is tagged with the account of the requester. Anyone with the URL
360
+ # effectively accesses the picture as the original requester. Access to the
361
+ # picture may be lost if the presentation's sharing settings change.
362
+ # Writing the content_url:
363
+ # The picture is fetched once at insertion time and a copy is stored for
364
+ # display inside the presentation. Pictures must be less than 50MB in size,
365
+ # cannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF
366
+ # format.
367
+ # Corresponds to the JSON property `contentUrl`
368
+ # @return [String]
369
+ attr_accessor :content_url
370
+
371
+ # A width and height.
372
+ # Corresponds to the JSON property `size`
373
+ # @return [Google::Apis::SlidesV1::Size]
374
+ attr_accessor :size
375
+
376
+ def initialize(**args)
377
+ update!(**args)
378
+ end
379
+
380
+ # Update properties of this object
381
+ def update!(**args)
382
+ @content_url = args[:content_url] if args.key?(:content_url)
383
+ @size = args[:size] if args.key?(:size)
384
+ end
385
+ end
386
+
387
+ # Update the styling of text in a Shape or
388
+ # Table.
389
+ class UpdateTextStyleRequest
390
+ include Google::Apis::Core::Hashable
391
+
392
+ # The fields that should be updated.
393
+ # At least one field must be specified. The root `style` is implied and
394
+ # should not be specified. A single `"*"` can be used as short-hand for
395
+ # listing every field.
396
+ # For example, to update the text style to bold, set `fields` to `"bold"`.
397
+ # To reset a property to its default value, include its field name in the
398
+ # field mask but leave the field itself unset.
399
+ # Corresponds to the JSON property `fields`
400
+ # @return [String]
401
+ attr_accessor :fields
402
+
403
+ # The object ID of the shape or table with the text to be styled.
404
+ # Corresponds to the JSON property `objectId`
405
+ # @return [String]
406
+ attr_accessor :object_id_prop
407
+
408
+ # Specifies a contiguous range of an indexed collection, such as characters in
409
+ # text.
410
+ # Corresponds to the JSON property `textRange`
411
+ # @return [Google::Apis::SlidesV1::Range]
412
+ attr_accessor :text_range
413
+
414
+ # A location of a single table cell within a table.
415
+ # Corresponds to the JSON property `cellLocation`
416
+ # @return [Google::Apis::SlidesV1::TableCellLocation]
417
+ attr_accessor :cell_location
418
+
419
+ # Represents the styling that can be applied to a TextRun.
420
+ # If this text is contained in a shape with a parent placeholder, then these
421
+ # text styles may be
422
+ # inherited from the parent. Which text styles are inherited depend on the
423
+ # nesting level of lists:
424
+ # * A text run in a paragraph that is not in a list will inherit its text style
425
+ # from the the newline character in the paragraph at the 0 nesting level of
426
+ # the list inside the parent placeholder.
427
+ # * A text run in a paragraph that is in a list will inherit its text style
428
+ # from the newline character in the paragraph at its corresponding nesting
429
+ # level of the list inside the parent placeholder.
430
+ # Inherited text styles are represented as unset fields in this message. If
431
+ # text is contained in a shape without a parent placeholder, unsetting these
432
+ # fields will revert the style to a value matching the defaults in the Slides
433
+ # editor.
434
+ # Corresponds to the JSON property `style`
435
+ # @return [Google::Apis::SlidesV1::TextStyle]
436
+ attr_accessor :style
437
+
438
+ def initialize(**args)
439
+ update!(**args)
440
+ end
441
+
442
+ # Update properties of this object
443
+ def update!(**args)
444
+ @fields = args[:fields] if args.key?(:fields)
445
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
446
+ @text_range = args[:text_range] if args.key?(:text_range)
447
+ @cell_location = args[:cell_location] if args.key?(:cell_location)
448
+ @style = args[:style] if args.key?(:style)
449
+ end
450
+ end
451
+
452
+ # Deletes a column from a table.
453
+ class DeleteTableColumnRequest
454
+ include Google::Apis::Core::Hashable
455
+
456
+ # A location of a single table cell within a table.
457
+ # Corresponds to the JSON property `cellLocation`
458
+ # @return [Google::Apis::SlidesV1::TableCellLocation]
459
+ attr_accessor :cell_location
460
+
461
+ # The table to delete columns from.
462
+ # Corresponds to the JSON property `tableObjectId`
463
+ # @return [String]
464
+ attr_accessor :table_object_id
465
+
466
+ def initialize(**args)
467
+ update!(**args)
468
+ end
469
+
470
+ # Update properties of this object
471
+ def update!(**args)
472
+ @cell_location = args[:cell_location] if args.key?(:cell_location)
473
+ @table_object_id = args[:table_object_id] if args.key?(:table_object_id)
474
+ end
475
+ end
476
+
477
+ # A List describes the look and feel of bullets belonging to paragraphs
478
+ # associated with a list. A paragraph that is part of a list has an implicit
479
+ # reference to that list's ID.
480
+ class List
481
+ include Google::Apis::Core::Hashable
482
+
483
+ # The ID of the list.
484
+ # Corresponds to the JSON property `listId`
485
+ # @return [String]
486
+ attr_accessor :list_id
487
+
488
+ # A map of nesting levels to the properties of bullets at the associated
489
+ # level. A list has at most nine levels of nesting, so the possible values
490
+ # for the keys of this map are 0 through 8, inclusive.
491
+ # Corresponds to the JSON property `nestingLevel`
492
+ # @return [Hash<String,Google::Apis::SlidesV1::NestingLevel>]
493
+ attr_accessor :nesting_level
494
+
495
+ def initialize(**args)
496
+ update!(**args)
497
+ end
498
+
499
+ # Update properties of this object
500
+ def update!(**args)
501
+ @list_id = args[:list_id] if args.key?(:list_id)
502
+ @nesting_level = args[:nesting_level] if args.key?(:nesting_level)
503
+ end
504
+ end
505
+
506
+ # Represents a font family and weight used to style a TextRun.
507
+ class WeightedFontFamily
508
+ include Google::Apis::Core::Hashable
509
+
510
+ # The font family of the text.
511
+ # The font family can be any font from the Font menu in Slides or from
512
+ # [Google Fonts] (https://fonts.google.com/). If the font name is
513
+ # unrecognized, the text is rendered in `Arial`.
514
+ # Corresponds to the JSON property `fontFamily`
515
+ # @return [String]
516
+ attr_accessor :font_family
517
+
518
+ # The rendered weight of the text. This field can have any value that is a
519
+ # multiple of `100` between `100` and `900`, inclusive. This range
520
+ # corresponds to the numerical values described in the CSS 2.1
521
+ # Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-
522
+ # boldness),
523
+ # with non-numerical values disallowed. Weights greater than or equal to
524
+ # `700` are considered bold, and weights less than `700`are not bold. The
525
+ # default value is `400` ("normal").
526
+ # Corresponds to the JSON property `weight`
527
+ # @return [Fixnum]
528
+ attr_accessor :weight
529
+
530
+ def initialize(**args)
531
+ update!(**args)
532
+ end
533
+
534
+ # Update properties of this object
535
+ def update!(**args)
536
+ @font_family = args[:font_family] if args.key?(:font_family)
537
+ @weight = args[:weight] if args.key?(:weight)
538
+ end
539
+ end
540
+
541
+ # A visual element rendered on a page.
542
+ class PageElement
543
+ include Google::Apis::Core::Hashable
544
+
545
+ # A width and height.
546
+ # Corresponds to the JSON property `size`
547
+ # @return [Google::Apis::SlidesV1::Size]
548
+ attr_accessor :size
549
+
550
+ # The title of the page element. Combined with description to display alt
551
+ # text.
552
+ # Corresponds to the JSON property `title`
553
+ # @return [String]
554
+ attr_accessor :title
555
+
556
+ # A PageElement kind representing
557
+ # a linked chart embedded from Google Sheets.
558
+ # Corresponds to the JSON property `sheetsChart`
559
+ # @return [Google::Apis::SlidesV1::SheetsChart]
560
+ attr_accessor :sheets_chart
561
+
562
+ # A PageElement kind representing a
563
+ # video.
564
+ # Corresponds to the JSON property `video`
565
+ # @return [Google::Apis::SlidesV1::Video]
566
+ attr_accessor :video
567
+
568
+ # A PageElement kind representing
569
+ # word art.
570
+ # Corresponds to the JSON property `wordArt`
571
+ # @return [Google::Apis::SlidesV1::WordArt]
572
+ attr_accessor :word_art
573
+
574
+ # A PageElement kind representing a
575
+ # table.
576
+ # Corresponds to the JSON property `table`
577
+ # @return [Google::Apis::SlidesV1::Table]
578
+ attr_accessor :table
579
+
580
+ # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ]
581
+ # to transform source coordinates (x,y) into destination coordinates (x', y')
582
+ # according to:
583
+ # x' x = shear_y scale_y translate_y
584
+ # 1 [ 1 ]
585
+ # After transformation,
586
+ # x' = scale_x * x + shear_x * y + translate_x;
587
+ # y' = scale_y * y + shear_y * x + translate_y;
588
+ # This message is therefore composed of these six matrix elements.
589
+ # Corresponds to the JSON property `transform`
590
+ # @return [Google::Apis::SlidesV1::AffineTransform]
591
+ attr_accessor :transform
592
+
593
+ # The object ID for this page element. Object IDs used by
594
+ # google.apps.slides.v1.Page and
595
+ # google.apps.slides.v1.PageElement share the same namespace.
596
+ # Corresponds to the JSON property `objectId`
597
+ # @return [String]
598
+ attr_accessor :object_id_prop
599
+
600
+ # A PageElement kind representing a
601
+ # generic shape that does not have a more specific classification.
602
+ # Corresponds to the JSON property `shape`
603
+ # @return [Google::Apis::SlidesV1::Shape]
604
+ attr_accessor :shape
605
+
606
+ # A PageElement kind representing a
607
+ # line, curved connector, or bent connector.
608
+ # Corresponds to the JSON property `line`
609
+ # @return [Google::Apis::SlidesV1::Line]
610
+ attr_accessor :line
611
+
612
+ # The description of the page element. Combined with title to display alt
613
+ # text.
614
+ # Corresponds to the JSON property `description`
615
+ # @return [String]
616
+ attr_accessor :description
617
+
618
+ # A PageElement kind representing a
619
+ # joined collection of PageElements.
620
+ # Corresponds to the JSON property `elementGroup`
621
+ # @return [Google::Apis::SlidesV1::Group]
622
+ attr_accessor :element_group
623
+
624
+ # A PageElement kind representing an
625
+ # image.
626
+ # Corresponds to the JSON property `image`
627
+ # @return [Google::Apis::SlidesV1::Image]
628
+ attr_accessor :image
629
+
630
+ def initialize(**args)
631
+ update!(**args)
632
+ end
633
+
634
+ # Update properties of this object
635
+ def update!(**args)
636
+ @size = args[:size] if args.key?(:size)
637
+ @title = args[:title] if args.key?(:title)
638
+ @sheets_chart = args[:sheets_chart] if args.key?(:sheets_chart)
639
+ @video = args[:video] if args.key?(:video)
640
+ @word_art = args[:word_art] if args.key?(:word_art)
641
+ @table = args[:table] if args.key?(:table)
642
+ @transform = args[:transform] if args.key?(:transform)
643
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
644
+ @shape = args[:shape] if args.key?(:shape)
645
+ @line = args[:line] if args.key?(:line)
646
+ @description = args[:description] if args.key?(:description)
647
+ @element_group = args[:element_group] if args.key?(:element_group)
648
+ @image = args[:image] if args.key?(:image)
649
+ end
650
+ end
651
+
652
+ # Creates an image.
653
+ class CreateImageRequest
654
+ include Google::Apis::Core::Hashable
655
+
656
+ # A user-supplied object ID.
657
+ # If you specify an ID, it must be unique among all pages and page elements
658
+ # in the presentation. The ID must start with an alphanumeric character or an
659
+ # underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
660
+ # may include those as well as a hyphen or colon (matches regex
661
+ # `[a-zA-Z0-9_-:]`).
662
+ # The length of the ID must not be less than 5 or greater than 50.
663
+ # If you don't specify an ID, a unique one is generated.
664
+ # Corresponds to the JSON property `objectId`
665
+ # @return [String]
666
+ attr_accessor :object_id_prop
667
+
668
+ # Common properties for a page element.
669
+ # Note: When you initially create a
670
+ # PageElement, the API may modify
671
+ # the values of both `size` and `transform`, but the
672
+ # visual size will be unchanged.
673
+ # Corresponds to the JSON property `elementProperties`
674
+ # @return [Google::Apis::SlidesV1::PageElementProperties]
675
+ attr_accessor :element_properties
676
+
677
+ # The image URL.
678
+ # The image is fetched once at insertion time and a copy is stored for
679
+ # display inside the presentation. Images must be less than 50MB in size,
680
+ # cannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF
681
+ # format.
682
+ # Corresponds to the JSON property `url`
683
+ # @return [String]
684
+ attr_accessor :url
685
+
686
+ def initialize(**args)
687
+ update!(**args)
688
+ end
689
+
690
+ # Update properties of this object
691
+ def update!(**args)
692
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
693
+ @element_properties = args[:element_properties] if args.key?(:element_properties)
694
+ @url = args[:url] if args.key?(:url)
695
+ end
696
+ end
697
+
698
+ # Creates bullets for all of the paragraphs that overlap with the given
699
+ # text index range.
700
+ # The nesting level of each paragraph will be determined by counting leading
701
+ # tabs in front of each paragraph. To avoid excess space between the bullet and
702
+ # the corresponding paragraph, these leading tabs are removed by this request.
703
+ # This may change the indices of parts of the text.
704
+ # If the paragraph immediately before paragraphs being updated is in a list
705
+ # with a matching preset, the paragraphs being updated are added to that
706
+ # preceding list.
707
+ class CreateParagraphBulletsRequest
708
+ include Google::Apis::Core::Hashable
709
+
710
+ # The object ID of the shape or table containing the text to add bullets to.
711
+ # Corresponds to the JSON property `objectId`
712
+ # @return [String]
713
+ attr_accessor :object_id_prop
714
+
715
+ # Specifies a contiguous range of an indexed collection, such as characters in
716
+ # text.
717
+ # Corresponds to the JSON property `textRange`
718
+ # @return [Google::Apis::SlidesV1::Range]
719
+ attr_accessor :text_range
720
+
721
+ # The kinds of bullet glyphs to be used. Defaults to the
722
+ # `BULLET_DISC_CIRCLE_SQUARE` preset.
723
+ # Corresponds to the JSON property `bulletPreset`
724
+ # @return [String]
725
+ attr_accessor :bullet_preset
726
+
727
+ # A location of a single table cell within a table.
728
+ # Corresponds to the JSON property `cellLocation`
729
+ # @return [Google::Apis::SlidesV1::TableCellLocation]
730
+ attr_accessor :cell_location
731
+
732
+ def initialize(**args)
733
+ update!(**args)
734
+ end
735
+
736
+ # Update properties of this object
737
+ def update!(**args)
738
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
739
+ @text_range = args[:text_range] if args.key?(:text_range)
740
+ @bullet_preset = args[:bullet_preset] if args.key?(:bullet_preset)
741
+ @cell_location = args[:cell_location] if args.key?(:cell_location)
742
+ end
743
+ end
744
+
745
+ # A width and height.
746
+ class Size
747
+ include Google::Apis::Core::Hashable
748
+
749
+ # A magnitude in a single direction in the specified units.
750
+ # Corresponds to the JSON property `width`
751
+ # @return [Google::Apis::SlidesV1::Dimension]
752
+ attr_accessor :width
753
+
754
+ # A magnitude in a single direction in the specified units.
755
+ # Corresponds to the JSON property `height`
756
+ # @return [Google::Apis::SlidesV1::Dimension]
757
+ attr_accessor :height
758
+
759
+ def initialize(**args)
760
+ update!(**args)
761
+ end
762
+
763
+ # Update properties of this object
764
+ def update!(**args)
765
+ @width = args[:width] if args.key?(:width)
766
+ @height = args[:height] if args.key?(:height)
767
+ end
768
+ end
769
+
770
+ # Represents the styling that can be applied to a TextRun.
771
+ # If this text is contained in a shape with a parent placeholder, then these
772
+ # text styles may be
773
+ # inherited from the parent. Which text styles are inherited depend on the
774
+ # nesting level of lists:
775
+ # * A text run in a paragraph that is not in a list will inherit its text style
776
+ # from the the newline character in the paragraph at the 0 nesting level of
777
+ # the list inside the parent placeholder.
778
+ # * A text run in a paragraph that is in a list will inherit its text style
779
+ # from the newline character in the paragraph at its corresponding nesting
780
+ # level of the list inside the parent placeholder.
781
+ # Inherited text styles are represented as unset fields in this message. If
782
+ # text is contained in a shape without a parent placeholder, unsetting these
783
+ # fields will revert the style to a value matching the defaults in the Slides
784
+ # editor.
785
+ class TextStyle
786
+ include Google::Apis::Core::Hashable
787
+
788
+ # A color that can either be fully opaque or fully transparent.
789
+ # Corresponds to the JSON property `backgroundColor`
790
+ # @return [Google::Apis::SlidesV1::OptionalColor]
791
+ attr_accessor :background_color
792
+
793
+ # Whether or not the text is underlined.
794
+ # Corresponds to the JSON property `underline`
795
+ # @return [Boolean]
796
+ attr_accessor :underline
797
+ alias_method :underline?, :underline
798
+
799
+ # A hypertext link.
800
+ # Corresponds to the JSON property `link`
801
+ # @return [Google::Apis::SlidesV1::Link]
802
+ attr_accessor :link
803
+
804
+ # Whether or not the text is rendered as bold.
805
+ # Corresponds to the JSON property `bold`
806
+ # @return [Boolean]
807
+ attr_accessor :bold
808
+ alias_method :bold?, :bold
809
+
810
+ # A color that can either be fully opaque or fully transparent.
811
+ # Corresponds to the JSON property `foregroundColor`
812
+ # @return [Google::Apis::SlidesV1::OptionalColor]
813
+ attr_accessor :foreground_color
814
+
815
+ # The font family of the text.
816
+ # The font family can be any font from the Font menu in Slides or from
817
+ # [Google Fonts] (https://fonts.google.com/). If the font name is
818
+ # unrecognized, the text is rendered in `Arial`.
819
+ # Some fonts can affect the weight of the text. If an update request
820
+ # specifies values for both `font_family` and `bold`, the explicitly-set
821
+ # `bold` value is used.
822
+ # Corresponds to the JSON property `fontFamily`
823
+ # @return [String]
824
+ attr_accessor :font_family
825
+
826
+ # Whether or not the text is italicized.
827
+ # Corresponds to the JSON property `italic`
828
+ # @return [Boolean]
829
+ attr_accessor :italic
830
+ alias_method :italic?, :italic
831
+
832
+ # Whether or not the text is struck through.
833
+ # Corresponds to the JSON property `strikethrough`
834
+ # @return [Boolean]
835
+ attr_accessor :strikethrough
836
+ alias_method :strikethrough?, :strikethrough
837
+
838
+ # A magnitude in a single direction in the specified units.
839
+ # Corresponds to the JSON property `fontSize`
840
+ # @return [Google::Apis::SlidesV1::Dimension]
841
+ attr_accessor :font_size
842
+
843
+ # The text's vertical offset from its normal position.
844
+ # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
845
+ # rendered in a smaller font size, computed based on the `font_size` field.
846
+ # The `font_size` itself is not affected by changes in this field.
847
+ # Corresponds to the JSON property `baselineOffset`
848
+ # @return [String]
849
+ attr_accessor :baseline_offset
850
+
851
+ # Represents a font family and weight used to style a TextRun.
852
+ # Corresponds to the JSON property `weightedFontFamily`
853
+ # @return [Google::Apis::SlidesV1::WeightedFontFamily]
854
+ attr_accessor :weighted_font_family
855
+
856
+ # Whether or not the text is in small capital letters.
857
+ # Corresponds to the JSON property `smallCaps`
858
+ # @return [Boolean]
859
+ attr_accessor :small_caps
860
+ alias_method :small_caps?, :small_caps
861
+
862
+ def initialize(**args)
863
+ update!(**args)
864
+ end
865
+
866
+ # Update properties of this object
867
+ def update!(**args)
868
+ @background_color = args[:background_color] if args.key?(:background_color)
869
+ @underline = args[:underline] if args.key?(:underline)
870
+ @link = args[:link] if args.key?(:link)
871
+ @bold = args[:bold] if args.key?(:bold)
872
+ @foreground_color = args[:foreground_color] if args.key?(:foreground_color)
873
+ @font_family = args[:font_family] if args.key?(:font_family)
874
+ @italic = args[:italic] if args.key?(:italic)
875
+ @strikethrough = args[:strikethrough] if args.key?(:strikethrough)
876
+ @font_size = args[:font_size] if args.key?(:font_size)
877
+ @baseline_offset = args[:baseline_offset] if args.key?(:baseline_offset)
878
+ @weighted_font_family = args[:weighted_font_family] if args.key?(:weighted_font_family)
879
+ @small_caps = args[:small_caps] if args.key?(:small_caps)
880
+ end
881
+ end
882
+
883
+ # Update the properties of a Video.
884
+ class UpdateVideoPropertiesRequest
885
+ include Google::Apis::Core::Hashable
886
+
887
+ # The properties of the Video.
888
+ # Corresponds to the JSON property `videoProperties`
889
+ # @return [Google::Apis::SlidesV1::VideoProperties]
890
+ attr_accessor :video_properties
891
+
892
+ # The fields that should be updated.
893
+ # At least one field must be specified. The root `videoProperties` is
894
+ # implied and should not be specified. A single `"*"` can be used as
895
+ # short-hand for listing every field.
896
+ # For example to update the video outline color, set `fields` to
897
+ # `"outline.outlineFill.solidFill.color"`.
898
+ # To reset a property to its default value, include its field name in the
899
+ # field mask but leave the field itself unset.
900
+ # Corresponds to the JSON property `fields`
901
+ # @return [String]
902
+ attr_accessor :fields
903
+
904
+ # The object ID of the video the updates are applied to.
905
+ # Corresponds to the JSON property `objectId`
906
+ # @return [String]
907
+ attr_accessor :object_id_prop
908
+
909
+ def initialize(**args)
910
+ update!(**args)
911
+ end
912
+
913
+ # Update properties of this object
914
+ def update!(**args)
915
+ @video_properties = args[:video_properties] if args.key?(:video_properties)
916
+ @fields = args[:fields] if args.key?(:fields)
917
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
918
+ end
919
+ end
920
+
921
+ # A single kind of update to apply to a presentation.
922
+ class Request
923
+ include Google::Apis::Core::Hashable
924
+
925
+ # Creates an embedded Google Sheets chart.
926
+ # NOTE: Chart creation requires at least one of the spreadsheets.readonly,
927
+ # spreadsheets, drive.readonly, or drive OAuth scopes.
928
+ # Corresponds to the JSON property `createSheetsChart`
929
+ # @return [Google::Apis::SlidesV1::CreateSheetsChartRequest]
930
+ attr_accessor :create_sheets_chart
931
+
932
+ # Replaces all shapes that match the given criteria with the provided Google
933
+ # Sheets chart. The chart will be scaled and centered to fit within the bounds
934
+ # of the original shape.
935
+ # NOTE: Replacing shapes with a chart requires at least one of the
936
+ # spreadsheets.readonly, spreadsheets, drive.readonly, or drive OAuth scopes.
937
+ # Corresponds to the JSON property `replaceAllShapesWithSheetsChart`
938
+ # @return [Google::Apis::SlidesV1::ReplaceAllShapesWithSheetsChartRequest]
939
+ attr_accessor :replace_all_shapes_with_sheets_chart
940
+
941
+ # Updates the transform of a page element.
942
+ # Corresponds to the JSON property `updatePageElementTransform`
943
+ # @return [Google::Apis::SlidesV1::UpdatePageElementTransformRequest]
944
+ attr_accessor :update_page_element_transform
945
+
946
+ # Update the styling of text in a Shape or
947
+ # Table.
948
+ # Corresponds to the JSON property `updateTextStyle`
949
+ # @return [Google::Apis::SlidesV1::UpdateTextStyleRequest]
950
+ attr_accessor :update_text_style
951
+
952
+ # Replaces all shapes that match the given criteria with the provided image.
953
+ # Corresponds to the JSON property `replaceAllShapesWithImage`
954
+ # @return [Google::Apis::SlidesV1::ReplaceAllShapesWithImageRequest]
955
+ attr_accessor :replace_all_shapes_with_image
956
+
957
+ # Replaces all instances of text matching a criteria with replace text.
958
+ # Corresponds to the JSON property `replaceAllText`
959
+ # @return [Google::Apis::SlidesV1::ReplaceAllTextRequest]
960
+ attr_accessor :replace_all_text
961
+
962
+ # Update the properties of an Image.
963
+ # Corresponds to the JSON property `updateImageProperties`
964
+ # @return [Google::Apis::SlidesV1::UpdateImagePropertiesRequest]
965
+ attr_accessor :update_image_properties
966
+
967
+ # Creates a new slide.
968
+ # Corresponds to the JSON property `createSlide`
969
+ # @return [Google::Apis::SlidesV1::CreateSlideRequest]
970
+ attr_accessor :create_slide
971
+
972
+ # Inserts rows into a table.
973
+ # Corresponds to the JSON property `insertTableRows`
974
+ # @return [Google::Apis::SlidesV1::InsertTableRowsRequest]
975
+ attr_accessor :insert_table_rows
976
+
977
+ # Updates the properties of a Line.
978
+ # Corresponds to the JSON property `updateLineProperties`
979
+ # @return [Google::Apis::SlidesV1::UpdateLinePropertiesRequest]
980
+ attr_accessor :update_line_properties
981
+
982
+ # Updates the position of slides in the presentation.
983
+ # Corresponds to the JSON property `updateSlidesPosition`
984
+ # @return [Google::Apis::SlidesV1::UpdateSlidesPositionRequest]
985
+ attr_accessor :update_slides_position
986
+
987
+ # Deletes a row from a table.
988
+ # Corresponds to the JSON property `deleteTableRow`
989
+ # @return [Google::Apis::SlidesV1::DeleteTableRowRequest]
990
+ attr_accessor :delete_table_row
991
+
992
+ # Update the properties of a Shape.
993
+ # Corresponds to the JSON property `updateShapeProperties`
994
+ # @return [Google::Apis::SlidesV1::UpdateShapePropertiesRequest]
995
+ attr_accessor :update_shape_properties
996
+
997
+ # Inserts text into a shape or a table cell.
998
+ # Corresponds to the JSON property `insertText`
999
+ # @return [Google::Apis::SlidesV1::InsertTextRequest]
1000
+ attr_accessor :insert_text
1001
+
1002
+ # Deletes text from a shape or a table cell.
1003
+ # Corresponds to the JSON property `deleteText`
1004
+ # @return [Google::Apis::SlidesV1::DeleteTextRequest]
1005
+ attr_accessor :delete_text
1006
+
1007
+ # Updates the properties of a Page.
1008
+ # Corresponds to the JSON property `updatePageProperties`
1009
+ # @return [Google::Apis::SlidesV1::UpdatePagePropertiesRequest]
1010
+ attr_accessor :update_page_properties
1011
+
1012
+ # Deletes bullets from all of the paragraphs that overlap with the given text
1013
+ # index range.
1014
+ # The nesting level of each paragraph will be visually preserved by adding
1015
+ # indent to the start of the corresponding paragraph.
1016
+ # Corresponds to the JSON property `deleteParagraphBullets`
1017
+ # @return [Google::Apis::SlidesV1::DeleteParagraphBulletsRequest]
1018
+ attr_accessor :delete_paragraph_bullets
1019
+
1020
+ # Creates a new shape.
1021
+ # Corresponds to the JSON property `createShape`
1022
+ # @return [Google::Apis::SlidesV1::CreateShapeRequest]
1023
+ attr_accessor :create_shape
1024
+
1025
+ # Inserts columns into a table.
1026
+ # Other columns in the table will be resized to fit the new column.
1027
+ # Corresponds to the JSON property `insertTableColumns`
1028
+ # @return [Google::Apis::SlidesV1::InsertTableColumnsRequest]
1029
+ attr_accessor :insert_table_columns
1030
+
1031
+ # Refreshes an embedded Google Sheets chart by replacing it with the latest
1032
+ # version of the chart from Google Sheets.
1033
+ # NOTE: Refreshing charts requires at least one of the spreadsheets.readonly,
1034
+ # spreadsheets, drive.readonly, or drive OAuth scopes.
1035
+ # Corresponds to the JSON property `refreshSheetsChart`
1036
+ # @return [Google::Apis::SlidesV1::RefreshSheetsChartRequest]
1037
+ attr_accessor :refresh_sheets_chart
1038
+
1039
+ # Creates a new table.
1040
+ # Corresponds to the JSON property `createTable`
1041
+ # @return [Google::Apis::SlidesV1::CreateTableRequest]
1042
+ attr_accessor :create_table
1043
+
1044
+ # Update the properties of a TableCell.
1045
+ # Corresponds to the JSON property `updateTableCellProperties`
1046
+ # @return [Google::Apis::SlidesV1::UpdateTableCellPropertiesRequest]
1047
+ attr_accessor :update_table_cell_properties
1048
+
1049
+ # Deletes an object, either pages or
1050
+ # page elements, from the
1051
+ # presentation.
1052
+ # Corresponds to the JSON property `deleteObject`
1053
+ # @return [Google::Apis::SlidesV1::DeleteObjectRequest]
1054
+ attr_accessor :delete_object
1055
+
1056
+ # Updates the styling for all of the paragraphs within a Shape or Table that
1057
+ # overlap with the given text index range.
1058
+ # Corresponds to the JSON property `updateParagraphStyle`
1059
+ # @return [Google::Apis::SlidesV1::UpdateParagraphStyleRequest]
1060
+ attr_accessor :update_paragraph_style
1061
+
1062
+ # Deletes a column from a table.
1063
+ # Corresponds to the JSON property `deleteTableColumn`
1064
+ # @return [Google::Apis::SlidesV1::DeleteTableColumnRequest]
1065
+ attr_accessor :delete_table_column
1066
+
1067
+ # Duplicates a slide or page element.
1068
+ # When duplicating a slide, the duplicate slide will be created immediately
1069
+ # following the specified slide. When duplicating a page element, the duplicate
1070
+ # will be placed on the same page at the same position as the original.
1071
+ # Corresponds to the JSON property `duplicateObject`
1072
+ # @return [Google::Apis::SlidesV1::DuplicateObjectRequest]
1073
+ attr_accessor :duplicate_object
1074
+
1075
+ # Update the properties of a Video.
1076
+ # Corresponds to the JSON property `updateVideoProperties`
1077
+ # @return [Google::Apis::SlidesV1::UpdateVideoPropertiesRequest]
1078
+ attr_accessor :update_video_properties
1079
+
1080
+ # Creates a line.
1081
+ # Corresponds to the JSON property `createLine`
1082
+ # @return [Google::Apis::SlidesV1::CreateLineRequest]
1083
+ attr_accessor :create_line
1084
+
1085
+ # Creates an image.
1086
+ # Corresponds to the JSON property `createImage`
1087
+ # @return [Google::Apis::SlidesV1::CreateImageRequest]
1088
+ attr_accessor :create_image
1089
+
1090
+ # Creates bullets for all of the paragraphs that overlap with the given
1091
+ # text index range.
1092
+ # The nesting level of each paragraph will be determined by counting leading
1093
+ # tabs in front of each paragraph. To avoid excess space between the bullet and
1094
+ # the corresponding paragraph, these leading tabs are removed by this request.
1095
+ # This may change the indices of parts of the text.
1096
+ # If the paragraph immediately before paragraphs being updated is in a list
1097
+ # with a matching preset, the paragraphs being updated are added to that
1098
+ # preceding list.
1099
+ # Corresponds to the JSON property `createParagraphBullets`
1100
+ # @return [Google::Apis::SlidesV1::CreateParagraphBulletsRequest]
1101
+ attr_accessor :create_paragraph_bullets
1102
+
1103
+ # Creates a video.
1104
+ # Corresponds to the JSON property `createVideo`
1105
+ # @return [Google::Apis::SlidesV1::CreateVideoRequest]
1106
+ attr_accessor :create_video
1107
+
1108
+ def initialize(**args)
1109
+ update!(**args)
1110
+ end
1111
+
1112
+ # Update properties of this object
1113
+ def update!(**args)
1114
+ @create_sheets_chart = args[:create_sheets_chart] if args.key?(:create_sheets_chart)
1115
+ @replace_all_shapes_with_sheets_chart = args[:replace_all_shapes_with_sheets_chart] if args.key?(:replace_all_shapes_with_sheets_chart)
1116
+ @update_page_element_transform = args[:update_page_element_transform] if args.key?(:update_page_element_transform)
1117
+ @update_text_style = args[:update_text_style] if args.key?(:update_text_style)
1118
+ @replace_all_shapes_with_image = args[:replace_all_shapes_with_image] if args.key?(:replace_all_shapes_with_image)
1119
+ @replace_all_text = args[:replace_all_text] if args.key?(:replace_all_text)
1120
+ @update_image_properties = args[:update_image_properties] if args.key?(:update_image_properties)
1121
+ @create_slide = args[:create_slide] if args.key?(:create_slide)
1122
+ @insert_table_rows = args[:insert_table_rows] if args.key?(:insert_table_rows)
1123
+ @update_line_properties = args[:update_line_properties] if args.key?(:update_line_properties)
1124
+ @update_slides_position = args[:update_slides_position] if args.key?(:update_slides_position)
1125
+ @delete_table_row = args[:delete_table_row] if args.key?(:delete_table_row)
1126
+ @update_shape_properties = args[:update_shape_properties] if args.key?(:update_shape_properties)
1127
+ @insert_text = args[:insert_text] if args.key?(:insert_text)
1128
+ @delete_text = args[:delete_text] if args.key?(:delete_text)
1129
+ @update_page_properties = args[:update_page_properties] if args.key?(:update_page_properties)
1130
+ @delete_paragraph_bullets = args[:delete_paragraph_bullets] if args.key?(:delete_paragraph_bullets)
1131
+ @create_shape = args[:create_shape] if args.key?(:create_shape)
1132
+ @insert_table_columns = args[:insert_table_columns] if args.key?(:insert_table_columns)
1133
+ @refresh_sheets_chart = args[:refresh_sheets_chart] if args.key?(:refresh_sheets_chart)
1134
+ @create_table = args[:create_table] if args.key?(:create_table)
1135
+ @update_table_cell_properties = args[:update_table_cell_properties] if args.key?(:update_table_cell_properties)
1136
+ @delete_object = args[:delete_object] if args.key?(:delete_object)
1137
+ @update_paragraph_style = args[:update_paragraph_style] if args.key?(:update_paragraph_style)
1138
+ @delete_table_column = args[:delete_table_column] if args.key?(:delete_table_column)
1139
+ @duplicate_object = args[:duplicate_object] if args.key?(:duplicate_object)
1140
+ @update_video_properties = args[:update_video_properties] if args.key?(:update_video_properties)
1141
+ @create_line = args[:create_line] if args.key?(:create_line)
1142
+ @create_image = args[:create_image] if args.key?(:create_image)
1143
+ @create_paragraph_bullets = args[:create_paragraph_bullets] if args.key?(:create_paragraph_bullets)
1144
+ @create_video = args[:create_video] if args.key?(:create_video)
1145
+ end
1146
+ end
1147
+
1148
+ # Update the properties of an Image.
1149
+ class UpdateImagePropertiesRequest
1150
+ include Google::Apis::Core::Hashable
1151
+
1152
+ # The fields that should be updated.
1153
+ # At least one field must be specified. The root `imageProperties` is
1154
+ # implied and should not be specified. A single `"*"` can be used as
1155
+ # short-hand for listing every field.
1156
+ # For example to update the image outline color, set `fields` to
1157
+ # `"outline.outlineFill.solidFill.color"`.
1158
+ # To reset a property to its default value, include its field name in the
1159
+ # field mask but leave the field itself unset.
1160
+ # Corresponds to the JSON property `fields`
1161
+ # @return [String]
1162
+ attr_accessor :fields
1163
+
1164
+ # The properties of the Image.
1165
+ # Corresponds to the JSON property `imageProperties`
1166
+ # @return [Google::Apis::SlidesV1::ImageProperties]
1167
+ attr_accessor :image_properties
1168
+
1169
+ # The object ID of the image the updates are applied to.
1170
+ # Corresponds to the JSON property `objectId`
1171
+ # @return [String]
1172
+ attr_accessor :object_id_prop
1173
+
1174
+ def initialize(**args)
1175
+ update!(**args)
1176
+ end
1177
+
1178
+ # Update properties of this object
1179
+ def update!(**args)
1180
+ @fields = args[:fields] if args.key?(:fields)
1181
+ @image_properties = args[:image_properties] if args.key?(:image_properties)
1182
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
1183
+ end
1184
+ end
1185
+
1186
+ # Styles that apply to a whole paragraph.
1187
+ # If this text is contained in a shape with a parent placeholder, then these
1188
+ # paragraph styles may be
1189
+ # inherited from the parent. Which paragraph styles are inherited depend on the
1190
+ # nesting level of lists:
1191
+ # * A paragraph not in a list will inherit its paragraph style from the
1192
+ # paragraph at the 0 nesting level of the list inside the parent placeholder.
1193
+ # * A paragraph in a list will inherit its paragraph style from the paragraph
1194
+ # at its corresponding nesting level of the list inside the parent
1195
+ # placeholder.
1196
+ # Inherited paragraph styles are represented as unset fields in this message.
1197
+ class ParagraphStyle
1198
+ include Google::Apis::Core::Hashable
1199
+
1200
+ # A magnitude in a single direction in the specified units.
1201
+ # Corresponds to the JSON property `spaceBelow`
1202
+ # @return [Google::Apis::SlidesV1::Dimension]
1203
+ attr_accessor :space_below
1204
+
1205
+ # The text direction of this paragraph. If unset, the value defaults to
1206
+ # LEFT_TO_RIGHT
1207
+ # since text direction is not inherited.
1208
+ # Corresponds to the JSON property `direction`
1209
+ # @return [String]
1210
+ attr_accessor :direction
1211
+
1212
+ # The spacing mode for the paragraph.
1213
+ # Corresponds to the JSON property `spacingMode`
1214
+ # @return [String]
1215
+ attr_accessor :spacing_mode
1216
+
1217
+ # A magnitude in a single direction in the specified units.
1218
+ # Corresponds to the JSON property `indentEnd`
1219
+ # @return [Google::Apis::SlidesV1::Dimension]
1220
+ attr_accessor :indent_end
1221
+
1222
+ # A magnitude in a single direction in the specified units.
1223
+ # Corresponds to the JSON property `indentStart`
1224
+ # @return [Google::Apis::SlidesV1::Dimension]
1225
+ attr_accessor :indent_start
1226
+
1227
+ # A magnitude in a single direction in the specified units.
1228
+ # Corresponds to the JSON property `spaceAbove`
1229
+ # @return [Google::Apis::SlidesV1::Dimension]
1230
+ attr_accessor :space_above
1231
+
1232
+ # The text alignment for this paragraph.
1233
+ # Corresponds to the JSON property `alignment`
1234
+ # @return [String]
1235
+ attr_accessor :alignment
1236
+
1237
+ # The amount of space between lines, as a percentage of normal, where normal
1238
+ # is represented as 100.0. If unset, the value is inherited from the parent.
1239
+ # Corresponds to the JSON property `lineSpacing`
1240
+ # @return [Float]
1241
+ attr_accessor :line_spacing
1242
+
1243
+ # A magnitude in a single direction in the specified units.
1244
+ # Corresponds to the JSON property `indentFirstLine`
1245
+ # @return [Google::Apis::SlidesV1::Dimension]
1246
+ attr_accessor :indent_first_line
1247
+
1248
+ def initialize(**args)
1249
+ update!(**args)
1250
+ end
1251
+
1252
+ # Update properties of this object
1253
+ def update!(**args)
1254
+ @space_below = args[:space_below] if args.key?(:space_below)
1255
+ @direction = args[:direction] if args.key?(:direction)
1256
+ @spacing_mode = args[:spacing_mode] if args.key?(:spacing_mode)
1257
+ @indent_end = args[:indent_end] if args.key?(:indent_end)
1258
+ @indent_start = args[:indent_start] if args.key?(:indent_start)
1259
+ @space_above = args[:space_above] if args.key?(:space_above)
1260
+ @alignment = args[:alignment] if args.key?(:alignment)
1261
+ @line_spacing = args[:line_spacing] if args.key?(:line_spacing)
1262
+ @indent_first_line = args[:indent_first_line] if args.key?(:indent_first_line)
1263
+ end
1264
+ end
1265
+
1266
+ # The result of replacing shapes with a Google Sheets chart.
1267
+ class ReplaceAllShapesWithSheetsChartResponse
1268
+ include Google::Apis::Core::Hashable
1269
+
1270
+ # The number of shapes replaced with charts.
1271
+ # Corresponds to the JSON property `occurrencesChanged`
1272
+ # @return [Fixnum]
1273
+ attr_accessor :occurrences_changed
1274
+
1275
+ def initialize(**args)
1276
+ update!(**args)
1277
+ end
1278
+
1279
+ # Update properties of this object
1280
+ def update!(**args)
1281
+ @occurrences_changed = args[:occurrences_changed] if args.key?(:occurrences_changed)
1282
+ end
1283
+ end
1284
+
1285
+ # The properties of the TableCell.
1286
+ class TableCellProperties
1287
+ include Google::Apis::Core::Hashable
1288
+
1289
+ # The table cell background fill.
1290
+ # Corresponds to the JSON property `tableCellBackgroundFill`
1291
+ # @return [Google::Apis::SlidesV1::TableCellBackgroundFill]
1292
+ attr_accessor :table_cell_background_fill
1293
+
1294
+ def initialize(**args)
1295
+ update!(**args)
1296
+ end
1297
+
1298
+ # Update properties of this object
1299
+ def update!(**args)
1300
+ @table_cell_background_fill = args[:table_cell_background_fill] if args.key?(:table_cell_background_fill)
1301
+ end
1302
+ end
1303
+
1304
+ # Refreshes an embedded Google Sheets chart by replacing it with the latest
1305
+ # version of the chart from Google Sheets.
1306
+ # NOTE: Refreshing charts requires at least one of the spreadsheets.readonly,
1307
+ # spreadsheets, drive.readonly, or drive OAuth scopes.
1308
+ class RefreshSheetsChartRequest
1309
+ include Google::Apis::Core::Hashable
1310
+
1311
+ # The object ID of the chart to refresh.
1312
+ # Corresponds to the JSON property `objectId`
1313
+ # @return [String]
1314
+ attr_accessor :object_id_prop
1315
+
1316
+ def initialize(**args)
1317
+ update!(**args)
1318
+ end
1319
+
1320
+ # Update properties of this object
1321
+ def update!(**args)
1322
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
1323
+ end
1324
+ end
1325
+
1326
+ # The outline of a PageElement.
1327
+ # If these fields are unset, they may be inherited from a parent placeholder
1328
+ # if it exists. If there is no parent, the fields will default to the value
1329
+ # used for new page elements created in the Slides editor, which may depend on
1330
+ # the page element kind.
1331
+ class Outline
1332
+ include Google::Apis::Core::Hashable
1333
+
1334
+ # The outline property state.
1335
+ # Updating the the outline on a page element will implicitly update this
1336
+ # field to`RENDERED`, unless another value is specified in the same request.
1337
+ # To have no outline on a page element, set this field to `NOT_RENDERED`. In
1338
+ # this case, any other outline fields set in the same request will be
1339
+ # ignored.
1340
+ # Corresponds to the JSON property `propertyState`
1341
+ # @return [String]
1342
+ attr_accessor :property_state
1343
+
1344
+ # The fill of the outline.
1345
+ # Corresponds to the JSON property `outlineFill`
1346
+ # @return [Google::Apis::SlidesV1::OutlineFill]
1347
+ attr_accessor :outline_fill
1348
+
1349
+ # A magnitude in a single direction in the specified units.
1350
+ # Corresponds to the JSON property `weight`
1351
+ # @return [Google::Apis::SlidesV1::Dimension]
1352
+ attr_accessor :weight
1353
+
1354
+ # The dash style of the outline.
1355
+ # Corresponds to the JSON property `dashStyle`
1356
+ # @return [String]
1357
+ attr_accessor :dash_style
1358
+
1359
+ def initialize(**args)
1360
+ update!(**args)
1361
+ end
1362
+
1363
+ # Update properties of this object
1364
+ def update!(**args)
1365
+ @property_state = args[:property_state] if args.key?(:property_state)
1366
+ @outline_fill = args[:outline_fill] if args.key?(:outline_fill)
1367
+ @weight = args[:weight] if args.key?(:weight)
1368
+ @dash_style = args[:dash_style] if args.key?(:dash_style)
1369
+ end
1370
+ end
1371
+
1372
+ # Properties of each column in a table.
1373
+ class TableColumnProperties
1374
+ include Google::Apis::Core::Hashable
1375
+
1376
+ # A magnitude in a single direction in the specified units.
1377
+ # Corresponds to the JSON property `columnWidth`
1378
+ # @return [Google::Apis::SlidesV1::Dimension]
1379
+ attr_accessor :column_width
1380
+
1381
+ def initialize(**args)
1382
+ update!(**args)
1383
+ end
1384
+
1385
+ # Update properties of this object
1386
+ def update!(**args)
1387
+ @column_width = args[:column_width] if args.key?(:column_width)
1388
+ end
1389
+ end
1390
+
1391
+ # The properties of Page that are only
1392
+ # relevant for pages with page_type NOTES.
1393
+ class NotesProperties
1394
+ include Google::Apis::Core::Hashable
1395
+
1396
+ # The object ID of the shape on this notes page that contains the speaker
1397
+ # notes for the corresponding slide.
1398
+ # The actual shape may not always exist on the notes page. Inserting text
1399
+ # using this object ID will automatically create the shape. In this case, the
1400
+ # actual shape may have different object ID. The `GetPresentation` or
1401
+ # `GetPage` action will always return the latest object ID.
1402
+ # Corresponds to the JSON property `speakerNotesObjectId`
1403
+ # @return [String]
1404
+ attr_accessor :speaker_notes_object_id
1405
+
1406
+ def initialize(**args)
1407
+ update!(**args)
1408
+ end
1409
+
1410
+ # Update properties of this object
1411
+ def update!(**args)
1412
+ @speaker_notes_object_id = args[:speaker_notes_object_id] if args.key?(:speaker_notes_object_id)
1413
+ end
1414
+ end
1415
+
1416
+ # The properties of a Shape.
1417
+ # If the shape is a placeholder shape as determined by the
1418
+ # placeholder field, then these
1419
+ # properties may be inherited from a parent placeholder shape.
1420
+ # Determining the rendered value of the property depends on the corresponding
1421
+ # property_state field value.
1422
+ class ShapeProperties
1423
+ include Google::Apis::Core::Hashable
1424
+
1425
+ # The outline of a PageElement.
1426
+ # If these fields are unset, they may be inherited from a parent placeholder
1427
+ # if it exists. If there is no parent, the fields will default to the value
1428
+ # used for new page elements created in the Slides editor, which may depend on
1429
+ # the page element kind.
1430
+ # Corresponds to the JSON property `outline`
1431
+ # @return [Google::Apis::SlidesV1::Outline]
1432
+ attr_accessor :outline
1433
+
1434
+ # The shape background fill.
1435
+ # Corresponds to the JSON property `shapeBackgroundFill`
1436
+ # @return [Google::Apis::SlidesV1::ShapeBackgroundFill]
1437
+ attr_accessor :shape_background_fill
1438
+
1439
+ # The shadow properties of a page element.
1440
+ # If these fields are unset, they may be inherited from a parent placeholder
1441
+ # if it exists. If there is no parent, the fields will default to the value
1442
+ # used for new page elements created in the Slides editor, which may depend on
1443
+ # the page element kind.
1444
+ # Corresponds to the JSON property `shadow`
1445
+ # @return [Google::Apis::SlidesV1::Shadow]
1446
+ attr_accessor :shadow
1447
+
1448
+ # A hypertext link.
1449
+ # Corresponds to the JSON property `link`
1450
+ # @return [Google::Apis::SlidesV1::Link]
1451
+ attr_accessor :link
1452
+
1453
+ def initialize(**args)
1454
+ update!(**args)
1455
+ end
1456
+
1457
+ # Update properties of this object
1458
+ def update!(**args)
1459
+ @outline = args[:outline] if args.key?(:outline)
1460
+ @shape_background_fill = args[:shape_background_fill] if args.key?(:shape_background_fill)
1461
+ @shadow = args[:shadow] if args.key?(:shadow)
1462
+ @link = args[:link] if args.key?(:link)
1463
+ end
1464
+ end
1465
+
1466
+ # Properties and contents of each row in a table.
1467
+ class TableRow
1468
+ include Google::Apis::Core::Hashable
1469
+
1470
+ # A magnitude in a single direction in the specified units.
1471
+ # Corresponds to the JSON property `rowHeight`
1472
+ # @return [Google::Apis::SlidesV1::Dimension]
1473
+ attr_accessor :row_height
1474
+
1475
+ # Properties and contents of each cell.
1476
+ # Cells that span multiple columns are represented only once with a
1477
+ # column_span greater
1478
+ # than 1. As a result, the length of this collection does not always match
1479
+ # the number of columns of the entire table.
1480
+ # Corresponds to the JSON property `tableCells`
1481
+ # @return [Array<Google::Apis::SlidesV1::TableCell>]
1482
+ attr_accessor :table_cells
1483
+
1484
+ def initialize(**args)
1485
+ update!(**args)
1486
+ end
1487
+
1488
+ # Update properties of this object
1489
+ def update!(**args)
1490
+ @row_height = args[:row_height] if args.key?(:row_height)
1491
+ @table_cells = args[:table_cells] if args.key?(:table_cells)
1492
+ end
1493
+ end
1494
+
1495
+ # Update the properties of a TableCell.
1496
+ class UpdateTableCellPropertiesRequest
1497
+ include Google::Apis::Core::Hashable
1498
+
1499
+ # The object ID of the table.
1500
+ # Corresponds to the JSON property `objectId`
1501
+ # @return [String]
1502
+ attr_accessor :object_id_prop
1503
+
1504
+ # A table range represents a reference to a subset of a table.
1505
+ # It's important to note that the cells specified by a table range do not
1506
+ # necessarily form a rectangle. For example, let's say we have a 3 x 3 table
1507
+ # where all the cells of the last row are merged together. The table looks
1508
+ # like this:
1509
+ #
1510
+ # [ ]
1511
+ # A table range with location = (0, 0), row span = 3 and column span = 2
1512
+ # specifies the following cells:
1513
+ # x x
1514
+ # [ x ]
1515
+ # Corresponds to the JSON property `tableRange`
1516
+ # @return [Google::Apis::SlidesV1::TableRange]
1517
+ attr_accessor :table_range
1518
+
1519
+ # The properties of the TableCell.
1520
+ # Corresponds to the JSON property `tableCellProperties`
1521
+ # @return [Google::Apis::SlidesV1::TableCellProperties]
1522
+ attr_accessor :table_cell_properties
1523
+
1524
+ # The fields that should be updated.
1525
+ # At least one field must be specified. The root `tableCellProperties` is
1526
+ # implied and should not be specified. A single `"*"` can be used as
1527
+ # short-hand for listing every field.
1528
+ # For example to update the table cell background solid fill color, set
1529
+ # `fields` to `"tableCellBackgroundFill.solidFill.color"`.
1530
+ # To reset a property to its default value, include its field name in the
1531
+ # field mask but leave the field itself unset.
1532
+ # Corresponds to the JSON property `fields`
1533
+ # @return [String]
1534
+ attr_accessor :fields
1535
+
1536
+ def initialize(**args)
1537
+ update!(**args)
1538
+ end
1539
+
1540
+ # Update properties of this object
1541
+ def update!(**args)
1542
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
1543
+ @table_range = args[:table_range] if args.key?(:table_range)
1544
+ @table_cell_properties = args[:table_cell_properties] if args.key?(:table_cell_properties)
1545
+ @fields = args[:fields] if args.key?(:fields)
1546
+ end
1547
+ end
1548
+
1549
+ # Creates a new slide.
1550
+ class CreateSlideRequest
1551
+ include Google::Apis::Core::Hashable
1552
+
1553
+ # Slide layout reference. This may reference either:
1554
+ # - A predefined layout
1555
+ # - One of the layouts in the presentation.
1556
+ # Corresponds to the JSON property `slideLayoutReference`
1557
+ # @return [Google::Apis::SlidesV1::LayoutReference]
1558
+ attr_accessor :slide_layout_reference
1559
+
1560
+ # A user-supplied object ID.
1561
+ # If you specify an ID, it must be unique among all pages and page elements
1562
+ # in the presentation. The ID must start with an alphanumeric character or an
1563
+ # underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
1564
+ # may include those as well as a hyphen or colon (matches regex
1565
+ # `[a-zA-Z0-9_-:]`).
1566
+ # The length of the ID must not be less than 5 or greater than 50.
1567
+ # If you don't specify an ID, a unique one is generated.
1568
+ # Corresponds to the JSON property `objectId`
1569
+ # @return [String]
1570
+ attr_accessor :object_id_prop
1571
+
1572
+ # The optional zero-based index indicating where to insert the slides.
1573
+ # If you don't specify an index, the new slide is created at the end.
1574
+ # Corresponds to the JSON property `insertionIndex`
1575
+ # @return [Fixnum]
1576
+ attr_accessor :insertion_index
1577
+
1578
+ # An optional list of object ID mappings from the placeholder(s) on the layout
1579
+ # to the placeholder(s)
1580
+ # that will be created on the new slide from that specified layout. Can only
1581
+ # be used when `slide_layout_reference` is specified.
1582
+ # Corresponds to the JSON property `placeholderIdMappings`
1583
+ # @return [Array<Google::Apis::SlidesV1::LayoutPlaceholderIdMapping>]
1584
+ attr_accessor :placeholder_id_mappings
1585
+
1586
+ def initialize(**args)
1587
+ update!(**args)
1588
+ end
1589
+
1590
+ # Update properties of this object
1591
+ def update!(**args)
1592
+ @slide_layout_reference = args[:slide_layout_reference] if args.key?(:slide_layout_reference)
1593
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
1594
+ @insertion_index = args[:insertion_index] if args.key?(:insertion_index)
1595
+ @placeholder_id_mappings = args[:placeholder_id_mappings] if args.key?(:placeholder_id_mappings)
1596
+ end
1597
+ end
1598
+
1599
+ # Request message for PresentationsService.BatchUpdatePresentation.
1600
+ class BatchUpdatePresentationRequest
1601
+ include Google::Apis::Core::Hashable
1602
+
1603
+ # A list of updates to apply to the presentation.
1604
+ # Corresponds to the JSON property `requests`
1605
+ # @return [Array<Google::Apis::SlidesV1::Request>]
1606
+ attr_accessor :requests
1607
+
1608
+ # Provides control over how write requests are executed.
1609
+ # Corresponds to the JSON property `writeControl`
1610
+ # @return [Google::Apis::SlidesV1::WriteControl]
1611
+ attr_accessor :write_control
1612
+
1613
+ def initialize(**args)
1614
+ update!(**args)
1615
+ end
1616
+
1617
+ # Update properties of this object
1618
+ def update!(**args)
1619
+ @requests = args[:requests] if args.key?(:requests)
1620
+ @write_control = args[:write_control] if args.key?(:write_control)
1621
+ end
1622
+ end
1623
+
1624
+ # The general text content. The text must reside in a compatible shape (e.g.
1625
+ # text box or rectangle) or a table cell in a page.
1626
+ class TextContent
1627
+ include Google::Apis::Core::Hashable
1628
+
1629
+ # The text contents broken down into its component parts, including styling
1630
+ # information. This property is read-only.
1631
+ # Corresponds to the JSON property `textElements`
1632
+ # @return [Array<Google::Apis::SlidesV1::TextElement>]
1633
+ attr_accessor :text_elements
1634
+
1635
+ # The bulleted lists contained in this text, keyed by list ID.
1636
+ # Corresponds to the JSON property `lists`
1637
+ # @return [Hash<String,Google::Apis::SlidesV1::List>]
1638
+ attr_accessor :lists
1639
+
1640
+ def initialize(**args)
1641
+ update!(**args)
1642
+ end
1643
+
1644
+ # Update properties of this object
1645
+ def update!(**args)
1646
+ @text_elements = args[:text_elements] if args.key?(:text_elements)
1647
+ @lists = args[:lists] if args.key?(:lists)
1648
+ end
1649
+ end
1650
+
1651
+ # The result of creating an embedded Google Sheets chart.
1652
+ class CreateSheetsChartResponse
1653
+ include Google::Apis::Core::Hashable
1654
+
1655
+ # The object ID of the created chart.
1656
+ # Corresponds to the JSON property `objectId`
1657
+ # @return [String]
1658
+ attr_accessor :object_id_prop
1659
+
1660
+ def initialize(**args)
1661
+ update!(**args)
1662
+ end
1663
+
1664
+ # Update properties of this object
1665
+ def update!(**args)
1666
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
1667
+ end
1668
+ end
1669
+
1670
+ # Provides control over how write requests are executed.
1671
+ class WriteControl
1672
+ include Google::Apis::Core::Hashable
1673
+
1674
+ # The revision ID of the presentation required for the write request. If
1675
+ # specified and the `required_revision_id` doesn't exactly match the
1676
+ # presentation's current `revision_id`, the request will not be processed and
1677
+ # will return a 400 bad request error.
1678
+ # Corresponds to the JSON property `requiredRevisionId`
1679
+ # @return [String]
1680
+ attr_accessor :required_revision_id
1681
+
1682
+ def initialize(**args)
1683
+ update!(**args)
1684
+ end
1685
+
1686
+ # Update properties of this object
1687
+ def update!(**args)
1688
+ @required_revision_id = args[:required_revision_id] if args.key?(:required_revision_id)
1689
+ end
1690
+ end
1691
+
1692
+ # Deletes bullets from all of the paragraphs that overlap with the given text
1693
+ # index range.
1694
+ # The nesting level of each paragraph will be visually preserved by adding
1695
+ # indent to the start of the corresponding paragraph.
1696
+ class DeleteParagraphBulletsRequest
1697
+ include Google::Apis::Core::Hashable
1698
+
1699
+ # The object ID of the shape or table containing the text to delete bullets
1700
+ # from.
1701
+ # Corresponds to the JSON property `objectId`
1702
+ # @return [String]
1703
+ attr_accessor :object_id_prop
1704
+
1705
+ # Specifies a contiguous range of an indexed collection, such as characters in
1706
+ # text.
1707
+ # Corresponds to the JSON property `textRange`
1708
+ # @return [Google::Apis::SlidesV1::Range]
1709
+ attr_accessor :text_range
1710
+
1711
+ # A location of a single table cell within a table.
1712
+ # Corresponds to the JSON property `cellLocation`
1713
+ # @return [Google::Apis::SlidesV1::TableCellLocation]
1714
+ attr_accessor :cell_location
1715
+
1716
+ def initialize(**args)
1717
+ update!(**args)
1718
+ end
1719
+
1720
+ # Update properties of this object
1721
+ def update!(**args)
1722
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
1723
+ @text_range = args[:text_range] if args.key?(:text_range)
1724
+ @cell_location = args[:cell_location] if args.key?(:cell_location)
1725
+ end
1726
+ end
1727
+
1728
+ # A TextElement kind that represents the beginning of a new paragraph.
1729
+ class ParagraphMarker
1730
+ include Google::Apis::Core::Hashable
1731
+
1732
+ # Describes the bullet of a paragraph.
1733
+ # Corresponds to the JSON property `bullet`
1734
+ # @return [Google::Apis::SlidesV1::Bullet]
1735
+ attr_accessor :bullet
1736
+
1737
+ # Styles that apply to a whole paragraph.
1738
+ # If this text is contained in a shape with a parent placeholder, then these
1739
+ # paragraph styles may be
1740
+ # inherited from the parent. Which paragraph styles are inherited depend on the
1741
+ # nesting level of lists:
1742
+ # * A paragraph not in a list will inherit its paragraph style from the
1743
+ # paragraph at the 0 nesting level of the list inside the parent placeholder.
1744
+ # * A paragraph in a list will inherit its paragraph style from the paragraph
1745
+ # at its corresponding nesting level of the list inside the parent
1746
+ # placeholder.
1747
+ # Inherited paragraph styles are represented as unset fields in this message.
1748
+ # Corresponds to the JSON property `style`
1749
+ # @return [Google::Apis::SlidesV1::ParagraphStyle]
1750
+ attr_accessor :style
1751
+
1752
+ def initialize(**args)
1753
+ update!(**args)
1754
+ end
1755
+
1756
+ # Update properties of this object
1757
+ def update!(**args)
1758
+ @bullet = args[:bullet] if args.key?(:bullet)
1759
+ @style = args[:style] if args.key?(:style)
1760
+ end
1761
+ end
1762
+
1763
+ # Inserts columns into a table.
1764
+ # Other columns in the table will be resized to fit the new column.
1765
+ class InsertTableColumnsRequest
1766
+ include Google::Apis::Core::Hashable
1767
+
1768
+ # The number of columns to be inserted. Maximum 20 per request.
1769
+ # Corresponds to the JSON property `number`
1770
+ # @return [Fixnum]
1771
+ attr_accessor :number
1772
+
1773
+ # A location of a single table cell within a table.
1774
+ # Corresponds to the JSON property `cellLocation`
1775
+ # @return [Google::Apis::SlidesV1::TableCellLocation]
1776
+ attr_accessor :cell_location
1777
+
1778
+ # Whether to insert new columns to the right of the reference cell location.
1779
+ # - `True`: insert to the right.
1780
+ # - `False`: insert to the left.
1781
+ # Corresponds to the JSON property `insertRight`
1782
+ # @return [Boolean]
1783
+ attr_accessor :insert_right
1784
+ alias_method :insert_right?, :insert_right
1785
+
1786
+ # The table to insert columns into.
1787
+ # Corresponds to the JSON property `tableObjectId`
1788
+ # @return [String]
1789
+ attr_accessor :table_object_id
1790
+
1791
+ def initialize(**args)
1792
+ update!(**args)
1793
+ end
1794
+
1795
+ # Update properties of this object
1796
+ def update!(**args)
1797
+ @number = args[:number] if args.key?(:number)
1798
+ @cell_location = args[:cell_location] if args.key?(:cell_location)
1799
+ @insert_right = args[:insert_right] if args.key?(:insert_right)
1800
+ @table_object_id = args[:table_object_id] if args.key?(:table_object_id)
1801
+ end
1802
+ end
1803
+
1804
+ # The thumbnail of a page.
1805
+ class Thumbnail
1806
+ include Google::Apis::Core::Hashable
1807
+
1808
+ # The positive height in pixels of the thumbnail image.
1809
+ # Corresponds to the JSON property `height`
1810
+ # @return [Fixnum]
1811
+ attr_accessor :height
1812
+
1813
+ # The content URL of the thumbnail image.
1814
+ # The URL to the image has a default lifetime of 30 minutes.
1815
+ # This URL is tagged with the account of the requester. Anyone with the URL
1816
+ # effectively accesses the image as the original requester. Access to the
1817
+ # image may be lost if the presentation's sharing settings change.
1818
+ # The mime type of the thumbnail image is the same as specified in the
1819
+ # `GetPageThumbnailRequest`.
1820
+ # Corresponds to the JSON property `contentUrl`
1821
+ # @return [String]
1822
+ attr_accessor :content_url
1823
+
1824
+ # The positive width in pixels of the thumbnail image.
1825
+ # Corresponds to the JSON property `width`
1826
+ # @return [Fixnum]
1827
+ attr_accessor :width
1828
+
1829
+ def initialize(**args)
1830
+ update!(**args)
1831
+ end
1832
+
1833
+ # Update properties of this object
1834
+ def update!(**args)
1835
+ @height = args[:height] if args.key?(:height)
1836
+ @content_url = args[:content_url] if args.key?(:content_url)
1837
+ @width = args[:width] if args.key?(:width)
1838
+ end
1839
+ end
1840
+
1841
+ # The user-specified ID mapping for a placeholder that will be created on a
1842
+ # slide from a specified layout.
1843
+ class LayoutPlaceholderIdMapping
1844
+ include Google::Apis::Core::Hashable
1845
+
1846
+ # The placeholder information that uniquely identifies a placeholder shape.
1847
+ # Corresponds to the JSON property `layoutPlaceholder`
1848
+ # @return [Google::Apis::SlidesV1::Placeholder]
1849
+ attr_accessor :layout_placeholder
1850
+
1851
+ # The object ID of the placeholder on a layout that will be applied
1852
+ # to a slide.
1853
+ # Corresponds to the JSON property `layoutPlaceholderObjectId`
1854
+ # @return [String]
1855
+ attr_accessor :layout_placeholder_object_id
1856
+
1857
+ # A user-supplied object ID for the placeholder identified above that to be
1858
+ # created onto a slide.
1859
+ # If you specify an ID, it must be unique among all pages and page elements
1860
+ # in the presentation. The ID must start with an alphanumeric character or an
1861
+ # underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
1862
+ # may include those as well as a hyphen or colon (matches regex
1863
+ # `[a-zA-Z0-9_-:]`).
1864
+ # The length of the ID must not be less than 5 or greater than 50.
1865
+ # If you don't specify an ID, a unique one is generated.
1866
+ # Corresponds to the JSON property `objectId`
1867
+ # @return [String]
1868
+ attr_accessor :object_id_prop
1869
+
1870
+ def initialize(**args)
1871
+ update!(**args)
1872
+ end
1873
+
1874
+ # Update properties of this object
1875
+ def update!(**args)
1876
+ @layout_placeholder = args[:layout_placeholder] if args.key?(:layout_placeholder)
1877
+ @layout_placeholder_object_id = args[:layout_placeholder_object_id] if args.key?(:layout_placeholder_object_id)
1878
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
1879
+ end
1880
+ end
1881
+
1882
+ # Update the properties of a Shape.
1883
+ class UpdateShapePropertiesRequest
1884
+ include Google::Apis::Core::Hashable
1885
+
1886
+ # The object ID of the shape the updates are applied to.
1887
+ # Corresponds to the JSON property `objectId`
1888
+ # @return [String]
1889
+ attr_accessor :object_id_prop
1890
+
1891
+ # The properties of a Shape.
1892
+ # If the shape is a placeholder shape as determined by the
1893
+ # placeholder field, then these
1894
+ # properties may be inherited from a parent placeholder shape.
1895
+ # Determining the rendered value of the property depends on the corresponding
1896
+ # property_state field value.
1897
+ # Corresponds to the JSON property `shapeProperties`
1898
+ # @return [Google::Apis::SlidesV1::ShapeProperties]
1899
+ attr_accessor :shape_properties
1900
+
1901
+ # The fields that should be updated.
1902
+ # At least one field must be specified. The root `shapeProperties` is
1903
+ # implied and should not be specified. A single `"*"` can be used as
1904
+ # short-hand for listing every field.
1905
+ # For example to update the shape background solid fill color, set `fields`
1906
+ # to `"shapeBackgroundFill.solidFill.color"`.
1907
+ # To reset a property to its default value, include its field name in the
1908
+ # field mask but leave the field itself unset.
1909
+ # Corresponds to the JSON property `fields`
1910
+ # @return [String]
1911
+ attr_accessor :fields
1912
+
1913
+ def initialize(**args)
1914
+ update!(**args)
1915
+ end
1916
+
1917
+ # Update properties of this object
1918
+ def update!(**args)
1919
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
1920
+ @shape_properties = args[:shape_properties] if args.key?(:shape_properties)
1921
+ @fields = args[:fields] if args.key?(:fields)
1922
+ end
1923
+ end
1924
+
1925
+ # A PageElement kind representing
1926
+ # word art.
1927
+ class WordArt
1928
+ include Google::Apis::Core::Hashable
1929
+
1930
+ # The text rendered as word art.
1931
+ # Corresponds to the JSON property `renderedText`
1932
+ # @return [String]
1933
+ attr_accessor :rendered_text
1934
+
1935
+ def initialize(**args)
1936
+ update!(**args)
1937
+ end
1938
+
1939
+ # Update properties of this object
1940
+ def update!(**args)
1941
+ @rendered_text = args[:rendered_text] if args.key?(:rendered_text)
1942
+ end
1943
+ end
1944
+
1945
+ # A recolor effect applied on an image.
1946
+ class Recolor
1947
+ include Google::Apis::Core::Hashable
1948
+
1949
+ # The recolor effect is represented by a gradient, which is a list of color
1950
+ # stops.
1951
+ # The colors in the gradient will replace the corresponding colors at
1952
+ # the same position in the color palette and apply to the image. This
1953
+ # property is read-only.
1954
+ # Corresponds to the JSON property `recolorStops`
1955
+ # @return [Array<Google::Apis::SlidesV1::ColorStop>]
1956
+ attr_accessor :recolor_stops
1957
+
1958
+ # The name of the recolor effect.
1959
+ # The name is determined from the `recolor_stops` by matching the gradient
1960
+ # against the colors in the page's current color scheme. This property is
1961
+ # read-only.
1962
+ # Corresponds to the JSON property `name`
1963
+ # @return [String]
1964
+ attr_accessor :name
1965
+
1966
+ def initialize(**args)
1967
+ update!(**args)
1968
+ end
1969
+
1970
+ # Update properties of this object
1971
+ def update!(**args)
1972
+ @recolor_stops = args[:recolor_stops] if args.key?(:recolor_stops)
1973
+ @name = args[:name] if args.key?(:name)
1974
+ end
1975
+ end
1976
+
1977
+ # A hypertext link.
1978
+ class Link
1979
+ include Google::Apis::Core::Hashable
1980
+
1981
+ # If set, indicates this is a link to the specific page in this
1982
+ # presentation with this ID. A page with this ID may not exist.
1983
+ # Corresponds to the JSON property `pageObjectId`
1984
+ # @return [String]
1985
+ attr_accessor :page_object_id
1986
+
1987
+ # If set, indicates this is a link to the external web page at this URL.
1988
+ # Corresponds to the JSON property `url`
1989
+ # @return [String]
1990
+ attr_accessor :url
1991
+
1992
+ # If set, indicates this is a link to a slide in this presentation,
1993
+ # addressed by its position.
1994
+ # Corresponds to the JSON property `relativeLink`
1995
+ # @return [String]
1996
+ attr_accessor :relative_link
1997
+
1998
+ # If set, indicates this is a link to the slide at this zero-based index
1999
+ # in the presentation. There may not be a slide at this index.
2000
+ # Corresponds to the JSON property `slideIndex`
2001
+ # @return [Fixnum]
2002
+ attr_accessor :slide_index
2003
+
2004
+ def initialize(**args)
2005
+ update!(**args)
2006
+ end
2007
+
2008
+ # Update properties of this object
2009
+ def update!(**args)
2010
+ @page_object_id = args[:page_object_id] if args.key?(:page_object_id)
2011
+ @url = args[:url] if args.key?(:url)
2012
+ @relative_link = args[:relative_link] if args.key?(:relative_link)
2013
+ @slide_index = args[:slide_index] if args.key?(:slide_index)
2014
+ end
2015
+ end
2016
+
2017
+ # An RGB color.
2018
+ class RgbColor
2019
+ include Google::Apis::Core::Hashable
2020
+
2021
+ # The red component of the color, from 0.0 to 1.0.
2022
+ # Corresponds to the JSON property `red`
2023
+ # @return [Float]
2024
+ attr_accessor :red
2025
+
2026
+ # The green component of the color, from 0.0 to 1.0.
2027
+ # Corresponds to the JSON property `green`
2028
+ # @return [Float]
2029
+ attr_accessor :green
2030
+
2031
+ # The blue component of the color, from 0.0 to 1.0.
2032
+ # Corresponds to the JSON property `blue`
2033
+ # @return [Float]
2034
+ attr_accessor :blue
2035
+
2036
+ def initialize(**args)
2037
+ update!(**args)
2038
+ end
2039
+
2040
+ # Update properties of this object
2041
+ def update!(**args)
2042
+ @red = args[:red] if args.key?(:red)
2043
+ @green = args[:green] if args.key?(:green)
2044
+ @blue = args[:blue] if args.key?(:blue)
2045
+ end
2046
+ end
2047
+
2048
+ # The result of creating a shape.
2049
+ class CreateShapeResponse
2050
+ include Google::Apis::Core::Hashable
2051
+
2052
+ # The object ID of the created shape.
2053
+ # Corresponds to the JSON property `objectId`
2054
+ # @return [String]
2055
+ attr_accessor :object_id_prop
2056
+
2057
+ def initialize(**args)
2058
+ update!(**args)
2059
+ end
2060
+
2061
+ # Update properties of this object
2062
+ def update!(**args)
2063
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
2064
+ end
2065
+ end
2066
+
2067
+ # Creates a line.
2068
+ class CreateLineRequest
2069
+ include Google::Apis::Core::Hashable
2070
+
2071
+ # A user-supplied object ID.
2072
+ # If you specify an ID, it must be unique among all pages and page elements
2073
+ # in the presentation. The ID must start with an alphanumeric character or an
2074
+ # underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
2075
+ # may include those as well as a hyphen or colon (matches regex
2076
+ # `[a-zA-Z0-9_-:]`).
2077
+ # The length of the ID must not be less than 5 or greater than 50.
2078
+ # If you don't specify an ID, a unique one is generated.
2079
+ # Corresponds to the JSON property `objectId`
2080
+ # @return [String]
2081
+ attr_accessor :object_id_prop
2082
+
2083
+ # Common properties for a page element.
2084
+ # Note: When you initially create a
2085
+ # PageElement, the API may modify
2086
+ # the values of both `size` and `transform`, but the
2087
+ # visual size will be unchanged.
2088
+ # Corresponds to the JSON property `elementProperties`
2089
+ # @return [Google::Apis::SlidesV1::PageElementProperties]
2090
+ attr_accessor :element_properties
2091
+
2092
+ # The category of line to be created.
2093
+ # Corresponds to the JSON property `lineCategory`
2094
+ # @return [String]
2095
+ attr_accessor :line_category
2096
+
2097
+ def initialize(**args)
2098
+ update!(**args)
2099
+ end
2100
+
2101
+ # Update properties of this object
2102
+ def update!(**args)
2103
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
2104
+ @element_properties = args[:element_properties] if args.key?(:element_properties)
2105
+ @line_category = args[:line_category] if args.key?(:line_category)
2106
+ end
2107
+ end
2108
+
2109
+ # The result of creating a slide.
2110
+ class CreateSlideResponse
2111
+ include Google::Apis::Core::Hashable
2112
+
2113
+ # The object ID of the created slide.
2114
+ # Corresponds to the JSON property `objectId`
2115
+ # @return [String]
2116
+ attr_accessor :object_id_prop
2117
+
2118
+ def initialize(**args)
2119
+ update!(**args)
2120
+ end
2121
+
2122
+ # Update properties of this object
2123
+ def update!(**args)
2124
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
2125
+ end
2126
+ end
2127
+
2128
+ # Creates a new shape.
2129
+ class CreateShapeRequest
2130
+ include Google::Apis::Core::Hashable
2131
+
2132
+ # A user-supplied object ID.
2133
+ # If you specify an ID, it must be unique among all pages and page elements
2134
+ # in the presentation. The ID must start with an alphanumeric character or an
2135
+ # underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
2136
+ # may include those as well as a hyphen or colon (matches regex
2137
+ # `[a-zA-Z0-9_-:]`).
2138
+ # The length of the ID must not be less than 5 or greater than 50.
2139
+ # If empty, a unique identifier will be generated.
2140
+ # Corresponds to the JSON property `objectId`
2141
+ # @return [String]
2142
+ attr_accessor :object_id_prop
2143
+
2144
+ # The shape type.
2145
+ # Corresponds to the JSON property `shapeType`
2146
+ # @return [String]
2147
+ attr_accessor :shape_type
2148
+
2149
+ # Common properties for a page element.
2150
+ # Note: When you initially create a
2151
+ # PageElement, the API may modify
2152
+ # the values of both `size` and `transform`, but the
2153
+ # visual size will be unchanged.
2154
+ # Corresponds to the JSON property `elementProperties`
2155
+ # @return [Google::Apis::SlidesV1::PageElementProperties]
2156
+ attr_accessor :element_properties
2157
+
2158
+ def initialize(**args)
2159
+ update!(**args)
2160
+ end
2161
+
2162
+ # Update properties of this object
2163
+ def update!(**args)
2164
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
2165
+ @shape_type = args[:shape_type] if args.key?(:shape_type)
2166
+ @element_properties = args[:element_properties] if args.key?(:element_properties)
2167
+ end
2168
+ end
2169
+
2170
+ # A PageElement kind representing a
2171
+ # video.
2172
+ class Video
2173
+ include Google::Apis::Core::Hashable
2174
+
2175
+ # The video source.
2176
+ # Corresponds to the JSON property `source`
2177
+ # @return [String]
2178
+ attr_accessor :source
2179
+
2180
+ # An URL to a video. The URL is valid as long as the source video
2181
+ # exists and sharing settings do not change.
2182
+ # Corresponds to the JSON property `url`
2183
+ # @return [String]
2184
+ attr_accessor :url
2185
+
2186
+ # The video source's unique identifier for this video.
2187
+ # Corresponds to the JSON property `id`
2188
+ # @return [String]
2189
+ attr_accessor :id
2190
+
2191
+ # The properties of the Video.
2192
+ # Corresponds to the JSON property `videoProperties`
2193
+ # @return [Google::Apis::SlidesV1::VideoProperties]
2194
+ attr_accessor :video_properties
2195
+
2196
+ def initialize(**args)
2197
+ update!(**args)
2198
+ end
2199
+
2200
+ # Update properties of this object
2201
+ def update!(**args)
2202
+ @source = args[:source] if args.key?(:source)
2203
+ @url = args[:url] if args.key?(:url)
2204
+ @id = args[:id] if args.key?(:id)
2205
+ @video_properties = args[:video_properties] if args.key?(:video_properties)
2206
+ end
2207
+ end
2208
+
2209
+ # The properties of the Page.
2210
+ # The page will inherit properties from the parent page. Depending on the page
2211
+ # type the hierarchy is defined in either
2212
+ # SlideProperties or
2213
+ # LayoutProperties.
2214
+ class PageProperties
2215
+ include Google::Apis::Core::Hashable
2216
+
2217
+ # The palette of predefined colors for a page.
2218
+ # Corresponds to the JSON property `colorScheme`
2219
+ # @return [Google::Apis::SlidesV1::ColorScheme]
2220
+ attr_accessor :color_scheme
2221
+
2222
+ # The page background fill.
2223
+ # Corresponds to the JSON property `pageBackgroundFill`
2224
+ # @return [Google::Apis::SlidesV1::PageBackgroundFill]
2225
+ attr_accessor :page_background_fill
2226
+
2227
+ def initialize(**args)
2228
+ update!(**args)
2229
+ end
2230
+
2231
+ # Update properties of this object
2232
+ def update!(**args)
2233
+ @color_scheme = args[:color_scheme] if args.key?(:color_scheme)
2234
+ @page_background_fill = args[:page_background_fill] if args.key?(:page_background_fill)
2235
+ end
2236
+ end
2237
+
2238
+ # Contains properties describing the look and feel of a list bullet at a given
2239
+ # level of nesting.
2240
+ class NestingLevel
2241
+ include Google::Apis::Core::Hashable
2242
+
2243
+ # Represents the styling that can be applied to a TextRun.
2244
+ # If this text is contained in a shape with a parent placeholder, then these
2245
+ # text styles may be
2246
+ # inherited from the parent. Which text styles are inherited depend on the
2247
+ # nesting level of lists:
2248
+ # * A text run in a paragraph that is not in a list will inherit its text style
2249
+ # from the the newline character in the paragraph at the 0 nesting level of
2250
+ # the list inside the parent placeholder.
2251
+ # * A text run in a paragraph that is in a list will inherit its text style
2252
+ # from the newline character in the paragraph at its corresponding nesting
2253
+ # level of the list inside the parent placeholder.
2254
+ # Inherited text styles are represented as unset fields in this message. If
2255
+ # text is contained in a shape without a parent placeholder, unsetting these
2256
+ # fields will revert the style to a value matching the defaults in the Slides
2257
+ # editor.
2258
+ # Corresponds to the JSON property `bulletStyle`
2259
+ # @return [Google::Apis::SlidesV1::TextStyle]
2260
+ attr_accessor :bullet_style
2261
+
2262
+ def initialize(**args)
2263
+ update!(**args)
2264
+ end
2265
+
2266
+ # Update properties of this object
2267
+ def update!(**args)
2268
+ @bullet_style = args[:bullet_style] if args.key?(:bullet_style)
2269
+ end
2270
+ end
2271
+
2272
+ # Properties and contents of each table cell.
2273
+ class TableCell
2274
+ include Google::Apis::Core::Hashable
2275
+
2276
+ # The general text content. The text must reside in a compatible shape (e.g.
2277
+ # text box or rectangle) or a table cell in a page.
2278
+ # Corresponds to the JSON property `text`
2279
+ # @return [Google::Apis::SlidesV1::TextContent]
2280
+ attr_accessor :text
2281
+
2282
+ # The properties of the TableCell.
2283
+ # Corresponds to the JSON property `tableCellProperties`
2284
+ # @return [Google::Apis::SlidesV1::TableCellProperties]
2285
+ attr_accessor :table_cell_properties
2286
+
2287
+ # A location of a single table cell within a table.
2288
+ # Corresponds to the JSON property `location`
2289
+ # @return [Google::Apis::SlidesV1::TableCellLocation]
2290
+ attr_accessor :location
2291
+
2292
+ # Row span of the cell.
2293
+ # Corresponds to the JSON property `rowSpan`
2294
+ # @return [Fixnum]
2295
+ attr_accessor :row_span
2296
+
2297
+ # Column span of the cell.
2298
+ # Corresponds to the JSON property `columnSpan`
2299
+ # @return [Fixnum]
2300
+ attr_accessor :column_span
2301
+
2302
+ def initialize(**args)
2303
+ update!(**args)
2304
+ end
2305
+
2306
+ # Update properties of this object
2307
+ def update!(**args)
2308
+ @text = args[:text] if args.key?(:text)
2309
+ @table_cell_properties = args[:table_cell_properties] if args.key?(:table_cell_properties)
2310
+ @location = args[:location] if args.key?(:location)
2311
+ @row_span = args[:row_span] if args.key?(:row_span)
2312
+ @column_span = args[:column_span] if args.key?(:column_span)
2313
+ end
2314
+ end
2315
+
2316
+ # Updates the properties of a Line.
2317
+ class UpdateLinePropertiesRequest
2318
+ include Google::Apis::Core::Hashable
2319
+
2320
+ # The properties of the Line.
2321
+ # When unset, these fields default to values that match the appearance of
2322
+ # new lines created in the Slides editor.
2323
+ # Corresponds to the JSON property `lineProperties`
2324
+ # @return [Google::Apis::SlidesV1::LineProperties]
2325
+ attr_accessor :line_properties
2326
+
2327
+ # The fields that should be updated.
2328
+ # At least one field must be specified. The root `lineProperties` is
2329
+ # implied and should not be specified. A single `"*"` can be used as
2330
+ # short-hand for listing every field.
2331
+ # For example to update the line solid fill color, set `fields` to
2332
+ # `"lineFill.solidFill.color"`.
2333
+ # To reset a property to its default value, include its field name in the
2334
+ # field mask but leave the field itself unset.
2335
+ # Corresponds to the JSON property `fields`
2336
+ # @return [String]
2337
+ attr_accessor :fields
2338
+
2339
+ # The object ID of the line the update is applied to.
2340
+ # Corresponds to the JSON property `objectId`
2341
+ # @return [String]
2342
+ attr_accessor :object_id_prop
2343
+
2344
+ def initialize(**args)
2345
+ update!(**args)
2346
+ end
2347
+
2348
+ # Update properties of this object
2349
+ def update!(**args)
2350
+ @line_properties = args[:line_properties] if args.key?(:line_properties)
2351
+ @fields = args[:fields] if args.key?(:fields)
2352
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
2353
+ end
2354
+ end
2355
+
2356
+ # Updates the position of slides in the presentation.
2357
+ class UpdateSlidesPositionRequest
2358
+ include Google::Apis::Core::Hashable
2359
+
2360
+ # The index where the slides should be inserted, based on the slide
2361
+ # arrangement before the move takes place. Must be between zero and the
2362
+ # number of slides in the presentation, inclusive.
2363
+ # Corresponds to the JSON property `insertionIndex`
2364
+ # @return [Fixnum]
2365
+ attr_accessor :insertion_index
2366
+
2367
+ # The IDs of the slides in the presentation that should be moved.
2368
+ # The slides in this list must be in existing presentation order, without
2369
+ # duplicates.
2370
+ # Corresponds to the JSON property `slideObjectIds`
2371
+ # @return [Array<String>]
2372
+ attr_accessor :slide_object_ids
2373
+
2374
+ def initialize(**args)
2375
+ update!(**args)
2376
+ end
2377
+
2378
+ # Update properties of this object
2379
+ def update!(**args)
2380
+ @insertion_index = args[:insertion_index] if args.key?(:insertion_index)
2381
+ @slide_object_ids = args[:slide_object_ids] if args.key?(:slide_object_ids)
2382
+ end
2383
+ end
2384
+
2385
+ # The table cell background fill.
2386
+ class TableCellBackgroundFill
2387
+ include Google::Apis::Core::Hashable
2388
+
2389
+ # The background fill property state.
2390
+ # Updating the the fill on a table cell will implicitly update this field
2391
+ # to `RENDERED`, unless another value is specified in the same request. To
2392
+ # have no fill on a table cell, set this field to `NOT_RENDERED`. In this
2393
+ # case, any other fill fields set in the same request will be ignored.
2394
+ # Corresponds to the JSON property `propertyState`
2395
+ # @return [String]
2396
+ attr_accessor :property_state
2397
+
2398
+ # A solid color fill. The page or page element is filled entirely with the
2399
+ # specified color value.
2400
+ # If any field is unset, its value may be inherited from a parent placeholder
2401
+ # if it exists.
2402
+ # Corresponds to the JSON property `solidFill`
2403
+ # @return [Google::Apis::SlidesV1::SolidFill]
2404
+ attr_accessor :solid_fill
2405
+
2406
+ def initialize(**args)
2407
+ update!(**args)
2408
+ end
2409
+
2410
+ # Update properties of this object
2411
+ def update!(**args)
2412
+ @property_state = args[:property_state] if args.key?(:property_state)
2413
+ @solid_fill = args[:solid_fill] if args.key?(:solid_fill)
2414
+ end
2415
+ end
2416
+
2417
+ # Updates the properties of a Page.
2418
+ class UpdatePagePropertiesRequest
2419
+ include Google::Apis::Core::Hashable
2420
+
2421
+ # The fields that should be updated.
2422
+ # At least one field must be specified. The root `pageProperties` is
2423
+ # implied and should not be specified. A single `"*"` can be used as
2424
+ # short-hand for listing every field.
2425
+ # For example to update the page background solid fill color, set `fields`
2426
+ # to `"pageBackgroundFill.solidFill.color"`.
2427
+ # To reset a property to its default value, include its field name in the
2428
+ # field mask but leave the field itself unset.
2429
+ # Corresponds to the JSON property `fields`
2430
+ # @return [String]
2431
+ attr_accessor :fields
2432
+
2433
+ # The object ID of the page the update is applied to.
2434
+ # Corresponds to the JSON property `objectId`
2435
+ # @return [String]
2436
+ attr_accessor :object_id_prop
2437
+
2438
+ # The properties of the Page.
2439
+ # The page will inherit properties from the parent page. Depending on the page
2440
+ # type the hierarchy is defined in either
2441
+ # SlideProperties or
2442
+ # LayoutProperties.
2443
+ # Corresponds to the JSON property `pageProperties`
2444
+ # @return [Google::Apis::SlidesV1::PageProperties]
2445
+ attr_accessor :page_properties
2446
+
2447
+ def initialize(**args)
2448
+ update!(**args)
2449
+ end
2450
+
2451
+ # Update properties of this object
2452
+ def update!(**args)
2453
+ @fields = args[:fields] if args.key?(:fields)
2454
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
2455
+ @page_properties = args[:page_properties] if args.key?(:page_properties)
2456
+ end
2457
+ end
2458
+
2459
+ # A PageElement kind representing a
2460
+ # joined collection of PageElements.
2461
+ class Group
2462
+ include Google::Apis::Core::Hashable
2463
+
2464
+ # The collection of elements in the group. The minimum size of a group is 2.
2465
+ # Corresponds to the JSON property `children`
2466
+ # @return [Array<Google::Apis::SlidesV1::PageElement>]
2467
+ attr_accessor :children
2468
+
2469
+ def initialize(**args)
2470
+ update!(**args)
2471
+ end
2472
+
2473
+ # Update properties of this object
2474
+ def update!(**args)
2475
+ @children = args[:children] if args.key?(:children)
2476
+ end
2477
+ end
2478
+
2479
+ # The placeholder information that uniquely identifies a placeholder shape.
2480
+ class Placeholder
2481
+ include Google::Apis::Core::Hashable
2482
+
2483
+ # The type of the placeholder.
2484
+ # Corresponds to the JSON property `type`
2485
+ # @return [String]
2486
+ attr_accessor :type
2487
+
2488
+ # The object ID of this shape's parent placeholder.
2489
+ # If unset, the parent placeholder shape does not exist, so the shape does
2490
+ # not inherit properties from any other shape.
2491
+ # Corresponds to the JSON property `parentObjectId`
2492
+ # @return [String]
2493
+ attr_accessor :parent_object_id
2494
+
2495
+ # The index of the placeholder. If the same placeholder types are present in
2496
+ # the same page, they would have different index values.
2497
+ # Corresponds to the JSON property `index`
2498
+ # @return [Fixnum]
2499
+ attr_accessor :index
2500
+
2501
+ def initialize(**args)
2502
+ update!(**args)
2503
+ end
2504
+
2505
+ # Update properties of this object
2506
+ def update!(**args)
2507
+ @type = args[:type] if args.key?(:type)
2508
+ @parent_object_id = args[:parent_object_id] if args.key?(:parent_object_id)
2509
+ @index = args[:index] if args.key?(:index)
2510
+ end
2511
+ end
2512
+
2513
+ # Duplicates a slide or page element.
2514
+ # When duplicating a slide, the duplicate slide will be created immediately
2515
+ # following the specified slide. When duplicating a page element, the duplicate
2516
+ # will be placed on the same page at the same position as the original.
2517
+ class DuplicateObjectRequest
2518
+ include Google::Apis::Core::Hashable
2519
+
2520
+ # The ID of the object to duplicate.
2521
+ # Corresponds to the JSON property `objectId`
2522
+ # @return [String]
2523
+ attr_accessor :object_id_prop
2524
+
2525
+ # The object being duplicated may contain other objects, for example when
2526
+ # duplicating a slide or a group page element. This map defines how the IDs
2527
+ # of duplicated objects are generated: the keys are the IDs of the original
2528
+ # objects and its values are the IDs that will be assigned to the
2529
+ # corresponding duplicate object. The ID of the source object's duplicate
2530
+ # may be specified in this map as well, using the same value of the
2531
+ # `object_id` field as a key and the newly desired ID as the value.
2532
+ # All keys must correspond to existing IDs in the presentation. All values
2533
+ # must be unique in the presentation and must start with an alphanumeric
2534
+ # character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining
2535
+ # characters may include those as well as a hyphen or colon (matches regex
2536
+ # `[a-zA-Z0-9_-:]`). The length of the new ID must not be less than 5 or
2537
+ # greater than 50.
2538
+ # If any IDs of source objects are omitted from the map, a new random ID will
2539
+ # be assigned. If the map is empty or unset, all duplicate objects will
2540
+ # receive a new random ID.
2541
+ # Corresponds to the JSON property `objectIds`
2542
+ # @return [Hash<String,String>]
2543
+ attr_accessor :object_ids
2544
+
2545
+ def initialize(**args)
2546
+ update!(**args)
2547
+ end
2548
+
2549
+ # Update properties of this object
2550
+ def update!(**args)
2551
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
2552
+ @object_ids = args[:object_ids] if args.key?(:object_ids)
2553
+ end
2554
+ end
2555
+
2556
+ # Replaces all instances of text matching a criteria with replace text.
2557
+ class ReplaceAllTextRequest
2558
+ include Google::Apis::Core::Hashable
2559
+
2560
+ # The text that will replace the matched text.
2561
+ # Corresponds to the JSON property `replaceText`
2562
+ # @return [String]
2563
+ attr_accessor :replace_text
2564
+
2565
+ # A criteria that matches a specific string of text in a shape or table.
2566
+ # Corresponds to the JSON property `containsText`
2567
+ # @return [Google::Apis::SlidesV1::SubstringMatchCriteria]
2568
+ attr_accessor :contains_text
2569
+
2570
+ def initialize(**args)
2571
+ update!(**args)
2572
+ end
2573
+
2574
+ # Update properties of this object
2575
+ def update!(**args)
2576
+ @replace_text = args[:replace_text] if args.key?(:replace_text)
2577
+ @contains_text = args[:contains_text] if args.key?(:contains_text)
2578
+ end
2579
+ end
2580
+
2581
+ # A page in a presentation.
2582
+ class Page
2583
+ include Google::Apis::Core::Hashable
2584
+
2585
+ # The object ID for this page. Object IDs used by
2586
+ # Page and
2587
+ # PageElement share the same namespace.
2588
+ # Corresponds to the JSON property `objectId`
2589
+ # @return [String]
2590
+ attr_accessor :object_id_prop
2591
+
2592
+ # The revision ID of the presentation containing this page. Can be used in
2593
+ # update requests to assert that the presentation revision hasn't changed
2594
+ # since the last read operation. Only populated if the user has edit access
2595
+ # to the presentation.
2596
+ # The format of the revision ID may change over time, so it should be treated
2597
+ # opaquely. A returned revision ID is only guaranteed to be valid for 24
2598
+ # hours after it has been returned and cannot be shared across users. If the
2599
+ # revision ID is unchanged between calls, then the presentation has not
2600
+ # changed. Conversely, a changed ID (for the same presentation and user)
2601
+ # usually means the presentation has been updated; however, a changed ID can
2602
+ # also be due to internal factors such as ID format changes.
2603
+ # Corresponds to the JSON property `revisionId`
2604
+ # @return [String]
2605
+ attr_accessor :revision_id
2606
+
2607
+ # The properties of Page are only
2608
+ # relevant for pages with page_type LAYOUT.
2609
+ # Corresponds to the JSON property `layoutProperties`
2610
+ # @return [Google::Apis::SlidesV1::LayoutProperties]
2611
+ attr_accessor :layout_properties
2612
+
2613
+ # The page elements rendered on the page.
2614
+ # Corresponds to the JSON property `pageElements`
2615
+ # @return [Array<Google::Apis::SlidesV1::PageElement>]
2616
+ attr_accessor :page_elements
2617
+
2618
+ # The type of the page.
2619
+ # Corresponds to the JSON property `pageType`
2620
+ # @return [String]
2621
+ attr_accessor :page_type
2622
+
2623
+ # The properties of Page that are only
2624
+ # relevant for pages with page_type NOTES.
2625
+ # Corresponds to the JSON property `notesProperties`
2626
+ # @return [Google::Apis::SlidesV1::NotesProperties]
2627
+ attr_accessor :notes_properties
2628
+
2629
+ # The properties of the Page.
2630
+ # The page will inherit properties from the parent page. Depending on the page
2631
+ # type the hierarchy is defined in either
2632
+ # SlideProperties or
2633
+ # LayoutProperties.
2634
+ # Corresponds to the JSON property `pageProperties`
2635
+ # @return [Google::Apis::SlidesV1::PageProperties]
2636
+ attr_accessor :page_properties
2637
+
2638
+ # The properties of Page that are only
2639
+ # relevant for pages with page_type SLIDE.
2640
+ # Corresponds to the JSON property `slideProperties`
2641
+ # @return [Google::Apis::SlidesV1::SlideProperties]
2642
+ attr_accessor :slide_properties
2643
+
2644
+ def initialize(**args)
2645
+ update!(**args)
2646
+ end
2647
+
2648
+ # Update properties of this object
2649
+ def update!(**args)
2650
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
2651
+ @revision_id = args[:revision_id] if args.key?(:revision_id)
2652
+ @layout_properties = args[:layout_properties] if args.key?(:layout_properties)
2653
+ @page_elements = args[:page_elements] if args.key?(:page_elements)
2654
+ @page_type = args[:page_type] if args.key?(:page_type)
2655
+ @notes_properties = args[:notes_properties] if args.key?(:notes_properties)
2656
+ @page_properties = args[:page_properties] if args.key?(:page_properties)
2657
+ @slide_properties = args[:slide_properties] if args.key?(:slide_properties)
2658
+ end
2659
+ end
2660
+
2661
+ # The shape background fill.
2662
+ class ShapeBackgroundFill
2663
+ include Google::Apis::Core::Hashable
2664
+
2665
+ # A solid color fill. The page or page element is filled entirely with the
2666
+ # specified color value.
2667
+ # If any field is unset, its value may be inherited from a parent placeholder
2668
+ # if it exists.
2669
+ # Corresponds to the JSON property `solidFill`
2670
+ # @return [Google::Apis::SlidesV1::SolidFill]
2671
+ attr_accessor :solid_fill
2672
+
2673
+ # The background fill property state.
2674
+ # Updating the the fill on a shape will implicitly update this field to
2675
+ # `RENDERED`, unless another value is specified in the same request. To
2676
+ # have no fill on a shape, set this field to `NOT_RENDERED`. In this case,
2677
+ # any other fill fields set in the same request will be ignored.
2678
+ # Corresponds to the JSON property `propertyState`
2679
+ # @return [String]
2680
+ attr_accessor :property_state
2681
+
2682
+ def initialize(**args)
2683
+ update!(**args)
2684
+ end
2685
+
2686
+ # Update properties of this object
2687
+ def update!(**args)
2688
+ @solid_fill = args[:solid_fill] if args.key?(:solid_fill)
2689
+ @property_state = args[:property_state] if args.key?(:property_state)
2690
+ end
2691
+ end
2692
+
2693
+ # The crop properties of an object enclosed in a container. For example, an
2694
+ # Image.
2695
+ # The crop properties is represented by the offsets of four edges which define
2696
+ # a crop rectangle. The offsets are measured in percentage from the
2697
+ # corresponding edges of the object's original bounding rectangle towards
2698
+ # inside, relative to the object's original dimensions.
2699
+ # - If the offset is in the interval (0, 1), the corresponding edge of crop
2700
+ # rectangle is positioned inside of the object's original bounding rectangle.
2701
+ # - If the offset is negative or greater than 1, the corresponding edge of crop
2702
+ # rectangle is positioned outside of the object's original bounding rectangle.
2703
+ # - If the left edge of the crop rectangle is on the right side of its right
2704
+ # edge, the object will be flipped horizontally.
2705
+ # - If the top edge of the crop rectangle is below its bottom edge, the object
2706
+ # will be flipped vertically.
2707
+ # - If all offsets and rotation angle is 0, the object is not cropped.
2708
+ # After cropping, the content in the crop rectangle will be stretched to fit
2709
+ # its container.
2710
+ class CropProperties
2711
+ include Google::Apis::Core::Hashable
2712
+
2713
+ # The rotation angle of the crop window around its center, in radians.
2714
+ # Rotation angle is applied after the offset.
2715
+ # Corresponds to the JSON property `angle`
2716
+ # @return [Float]
2717
+ attr_accessor :angle
2718
+
2719
+ # The offset specifies the top edge of the crop rectangle that is located
2720
+ # below the original bounding rectangle top edge, relative to the object's
2721
+ # original height.
2722
+ # Corresponds to the JSON property `topOffset`
2723
+ # @return [Float]
2724
+ attr_accessor :top_offset
2725
+
2726
+ # The offset specifies the left edge of the crop rectangle that is located to
2727
+ # the right of the original bounding rectangle left edge, relative to the
2728
+ # object's original width.
2729
+ # Corresponds to the JSON property `leftOffset`
2730
+ # @return [Float]
2731
+ attr_accessor :left_offset
2732
+
2733
+ # The offset specifies the right edge of the crop rectangle that is located
2734
+ # to the left of the original bounding rectangle right edge, relative to the
2735
+ # object's original width.
2736
+ # Corresponds to the JSON property `rightOffset`
2737
+ # @return [Float]
2738
+ attr_accessor :right_offset
2739
+
2740
+ # The offset specifies the bottom edge of the crop rectangle that is located
2741
+ # above the original bounding rectangle bottom edge, relative to the object's
2742
+ # original height.
2743
+ # Corresponds to the JSON property `bottomOffset`
2744
+ # @return [Float]
2745
+ attr_accessor :bottom_offset
2746
+
2747
+ def initialize(**args)
2748
+ update!(**args)
2749
+ end
2750
+
2751
+ # Update properties of this object
2752
+ def update!(**args)
2753
+ @angle = args[:angle] if args.key?(:angle)
2754
+ @top_offset = args[:top_offset] if args.key?(:top_offset)
2755
+ @left_offset = args[:left_offset] if args.key?(:left_offset)
2756
+ @right_offset = args[:right_offset] if args.key?(:right_offset)
2757
+ @bottom_offset = args[:bottom_offset] if args.key?(:bottom_offset)
2758
+ end
2759
+ end
2760
+
2761
+ # Replaces all shapes that match the given criteria with the provided Google
2762
+ # Sheets chart. The chart will be scaled and centered to fit within the bounds
2763
+ # of the original shape.
2764
+ # NOTE: Replacing shapes with a chart requires at least one of the
2765
+ # spreadsheets.readonly, spreadsheets, drive.readonly, or drive OAuth scopes.
2766
+ class ReplaceAllShapesWithSheetsChartRequest
2767
+ include Google::Apis::Core::Hashable
2768
+
2769
+ # The ID of the Google Sheets spreadsheet that contains the chart.
2770
+ # Corresponds to the JSON property `spreadsheetId`
2771
+ # @return [String]
2772
+ attr_accessor :spreadsheet_id
2773
+
2774
+ # The mode with which the chart is linked to the source spreadsheet. When
2775
+ # not specified, the chart will be an image that is not linked.
2776
+ # Corresponds to the JSON property `linkingMode`
2777
+ # @return [String]
2778
+ attr_accessor :linking_mode
2779
+
2780
+ # A criteria that matches a specific string of text in a shape or table.
2781
+ # Corresponds to the JSON property `containsText`
2782
+ # @return [Google::Apis::SlidesV1::SubstringMatchCriteria]
2783
+ attr_accessor :contains_text
2784
+
2785
+ # The ID of the specific chart in the Google Sheets spreadsheet.
2786
+ # Corresponds to the JSON property `chartId`
2787
+ # @return [Fixnum]
2788
+ attr_accessor :chart_id
2789
+
2790
+ def initialize(**args)
2791
+ update!(**args)
2792
+ end
2793
+
2794
+ # Update properties of this object
2795
+ def update!(**args)
2796
+ @spreadsheet_id = args[:spreadsheet_id] if args.key?(:spreadsheet_id)
2797
+ @linking_mode = args[:linking_mode] if args.key?(:linking_mode)
2798
+ @contains_text = args[:contains_text] if args.key?(:contains_text)
2799
+ @chart_id = args[:chart_id] if args.key?(:chart_id)
2800
+ end
2801
+ end
2802
+
2803
+ # Specifies a contiguous range of an indexed collection, such as characters in
2804
+ # text.
2805
+ class Range
2806
+ include Google::Apis::Core::Hashable
2807
+
2808
+ # The optional zero-based index of the beginning of the collection.
2809
+ # Required for `SPECIFIC_RANGE` and `FROM_START_INDEX` ranges.
2810
+ # Corresponds to the JSON property `startIndex`
2811
+ # @return [Fixnum]
2812
+ attr_accessor :start_index
2813
+
2814
+ # The optional zero-based index of the end of the collection.
2815
+ # Required for `SPECIFIC_RANGE` delete mode.
2816
+ # Corresponds to the JSON property `endIndex`
2817
+ # @return [Fixnum]
2818
+ attr_accessor :end_index
2819
+
2820
+ # The type of range.
2821
+ # Corresponds to the JSON property `type`
2822
+ # @return [String]
2823
+ attr_accessor :type
2824
+
2825
+ def initialize(**args)
2826
+ update!(**args)
2827
+ end
2828
+
2829
+ # Update properties of this object
2830
+ def update!(**args)
2831
+ @start_index = args[:start_index] if args.key?(:start_index)
2832
+ @end_index = args[:end_index] if args.key?(:end_index)
2833
+ @type = args[:type] if args.key?(:type)
2834
+ end
2835
+ end
2836
+
2837
+ # A color and position in a gradient band.
2838
+ class ColorStop
2839
+ include Google::Apis::Core::Hashable
2840
+
2841
+ # A themeable solid color value.
2842
+ # Corresponds to the JSON property `color`
2843
+ # @return [Google::Apis::SlidesV1::OpaqueColor]
2844
+ attr_accessor :color
2845
+
2846
+ # The alpha value of this color in the gradient band. Defaults to 1.0,
2847
+ # fully opaque.
2848
+ # Corresponds to the JSON property `alpha`
2849
+ # @return [Float]
2850
+ attr_accessor :alpha
2851
+
2852
+ # The relative position of the color stop in the gradient band measured
2853
+ # in percentage. The value should be in the interval [0.0, 1.0].
2854
+ # Corresponds to the JSON property `position`
2855
+ # @return [Float]
2856
+ attr_accessor :position
2857
+
2858
+ def initialize(**args)
2859
+ update!(**args)
2860
+ end
2861
+
2862
+ # Update properties of this object
2863
+ def update!(**args)
2864
+ @color = args[:color] if args.key?(:color)
2865
+ @alpha = args[:alpha] if args.key?(:alpha)
2866
+ @position = args[:position] if args.key?(:position)
2867
+ end
2868
+ end
2869
+
2870
+ # Creates a video.
2871
+ class CreateVideoRequest
2872
+ include Google::Apis::Core::Hashable
2873
+
2874
+ # A user-supplied object ID.
2875
+ # If you specify an ID, it must be unique among all pages and page elements
2876
+ # in the presentation. The ID must start with an alphanumeric character or an
2877
+ # underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
2878
+ # may include those as well as a hyphen or colon (matches regex
2879
+ # `[a-zA-Z0-9_-:]`).
2880
+ # The length of the ID must not be less than 5 or greater than 50.
2881
+ # If you don't specify an ID, a unique one is generated.
2882
+ # Corresponds to the JSON property `objectId`
2883
+ # @return [String]
2884
+ attr_accessor :object_id_prop
2885
+
2886
+ # The video source.
2887
+ # Corresponds to the JSON property `source`
2888
+ # @return [String]
2889
+ attr_accessor :source
2890
+
2891
+ # Common properties for a page element.
2892
+ # Note: When you initially create a
2893
+ # PageElement, the API may modify
2894
+ # the values of both `size` and `transform`, but the
2895
+ # visual size will be unchanged.
2896
+ # Corresponds to the JSON property `elementProperties`
2897
+ # @return [Google::Apis::SlidesV1::PageElementProperties]
2898
+ attr_accessor :element_properties
2899
+
2900
+ # The video source's unique identifier for this video.
2901
+ # e.g. For YouTube video https://www.youtube.com/watch?v=7U3axjORYZ0,
2902
+ # the ID is 7U3axjORYZ0.
2903
+ # Corresponds to the JSON property `id`
2904
+ # @return [String]
2905
+ attr_accessor :id
2906
+
2907
+ def initialize(**args)
2908
+ update!(**args)
2909
+ end
2910
+
2911
+ # Update properties of this object
2912
+ def update!(**args)
2913
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
2914
+ @source = args[:source] if args.key?(:source)
2915
+ @element_properties = args[:element_properties] if args.key?(:element_properties)
2916
+ @id = args[:id] if args.key?(:id)
2917
+ end
2918
+ end
2919
+
2920
+ # The response of duplicating an object.
2921
+ class DuplicateObjectResponse
2922
+ include Google::Apis::Core::Hashable
2923
+
2924
+ # The ID of the new duplicate object.
2925
+ # Corresponds to the JSON property `objectId`
2926
+ # @return [String]
2927
+ attr_accessor :object_id_prop
2928
+
2929
+ def initialize(**args)
2930
+ update!(**args)
2931
+ end
2932
+
2933
+ # Update properties of this object
2934
+ def update!(**args)
2935
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
2936
+ end
2937
+ end
2938
+
2939
+ # Replaces all shapes that match the given criteria with the provided image.
2940
+ class ReplaceAllShapesWithImageRequest
2941
+ include Google::Apis::Core::Hashable
2942
+
2943
+ # The image URL.
2944
+ # The image is fetched once at insertion time and a copy is stored for
2945
+ # display inside the presentation. Images must be less than 50MB in size,
2946
+ # cannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF
2947
+ # format.
2948
+ # Corresponds to the JSON property `imageUrl`
2949
+ # @return [String]
2950
+ attr_accessor :image_url
2951
+
2952
+ # The replace method.
2953
+ # Corresponds to the JSON property `replaceMethod`
2954
+ # @return [String]
2955
+ attr_accessor :replace_method
2956
+
2957
+ # A criteria that matches a specific string of text in a shape or table.
2958
+ # Corresponds to the JSON property `containsText`
2959
+ # @return [Google::Apis::SlidesV1::SubstringMatchCriteria]
2960
+ attr_accessor :contains_text
2961
+
2962
+ def initialize(**args)
2963
+ update!(**args)
2964
+ end
2965
+
2966
+ # Update properties of this object
2967
+ def update!(**args)
2968
+ @image_url = args[:image_url] if args.key?(:image_url)
2969
+ @replace_method = args[:replace_method] if args.key?(:replace_method)
2970
+ @contains_text = args[:contains_text] if args.key?(:contains_text)
2971
+ end
2972
+ end
2973
+
2974
+ # The shadow properties of a page element.
2975
+ # If these fields are unset, they may be inherited from a parent placeholder
2976
+ # if it exists. If there is no parent, the fields will default to the value
2977
+ # used for new page elements created in the Slides editor, which may depend on
2978
+ # the page element kind.
2979
+ class Shadow
2980
+ include Google::Apis::Core::Hashable
2981
+
2982
+ # The type of the shadow.
2983
+ # Corresponds to the JSON property `type`
2984
+ # @return [String]
2985
+ attr_accessor :type
2986
+
2987
+ # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ]
2988
+ # to transform source coordinates (x,y) into destination coordinates (x', y')
2989
+ # according to:
2990
+ # x' x = shear_y scale_y translate_y
2991
+ # 1 [ 1 ]
2992
+ # After transformation,
2993
+ # x' = scale_x * x + shear_x * y + translate_x;
2994
+ # y' = scale_y * y + shear_y * x + translate_y;
2995
+ # This message is therefore composed of these six matrix elements.
2996
+ # Corresponds to the JSON property `transform`
2997
+ # @return [Google::Apis::SlidesV1::AffineTransform]
2998
+ attr_accessor :transform
2999
+
3000
+ # The alignment point of the shadow, that sets the origin for translate,
3001
+ # scale and skew of the shadow.
3002
+ # Corresponds to the JSON property `alignment`
3003
+ # @return [String]
3004
+ attr_accessor :alignment
3005
+
3006
+ # The alpha of the shadow's color, from 0.0 to 1.0.
3007
+ # Corresponds to the JSON property `alpha`
3008
+ # @return [Float]
3009
+ attr_accessor :alpha
3010
+
3011
+ # A themeable solid color value.
3012
+ # Corresponds to the JSON property `color`
3013
+ # @return [Google::Apis::SlidesV1::OpaqueColor]
3014
+ attr_accessor :color
3015
+
3016
+ # Whether the shadow should rotate with the shape.
3017
+ # Corresponds to the JSON property `rotateWithShape`
3018
+ # @return [Boolean]
3019
+ attr_accessor :rotate_with_shape
3020
+ alias_method :rotate_with_shape?, :rotate_with_shape
3021
+
3022
+ # The shadow property state.
3023
+ # Updating the the shadow on a page element will implicitly update this field
3024
+ # to `RENDERED`, unless another value is specified in the same request. To
3025
+ # have no shadow on a page element, set this field to `NOT_RENDERED`. In this
3026
+ # case, any other shadow fields set in the same request will be ignored.
3027
+ # Corresponds to the JSON property `propertyState`
3028
+ # @return [String]
3029
+ attr_accessor :property_state
3030
+
3031
+ # A magnitude in a single direction in the specified units.
3032
+ # Corresponds to the JSON property `blurRadius`
3033
+ # @return [Google::Apis::SlidesV1::Dimension]
3034
+ attr_accessor :blur_radius
3035
+
3036
+ def initialize(**args)
3037
+ update!(**args)
3038
+ end
3039
+
3040
+ # Update properties of this object
3041
+ def update!(**args)
3042
+ @type = args[:type] if args.key?(:type)
3043
+ @transform = args[:transform] if args.key?(:transform)
3044
+ @alignment = args[:alignment] if args.key?(:alignment)
3045
+ @alpha = args[:alpha] if args.key?(:alpha)
3046
+ @color = args[:color] if args.key?(:color)
3047
+ @rotate_with_shape = args[:rotate_with_shape] if args.key?(:rotate_with_shape)
3048
+ @property_state = args[:property_state] if args.key?(:property_state)
3049
+ @blur_radius = args[:blur_radius] if args.key?(:blur_radius)
3050
+ end
3051
+ end
3052
+
3053
+ # Deletes a row from a table.
3054
+ class DeleteTableRowRequest
3055
+ include Google::Apis::Core::Hashable
3056
+
3057
+ # The table to delete rows from.
3058
+ # Corresponds to the JSON property `tableObjectId`
3059
+ # @return [String]
3060
+ attr_accessor :table_object_id
3061
+
3062
+ # A location of a single table cell within a table.
3063
+ # Corresponds to the JSON property `cellLocation`
3064
+ # @return [Google::Apis::SlidesV1::TableCellLocation]
3065
+ attr_accessor :cell_location
3066
+
3067
+ def initialize(**args)
3068
+ update!(**args)
3069
+ end
3070
+
3071
+ # Update properties of this object
3072
+ def update!(**args)
3073
+ @table_object_id = args[:table_object_id] if args.key?(:table_object_id)
3074
+ @cell_location = args[:cell_location] if args.key?(:cell_location)
3075
+ end
3076
+ end
3077
+
3078
+ # Describes the bullet of a paragraph.
3079
+ class Bullet
3080
+ include Google::Apis::Core::Hashable
3081
+
3082
+ # The ID of the list this paragraph belongs to.
3083
+ # Corresponds to the JSON property `listId`
3084
+ # @return [String]
3085
+ attr_accessor :list_id
3086
+
3087
+ # The rendered bullet glyph for this paragraph.
3088
+ # Corresponds to the JSON property `glyph`
3089
+ # @return [String]
3090
+ attr_accessor :glyph
3091
+
3092
+ # The nesting level of this paragraph in the list.
3093
+ # Corresponds to the JSON property `nestingLevel`
3094
+ # @return [Fixnum]
3095
+ attr_accessor :nesting_level
3096
+
3097
+ # Represents the styling that can be applied to a TextRun.
3098
+ # If this text is contained in a shape with a parent placeholder, then these
3099
+ # text styles may be
3100
+ # inherited from the parent. Which text styles are inherited depend on the
3101
+ # nesting level of lists:
3102
+ # * A text run in a paragraph that is not in a list will inherit its text style
3103
+ # from the the newline character in the paragraph at the 0 nesting level of
3104
+ # the list inside the parent placeholder.
3105
+ # * A text run in a paragraph that is in a list will inherit its text style
3106
+ # from the newline character in the paragraph at its corresponding nesting
3107
+ # level of the list inside the parent placeholder.
3108
+ # Inherited text styles are represented as unset fields in this message. If
3109
+ # text is contained in a shape without a parent placeholder, unsetting these
3110
+ # fields will revert the style to a value matching the defaults in the Slides
3111
+ # editor.
3112
+ # Corresponds to the JSON property `bulletStyle`
3113
+ # @return [Google::Apis::SlidesV1::TextStyle]
3114
+ attr_accessor :bullet_style
3115
+
3116
+ def initialize(**args)
3117
+ update!(**args)
3118
+ end
3119
+
3120
+ # Update properties of this object
3121
+ def update!(**args)
3122
+ @list_id = args[:list_id] if args.key?(:list_id)
3123
+ @glyph = args[:glyph] if args.key?(:glyph)
3124
+ @nesting_level = args[:nesting_level] if args.key?(:nesting_level)
3125
+ @bullet_style = args[:bullet_style] if args.key?(:bullet_style)
3126
+ end
3127
+ end
3128
+
3129
+ # The fill of the outline.
3130
+ class OutlineFill
3131
+ include Google::Apis::Core::Hashable
3132
+
3133
+ # A solid color fill. The page or page element is filled entirely with the
3134
+ # specified color value.
3135
+ # If any field is unset, its value may be inherited from a parent placeholder
3136
+ # if it exists.
3137
+ # Corresponds to the JSON property `solidFill`
3138
+ # @return [Google::Apis::SlidesV1::SolidFill]
3139
+ attr_accessor :solid_fill
3140
+
3141
+ def initialize(**args)
3142
+ update!(**args)
3143
+ end
3144
+
3145
+ # Update properties of this object
3146
+ def update!(**args)
3147
+ @solid_fill = args[:solid_fill] if args.key?(:solid_fill)
3148
+ end
3149
+ end
3150
+
3151
+ # The result of creating a line.
3152
+ class CreateLineResponse
3153
+ include Google::Apis::Core::Hashable
3154
+
3155
+ # The object ID of the created line.
3156
+ # Corresponds to the JSON property `objectId`
3157
+ # @return [String]
3158
+ attr_accessor :object_id_prop
3159
+
3160
+ def initialize(**args)
3161
+ update!(**args)
3162
+ end
3163
+
3164
+ # Update properties of this object
3165
+ def update!(**args)
3166
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
3167
+ end
3168
+ end
3169
+
3170
+ # A location of a single table cell within a table.
3171
+ class TableCellLocation
3172
+ include Google::Apis::Core::Hashable
3173
+
3174
+ # The 0-based row index.
3175
+ # Corresponds to the JSON property `rowIndex`
3176
+ # @return [Fixnum]
3177
+ attr_accessor :row_index
3178
+
3179
+ # The 0-based column index.
3180
+ # Corresponds to the JSON property `columnIndex`
3181
+ # @return [Fixnum]
3182
+ attr_accessor :column_index
3183
+
3184
+ def initialize(**args)
3185
+ update!(**args)
3186
+ end
3187
+
3188
+ # Update properties of this object
3189
+ def update!(**args)
3190
+ @row_index = args[:row_index] if args.key?(:row_index)
3191
+ @column_index = args[:column_index] if args.key?(:column_index)
3192
+ end
3193
+ end
3194
+
3195
+ # The result of replacing text.
3196
+ class ReplaceAllTextResponse
3197
+ include Google::Apis::Core::Hashable
3198
+
3199
+ # The number of occurrences changed by replacing all text.
3200
+ # Corresponds to the JSON property `occurrencesChanged`
3201
+ # @return [Fixnum]
3202
+ attr_accessor :occurrences_changed
3203
+
3204
+ def initialize(**args)
3205
+ update!(**args)
3206
+ end
3207
+
3208
+ # Update properties of this object
3209
+ def update!(**args)
3210
+ @occurrences_changed = args[:occurrences_changed] if args.key?(:occurrences_changed)
3211
+ end
3212
+ end
3213
+
3214
+ # Updates the styling for all of the paragraphs within a Shape or Table that
3215
+ # overlap with the given text index range.
3216
+ class UpdateParagraphStyleRequest
3217
+ include Google::Apis::Core::Hashable
3218
+
3219
+ # A location of a single table cell within a table.
3220
+ # Corresponds to the JSON property `cellLocation`
3221
+ # @return [Google::Apis::SlidesV1::TableCellLocation]
3222
+ attr_accessor :cell_location
3223
+
3224
+ # Styles that apply to a whole paragraph.
3225
+ # If this text is contained in a shape with a parent placeholder, then these
3226
+ # paragraph styles may be
3227
+ # inherited from the parent. Which paragraph styles are inherited depend on the
3228
+ # nesting level of lists:
3229
+ # * A paragraph not in a list will inherit its paragraph style from the
3230
+ # paragraph at the 0 nesting level of the list inside the parent placeholder.
3231
+ # * A paragraph in a list will inherit its paragraph style from the paragraph
3232
+ # at its corresponding nesting level of the list inside the parent
3233
+ # placeholder.
3234
+ # Inherited paragraph styles are represented as unset fields in this message.
3235
+ # Corresponds to the JSON property `style`
3236
+ # @return [Google::Apis::SlidesV1::ParagraphStyle]
3237
+ attr_accessor :style
3238
+
3239
+ # The fields that should be updated.
3240
+ # At least one field must be specified. The root `style` is implied and
3241
+ # should not be specified. A single `"*"` can be used as short-hand for
3242
+ # listing every field.
3243
+ # For example, to update the paragraph alignment, set `fields` to
3244
+ # `"alignment"`.
3245
+ # To reset a property to its default value, include its field name in the
3246
+ # field mask but leave the field itself unset.
3247
+ # Corresponds to the JSON property `fields`
3248
+ # @return [String]
3249
+ attr_accessor :fields
3250
+
3251
+ # The object ID of the shape or table with the text to be styled.
3252
+ # Corresponds to the JSON property `objectId`
3253
+ # @return [String]
3254
+ attr_accessor :object_id_prop
3255
+
3256
+ # Specifies a contiguous range of an indexed collection, such as characters in
3257
+ # text.
3258
+ # Corresponds to the JSON property `textRange`
3259
+ # @return [Google::Apis::SlidesV1::Range]
3260
+ attr_accessor :text_range
3261
+
3262
+ def initialize(**args)
3263
+ update!(**args)
3264
+ end
3265
+
3266
+ # Update properties of this object
3267
+ def update!(**args)
3268
+ @cell_location = args[:cell_location] if args.key?(:cell_location)
3269
+ @style = args[:style] if args.key?(:style)
3270
+ @fields = args[:fields] if args.key?(:fields)
3271
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
3272
+ @text_range = args[:text_range] if args.key?(:text_range)
3273
+ end
3274
+ end
3275
+
3276
+ # The palette of predefined colors for a page.
3277
+ class ColorScheme
3278
+ include Google::Apis::Core::Hashable
3279
+
3280
+ # The ThemeColorType and corresponding concrete color pairs.
3281
+ # Corresponds to the JSON property `colors`
3282
+ # @return [Array<Google::Apis::SlidesV1::ThemeColorPair>]
3283
+ attr_accessor :colors
3284
+
3285
+ def initialize(**args)
3286
+ update!(**args)
3287
+ end
3288
+
3289
+ # Update properties of this object
3290
+ def update!(**args)
3291
+ @colors = args[:colors] if args.key?(:colors)
3292
+ end
3293
+ end
3294
+
3295
+ # A PageElement kind representing a
3296
+ # generic shape that does not have a more specific classification.
3297
+ class Shape
3298
+ include Google::Apis::Core::Hashable
3299
+
3300
+ # The type of the shape.
3301
+ # Corresponds to the JSON property `shapeType`
3302
+ # @return [String]
3303
+ attr_accessor :shape_type
3304
+
3305
+ # The general text content. The text must reside in a compatible shape (e.g.
3306
+ # text box or rectangle) or a table cell in a page.
3307
+ # Corresponds to the JSON property `text`
3308
+ # @return [Google::Apis::SlidesV1::TextContent]
3309
+ attr_accessor :text
3310
+
3311
+ # The placeholder information that uniquely identifies a placeholder shape.
3312
+ # Corresponds to the JSON property `placeholder`
3313
+ # @return [Google::Apis::SlidesV1::Placeholder]
3314
+ attr_accessor :placeholder
3315
+
3316
+ # The properties of a Shape.
3317
+ # If the shape is a placeholder shape as determined by the
3318
+ # placeholder field, then these
3319
+ # properties may be inherited from a parent placeholder shape.
3320
+ # Determining the rendered value of the property depends on the corresponding
3321
+ # property_state field value.
3322
+ # Corresponds to the JSON property `shapeProperties`
3323
+ # @return [Google::Apis::SlidesV1::ShapeProperties]
3324
+ attr_accessor :shape_properties
3325
+
3326
+ def initialize(**args)
3327
+ update!(**args)
3328
+ end
3329
+
3330
+ # Update properties of this object
3331
+ def update!(**args)
3332
+ @shape_type = args[:shape_type] if args.key?(:shape_type)
3333
+ @text = args[:text] if args.key?(:text)
3334
+ @placeholder = args[:placeholder] if args.key?(:placeholder)
3335
+ @shape_properties = args[:shape_properties] if args.key?(:shape_properties)
3336
+ end
3337
+ end
3338
+
3339
+ # A PageElement kind representing an
3340
+ # image.
3341
+ class Image
3342
+ include Google::Apis::Core::Hashable
3343
+
3344
+ # An URL to an image with a default lifetime of 30 minutes.
3345
+ # This URL is tagged with the account of the requester. Anyone with the URL
3346
+ # effectively accesses the image as the original requester. Access to the
3347
+ # image may be lost if the presentation's sharing settings change.
3348
+ # Corresponds to the JSON property `contentUrl`
3349
+ # @return [String]
3350
+ attr_accessor :content_url
3351
+
3352
+ # The properties of the Image.
3353
+ # Corresponds to the JSON property `imageProperties`
3354
+ # @return [Google::Apis::SlidesV1::ImageProperties]
3355
+ attr_accessor :image_properties
3356
+
3357
+ def initialize(**args)
3358
+ update!(**args)
3359
+ end
3360
+
3361
+ # Update properties of this object
3362
+ def update!(**args)
3363
+ @content_url = args[:content_url] if args.key?(:content_url)
3364
+ @image_properties = args[:image_properties] if args.key?(:image_properties)
3365
+ end
3366
+ end
3367
+
3368
+ # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ]
3369
+ # to transform source coordinates (x,y) into destination coordinates (x', y')
3370
+ # according to:
3371
+ # x' x = shear_y scale_y translate_y
3372
+ # 1 [ 1 ]
3373
+ # After transformation,
3374
+ # x' = scale_x * x + shear_x * y + translate_x;
3375
+ # y' = scale_y * y + shear_y * x + translate_y;
3376
+ # This message is therefore composed of these six matrix elements.
3377
+ class AffineTransform
3378
+ include Google::Apis::Core::Hashable
3379
+
3380
+ # The Y coordinate shearing element.
3381
+ # Corresponds to the JSON property `shearY`
3382
+ # @return [Float]
3383
+ attr_accessor :shear_y
3384
+
3385
+ # The units for translate elements.
3386
+ # Corresponds to the JSON property `unit`
3387
+ # @return [String]
3388
+ attr_accessor :unit
3389
+
3390
+ # The X coordinate scaling element.
3391
+ # Corresponds to the JSON property `scaleX`
3392
+ # @return [Float]
3393
+ attr_accessor :scale_x
3394
+
3395
+ # The X coordinate shearing element.
3396
+ # Corresponds to the JSON property `shearX`
3397
+ # @return [Float]
3398
+ attr_accessor :shear_x
3399
+
3400
+ # The Y coordinate scaling element.
3401
+ # Corresponds to the JSON property `scaleY`
3402
+ # @return [Float]
3403
+ attr_accessor :scale_y
3404
+
3405
+ # The Y coordinate translation element.
3406
+ # Corresponds to the JSON property `translateY`
3407
+ # @return [Float]
3408
+ attr_accessor :translate_y
3409
+
3410
+ # The X coordinate translation element.
3411
+ # Corresponds to the JSON property `translateX`
3412
+ # @return [Float]
3413
+ attr_accessor :translate_x
3414
+
3415
+ def initialize(**args)
3416
+ update!(**args)
3417
+ end
3418
+
3419
+ # Update properties of this object
3420
+ def update!(**args)
3421
+ @shear_y = args[:shear_y] if args.key?(:shear_y)
3422
+ @unit = args[:unit] if args.key?(:unit)
3423
+ @scale_x = args[:scale_x] if args.key?(:scale_x)
3424
+ @shear_x = args[:shear_x] if args.key?(:shear_x)
3425
+ @scale_y = args[:scale_y] if args.key?(:scale_y)
3426
+ @translate_y = args[:translate_y] if args.key?(:translate_y)
3427
+ @translate_x = args[:translate_x] if args.key?(:translate_x)
3428
+ end
3429
+ end
3430
+
3431
+ # Inserts text into a shape or a table cell.
3432
+ class InsertTextRequest
3433
+ include Google::Apis::Core::Hashable
3434
+
3435
+ # The object ID of the shape or table where the text will be inserted.
3436
+ # Corresponds to the JSON property `objectId`
3437
+ # @return [String]
3438
+ attr_accessor :object_id_prop
3439
+
3440
+ # The text to be inserted.
3441
+ # Inserting a newline character will implicitly create a new
3442
+ # ParagraphMarker at that index.
3443
+ # The paragraph style of the new paragraph will be copied from the paragraph
3444
+ # at the current insertion index, including lists and bullets.
3445
+ # Text styles for inserted text will be determined automatically, generally
3446
+ # preserving the styling of neighboring text. In most cases, the text will be
3447
+ # added to the TextRun that exists at the
3448
+ # insertion index.
3449
+ # Some control characters (U+0000-U+0008, U+000C-U+001F) and characters
3450
+ # from the Unicode Basic Multilingual Plane Private Use Area (U+E000-U+F8FF)
3451
+ # will be stripped out of the inserted text.
3452
+ # Corresponds to the JSON property `text`
3453
+ # @return [String]
3454
+ attr_accessor :text
3455
+
3456
+ # The index where the text will be inserted, in Unicode code units, based
3457
+ # on TextElement indexes.
3458
+ # The index is zero-based and is computed from the start of the string.
3459
+ # The index may be adjusted to prevent insertions inside Unicode grapheme
3460
+ # clusters. In these cases, the text will be inserted immediately after the
3461
+ # grapheme cluster.
3462
+ # Corresponds to the JSON property `insertionIndex`
3463
+ # @return [Fixnum]
3464
+ attr_accessor :insertion_index
3465
+
3466
+ # A location of a single table cell within a table.
3467
+ # Corresponds to the JSON property `cellLocation`
3468
+ # @return [Google::Apis::SlidesV1::TableCellLocation]
3469
+ attr_accessor :cell_location
3470
+
3471
+ def initialize(**args)
3472
+ update!(**args)
3473
+ end
3474
+
3475
+ # Update properties of this object
3476
+ def update!(**args)
3477
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
3478
+ @text = args[:text] if args.key?(:text)
3479
+ @insertion_index = args[:insertion_index] if args.key?(:insertion_index)
3480
+ @cell_location = args[:cell_location] if args.key?(:cell_location)
3481
+ end
3482
+ end
3483
+
3484
+ # A TextElement kind that represents auto text.
3485
+ class AutoText
3486
+ include Google::Apis::Core::Hashable
3487
+
3488
+ # Represents the styling that can be applied to a TextRun.
3489
+ # If this text is contained in a shape with a parent placeholder, then these
3490
+ # text styles may be
3491
+ # inherited from the parent. Which text styles are inherited depend on the
3492
+ # nesting level of lists:
3493
+ # * A text run in a paragraph that is not in a list will inherit its text style
3494
+ # from the the newline character in the paragraph at the 0 nesting level of
3495
+ # the list inside the parent placeholder.
3496
+ # * A text run in a paragraph that is in a list will inherit its text style
3497
+ # from the newline character in the paragraph at its corresponding nesting
3498
+ # level of the list inside the parent placeholder.
3499
+ # Inherited text styles are represented as unset fields in this message. If
3500
+ # text is contained in a shape without a parent placeholder, unsetting these
3501
+ # fields will revert the style to a value matching the defaults in the Slides
3502
+ # editor.
3503
+ # Corresponds to the JSON property `style`
3504
+ # @return [Google::Apis::SlidesV1::TextStyle]
3505
+ attr_accessor :style
3506
+
3507
+ # The type of this auto text.
3508
+ # Corresponds to the JSON property `type`
3509
+ # @return [String]
3510
+ attr_accessor :type
3511
+
3512
+ # The rendered content of this auto text, if available.
3513
+ # Corresponds to the JSON property `content`
3514
+ # @return [String]
3515
+ attr_accessor :content
3516
+
3517
+ def initialize(**args)
3518
+ update!(**args)
3519
+ end
3520
+
3521
+ # Update properties of this object
3522
+ def update!(**args)
3523
+ @style = args[:style] if args.key?(:style)
3524
+ @type = args[:type] if args.key?(:type)
3525
+ @content = args[:content] if args.key?(:content)
3526
+ end
3527
+ end
3528
+
3529
+ # The result of creating a video.
3530
+ class CreateVideoResponse
3531
+ include Google::Apis::Core::Hashable
3532
+
3533
+ # The object ID of the created video.
3534
+ # Corresponds to the JSON property `objectId`
3535
+ # @return [String]
3536
+ attr_accessor :object_id_prop
3537
+
3538
+ def initialize(**args)
3539
+ update!(**args)
3540
+ end
3541
+
3542
+ # Update properties of this object
3543
+ def update!(**args)
3544
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
3545
+ end
3546
+ end
3547
+
3548
+ # Updates the transform of a page element.
3549
+ class UpdatePageElementTransformRequest
3550
+ include Google::Apis::Core::Hashable
3551
+
3552
+ # The object ID of the page element to update.
3553
+ # Corresponds to the JSON property `objectId`
3554
+ # @return [String]
3555
+ attr_accessor :object_id_prop
3556
+
3557
+ # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ]
3558
+ # to transform source coordinates (x,y) into destination coordinates (x', y')
3559
+ # according to:
3560
+ # x' x = shear_y scale_y translate_y
3561
+ # 1 [ 1 ]
3562
+ # After transformation,
3563
+ # x' = scale_x * x + shear_x * y + translate_x;
3564
+ # y' = scale_y * y + shear_y * x + translate_y;
3565
+ # This message is therefore composed of these six matrix elements.
3566
+ # Corresponds to the JSON property `transform`
3567
+ # @return [Google::Apis::SlidesV1::AffineTransform]
3568
+ attr_accessor :transform
3569
+
3570
+ # The apply mode of the transform update.
3571
+ # Corresponds to the JSON property `applyMode`
3572
+ # @return [String]
3573
+ attr_accessor :apply_mode
3574
+
3575
+ def initialize(**args)
3576
+ update!(**args)
3577
+ end
3578
+
3579
+ # Update properties of this object
3580
+ def update!(**args)
3581
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
3582
+ @transform = args[:transform] if args.key?(:transform)
3583
+ @apply_mode = args[:apply_mode] if args.key?(:apply_mode)
3584
+ end
3585
+ end
3586
+
3587
+ # Deletes text from a shape or a table cell.
3588
+ class DeleteTextRequest
3589
+ include Google::Apis::Core::Hashable
3590
+
3591
+ # The object ID of the shape or table from which the text will be deleted.
3592
+ # Corresponds to the JSON property `objectId`
3593
+ # @return [String]
3594
+ attr_accessor :object_id_prop
3595
+
3596
+ # Specifies a contiguous range of an indexed collection, such as characters in
3597
+ # text.
3598
+ # Corresponds to the JSON property `textRange`
3599
+ # @return [Google::Apis::SlidesV1::Range]
3600
+ attr_accessor :text_range
3601
+
3602
+ # A location of a single table cell within a table.
3603
+ # Corresponds to the JSON property `cellLocation`
3604
+ # @return [Google::Apis::SlidesV1::TableCellLocation]
3605
+ attr_accessor :cell_location
3606
+
3607
+ def initialize(**args)
3608
+ update!(**args)
3609
+ end
3610
+
3611
+ # Update properties of this object
3612
+ def update!(**args)
3613
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
3614
+ @text_range = args[:text_range] if args.key?(:text_range)
3615
+ @cell_location = args[:cell_location] if args.key?(:cell_location)
3616
+ end
3617
+ end
3618
+
3619
+ # Deletes an object, either pages or
3620
+ # page elements, from the
3621
+ # presentation.
3622
+ class DeleteObjectRequest
3623
+ include Google::Apis::Core::Hashable
3624
+
3625
+ # The object ID of the page or page element to delete.
3626
+ # If after a delete operation a group contains
3627
+ # only 1 or no page elements, the group is also deleted.
3628
+ # If a placeholder is deleted on a layout, any empty inheriting shapes are
3629
+ # also deleted.
3630
+ # Corresponds to the JSON property `objectId`
3631
+ # @return [String]
3632
+ attr_accessor :object_id_prop
3633
+
3634
+ def initialize(**args)
3635
+ update!(**args)
3636
+ end
3637
+
3638
+ # Update properties of this object
3639
+ def update!(**args)
3640
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
3641
+ end
3642
+ end
3643
+
3644
+ # A TextElement describes the content of a range of indices in the text content
3645
+ # of a Shape or TableCell.
3646
+ class TextElement
3647
+ include Google::Apis::Core::Hashable
3648
+
3649
+ # A TextElement kind that represents a run of text that all has the same
3650
+ # styling.
3651
+ # Corresponds to the JSON property `textRun`
3652
+ # @return [Google::Apis::SlidesV1::TextRun]
3653
+ attr_accessor :text_run
3654
+
3655
+ # A TextElement kind that represents auto text.
3656
+ # Corresponds to the JSON property `autoText`
3657
+ # @return [Google::Apis::SlidesV1::AutoText]
3658
+ attr_accessor :auto_text
3659
+
3660
+ # A TextElement kind that represents the beginning of a new paragraph.
3661
+ # Corresponds to the JSON property `paragraphMarker`
3662
+ # @return [Google::Apis::SlidesV1::ParagraphMarker]
3663
+ attr_accessor :paragraph_marker
3664
+
3665
+ # The zero-based start index of this text element, in Unicode code units.
3666
+ # Corresponds to the JSON property `startIndex`
3667
+ # @return [Fixnum]
3668
+ attr_accessor :start_index
3669
+
3670
+ # The zero-based end index of this text element, exclusive, in Unicode code
3671
+ # units.
3672
+ # Corresponds to the JSON property `endIndex`
3673
+ # @return [Fixnum]
3674
+ attr_accessor :end_index
3675
+
3676
+ def initialize(**args)
3677
+ update!(**args)
3678
+ end
3679
+
3680
+ # Update properties of this object
3681
+ def update!(**args)
3682
+ @text_run = args[:text_run] if args.key?(:text_run)
3683
+ @auto_text = args[:auto_text] if args.key?(:auto_text)
3684
+ @paragraph_marker = args[:paragraph_marker] if args.key?(:paragraph_marker)
3685
+ @start_index = args[:start_index] if args.key?(:start_index)
3686
+ @end_index = args[:end_index] if args.key?(:end_index)
3687
+ end
3688
+ end
3689
+
3690
+ # A magnitude in a single direction in the specified units.
3691
+ class Dimension
3692
+ include Google::Apis::Core::Hashable
3693
+
3694
+ # The magnitude.
3695
+ # Corresponds to the JSON property `magnitude`
3696
+ # @return [Float]
3697
+ attr_accessor :magnitude
3698
+
3699
+ # The units for magnitude.
3700
+ # Corresponds to the JSON property `unit`
3701
+ # @return [String]
3702
+ attr_accessor :unit
3703
+
3704
+ def initialize(**args)
3705
+ update!(**args)
3706
+ end
3707
+
3708
+ # Update properties of this object
3709
+ def update!(**args)
3710
+ @magnitude = args[:magnitude] if args.key?(:magnitude)
3711
+ @unit = args[:unit] if args.key?(:unit)
3712
+ end
3713
+ end
3714
+
3715
+ # The fill of the line.
3716
+ class LineFill
3717
+ include Google::Apis::Core::Hashable
3718
+
3719
+ # A solid color fill. The page or page element is filled entirely with the
3720
+ # specified color value.
3721
+ # If any field is unset, its value may be inherited from a parent placeholder
3722
+ # if it exists.
3723
+ # Corresponds to the JSON property `solidFill`
3724
+ # @return [Google::Apis::SlidesV1::SolidFill]
3725
+ attr_accessor :solid_fill
3726
+
3727
+ def initialize(**args)
3728
+ update!(**args)
3729
+ end
3730
+
3731
+ # Update properties of this object
3732
+ def update!(**args)
3733
+ @solid_fill = args[:solid_fill] if args.key?(:solid_fill)
3734
+ end
3735
+ end
3736
+
3737
+ # The properties of the Video.
3738
+ class VideoProperties
3739
+ include Google::Apis::Core::Hashable
3740
+
3741
+ # The outline of a PageElement.
3742
+ # If these fields are unset, they may be inherited from a parent placeholder
3743
+ # if it exists. If there is no parent, the fields will default to the value
3744
+ # used for new page elements created in the Slides editor, which may depend on
3745
+ # the page element kind.
3746
+ # Corresponds to the JSON property `outline`
3747
+ # @return [Google::Apis::SlidesV1::Outline]
3748
+ attr_accessor :outline
3749
+
3750
+ def initialize(**args)
3751
+ update!(**args)
3752
+ end
3753
+
3754
+ # Update properties of this object
3755
+ def update!(**args)
3756
+ @outline = args[:outline] if args.key?(:outline)
3757
+ end
3758
+ end
3759
+
3760
+ # Inserts rows into a table.
3761
+ class InsertTableRowsRequest
3762
+ include Google::Apis::Core::Hashable
3763
+
3764
+ # A location of a single table cell within a table.
3765
+ # Corresponds to the JSON property `cellLocation`
3766
+ # @return [Google::Apis::SlidesV1::TableCellLocation]
3767
+ attr_accessor :cell_location
3768
+
3769
+ # The table to insert rows into.
3770
+ # Corresponds to the JSON property `tableObjectId`
3771
+ # @return [String]
3772
+ attr_accessor :table_object_id
3773
+
3774
+ # Whether to insert new rows below the reference cell location.
3775
+ # - `True`: insert below the cell.
3776
+ # - `False`: insert above the cell.
3777
+ # Corresponds to the JSON property `insertBelow`
3778
+ # @return [Boolean]
3779
+ attr_accessor :insert_below
3780
+ alias_method :insert_below?, :insert_below
3781
+
3782
+ # The number of rows to be inserted. Maximum 20 per request.
3783
+ # Corresponds to the JSON property `number`
3784
+ # @return [Fixnum]
3785
+ attr_accessor :number
3786
+
3787
+ def initialize(**args)
3788
+ update!(**args)
3789
+ end
3790
+
3791
+ # Update properties of this object
3792
+ def update!(**args)
3793
+ @cell_location = args[:cell_location] if args.key?(:cell_location)
3794
+ @table_object_id = args[:table_object_id] if args.key?(:table_object_id)
3795
+ @insert_below = args[:insert_below] if args.key?(:insert_below)
3796
+ @number = args[:number] if args.key?(:number)
3797
+ end
3798
+ end
3799
+
3800
+ # The properties of Page are only
3801
+ # relevant for pages with page_type LAYOUT.
3802
+ class LayoutProperties
3803
+ include Google::Apis::Core::Hashable
3804
+
3805
+ # The object ID of the master that this layout is based on.
3806
+ # Corresponds to the JSON property `masterObjectId`
3807
+ # @return [String]
3808
+ attr_accessor :master_object_id
3809
+
3810
+ # The name of the layout.
3811
+ # Corresponds to the JSON property `name`
3812
+ # @return [String]
3813
+ attr_accessor :name
3814
+
3815
+ # The human readable name of the layout in the presentation's locale.
3816
+ # Corresponds to the JSON property `displayName`
3817
+ # @return [String]
3818
+ attr_accessor :display_name
3819
+
3820
+ def initialize(**args)
3821
+ update!(**args)
3822
+ end
3823
+
3824
+ # Update properties of this object
3825
+ def update!(**args)
3826
+ @master_object_id = args[:master_object_id] if args.key?(:master_object_id)
3827
+ @name = args[:name] if args.key?(:name)
3828
+ @display_name = args[:display_name] if args.key?(:display_name)
3829
+ end
3830
+ end
3831
+
3832
+ # A Google Slides presentation.
3833
+ class Presentation
3834
+ include Google::Apis::Core::Hashable
3835
+
3836
+ # A width and height.
3837
+ # Corresponds to the JSON property `pageSize`
3838
+ # @return [Google::Apis::SlidesV1::Size]
3839
+ attr_accessor :page_size
3840
+
3841
+ # The ID of the presentation.
3842
+ # Corresponds to the JSON property `presentationId`
3843
+ # @return [String]
3844
+ attr_accessor :presentation_id
3845
+
3846
+ # The slides in the presentation.
3847
+ # A slide inherits properties from a slide layout.
3848
+ # Corresponds to the JSON property `slides`
3849
+ # @return [Array<Google::Apis::SlidesV1::Page>]
3850
+ attr_accessor :slides
3851
+
3852
+ # The revision ID of the presentation. Can be used in update requests
3853
+ # to assert that the presentation revision hasn't changed since the last
3854
+ # read operation. Only populated if the user has edit access to the
3855
+ # presentation.
3856
+ # The format of the revision ID may change over time, so it should be treated
3857
+ # opaquely. A returned revision ID is only guaranteed to be valid for 24
3858
+ # hours after it has been returned and cannot be shared across users. If the
3859
+ # revision ID is unchanged between calls, then the presentation has not
3860
+ # changed. Conversely, a changed ID (for the same presentation and user)
3861
+ # usually means the presentation has been updated; however, a changed ID can
3862
+ # also be due to internal factors such as ID format changes.
3863
+ # Corresponds to the JSON property `revisionId`
3864
+ # @return [String]
3865
+ attr_accessor :revision_id
3866
+
3867
+ # A page in a presentation.
3868
+ # Corresponds to the JSON property `notesMaster`
3869
+ # @return [Google::Apis::SlidesV1::Page]
3870
+ attr_accessor :notes_master
3871
+
3872
+ # The layouts in the presentation. A layout is a template that determines
3873
+ # how content is arranged and styled on the slides that inherit from that
3874
+ # layout.
3875
+ # Corresponds to the JSON property `layouts`
3876
+ # @return [Array<Google::Apis::SlidesV1::Page>]
3877
+ attr_accessor :layouts
3878
+
3879
+ # The title of the presentation.
3880
+ # Corresponds to the JSON property `title`
3881
+ # @return [String]
3882
+ attr_accessor :title
3883
+
3884
+ # The slide masters in the presentation. A slide master contains all common
3885
+ # page elements and the common properties for a set of layouts. They serve
3886
+ # three purposes:
3887
+ # - Placeholder shapes on a master contain the default text styles and shape
3888
+ # properties of all placeholder shapes on pages that use that master.
3889
+ # - The master page properties define the common page properties inherited by
3890
+ # its layouts.
3891
+ # - Any other shapes on the master slide will appear on all slides using that
3892
+ # master, regardless of their layout.
3893
+ # Corresponds to the JSON property `masters`
3894
+ # @return [Array<Google::Apis::SlidesV1::Page>]
3895
+ attr_accessor :masters
3896
+
3897
+ # The locale of the presentation, as an IETF BCP 47 language tag.
3898
+ # Corresponds to the JSON property `locale`
3899
+ # @return [String]
3900
+ attr_accessor :locale
3901
+
3902
+ def initialize(**args)
3903
+ update!(**args)
3904
+ end
3905
+
3906
+ # Update properties of this object
3907
+ def update!(**args)
3908
+ @page_size = args[:page_size] if args.key?(:page_size)
3909
+ @presentation_id = args[:presentation_id] if args.key?(:presentation_id)
3910
+ @slides = args[:slides] if args.key?(:slides)
3911
+ @revision_id = args[:revision_id] if args.key?(:revision_id)
3912
+ @notes_master = args[:notes_master] if args.key?(:notes_master)
3913
+ @layouts = args[:layouts] if args.key?(:layouts)
3914
+ @title = args[:title] if args.key?(:title)
3915
+ @masters = args[:masters] if args.key?(:masters)
3916
+ @locale = args[:locale] if args.key?(:locale)
3917
+ end
3918
+ end
3919
+
3920
+ # The properties of the Line.
3921
+ # When unset, these fields default to values that match the appearance of
3922
+ # new lines created in the Slides editor.
3923
+ class LineProperties
3924
+ include Google::Apis::Core::Hashable
3925
+
3926
+ # A hypertext link.
3927
+ # Corresponds to the JSON property `link`
3928
+ # @return [Google::Apis::SlidesV1::Link]
3929
+ attr_accessor :link
3930
+
3931
+ # The dash style of the line.
3932
+ # Corresponds to the JSON property `dashStyle`
3933
+ # @return [String]
3934
+ attr_accessor :dash_style
3935
+
3936
+ # The style of the arrow at the beginning of the line.
3937
+ # Corresponds to the JSON property `startArrow`
3938
+ # @return [String]
3939
+ attr_accessor :start_arrow
3940
+
3941
+ # The style of the arrow at the end of the line.
3942
+ # Corresponds to the JSON property `endArrow`
3943
+ # @return [String]
3944
+ attr_accessor :end_arrow
3945
+
3946
+ # A magnitude in a single direction in the specified units.
3947
+ # Corresponds to the JSON property `weight`
3948
+ # @return [Google::Apis::SlidesV1::Dimension]
3949
+ attr_accessor :weight
3950
+
3951
+ # The fill of the line.
3952
+ # Corresponds to the JSON property `lineFill`
3953
+ # @return [Google::Apis::SlidesV1::LineFill]
3954
+ attr_accessor :line_fill
3955
+
3956
+ def initialize(**args)
3957
+ update!(**args)
3958
+ end
3959
+
3960
+ # Update properties of this object
3961
+ def update!(**args)
3962
+ @link = args[:link] if args.key?(:link)
3963
+ @dash_style = args[:dash_style] if args.key?(:dash_style)
3964
+ @start_arrow = args[:start_arrow] if args.key?(:start_arrow)
3965
+ @end_arrow = args[:end_arrow] if args.key?(:end_arrow)
3966
+ @weight = args[:weight] if args.key?(:weight)
3967
+ @line_fill = args[:line_fill] if args.key?(:line_fill)
3968
+ end
3969
+ end
3970
+
3971
+ # A themeable solid color value.
3972
+ class OpaqueColor
3973
+ include Google::Apis::Core::Hashable
3974
+
3975
+ # An RGB color.
3976
+ # Corresponds to the JSON property `rgbColor`
3977
+ # @return [Google::Apis::SlidesV1::RgbColor]
3978
+ attr_accessor :rgb_color
3979
+
3980
+ # An opaque theme color.
3981
+ # Corresponds to the JSON property `themeColor`
3982
+ # @return [String]
3983
+ attr_accessor :theme_color
3984
+
3985
+ def initialize(**args)
3986
+ update!(**args)
3987
+ end
3988
+
3989
+ # Update properties of this object
3990
+ def update!(**args)
3991
+ @rgb_color = args[:rgb_color] if args.key?(:rgb_color)
3992
+ @theme_color = args[:theme_color] if args.key?(:theme_color)
3993
+ end
3994
+ end
3995
+
3996
+ # The properties of the Image.
3997
+ class ImageProperties
3998
+ include Google::Apis::Core::Hashable
3999
+
4000
+ # The shadow properties of a page element.
4001
+ # If these fields are unset, they may be inherited from a parent placeholder
4002
+ # if it exists. If there is no parent, the fields will default to the value
4003
+ # used for new page elements created in the Slides editor, which may depend on
4004
+ # the page element kind.
4005
+ # Corresponds to the JSON property `shadow`
4006
+ # @return [Google::Apis::SlidesV1::Shadow]
4007
+ attr_accessor :shadow
4008
+
4009
+ # The contrast effect of the image. The value should be in the interval
4010
+ # [-1.0, 1.0], where 0 means no effect. This property is read-only.
4011
+ # Corresponds to the JSON property `contrast`
4012
+ # @return [Float]
4013
+ attr_accessor :contrast
4014
+
4015
+ # A hypertext link.
4016
+ # Corresponds to the JSON property `link`
4017
+ # @return [Google::Apis::SlidesV1::Link]
4018
+ attr_accessor :link
4019
+
4020
+ # A recolor effect applied on an image.
4021
+ # Corresponds to the JSON property `recolor`
4022
+ # @return [Google::Apis::SlidesV1::Recolor]
4023
+ attr_accessor :recolor
4024
+
4025
+ # The crop properties of an object enclosed in a container. For example, an
4026
+ # Image.
4027
+ # The crop properties is represented by the offsets of four edges which define
4028
+ # a crop rectangle. The offsets are measured in percentage from the
4029
+ # corresponding edges of the object's original bounding rectangle towards
4030
+ # inside, relative to the object's original dimensions.
4031
+ # - If the offset is in the interval (0, 1), the corresponding edge of crop
4032
+ # rectangle is positioned inside of the object's original bounding rectangle.
4033
+ # - If the offset is negative or greater than 1, the corresponding edge of crop
4034
+ # rectangle is positioned outside of the object's original bounding rectangle.
4035
+ # - If the left edge of the crop rectangle is on the right side of its right
4036
+ # edge, the object will be flipped horizontally.
4037
+ # - If the top edge of the crop rectangle is below its bottom edge, the object
4038
+ # will be flipped vertically.
4039
+ # - If all offsets and rotation angle is 0, the object is not cropped.
4040
+ # After cropping, the content in the crop rectangle will be stretched to fit
4041
+ # its container.
4042
+ # Corresponds to the JSON property `cropProperties`
4043
+ # @return [Google::Apis::SlidesV1::CropProperties]
4044
+ attr_accessor :crop_properties
4045
+
4046
+ # The outline of a PageElement.
4047
+ # If these fields are unset, they may be inherited from a parent placeholder
4048
+ # if it exists. If there is no parent, the fields will default to the value
4049
+ # used for new page elements created in the Slides editor, which may depend on
4050
+ # the page element kind.
4051
+ # Corresponds to the JSON property `outline`
4052
+ # @return [Google::Apis::SlidesV1::Outline]
4053
+ attr_accessor :outline
4054
+
4055
+ # The brightness effect of the image. The value should be in the interval
4056
+ # [-1.0, 1.0], where 0 means no effect. This property is read-only.
4057
+ # Corresponds to the JSON property `brightness`
4058
+ # @return [Float]
4059
+ attr_accessor :brightness
4060
+
4061
+ # The transparency effect of the image. The value should be in the interval
4062
+ # [0.0, 1.0], where 0 means no effect and 1 means completely transparent.
4063
+ # This property is read-only.
4064
+ # Corresponds to the JSON property `transparency`
4065
+ # @return [Float]
4066
+ attr_accessor :transparency
4067
+
4068
+ def initialize(**args)
4069
+ update!(**args)
4070
+ end
4071
+
4072
+ # Update properties of this object
4073
+ def update!(**args)
4074
+ @shadow = args[:shadow] if args.key?(:shadow)
4075
+ @contrast = args[:contrast] if args.key?(:contrast)
4076
+ @link = args[:link] if args.key?(:link)
4077
+ @recolor = args[:recolor] if args.key?(:recolor)
4078
+ @crop_properties = args[:crop_properties] if args.key?(:crop_properties)
4079
+ @outline = args[:outline] if args.key?(:outline)
4080
+ @brightness = args[:brightness] if args.key?(:brightness)
4081
+ @transparency = args[:transparency] if args.key?(:transparency)
4082
+ end
4083
+ end
4084
+
4085
+ # The result of replacing shapes with an image.
4086
+ class ReplaceAllShapesWithImageResponse
4087
+ include Google::Apis::Core::Hashable
4088
+
4089
+ # The number of shapes replaced with images.
4090
+ # Corresponds to the JSON property `occurrencesChanged`
4091
+ # @return [Fixnum]
4092
+ attr_accessor :occurrences_changed
4093
+
4094
+ def initialize(**args)
4095
+ update!(**args)
4096
+ end
4097
+
4098
+ # Update properties of this object
4099
+ def update!(**args)
4100
+ @occurrences_changed = args[:occurrences_changed] if args.key?(:occurrences_changed)
4101
+ end
4102
+ end
4103
+
4104
+ # A PageElement kind representing a
4105
+ # line, curved connector, or bent connector.
4106
+ class Line
4107
+ include Google::Apis::Core::Hashable
4108
+
4109
+ # The type of the line.
4110
+ # Corresponds to the JSON property `lineType`
4111
+ # @return [String]
4112
+ attr_accessor :line_type
4113
+
4114
+ # The properties of the Line.
4115
+ # When unset, these fields default to values that match the appearance of
4116
+ # new lines created in the Slides editor.
4117
+ # Corresponds to the JSON property `lineProperties`
4118
+ # @return [Google::Apis::SlidesV1::LineProperties]
4119
+ attr_accessor :line_properties
4120
+
4121
+ def initialize(**args)
4122
+ update!(**args)
4123
+ end
4124
+
4125
+ # Update properties of this object
4126
+ def update!(**args)
4127
+ @line_type = args[:line_type] if args.key?(:line_type)
4128
+ @line_properties = args[:line_properties] if args.key?(:line_properties)
4129
+ end
4130
+ end
4131
+
4132
+ # Creates an embedded Google Sheets chart.
4133
+ # NOTE: Chart creation requires at least one of the spreadsheets.readonly,
4134
+ # spreadsheets, drive.readonly, or drive OAuth scopes.
4135
+ class CreateSheetsChartRequest
4136
+ include Google::Apis::Core::Hashable
4137
+
4138
+ # The ID of the specific chart in the Google Sheets spreadsheet.
4139
+ # Corresponds to the JSON property `chartId`
4140
+ # @return [Fixnum]
4141
+ attr_accessor :chart_id
4142
+
4143
+ # A user-supplied object ID.
4144
+ # If specified, the ID must be unique among all pages and page elements in
4145
+ # the presentation. The ID should start with a word character [a-zA-Z0-9_]
4146
+ # and then followed by any number of the following characters [a-zA-Z0-9_-:].
4147
+ # The length of the ID should not be less than 5 or greater than 50.
4148
+ # If empty, a unique identifier will be generated.
4149
+ # Corresponds to the JSON property `objectId`
4150
+ # @return [String]
4151
+ attr_accessor :object_id_prop
4152
+
4153
+ # Common properties for a page element.
4154
+ # Note: When you initially create a
4155
+ # PageElement, the API may modify
4156
+ # the values of both `size` and `transform`, but the
4157
+ # visual size will be unchanged.
4158
+ # Corresponds to the JSON property `elementProperties`
4159
+ # @return [Google::Apis::SlidesV1::PageElementProperties]
4160
+ attr_accessor :element_properties
4161
+
4162
+ # The ID of the Google Sheets spreadsheet that contains the chart.
4163
+ # Corresponds to the JSON property `spreadsheetId`
4164
+ # @return [String]
4165
+ attr_accessor :spreadsheet_id
4166
+
4167
+ # The mode with which the chart is linked to the source spreadsheet. When
4168
+ # not specified, the chart will be an image that is not linked.
4169
+ # Corresponds to the JSON property `linkingMode`
4170
+ # @return [String]
4171
+ attr_accessor :linking_mode
4172
+
4173
+ def initialize(**args)
4174
+ update!(**args)
4175
+ end
4176
+
4177
+ # Update properties of this object
4178
+ def update!(**args)
4179
+ @chart_id = args[:chart_id] if args.key?(:chart_id)
4180
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
4181
+ @element_properties = args[:element_properties] if args.key?(:element_properties)
4182
+ @spreadsheet_id = args[:spreadsheet_id] if args.key?(:spreadsheet_id)
4183
+ @linking_mode = args[:linking_mode] if args.key?(:linking_mode)
4184
+ end
4185
+ end
4186
+
4187
+ # Response message from a batch update.
4188
+ class BatchUpdatePresentationResponse
4189
+ include Google::Apis::Core::Hashable
4190
+
4191
+ # The presentation the updates were applied to.
4192
+ # Corresponds to the JSON property `presentationId`
4193
+ # @return [String]
4194
+ attr_accessor :presentation_id
4195
+
4196
+ # The reply of the updates. This maps 1:1 with the updates, although
4197
+ # replies to some requests may be empty.
4198
+ # Corresponds to the JSON property `replies`
4199
+ # @return [Array<Google::Apis::SlidesV1::Response>]
4200
+ attr_accessor :replies
4201
+
4202
+ def initialize(**args)
4203
+ update!(**args)
4204
+ end
4205
+
4206
+ # Update properties of this object
4207
+ def update!(**args)
4208
+ @presentation_id = args[:presentation_id] if args.key?(:presentation_id)
4209
+ @replies = args[:replies] if args.key?(:replies)
4210
+ end
4211
+ end
4212
+
4213
+ # The result of creating an image.
4214
+ class CreateImageResponse
4215
+ include Google::Apis::Core::Hashable
4216
+
4217
+ # The object ID of the created image.
4218
+ # Corresponds to the JSON property `objectId`
4219
+ # @return [String]
4220
+ attr_accessor :object_id_prop
4221
+
4222
+ def initialize(**args)
4223
+ update!(**args)
4224
+ end
4225
+
4226
+ # Update properties of this object
4227
+ def update!(**args)
4228
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
4229
+ end
4230
+ end
4231
+
4232
+ # The properties of Page that are only
4233
+ # relevant for pages with page_type SLIDE.
4234
+ class SlideProperties
4235
+ include Google::Apis::Core::Hashable
4236
+
4237
+ # A page in a presentation.
4238
+ # Corresponds to the JSON property `notesPage`
4239
+ # @return [Google::Apis::SlidesV1::Page]
4240
+ attr_accessor :notes_page
4241
+
4242
+ # The object ID of the layout that this slide is based on.
4243
+ # Corresponds to the JSON property `layoutObjectId`
4244
+ # @return [String]
4245
+ attr_accessor :layout_object_id
4246
+
4247
+ # The object ID of the master that this slide is based on.
4248
+ # Corresponds to the JSON property `masterObjectId`
4249
+ # @return [String]
4250
+ attr_accessor :master_object_id
4251
+
4252
+ def initialize(**args)
4253
+ update!(**args)
4254
+ end
4255
+
4256
+ # Update properties of this object
4257
+ def update!(**args)
4258
+ @notes_page = args[:notes_page] if args.key?(:notes_page)
4259
+ @layout_object_id = args[:layout_object_id] if args.key?(:layout_object_id)
4260
+ @master_object_id = args[:master_object_id] if args.key?(:master_object_id)
4261
+ end
4262
+ end
4263
+
4264
+ # A single response from an update.
4265
+ class Response
4266
+ include Google::Apis::Core::Hashable
4267
+
4268
+ # The result of creating an image.
4269
+ # Corresponds to the JSON property `createImage`
4270
+ # @return [Google::Apis::SlidesV1::CreateImageResponse]
4271
+ attr_accessor :create_image
4272
+
4273
+ # The result of creating a video.
4274
+ # Corresponds to the JSON property `createVideo`
4275
+ # @return [Google::Apis::SlidesV1::CreateVideoResponse]
4276
+ attr_accessor :create_video
4277
+
4278
+ # The result of replacing shapes with a Google Sheets chart.
4279
+ # Corresponds to the JSON property `replaceAllShapesWithSheetsChart`
4280
+ # @return [Google::Apis::SlidesV1::ReplaceAllShapesWithSheetsChartResponse]
4281
+ attr_accessor :replace_all_shapes_with_sheets_chart
4282
+
4283
+ # The result of creating an embedded Google Sheets chart.
4284
+ # Corresponds to the JSON property `createSheetsChart`
4285
+ # @return [Google::Apis::SlidesV1::CreateSheetsChartResponse]
4286
+ attr_accessor :create_sheets_chart
4287
+
4288
+ # The result of replacing shapes with an image.
4289
+ # Corresponds to the JSON property `replaceAllShapesWithImage`
4290
+ # @return [Google::Apis::SlidesV1::ReplaceAllShapesWithImageResponse]
4291
+ attr_accessor :replace_all_shapes_with_image
4292
+
4293
+ # The result of creating a table.
4294
+ # Corresponds to the JSON property `createTable`
4295
+ # @return [Google::Apis::SlidesV1::CreateTableResponse]
4296
+ attr_accessor :create_table
4297
+
4298
+ # The result of replacing text.
4299
+ # Corresponds to the JSON property `replaceAllText`
4300
+ # @return [Google::Apis::SlidesV1::ReplaceAllTextResponse]
4301
+ attr_accessor :replace_all_text
4302
+
4303
+ # The result of creating a slide.
4304
+ # Corresponds to the JSON property `createSlide`
4305
+ # @return [Google::Apis::SlidesV1::CreateSlideResponse]
4306
+ attr_accessor :create_slide
4307
+
4308
+ # The result of creating a shape.
4309
+ # Corresponds to the JSON property `createShape`
4310
+ # @return [Google::Apis::SlidesV1::CreateShapeResponse]
4311
+ attr_accessor :create_shape
4312
+
4313
+ # The response of duplicating an object.
4314
+ # Corresponds to the JSON property `duplicateObject`
4315
+ # @return [Google::Apis::SlidesV1::DuplicateObjectResponse]
4316
+ attr_accessor :duplicate_object
4317
+
4318
+ # The result of creating a line.
4319
+ # Corresponds to the JSON property `createLine`
4320
+ # @return [Google::Apis::SlidesV1::CreateLineResponse]
4321
+ attr_accessor :create_line
4322
+
4323
+ def initialize(**args)
4324
+ update!(**args)
4325
+ end
4326
+
4327
+ # Update properties of this object
4328
+ def update!(**args)
4329
+ @create_image = args[:create_image] if args.key?(:create_image)
4330
+ @create_video = args[:create_video] if args.key?(:create_video)
4331
+ @replace_all_shapes_with_sheets_chart = args[:replace_all_shapes_with_sheets_chart] if args.key?(:replace_all_shapes_with_sheets_chart)
4332
+ @create_sheets_chart = args[:create_sheets_chart] if args.key?(:create_sheets_chart)
4333
+ @replace_all_shapes_with_image = args[:replace_all_shapes_with_image] if args.key?(:replace_all_shapes_with_image)
4334
+ @create_table = args[:create_table] if args.key?(:create_table)
4335
+ @replace_all_text = args[:replace_all_text] if args.key?(:replace_all_text)
4336
+ @create_slide = args[:create_slide] if args.key?(:create_slide)
4337
+ @create_shape = args[:create_shape] if args.key?(:create_shape)
4338
+ @duplicate_object = args[:duplicate_object] if args.key?(:duplicate_object)
4339
+ @create_line = args[:create_line] if args.key?(:create_line)
4340
+ end
4341
+ end
4342
+
4343
+ # A criteria that matches a specific string of text in a shape or table.
4344
+ class SubstringMatchCriteria
4345
+ include Google::Apis::Core::Hashable
4346
+
4347
+ # The text to search for in the shape or table.
4348
+ # Corresponds to the JSON property `text`
4349
+ # @return [String]
4350
+ attr_accessor :text
4351
+
4352
+ # Indicates whether the search should respect case:
4353
+ # - `True`: the search is case sensitive.
4354
+ # - `False`: the search is case insensitive.
4355
+ # Corresponds to the JSON property `matchCase`
4356
+ # @return [Boolean]
4357
+ attr_accessor :match_case
4358
+ alias_method :match_case?, :match_case
4359
+
4360
+ def initialize(**args)
4361
+ update!(**args)
4362
+ end
4363
+
4364
+ # Update properties of this object
4365
+ def update!(**args)
4366
+ @text = args[:text] if args.key?(:text)
4367
+ @match_case = args[:match_case] if args.key?(:match_case)
4368
+ end
4369
+ end
4370
+
4371
+ # Slide layout reference. This may reference either:
4372
+ # - A predefined layout
4373
+ # - One of the layouts in the presentation.
4374
+ class LayoutReference
4375
+ include Google::Apis::Core::Hashable
4376
+
4377
+ # Predefined layout.
4378
+ # Corresponds to the JSON property `predefinedLayout`
4379
+ # @return [String]
4380
+ attr_accessor :predefined_layout
4381
+
4382
+ # Layout ID: the object ID of one of the layouts in the presentation.
4383
+ # Corresponds to the JSON property `layoutId`
4384
+ # @return [String]
4385
+ attr_accessor :layout_id
4386
+
4387
+ def initialize(**args)
4388
+ update!(**args)
4389
+ end
4390
+
4391
+ # Update properties of this object
4392
+ def update!(**args)
4393
+ @predefined_layout = args[:predefined_layout] if args.key?(:predefined_layout)
4394
+ @layout_id = args[:layout_id] if args.key?(:layout_id)
4395
+ end
4396
+ end
4397
+
4398
+ # A TextElement kind that represents a run of text that all has the same
4399
+ # styling.
4400
+ class TextRun
4401
+ include Google::Apis::Core::Hashable
4402
+
4403
+ # Represents the styling that can be applied to a TextRun.
4404
+ # If this text is contained in a shape with a parent placeholder, then these
4405
+ # text styles may be
4406
+ # inherited from the parent. Which text styles are inherited depend on the
4407
+ # nesting level of lists:
4408
+ # * A text run in a paragraph that is not in a list will inherit its text style
4409
+ # from the the newline character in the paragraph at the 0 nesting level of
4410
+ # the list inside the parent placeholder.
4411
+ # * A text run in a paragraph that is in a list will inherit its text style
4412
+ # from the newline character in the paragraph at its corresponding nesting
4413
+ # level of the list inside the parent placeholder.
4414
+ # Inherited text styles are represented as unset fields in this message. If
4415
+ # text is contained in a shape without a parent placeholder, unsetting these
4416
+ # fields will revert the style to a value matching the defaults in the Slides
4417
+ # editor.
4418
+ # Corresponds to the JSON property `style`
4419
+ # @return [Google::Apis::SlidesV1::TextStyle]
4420
+ attr_accessor :style
4421
+
4422
+ # The text of this run.
4423
+ # Corresponds to the JSON property `content`
4424
+ # @return [String]
4425
+ attr_accessor :content
4426
+
4427
+ def initialize(**args)
4428
+ update!(**args)
4429
+ end
4430
+
4431
+ # Update properties of this object
4432
+ def update!(**args)
4433
+ @style = args[:style] if args.key?(:style)
4434
+ @content = args[:content] if args.key?(:content)
4435
+ end
4436
+ end
4437
+
4438
+ # A table range represents a reference to a subset of a table.
4439
+ # It's important to note that the cells specified by a table range do not
4440
+ # necessarily form a rectangle. For example, let's say we have a 3 x 3 table
4441
+ # where all the cells of the last row are merged together. The table looks
4442
+ # like this:
4443
+ #
4444
+ # [ ]
4445
+ # A table range with location = (0, 0), row span = 3 and column span = 2
4446
+ # specifies the following cells:
4447
+ # x x
4448
+ # [ x ]
4449
+ class TableRange
4450
+ include Google::Apis::Core::Hashable
4451
+
4452
+ # The column span of the table range.
4453
+ # Corresponds to the JSON property `columnSpan`
4454
+ # @return [Fixnum]
4455
+ attr_accessor :column_span
4456
+
4457
+ # A location of a single table cell within a table.
4458
+ # Corresponds to the JSON property `location`
4459
+ # @return [Google::Apis::SlidesV1::TableCellLocation]
4460
+ attr_accessor :location
4461
+
4462
+ # The row span of the table range.
4463
+ # Corresponds to the JSON property `rowSpan`
4464
+ # @return [Fixnum]
4465
+ attr_accessor :row_span
4466
+
4467
+ def initialize(**args)
4468
+ update!(**args)
4469
+ end
4470
+
4471
+ # Update properties of this object
4472
+ def update!(**args)
4473
+ @column_span = args[:column_span] if args.key?(:column_span)
4474
+ @location = args[:location] if args.key?(:location)
4475
+ @row_span = args[:row_span] if args.key?(:row_span)
4476
+ end
4477
+ end
4478
+ end
4479
+ end
4480
+ end