google-api-client 0.9.8 → 0.9.20

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