google-api-client 0.9.8 → 0.9.20

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