google-api-client 0.32.1 → 0.36.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (491) hide show
  1. checksums.yaml +5 -5
  2. data/.kokoro/continuous/linux.cfg +2 -2
  3. data/.kokoro/continuous/post.cfg +30 -0
  4. data/.kokoro/presubmit/linux.cfg +1 -1
  5. data/.kokoro/release.cfg +94 -0
  6. data/.repo-metadata.json +5 -0
  7. data/.rubocop.yml +5 -0
  8. data/.yardopts +16 -3
  9. data/CHANGELOG.md +327 -0
  10. data/Gemfile +1 -0
  11. data/OVERVIEW.md +36 -0
  12. data/README.md +50 -2
  13. data/Rakefile +71 -2
  14. data/docs/api-keys.md +20 -0
  15. data/docs/auth.md +53 -0
  16. data/docs/client-secrets.md +69 -0
  17. data/docs/getting-started.md +340 -0
  18. data/docs/installation.md +0 -0
  19. data/docs/logging.md +34 -0
  20. data/docs/media-upload.md +25 -0
  21. data/docs/oauth-installed.md +191 -0
  22. data/docs/oauth-server.md +135 -0
  23. data/docs/oauth-web.md +280 -0
  24. data/docs/oauth.md +268 -0
  25. data/docs/pagination.md +29 -0
  26. data/docs/performance.md +25 -0
  27. data/generated/google/apis/accessapproval_v1beta1/classes.rb +35 -2
  28. data/generated/google/apis/accessapproval_v1beta1/representations.rb +13 -0
  29. data/generated/google/apis/accessapproval_v1beta1/service.rb +108 -6
  30. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  31. data/generated/google/apis/accesscontextmanager_v1/classes.rb +1 -1
  32. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  33. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +1 -73
  34. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +0 -32
  35. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  36. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  37. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +24 -2
  38. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +1 -0
  39. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  40. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +25 -3
  41. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1 -0
  42. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  43. data/generated/google/apis/admin_datatransfer_v1/classes.rb +5 -5
  44. data/generated/google/apis/admin_datatransfer_v1/service.rb +2 -2
  45. data/generated/google/apis/admin_datatransfer_v1.rb +1 -1
  46. data/generated/google/apis/admin_directory_v1/classes.rb +4 -3
  47. data/generated/google/apis/admin_directory_v1.rb +4 -1
  48. data/generated/google/apis/admin_reports_v1/classes.rb +87 -44
  49. data/generated/google/apis/admin_reports_v1/service.rb +310 -64
  50. data/generated/google/apis/admin_reports_v1.rb +2 -2
  51. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  52. data/generated/google/apis/androidpublisher_v3/classes.rb +105 -0
  53. data/generated/google/apis/androidpublisher_v3/representations.rb +51 -0
  54. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  55. data/generated/google/apis/appengine_v1/service.rb +10 -6
  56. data/generated/google/apis/appengine_v1.rb +1 -1
  57. data/generated/google/apis/appengine_v1beta/service.rb +10 -6
  58. data/generated/google/apis/appengine_v1beta.rb +1 -1
  59. data/generated/google/apis/appsmarket_v2.rb +1 -1
  60. data/generated/google/apis/bigquery_v2/classes.rb +104 -23
  61. data/generated/google/apis/bigquery_v2/representations.rb +37 -0
  62. data/generated/google/apis/bigquery_v2/service.rb +1 -5
  63. data/generated/google/apis/bigquery_v2.rb +1 -1
  64. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +6 -5
  65. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +3 -2
  66. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  67. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +30 -4
  68. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  69. data/generated/google/apis/bigqueryreservation_v1/classes.rb +0 -21
  70. data/generated/google/apis/bigqueryreservation_v1/representations.rb +0 -13
  71. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  72. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +116 -1
  73. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +35 -0
  74. data/generated/google/apis/bigqueryreservation_v1alpha2/service.rb +71 -0
  75. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  76. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +61 -77
  77. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +16 -17
  78. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +116 -78
  79. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  80. data/generated/google/apis/bigtableadmin_v1/classes.rb +1 -1
  81. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  82. data/generated/google/apis/bigtableadmin_v2/classes.rb +63 -30
  83. data/generated/google/apis/bigtableadmin_v2/service.rb +1 -1
  84. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  85. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +392 -0
  86. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +191 -0
  87. data/generated/google/apis/billingbudgets_v1beta1/service.rb +233 -0
  88. data/generated/google/apis/billingbudgets_v1beta1.rb +35 -0
  89. data/generated/google/apis/binaryauthorization_v1/classes.rb +6 -5
  90. data/generated/google/apis/binaryauthorization_v1/service.rb +2 -0
  91. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  92. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +6 -5
  93. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +2 -0
  94. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  95. data/generated/google/apis/books_v1/classes.rb +20 -0
  96. data/generated/google/apis/books_v1/representations.rb +3 -0
  97. data/generated/google/apis/books_v1.rb +1 -1
  98. data/generated/google/apis/calendar_v3/classes.rb +1 -1
  99. data/generated/google/apis/calendar_v3/service.rb +18 -30
  100. data/generated/google/apis/calendar_v3.rb +1 -1
  101. data/generated/google/apis/civicinfo_v2/classes.rb +0 -156
  102. data/generated/google/apis/civicinfo_v2/representations.rb +2 -60
  103. data/generated/google/apis/civicinfo_v2.rb +1 -1
  104. data/generated/google/apis/cloudasset_v1/classes.rb +89 -55
  105. data/generated/google/apis/cloudasset_v1/service.rb +1 -2
  106. data/generated/google/apis/cloudasset_v1.rb +1 -1
  107. data/generated/google/apis/cloudasset_v1beta1/classes.rb +75 -40
  108. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  109. data/generated/google/apis/cloudbilling_v1/classes.rb +82 -36
  110. data/generated/google/apis/cloudbilling_v1/representations.rb +0 -1
  111. data/generated/google/apis/cloudbilling_v1/service.rb +5 -3
  112. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  113. data/generated/google/apis/cloudbuild_v1/classes.rb +8 -2
  114. data/generated/google/apis/cloudbuild_v1/representations.rb +1 -0
  115. data/generated/google/apis/cloudbuild_v1/service.rb +18 -18
  116. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  117. data/generated/google/apis/clouddebugger_v2/service.rb +14 -14
  118. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  119. data/generated/google/apis/cloudfunctions_v1/classes.rb +13 -5
  120. data/generated/google/apis/cloudfunctions_v1/representations.rb +1 -0
  121. data/generated/google/apis/cloudfunctions_v1/service.rb +10 -4
  122. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  123. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +7 -0
  124. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +1 -0
  125. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +10 -4
  126. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  127. data/generated/google/apis/cloudidentity_v1/classes.rb +11 -8
  128. data/generated/google/apis/cloudidentity_v1/service.rb +2 -1
  129. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  130. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +13 -10
  131. data/generated/google/apis/cloudidentity_v1beta1/service.rb +2 -1
  132. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  133. data/generated/google/apis/cloudiot_v1/classes.rb +6 -5
  134. data/generated/google/apis/cloudiot_v1.rb +1 -1
  135. data/generated/google/apis/cloudkms_v1/classes.rb +6 -5
  136. data/generated/google/apis/cloudkms_v1/service.rb +3 -0
  137. data/generated/google/apis/cloudkms_v1.rb +1 -1
  138. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +75 -40
  139. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +1 -1
  140. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +18 -17
  141. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  142. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +6 -5
  143. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  144. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +10 -13
  145. data/generated/google/apis/cloudresourcemanager_v2/service.rb +11 -13
  146. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  147. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +10 -13
  148. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +11 -13
  149. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  150. data/generated/google/apis/cloudscheduler_v1/classes.rb +2 -1
  151. data/generated/google/apis/cloudscheduler_v1.rb +1 -1
  152. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +2 -1
  153. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  154. data/generated/google/apis/cloudsearch_v1/classes.rb +10 -132
  155. data/generated/google/apis/cloudsearch_v1/representations.rb +0 -75
  156. data/generated/google/apis/cloudsearch_v1/service.rb +47 -9
  157. data/generated/google/apis/cloudsearch_v1.rb +8 -8
  158. data/generated/google/apis/cloudshell_v1/classes.rb +24 -1
  159. data/generated/google/apis/cloudshell_v1/representations.rb +3 -0
  160. data/generated/google/apis/cloudshell_v1.rb +1 -1
  161. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +24 -1
  162. data/generated/google/apis/cloudshell_v1alpha1/representations.rb +3 -0
  163. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  164. data/generated/google/apis/cloudtasks_v2/classes.rb +212 -5
  165. data/generated/google/apis/cloudtasks_v2/representations.rb +50 -0
  166. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  167. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +6 -5
  168. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  169. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +6 -5
  170. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  171. data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +14 -19
  172. data/generated/google/apis/commentanalyzer_v1alpha1.rb +1 -1
  173. data/generated/google/apis/compute_alpha/classes.rb +594 -164
  174. data/generated/google/apis/compute_alpha/representations.rb +110 -2
  175. data/generated/google/apis/compute_alpha/service.rb +1035 -640
  176. data/generated/google/apis/compute_alpha.rb +1 -1
  177. data/generated/google/apis/compute_beta/classes.rb +1070 -276
  178. data/generated/google/apis/compute_beta/representations.rb +284 -0
  179. data/generated/google/apis/compute_beta/service.rb +1242 -532
  180. data/generated/google/apis/compute_beta.rb +1 -1
  181. data/generated/google/apis/compute_v1/classes.rb +335 -133
  182. data/generated/google/apis/compute_v1/representations.rb +24 -0
  183. data/generated/google/apis/compute_v1/service.rb +759 -473
  184. data/generated/google/apis/compute_v1.rb +1 -1
  185. data/generated/google/apis/container_v1/classes.rb +410 -83
  186. data/generated/google/apis/container_v1/representations.rb +134 -0
  187. data/generated/google/apis/container_v1/service.rb +119 -119
  188. data/generated/google/apis/container_v1.rb +1 -1
  189. data/generated/google/apis/container_v1beta1/classes.rb +157 -3
  190. data/generated/google/apis/container_v1beta1/representations.rb +38 -0
  191. data/generated/google/apis/container_v1beta1.rb +1 -1
  192. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +6 -5
  193. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  194. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +6 -5
  195. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  196. data/generated/google/apis/content_v2/classes.rb +35 -223
  197. data/generated/google/apis/content_v2/representations.rb +0 -115
  198. data/generated/google/apis/content_v2/service.rb +0 -160
  199. data/generated/google/apis/content_v2.rb +1 -1
  200. data/generated/google/apis/content_v2_1/classes.rb +69 -21
  201. data/generated/google/apis/content_v2_1/representations.rb +3 -0
  202. data/generated/google/apis/content_v2_1.rb +1 -1
  203. data/generated/google/apis/datacatalog_v1beta1/classes.rb +1646 -0
  204. data/generated/google/apis/datacatalog_v1beta1/representations.rb +700 -0
  205. data/generated/google/apis/datacatalog_v1beta1/service.rb +1982 -0
  206. data/generated/google/apis/{cloudbuild_v1alpha1.rb → datacatalog_v1beta1.rb} +10 -9
  207. data/generated/google/apis/dataflow_v1b3/classes.rb +6 -9
  208. data/generated/google/apis/dataflow_v1b3/representations.rb +1 -1
  209. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  210. data/generated/google/apis/datafusion_v1beta1/classes.rb +156 -46
  211. data/generated/google/apis/datafusion_v1beta1/representations.rb +33 -0
  212. data/generated/google/apis/datafusion_v1beta1/service.rb +10 -1
  213. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  214. data/generated/google/apis/dataproc_v1/classes.rb +119 -11
  215. data/generated/google/apis/dataproc_v1/representations.rb +39 -0
  216. data/generated/google/apis/dataproc_v1/service.rb +14 -7
  217. data/generated/google/apis/dataproc_v1.rb +1 -1
  218. data/generated/google/apis/dataproc_v1beta2/classes.rb +9 -11
  219. data/generated/google/apis/dataproc_v1beta2/service.rb +26 -19
  220. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  221. data/generated/google/apis/datastore_v1/service.rb +85 -1
  222. data/generated/google/apis/datastore_v1.rb +1 -1
  223. data/generated/google/apis/datastore_v1beta3/service.rb +1 -1
  224. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  225. data/generated/google/apis/dfareporting_v3_3/classes.rb +21 -1
  226. data/generated/google/apis/dfareporting_v3_3/service.rb +6 -6
  227. data/generated/google/apis/dfareporting_v3_3.rb +1 -1
  228. data/generated/google/apis/{dfareporting_v3_2 → dfareporting_v3_4}/classes.rb +1215 -797
  229. data/generated/google/apis/{dfareporting_v3_2 → dfareporting_v3_4}/representations.rb +593 -395
  230. data/generated/google/apis/{dfareporting_v3_2 → dfareporting_v3_4}/service.rb +966 -1074
  231. data/generated/google/apis/{dfareporting_v3_2.rb → dfareporting_v3_4.rb} +6 -6
  232. data/generated/google/apis/dialogflow_v2/classes.rb +509 -8
  233. data/generated/google/apis/dialogflow_v2/representations.rb +222 -0
  234. data/generated/google/apis/dialogflow_v2.rb +1 -1
  235. data/generated/google/apis/dialogflow_v2beta1/classes.rb +530 -8
  236. data/generated/google/apis/dialogflow_v2beta1/representations.rb +224 -0
  237. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  238. data/generated/google/apis/dlp_v2/classes.rb +109 -33
  239. data/generated/google/apis/dlp_v2/representations.rb +23 -3
  240. data/generated/google/apis/dlp_v2/service.rb +1996 -209
  241. data/generated/google/apis/dlp_v2.rb +1 -1
  242. data/generated/google/apis/dns_v1beta2/classes.rb +47 -0
  243. data/generated/google/apis/dns_v1beta2/representations.rb +17 -0
  244. data/generated/google/apis/dns_v1beta2.rb +1 -1
  245. data/generated/google/apis/docs_v1/classes.rb +175 -0
  246. data/generated/google/apis/docs_v1/representations.rb +77 -0
  247. data/generated/google/apis/docs_v1.rb +1 -1
  248. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  249. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +826 -0
  250. data/generated/google/apis/doubleclickbidmanager_v1_1/representations.rb +372 -0
  251. data/generated/google/apis/doubleclickbidmanager_v1_1/service.rb +371 -0
  252. data/generated/google/apis/{urlshortener_v1.rb → doubleclickbidmanager_v1_1.rb} +11 -11
  253. data/generated/google/apis/drive_v2/classes.rb +2 -1
  254. data/generated/google/apis/drive_v2/service.rb +3 -3
  255. data/generated/google/apis/drive_v2.rb +1 -1
  256. data/generated/google/apis/drive_v3/classes.rb +12 -3
  257. data/generated/google/apis/drive_v3.rb +1 -1
  258. data/generated/google/apis/fcm_v1/classes.rb +15 -0
  259. data/generated/google/apis/fcm_v1/representations.rb +2 -0
  260. data/generated/google/apis/fcm_v1.rb +1 -1
  261. data/generated/google/apis/firebase_v1beta1/classes.rb +18 -4
  262. data/generated/google/apis/firebase_v1beta1/representations.rb +2 -0
  263. data/generated/google/apis/firebase_v1beta1/service.rb +6 -6
  264. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  265. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +62 -0
  266. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +31 -0
  267. data/generated/google/apis/firebasehosting_v1beta1/service.rb +47 -0
  268. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  269. data/generated/google/apis/firebaserules_v1/classes.rb +26 -0
  270. data/generated/google/apis/firebaserules_v1/representations.rb +15 -0
  271. data/generated/google/apis/firebaserules_v1.rb +1 -1
  272. data/generated/google/apis/firestore_v1.rb +1 -1
  273. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  274. data/generated/google/apis/fitness_v1/service.rb +1 -1
  275. data/generated/google/apis/fitness_v1.rb +1 -1
  276. data/generated/google/apis/games_management_v1management/classes.rb +6 -26
  277. data/generated/google/apis/games_management_v1management/representations.rb +1 -14
  278. data/generated/google/apis/games_management_v1management/service.rb +0 -158
  279. data/generated/google/apis/games_management_v1management.rb +1 -1
  280. data/generated/google/apis/games_v1/classes.rb +6 -292
  281. data/generated/google/apis/games_v1/representations.rb +1 -98
  282. data/generated/google/apis/games_v1/service.rb +0 -123
  283. data/generated/google/apis/games_v1.rb +1 -1
  284. data/generated/google/apis/genomics_v2alpha1/classes.rb +32 -0
  285. data/generated/google/apis/genomics_v2alpha1/representations.rb +16 -0
  286. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  287. data/generated/google/apis/healthcare_v1beta1/classes.rb +213 -16
  288. data/generated/google/apis/healthcare_v1beta1/representations.rb +101 -0
  289. data/generated/google/apis/healthcare_v1beta1/service.rb +207 -116
  290. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  291. data/generated/google/apis/homegraph_v1/classes.rb +15 -1
  292. data/generated/google/apis/homegraph_v1/representations.rb +2 -1
  293. data/generated/google/apis/homegraph_v1.rb +1 -1
  294. data/generated/google/apis/iam_v1/classes.rb +15 -7
  295. data/generated/google/apis/iam_v1/representations.rb +1 -0
  296. data/generated/google/apis/iam_v1.rb +1 -1
  297. data/generated/google/apis/iap_v1/classes.rb +187 -2
  298. data/generated/google/apis/iap_v1/representations.rb +102 -0
  299. data/generated/google/apis/iap_v1/service.rb +72 -0
  300. data/generated/google/apis/iap_v1.rb +1 -1
  301. data/generated/google/apis/iap_v1beta1/classes.rb +2 -2
  302. data/generated/google/apis/iap_v1beta1.rb +1 -1
  303. data/generated/google/apis/jobs_v2/classes.rb +167 -0
  304. data/generated/google/apis/jobs_v2/representations.rb +40 -0
  305. data/generated/google/apis/jobs_v2.rb +1 -1
  306. data/generated/google/apis/jobs_v3/classes.rb +179 -0
  307. data/generated/google/apis/jobs_v3/representations.rb +41 -0
  308. data/generated/google/apis/jobs_v3.rb +1 -1
  309. data/generated/google/apis/jobs_v3p1beta1/classes.rb +179 -0
  310. data/generated/google/apis/jobs_v3p1beta1/representations.rb +41 -0
  311. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  312. data/generated/google/apis/licensing_v1/classes.rb +15 -7
  313. data/generated/google/apis/licensing_v1/service.rb +81 -37
  314. data/generated/google/apis/licensing_v1.rb +4 -4
  315. data/generated/google/apis/lifesciences_v2beta/classes.rb +1329 -0
  316. data/generated/google/apis/lifesciences_v2beta/representations.rb +533 -0
  317. data/generated/google/apis/lifesciences_v2beta/service.rb +303 -0
  318. data/generated/google/apis/lifesciences_v2beta.rb +35 -0
  319. data/generated/google/apis/logging_v2/classes.rb +30 -2
  320. data/generated/google/apis/logging_v2/representations.rb +4 -0
  321. data/generated/google/apis/logging_v2/service.rb +10 -5
  322. data/generated/google/apis/logging_v2.rb +1 -1
  323. data/generated/google/apis/ml_v1/classes.rb +308 -155
  324. data/generated/google/apis/ml_v1/representations.rb +59 -0
  325. data/generated/google/apis/ml_v1/service.rb +44 -3
  326. data/generated/google/apis/ml_v1.rb +2 -2
  327. data/generated/google/apis/monitoring_v1/classes.rb +1153 -0
  328. data/generated/google/apis/monitoring_v1/representations.rb +528 -0
  329. data/generated/google/apis/{cloudbuild_v1alpha1 → monitoring_v1}/service.rb +86 -63
  330. data/generated/google/apis/monitoring_v1.rb +48 -0
  331. data/generated/google/apis/monitoring_v3/classes.rb +836 -60
  332. data/generated/google/apis/monitoring_v3/representations.rb +348 -0
  333. data/generated/google/apis/monitoring_v3/service.rb +384 -2
  334. data/generated/google/apis/monitoring_v3.rb +1 -1
  335. data/generated/google/apis/oslogin_v1/classes.rb +1 -1
  336. data/generated/google/apis/oslogin_v1/service.rb +10 -6
  337. data/generated/google/apis/oslogin_v1.rb +1 -1
  338. data/generated/google/apis/oslogin_v1beta/classes.rb +1 -1
  339. data/generated/google/apis/oslogin_v1beta/service.rb +9 -5
  340. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  341. data/generated/google/apis/pagespeedonline_v5/classes.rb +8 -0
  342. data/generated/google/apis/pagespeedonline_v5/representations.rb +1 -0
  343. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  344. data/generated/google/apis/people_v1/classes.rb +67 -63
  345. data/generated/google/apis/people_v1/service.rb +53 -44
  346. data/generated/google/apis/people_v1.rb +1 -1
  347. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +168 -90
  348. data/generated/google/apis/policytroubleshooter_v1beta/service.rb +2 -3
  349. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  350. data/generated/google/apis/pubsub_v1/classes.rb +8 -6
  351. data/generated/google/apis/pubsub_v1/service.rb +9 -7
  352. data/generated/google/apis/pubsub_v1.rb +1 -1
  353. data/generated/google/apis/pubsub_v1beta2/classes.rb +6 -5
  354. data/generated/google/apis/pubsub_v1beta2/service.rb +2 -0
  355. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  356. data/generated/google/apis/recommender_v1beta1/classes.rb +1 -1
  357. data/generated/google/apis/recommender_v1beta1/service.rb +10 -8
  358. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  359. data/generated/google/apis/redis_v1/classes.rb +11 -11
  360. data/generated/google/apis/redis_v1/service.rb +5 -5
  361. data/generated/google/apis/redis_v1.rb +1 -1
  362. data/generated/google/apis/redis_v1beta1/classes.rb +11 -11
  363. data/generated/google/apis/redis_v1beta1/service.rb +5 -5
  364. data/generated/google/apis/redis_v1beta1.rb +1 -1
  365. data/generated/google/apis/remotebuildexecution_v1/classes.rb +113 -0
  366. data/generated/google/apis/remotebuildexecution_v1/representations.rb +50 -0
  367. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  368. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +113 -0
  369. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +50 -0
  370. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  371. data/generated/google/apis/remotebuildexecution_v2/classes.rb +113 -0
  372. data/generated/google/apis/remotebuildexecution_v2/representations.rb +50 -0
  373. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  374. data/generated/google/apis/reseller_v1/service.rb +1 -1
  375. data/generated/google/apis/reseller_v1.rb +1 -1
  376. data/generated/google/apis/run_v1/classes.rb +8 -176
  377. data/generated/google/apis/run_v1/representations.rb +0 -71
  378. data/generated/google/apis/run_v1/service.rb +209 -1125
  379. data/generated/google/apis/run_v1.rb +1 -1
  380. data/generated/google/apis/run_v1alpha1/classes.rb +328 -9
  381. data/generated/google/apis/run_v1alpha1/representations.rb +126 -0
  382. data/generated/google/apis/run_v1alpha1/service.rb +408 -0
  383. data/generated/google/apis/run_v1alpha1.rb +1 -1
  384. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +75 -40
  385. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  386. data/generated/google/apis/securitycenter_v1/classes.rb +159 -66
  387. data/generated/google/apis/securitycenter_v1/representations.rb +19 -0
  388. data/generated/google/apis/securitycenter_v1/service.rb +14 -12
  389. data/generated/google/apis/securitycenter_v1.rb +1 -1
  390. data/generated/google/apis/securitycenter_v1beta1/classes.rb +95 -57
  391. data/generated/google/apis/securitycenter_v1beta1/service.rb +14 -12
  392. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  393. data/generated/google/apis/servicebroker_v1/classes.rb +75 -40
  394. data/generated/google/apis/servicebroker_v1.rb +1 -1
  395. data/generated/google/apis/servicebroker_v1alpha1/classes.rb +75 -40
  396. data/generated/google/apis/servicebroker_v1alpha1.rb +1 -1
  397. data/generated/google/apis/servicebroker_v1beta1/classes.rb +75 -40
  398. data/generated/google/apis/servicebroker_v1beta1.rb +1 -1
  399. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +95 -43
  400. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +30 -0
  401. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  402. data/generated/google/apis/servicecontrol_v1/classes.rb +8 -12
  403. data/generated/google/apis/servicecontrol_v1/representations.rb +1 -1
  404. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  405. data/generated/google/apis/servicemanagement_v1/classes.rb +142 -91
  406. data/generated/google/apis/servicemanagement_v1/representations.rb +24 -0
  407. data/generated/google/apis/servicemanagement_v1/service.rb +32 -26
  408. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  409. data/generated/google/apis/servicenetworking_v1/classes.rb +181 -54
  410. data/generated/google/apis/servicenetworking_v1/representations.rb +71 -0
  411. data/generated/google/apis/servicenetworking_v1/service.rb +77 -3
  412. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  413. data/generated/google/apis/servicenetworking_v1beta/classes.rb +32 -43
  414. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  415. data/generated/google/apis/serviceusage_v1/classes.rb +87 -43
  416. data/generated/google/apis/serviceusage_v1/representations.rb +29 -0
  417. data/generated/google/apis/serviceusage_v1.rb +1 -1
  418. data/generated/google/apis/serviceusage_v1beta1/classes.rb +87 -43
  419. data/generated/google/apis/serviceusage_v1beta1/representations.rb +29 -0
  420. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  421. data/generated/google/apis/sheets_v4/classes.rb +1371 -232
  422. data/generated/google/apis/sheets_v4/representations.rb +180 -0
  423. data/generated/google/apis/sheets_v4.rb +1 -1
  424. data/generated/google/apis/spanner_v1/classes.rb +70 -30
  425. data/generated/google/apis/spanner_v1/service.rb +270 -0
  426. data/generated/google/apis/spanner_v1.rb +1 -1
  427. data/generated/google/apis/speech_v1/classes.rb +6 -0
  428. data/generated/google/apis/speech_v1/representations.rb +1 -0
  429. data/generated/google/apis/speech_v1.rb +1 -1
  430. data/generated/google/apis/speech_v1p1beta1/classes.rb +6 -0
  431. data/generated/google/apis/speech_v1p1beta1/representations.rb +1 -0
  432. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  433. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/classes.rb +9 -8
  434. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/representations.rb +6 -6
  435. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/service.rb +13 -13
  436. data/generated/google/apis/{speech_v2beta.rb → speech_v2beta1.rb} +6 -6
  437. data/generated/google/apis/{sqladmin_v1beta4 → sql_v1beta4}/classes.rb +499 -380
  438. data/generated/google/apis/{sqladmin_v1beta4 → sql_v1beta4}/representations.rb +125 -104
  439. data/generated/google/apis/{sqladmin_v1beta4 → sql_v1beta4}/service.rb +637 -590
  440. data/generated/google/apis/{sqladmin_v1beta4.rb → sql_v1beta4.rb} +7 -8
  441. data/generated/google/apis/storage_v1.rb +1 -1
  442. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  443. data/generated/google/apis/streetviewpublish_v1/classes.rb +1 -1
  444. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  445. data/generated/google/apis/testing_v1/classes.rb +142 -1
  446. data/generated/google/apis/testing_v1/representations.rb +76 -0
  447. data/generated/google/apis/testing_v1.rb +1 -1
  448. data/generated/google/apis/videointelligence_v1/classes.rb +147 -36
  449. data/generated/google/apis/videointelligence_v1/representations.rb +62 -0
  450. data/generated/google/apis/videointelligence_v1.rb +1 -1
  451. data/generated/google/apis/videointelligence_v1beta2/classes.rb +147 -36
  452. data/generated/google/apis/videointelligence_v1beta2/representations.rb +62 -0
  453. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  454. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +147 -36
  455. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +62 -0
  456. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  457. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +147 -36
  458. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +62 -0
  459. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  460. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +147 -36
  461. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +62 -0
  462. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  463. data/generated/google/apis/vision_v1/classes.rb +66 -0
  464. data/generated/google/apis/vision_v1/representations.rb +32 -0
  465. data/generated/google/apis/vision_v1.rb +1 -1
  466. data/generated/google/apis/vision_v1p1beta1/classes.rb +66 -0
  467. data/generated/google/apis/vision_v1p1beta1/representations.rb +32 -0
  468. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  469. data/generated/google/apis/vision_v1p2beta1/classes.rb +66 -0
  470. data/generated/google/apis/vision_v1p2beta1/representations.rb +32 -0
  471. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  472. data/generated/google/apis/youtube_partner_v1/service.rb +2 -2
  473. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  474. data/google-api-client.gemspec +6 -3
  475. data/lib/google/apis/core/api_command.rb +3 -0
  476. data/lib/google/apis/core/http_command.rb +10 -8
  477. data/lib/google/apis/core/upload.rb +4 -0
  478. data/lib/google/apis/version.rb +1 -1
  479. data/rakelib/devsite/devsite_builder.rb +126 -0
  480. data/rakelib/devsite/link_checker.rb +64 -0
  481. data/rakelib/devsite/repo_metadata.rb +56 -0
  482. metadata +64 -42
  483. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +0 -1168
  484. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +0 -434
  485. data/generated/google/apis/storage_v1beta1/classes.rb +0 -616
  486. data/generated/google/apis/storage_v1beta1/representations.rb +0 -249
  487. data/generated/google/apis/storage_v1beta1/service.rb +0 -1032
  488. data/generated/google/apis/storage_v1beta1.rb +0 -40
  489. data/generated/google/apis/urlshortener_v1/classes.rb +0 -246
  490. data/generated/google/apis/urlshortener_v1/representations.rb +0 -121
  491. data/generated/google/apis/urlshortener_v1/service.rb +0 -169
@@ -337,6 +337,44 @@ module Google
337
337
  end
338
338
  end
339
339
 
340
+ # Adds a slicer to a sheet in the spreadsheet.
341
+ class AddSlicerRequest
342
+ include Google::Apis::Core::Hashable
343
+
344
+ # A slicer in a sheet.
345
+ # Corresponds to the JSON property `slicer`
346
+ # @return [Google::Apis::SheetsV4::Slicer]
347
+ attr_accessor :slicer
348
+
349
+ def initialize(**args)
350
+ update!(**args)
351
+ end
352
+
353
+ # Update properties of this object
354
+ def update!(**args)
355
+ @slicer = args[:slicer] if args.key?(:slicer)
356
+ end
357
+ end
358
+
359
+ # The result of adding a slicer to a spreadsheet.
360
+ class AddSlicerResponse
361
+ include Google::Apis::Core::Hashable
362
+
363
+ # A slicer in a sheet.
364
+ # Corresponds to the JSON property `slicer`
365
+ # @return [Google::Apis::SheetsV4::Slicer]
366
+ attr_accessor :slicer
367
+
368
+ def initialize(**args)
369
+ update!(**args)
370
+ end
371
+
372
+ # Update properties of this object
373
+ def update!(**args)
374
+ @slicer = args[:slicer] if args.key?(:slicer)
375
+ end
376
+ end
377
+
340
378
  # Adds new cells after the last row with data in a sheet,
341
379
  # inserting new rows into the sheet if necessary.
342
380
  class AppendCellsRequest
@@ -1047,86 +1085,132 @@ module Google
1047
1085
  end
1048
1086
  end
1049
1087
 
1050
- # An axis of the chart.
1051
- # A chart may not have more than one axis per
1052
- # axis position.
1053
- class BasicChartAxis
1088
+ # Formatting options for baseline value.
1089
+ class BaselineValueFormat
1054
1090
  include Google::Apis::Core::Hashable
1055
1091
 
1056
- # The format of a run of text in a cell.
1057
- # Absent values indicate that the field isn't specified.
1058
- # Corresponds to the JSON property `format`
1059
- # @return [Google::Apis::SheetsV4::TextFormat]
1060
- attr_accessor :format
1061
-
1062
- # The position of this axis.
1063
- # Corresponds to the JSON property `position`
1092
+ # The comparison type of key value with baseline value.
1093
+ # Corresponds to the JSON property `comparisonType`
1064
1094
  # @return [String]
1065
- attr_accessor :position
1095
+ attr_accessor :comparison_type
1066
1096
 
1067
- # The title of this axis. If set, this overrides any title inferred
1068
- # from headers of the data.
1069
- # Corresponds to the JSON property `title`
1097
+ # Description which is appended after the baseline value.
1098
+ # This field is optional.
1099
+ # Corresponds to the JSON property `description`
1070
1100
  # @return [String]
1071
- attr_accessor :title
1101
+ attr_accessor :description
1102
+
1103
+ # Represents a color in the RGBA color space. This representation is designed
1104
+ # for simplicity of conversion to/from color representations in various
1105
+ # languages over compactness; for example, the fields of this representation
1106
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
1107
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
1108
+ # method in iOS; and, with just a little work, it can be easily formatted into
1109
+ # a CSS "rgba()" string in JavaScript, as well.
1110
+ # Note: this proto does not carry information about the absolute color space
1111
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
1112
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
1113
+ # space.
1114
+ # Example (Java):
1115
+ # import com.google.type.Color;
1116
+ # // ...
1117
+ # public static java.awt.Color fromProto(Color protocolor) `
1118
+ # float alpha = protocolor.hasAlpha()
1119
+ # ? protocolor.getAlpha().getValue()
1120
+ # : 1.0;
1121
+ # return new java.awt.Color(
1122
+ # protocolor.getRed(),
1123
+ # protocolor.getGreen(),
1124
+ # protocolor.getBlue(),
1125
+ # alpha);
1126
+ # `
1127
+ # public static Color toProto(java.awt.Color color) `
1128
+ # float red = (float) color.getRed();
1129
+ # float green = (float) color.getGreen();
1130
+ # float blue = (float) color.getBlue();
1131
+ # float denominator = 255.0;
1132
+ # Color.Builder resultBuilder =
1133
+ # Color
1134
+ # .newBuilder()
1135
+ # .setRed(red / denominator)
1136
+ # .setGreen(green / denominator)
1137
+ # .setBlue(blue / denominator);
1138
+ # int alpha = color.getAlpha();
1139
+ # if (alpha != 255) `
1140
+ # result.setAlpha(
1141
+ # FloatValue
1142
+ # .newBuilder()
1143
+ # .setValue(((float) alpha) / denominator)
1144
+ # .build());
1145
+ # `
1146
+ # return resultBuilder.build();
1147
+ # `
1148
+ # // ...
1149
+ # Example (iOS / Obj-C):
1150
+ # // ...
1151
+ # static UIColor* fromProto(Color* protocolor) `
1152
+ # float red = [protocolor red];
1153
+ # float green = [protocolor green];
1154
+ # float blue = [protocolor blue];
1155
+ # FloatValue* alpha_wrapper = [protocolor alpha];
1156
+ # float alpha = 1.0;
1157
+ # if (alpha_wrapper != nil) `
1158
+ # alpha = [alpha_wrapper value];
1159
+ # `
1160
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
1161
+ # `
1162
+ # static Color* toProto(UIColor* color) `
1163
+ # CGFloat red, green, blue, alpha;
1164
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
1165
+ # return nil;
1166
+ # `
1167
+ # Color* result = [[Color alloc] init];
1168
+ # [result setRed:red];
1169
+ # [result setGreen:green];
1170
+ # [result setBlue:blue];
1171
+ # if (alpha <= 0.9999) `
1172
+ # [result setAlpha:floatWrapperWithValue(alpha)];
1173
+ # `
1174
+ # [result autorelease];
1175
+ # return result;
1176
+ # `
1177
+ # // ...
1178
+ # Example (JavaScript):
1179
+ # // ...
1180
+ # var protoToCssColor = function(rgb_color) `
1181
+ # var redFrac = rgb_color.red || 0.0;
1182
+ # var greenFrac = rgb_color.green || 0.0;
1183
+ # var blueFrac = rgb_color.blue || 0.0;
1184
+ # var red = Math.floor(redFrac * 255);
1185
+ # var green = Math.floor(greenFrac * 255);
1186
+ # var blue = Math.floor(blueFrac * 255);
1187
+ # if (!('alpha' in rgb_color)) `
1188
+ # return rgbToCssColor_(red, green, blue);
1189
+ # `
1190
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
1191
+ # var rgbParams = [red, green, blue].join(',');
1192
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
1193
+ # `;
1194
+ # var rgbToCssColor_ = function(red, green, blue) `
1195
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
1196
+ # var hexString = rgbNumber.toString(16);
1197
+ # var missingZeros = 6 - hexString.length;
1198
+ # var resultBuilder = ['#'];
1199
+ # for (var i = 0; i < missingZeros; i++) `
1200
+ # resultBuilder.push('0');
1201
+ # `
1202
+ # resultBuilder.push(hexString);
1203
+ # return resultBuilder.join('');
1204
+ # `;
1205
+ # // ...
1206
+ # Corresponds to the JSON property `negativeColor`
1207
+ # @return [Google::Apis::SheetsV4::Color]
1208
+ attr_accessor :negative_color
1072
1209
 
1073
1210
  # Position settings for text.
1074
- # Corresponds to the JSON property `titleTextPosition`
1211
+ # Corresponds to the JSON property `position`
1075
1212
  # @return [Google::Apis::SheetsV4::TextPosition]
1076
- attr_accessor :title_text_position
1077
-
1078
- # The options that define a "view window" for a chart (such as the visible
1079
- # values in an axis).
1080
- # Corresponds to the JSON property `viewWindowOptions`
1081
- # @return [Google::Apis::SheetsV4::ChartAxisViewWindowOptions]
1082
- attr_accessor :view_window_options
1083
-
1084
- def initialize(**args)
1085
- update!(**args)
1086
- end
1087
-
1088
- # Update properties of this object
1089
- def update!(**args)
1090
- @format = args[:format] if args.key?(:format)
1091
- @position = args[:position] if args.key?(:position)
1092
- @title = args[:title] if args.key?(:title)
1093
- @title_text_position = args[:title_text_position] if args.key?(:title_text_position)
1094
- @view_window_options = args[:view_window_options] if args.key?(:view_window_options)
1095
- end
1096
- end
1097
-
1098
- # The domain of a chart.
1099
- # For example, if charting stock prices over time, this would be the date.
1100
- class BasicChartDomain
1101
- include Google::Apis::Core::Hashable
1102
-
1103
- # The data included in a domain or series.
1104
- # Corresponds to the JSON property `domain`
1105
- # @return [Google::Apis::SheetsV4::ChartData]
1106
- attr_accessor :domain
1107
-
1108
- # True to reverse the order of the domain values (horizontal axis).
1109
- # Corresponds to the JSON property `reversed`
1110
- # @return [Boolean]
1111
- attr_accessor :reversed
1112
- alias_method :reversed?, :reversed
1113
-
1114
- def initialize(**args)
1115
- update!(**args)
1116
- end
1117
-
1118
- # Update properties of this object
1119
- def update!(**args)
1120
- @domain = args[:domain] if args.key?(:domain)
1121
- @reversed = args[:reversed] if args.key?(:reversed)
1122
- end
1123
- end
1124
-
1125
- # A single series of data in a chart.
1126
- # For example, if charting stock prices over time, multiple series may exist,
1127
- # one for the "Open Price", "High Price", "Low Price" and "Close Price".
1128
- class BasicChartSeries
1129
- include Google::Apis::Core::Hashable
1213
+ attr_accessor :position
1130
1214
 
1131
1215
  # Represents a color in the RGBA color space. This representation is designed
1132
1216
  # for simplicity of conversion to/from color representations in various
@@ -1231,40 +1315,15 @@ module Google
1231
1315
  # return resultBuilder.join('');
1232
1316
  # `;
1233
1317
  # // ...
1234
- # Corresponds to the JSON property `color`
1318
+ # Corresponds to the JSON property `positiveColor`
1235
1319
  # @return [Google::Apis::SheetsV4::Color]
1236
- attr_accessor :color
1237
-
1238
- # Properties that describe the style of a line.
1239
- # Corresponds to the JSON property `lineStyle`
1240
- # @return [Google::Apis::SheetsV4::LineStyle]
1241
- attr_accessor :line_style
1242
-
1243
- # The data included in a domain or series.
1244
- # Corresponds to the JSON property `series`
1245
- # @return [Google::Apis::SheetsV4::ChartData]
1246
- attr_accessor :series
1247
-
1248
- # The minor axis that will specify the range of values for this series.
1249
- # For example, if charting stocks over time, the "Volume" series
1250
- # may want to be pinned to the right with the prices pinned to the left,
1251
- # because the scale of trading volume is different than the scale of
1252
- # prices.
1253
- # It is an error to specify an axis that isn't a valid minor axis
1254
- # for the chart's type.
1255
- # Corresponds to the JSON property `targetAxis`
1256
- # @return [String]
1257
- attr_accessor :target_axis
1320
+ attr_accessor :positive_color
1258
1321
 
1259
- # The type of this series. Valid only if the
1260
- # chartType is
1261
- # COMBO.
1262
- # Different types will change the way the series is visualized.
1263
- # Only LINE, AREA,
1264
- # and COLUMN are supported.
1265
- # Corresponds to the JSON property `type`
1266
- # @return [String]
1267
- attr_accessor :type
1322
+ # The format of a run of text in a cell.
1323
+ # Absent values indicate that the field isn't specified.
1324
+ # Corresponds to the JSON property `textFormat`
1325
+ # @return [Google::Apis::SheetsV4::TextFormat]
1326
+ attr_accessor :text_format
1268
1327
 
1269
1328
  def initialize(**args)
1270
1329
  update!(**args)
@@ -1272,19 +1331,253 @@ module Google
1272
1331
 
1273
1332
  # Update properties of this object
1274
1333
  def update!(**args)
1275
- @color = args[:color] if args.key?(:color)
1276
- @line_style = args[:line_style] if args.key?(:line_style)
1277
- @series = args[:series] if args.key?(:series)
1278
- @target_axis = args[:target_axis] if args.key?(:target_axis)
1279
- @type = args[:type] if args.key?(:type)
1334
+ @comparison_type = args[:comparison_type] if args.key?(:comparison_type)
1335
+ @description = args[:description] if args.key?(:description)
1336
+ @negative_color = args[:negative_color] if args.key?(:negative_color)
1337
+ @position = args[:position] if args.key?(:position)
1338
+ @positive_color = args[:positive_color] if args.key?(:positive_color)
1339
+ @text_format = args[:text_format] if args.key?(:text_format)
1280
1340
  end
1281
1341
  end
1282
1342
 
1283
- # The specification for a basic chart. See BasicChartType for the list
1284
- # of charts this supports.
1285
- class BasicChartSpec
1286
- include Google::Apis::Core::Hashable
1287
-
1343
+ # An axis of the chart.
1344
+ # A chart may not have more than one axis per
1345
+ # axis position.
1346
+ class BasicChartAxis
1347
+ include Google::Apis::Core::Hashable
1348
+
1349
+ # The format of a run of text in a cell.
1350
+ # Absent values indicate that the field isn't specified.
1351
+ # Corresponds to the JSON property `format`
1352
+ # @return [Google::Apis::SheetsV4::TextFormat]
1353
+ attr_accessor :format
1354
+
1355
+ # The position of this axis.
1356
+ # Corresponds to the JSON property `position`
1357
+ # @return [String]
1358
+ attr_accessor :position
1359
+
1360
+ # The title of this axis. If set, this overrides any title inferred
1361
+ # from headers of the data.
1362
+ # Corresponds to the JSON property `title`
1363
+ # @return [String]
1364
+ attr_accessor :title
1365
+
1366
+ # Position settings for text.
1367
+ # Corresponds to the JSON property `titleTextPosition`
1368
+ # @return [Google::Apis::SheetsV4::TextPosition]
1369
+ attr_accessor :title_text_position
1370
+
1371
+ # The options that define a "view window" for a chart (such as the visible
1372
+ # values in an axis).
1373
+ # Corresponds to the JSON property `viewWindowOptions`
1374
+ # @return [Google::Apis::SheetsV4::ChartAxisViewWindowOptions]
1375
+ attr_accessor :view_window_options
1376
+
1377
+ def initialize(**args)
1378
+ update!(**args)
1379
+ end
1380
+
1381
+ # Update properties of this object
1382
+ def update!(**args)
1383
+ @format = args[:format] if args.key?(:format)
1384
+ @position = args[:position] if args.key?(:position)
1385
+ @title = args[:title] if args.key?(:title)
1386
+ @title_text_position = args[:title_text_position] if args.key?(:title_text_position)
1387
+ @view_window_options = args[:view_window_options] if args.key?(:view_window_options)
1388
+ end
1389
+ end
1390
+
1391
+ # The domain of a chart.
1392
+ # For example, if charting stock prices over time, this would be the date.
1393
+ class BasicChartDomain
1394
+ include Google::Apis::Core::Hashable
1395
+
1396
+ # The data included in a domain or series.
1397
+ # Corresponds to the JSON property `domain`
1398
+ # @return [Google::Apis::SheetsV4::ChartData]
1399
+ attr_accessor :domain
1400
+
1401
+ # True to reverse the order of the domain values (horizontal axis).
1402
+ # Corresponds to the JSON property `reversed`
1403
+ # @return [Boolean]
1404
+ attr_accessor :reversed
1405
+ alias_method :reversed?, :reversed
1406
+
1407
+ def initialize(**args)
1408
+ update!(**args)
1409
+ end
1410
+
1411
+ # Update properties of this object
1412
+ def update!(**args)
1413
+ @domain = args[:domain] if args.key?(:domain)
1414
+ @reversed = args[:reversed] if args.key?(:reversed)
1415
+ end
1416
+ end
1417
+
1418
+ # A single series of data in a chart.
1419
+ # For example, if charting stock prices over time, multiple series may exist,
1420
+ # one for the "Open Price", "High Price", "Low Price" and "Close Price".
1421
+ class BasicChartSeries
1422
+ include Google::Apis::Core::Hashable
1423
+
1424
+ # Represents a color in the RGBA color space. This representation is designed
1425
+ # for simplicity of conversion to/from color representations in various
1426
+ # languages over compactness; for example, the fields of this representation
1427
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
1428
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
1429
+ # method in iOS; and, with just a little work, it can be easily formatted into
1430
+ # a CSS "rgba()" string in JavaScript, as well.
1431
+ # Note: this proto does not carry information about the absolute color space
1432
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
1433
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
1434
+ # space.
1435
+ # Example (Java):
1436
+ # import com.google.type.Color;
1437
+ # // ...
1438
+ # public static java.awt.Color fromProto(Color protocolor) `
1439
+ # float alpha = protocolor.hasAlpha()
1440
+ # ? protocolor.getAlpha().getValue()
1441
+ # : 1.0;
1442
+ # return new java.awt.Color(
1443
+ # protocolor.getRed(),
1444
+ # protocolor.getGreen(),
1445
+ # protocolor.getBlue(),
1446
+ # alpha);
1447
+ # `
1448
+ # public static Color toProto(java.awt.Color color) `
1449
+ # float red = (float) color.getRed();
1450
+ # float green = (float) color.getGreen();
1451
+ # float blue = (float) color.getBlue();
1452
+ # float denominator = 255.0;
1453
+ # Color.Builder resultBuilder =
1454
+ # Color
1455
+ # .newBuilder()
1456
+ # .setRed(red / denominator)
1457
+ # .setGreen(green / denominator)
1458
+ # .setBlue(blue / denominator);
1459
+ # int alpha = color.getAlpha();
1460
+ # if (alpha != 255) `
1461
+ # result.setAlpha(
1462
+ # FloatValue
1463
+ # .newBuilder()
1464
+ # .setValue(((float) alpha) / denominator)
1465
+ # .build());
1466
+ # `
1467
+ # return resultBuilder.build();
1468
+ # `
1469
+ # // ...
1470
+ # Example (iOS / Obj-C):
1471
+ # // ...
1472
+ # static UIColor* fromProto(Color* protocolor) `
1473
+ # float red = [protocolor red];
1474
+ # float green = [protocolor green];
1475
+ # float blue = [protocolor blue];
1476
+ # FloatValue* alpha_wrapper = [protocolor alpha];
1477
+ # float alpha = 1.0;
1478
+ # if (alpha_wrapper != nil) `
1479
+ # alpha = [alpha_wrapper value];
1480
+ # `
1481
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
1482
+ # `
1483
+ # static Color* toProto(UIColor* color) `
1484
+ # CGFloat red, green, blue, alpha;
1485
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
1486
+ # return nil;
1487
+ # `
1488
+ # Color* result = [[Color alloc] init];
1489
+ # [result setRed:red];
1490
+ # [result setGreen:green];
1491
+ # [result setBlue:blue];
1492
+ # if (alpha <= 0.9999) `
1493
+ # [result setAlpha:floatWrapperWithValue(alpha)];
1494
+ # `
1495
+ # [result autorelease];
1496
+ # return result;
1497
+ # `
1498
+ # // ...
1499
+ # Example (JavaScript):
1500
+ # // ...
1501
+ # var protoToCssColor = function(rgb_color) `
1502
+ # var redFrac = rgb_color.red || 0.0;
1503
+ # var greenFrac = rgb_color.green || 0.0;
1504
+ # var blueFrac = rgb_color.blue || 0.0;
1505
+ # var red = Math.floor(redFrac * 255);
1506
+ # var green = Math.floor(greenFrac * 255);
1507
+ # var blue = Math.floor(blueFrac * 255);
1508
+ # if (!('alpha' in rgb_color)) `
1509
+ # return rgbToCssColor_(red, green, blue);
1510
+ # `
1511
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
1512
+ # var rgbParams = [red, green, blue].join(',');
1513
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
1514
+ # `;
1515
+ # var rgbToCssColor_ = function(red, green, blue) `
1516
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
1517
+ # var hexString = rgbNumber.toString(16);
1518
+ # var missingZeros = 6 - hexString.length;
1519
+ # var resultBuilder = ['#'];
1520
+ # for (var i = 0; i < missingZeros; i++) `
1521
+ # resultBuilder.push('0');
1522
+ # `
1523
+ # resultBuilder.push(hexString);
1524
+ # return resultBuilder.join('');
1525
+ # `;
1526
+ # // ...
1527
+ # Corresponds to the JSON property `color`
1528
+ # @return [Google::Apis::SheetsV4::Color]
1529
+ attr_accessor :color
1530
+
1531
+ # Properties that describe the style of a line.
1532
+ # Corresponds to the JSON property `lineStyle`
1533
+ # @return [Google::Apis::SheetsV4::LineStyle]
1534
+ attr_accessor :line_style
1535
+
1536
+ # The data included in a domain or series.
1537
+ # Corresponds to the JSON property `series`
1538
+ # @return [Google::Apis::SheetsV4::ChartData]
1539
+ attr_accessor :series
1540
+
1541
+ # The minor axis that will specify the range of values for this series.
1542
+ # For example, if charting stocks over time, the "Volume" series
1543
+ # may want to be pinned to the right with the prices pinned to the left,
1544
+ # because the scale of trading volume is different than the scale of
1545
+ # prices.
1546
+ # It is an error to specify an axis that isn't a valid minor axis
1547
+ # for the chart's type.
1548
+ # Corresponds to the JSON property `targetAxis`
1549
+ # @return [String]
1550
+ attr_accessor :target_axis
1551
+
1552
+ # The type of this series. Valid only if the
1553
+ # chartType is
1554
+ # COMBO.
1555
+ # Different types will change the way the series is visualized.
1556
+ # Only LINE, AREA,
1557
+ # and COLUMN are supported.
1558
+ # Corresponds to the JSON property `type`
1559
+ # @return [String]
1560
+ attr_accessor :type
1561
+
1562
+ def initialize(**args)
1563
+ update!(**args)
1564
+ end
1565
+
1566
+ # Update properties of this object
1567
+ def update!(**args)
1568
+ @color = args[:color] if args.key?(:color)
1569
+ @line_style = args[:line_style] if args.key?(:line_style)
1570
+ @series = args[:series] if args.key?(:series)
1571
+ @target_axis = args[:target_axis] if args.key?(:target_axis)
1572
+ @type = args[:type] if args.key?(:type)
1573
+ end
1574
+ end
1575
+
1576
+ # The specification for a basic chart. See BasicChartType for the list
1577
+ # of charts this supports.
1578
+ class BasicChartSpec
1579
+ include Google::Apis::Core::Hashable
1580
+
1288
1581
  # The axis on the chart.
1289
1582
  # Corresponds to the JSON property `axis`
1290
1583
  # @return [Array<Google::Apis::SheetsV4::BasicChartAxis>]
@@ -2744,6 +3037,33 @@ module Google
2744
3037
  end
2745
3038
  end
2746
3039
 
3040
+ # Custom number formatting options for chart attributes.
3041
+ class ChartCustomNumberFormatOptions
3042
+ include Google::Apis::Core::Hashable
3043
+
3044
+ # Custom prefix to be prepended to the chart attribute.
3045
+ # This field is optional.
3046
+ # Corresponds to the JSON property `prefix`
3047
+ # @return [String]
3048
+ attr_accessor :prefix
3049
+
3050
+ # Custom suffix to be appended to the chart attribute.
3051
+ # This field is optional.
3052
+ # Corresponds to the JSON property `suffix`
3053
+ # @return [String]
3054
+ attr_accessor :suffix
3055
+
3056
+ def initialize(**args)
3057
+ update!(**args)
3058
+ end
3059
+
3060
+ # Update properties of this object
3061
+ def update!(**args)
3062
+ @prefix = args[:prefix] if args.key?(:prefix)
3063
+ @suffix = args[:suffix] if args.key?(:suffix)
3064
+ end
3065
+ end
3066
+
2747
3067
  # The data included in a domain or series.
2748
3068
  class ChartData
2749
3069
  include Google::Apis::Core::Hashable
@@ -2979,6 +3299,16 @@ module Google
2979
3299
  # @return [Google::Apis::SheetsV4::PieChartSpec]
2980
3300
  attr_accessor :pie_chart
2981
3301
 
3302
+ # A scorecard chart. Scorecard charts are used to highlight key performance
3303
+ # indicators, known as KPIs, on the spreadsheet. A scorecard chart can
3304
+ # represent things like total sales, average cost, or a top selling item. You
3305
+ # can specify a single data value, or aggregate over a range of data.
3306
+ # Percentage or absolute difference from a baseline value can be highlighted,
3307
+ # like changes over time.
3308
+ # Corresponds to the JSON property `scorecardChart`
3309
+ # @return [Google::Apis::SheetsV4::ScorecardChartSpec]
3310
+ attr_accessor :scorecard_chart
3311
+
2982
3312
  # The subtitle of the chart.
2983
3313
  # Corresponds to the JSON property `subtitle`
2984
3314
  # @return [String]
@@ -3038,6 +3368,7 @@ module Google
3038
3368
  @maximized = args[:maximized] if args.key?(:maximized)
3039
3369
  @org_chart = args[:org_chart] if args.key?(:org_chart)
3040
3370
  @pie_chart = args[:pie_chart] if args.key?(:pie_chart)
3371
+ @scorecard_chart = args[:scorecard_chart] if args.key?(:scorecard_chart)
3041
3372
  @subtitle = args[:subtitle] if args.key?(:subtitle)
3042
3373
  @subtitle_text_format = args[:subtitle_text_format] if args.key?(:subtitle_text_format)
3043
3374
  @subtitle_text_position = args[:subtitle_text_position] if args.key?(:subtitle_text_position)
@@ -4692,6 +5023,220 @@ module Google
4692
5023
  # @return [Array<String>]
4693
5024
  attr_accessor :hidden_values
4694
5025
 
5026
+ # Represents a color in the RGBA color space. This representation is designed
5027
+ # for simplicity of conversion to/from color representations in various
5028
+ # languages over compactness; for example, the fields of this representation
5029
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
5030
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
5031
+ # method in iOS; and, with just a little work, it can be easily formatted into
5032
+ # a CSS "rgba()" string in JavaScript, as well.
5033
+ # Note: this proto does not carry information about the absolute color space
5034
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
5035
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
5036
+ # space.
5037
+ # Example (Java):
5038
+ # import com.google.type.Color;
5039
+ # // ...
5040
+ # public static java.awt.Color fromProto(Color protocolor) `
5041
+ # float alpha = protocolor.hasAlpha()
5042
+ # ? protocolor.getAlpha().getValue()
5043
+ # : 1.0;
5044
+ # return new java.awt.Color(
5045
+ # protocolor.getRed(),
5046
+ # protocolor.getGreen(),
5047
+ # protocolor.getBlue(),
5048
+ # alpha);
5049
+ # `
5050
+ # public static Color toProto(java.awt.Color color) `
5051
+ # float red = (float) color.getRed();
5052
+ # float green = (float) color.getGreen();
5053
+ # float blue = (float) color.getBlue();
5054
+ # float denominator = 255.0;
5055
+ # Color.Builder resultBuilder =
5056
+ # Color
5057
+ # .newBuilder()
5058
+ # .setRed(red / denominator)
5059
+ # .setGreen(green / denominator)
5060
+ # .setBlue(blue / denominator);
5061
+ # int alpha = color.getAlpha();
5062
+ # if (alpha != 255) `
5063
+ # result.setAlpha(
5064
+ # FloatValue
5065
+ # .newBuilder()
5066
+ # .setValue(((float) alpha) / denominator)
5067
+ # .build());
5068
+ # `
5069
+ # return resultBuilder.build();
5070
+ # `
5071
+ # // ...
5072
+ # Example (iOS / Obj-C):
5073
+ # // ...
5074
+ # static UIColor* fromProto(Color* protocolor) `
5075
+ # float red = [protocolor red];
5076
+ # float green = [protocolor green];
5077
+ # float blue = [protocolor blue];
5078
+ # FloatValue* alpha_wrapper = [protocolor alpha];
5079
+ # float alpha = 1.0;
5080
+ # if (alpha_wrapper != nil) `
5081
+ # alpha = [alpha_wrapper value];
5082
+ # `
5083
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
5084
+ # `
5085
+ # static Color* toProto(UIColor* color) `
5086
+ # CGFloat red, green, blue, alpha;
5087
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
5088
+ # return nil;
5089
+ # `
5090
+ # Color* result = [[Color alloc] init];
5091
+ # [result setRed:red];
5092
+ # [result setGreen:green];
5093
+ # [result setBlue:blue];
5094
+ # if (alpha <= 0.9999) `
5095
+ # [result setAlpha:floatWrapperWithValue(alpha)];
5096
+ # `
5097
+ # [result autorelease];
5098
+ # return result;
5099
+ # `
5100
+ # // ...
5101
+ # Example (JavaScript):
5102
+ # // ...
5103
+ # var protoToCssColor = function(rgb_color) `
5104
+ # var redFrac = rgb_color.red || 0.0;
5105
+ # var greenFrac = rgb_color.green || 0.0;
5106
+ # var blueFrac = rgb_color.blue || 0.0;
5107
+ # var red = Math.floor(redFrac * 255);
5108
+ # var green = Math.floor(greenFrac * 255);
5109
+ # var blue = Math.floor(blueFrac * 255);
5110
+ # if (!('alpha' in rgb_color)) `
5111
+ # return rgbToCssColor_(red, green, blue);
5112
+ # `
5113
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
5114
+ # var rgbParams = [red, green, blue].join(',');
5115
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
5116
+ # `;
5117
+ # var rgbToCssColor_ = function(red, green, blue) `
5118
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
5119
+ # var hexString = rgbNumber.toString(16);
5120
+ # var missingZeros = 6 - hexString.length;
5121
+ # var resultBuilder = ['#'];
5122
+ # for (var i = 0; i < missingZeros; i++) `
5123
+ # resultBuilder.push('0');
5124
+ # `
5125
+ # resultBuilder.push(hexString);
5126
+ # return resultBuilder.join('');
5127
+ # `;
5128
+ # // ...
5129
+ # Corresponds to the JSON property `visibleBackgroundColor`
5130
+ # @return [Google::Apis::SheetsV4::Color]
5131
+ attr_accessor :visible_background_color
5132
+
5133
+ # Represents a color in the RGBA color space. This representation is designed
5134
+ # for simplicity of conversion to/from color representations in various
5135
+ # languages over compactness; for example, the fields of this representation
5136
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
5137
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
5138
+ # method in iOS; and, with just a little work, it can be easily formatted into
5139
+ # a CSS "rgba()" string in JavaScript, as well.
5140
+ # Note: this proto does not carry information about the absolute color space
5141
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
5142
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
5143
+ # space.
5144
+ # Example (Java):
5145
+ # import com.google.type.Color;
5146
+ # // ...
5147
+ # public static java.awt.Color fromProto(Color protocolor) `
5148
+ # float alpha = protocolor.hasAlpha()
5149
+ # ? protocolor.getAlpha().getValue()
5150
+ # : 1.0;
5151
+ # return new java.awt.Color(
5152
+ # protocolor.getRed(),
5153
+ # protocolor.getGreen(),
5154
+ # protocolor.getBlue(),
5155
+ # alpha);
5156
+ # `
5157
+ # public static Color toProto(java.awt.Color color) `
5158
+ # float red = (float) color.getRed();
5159
+ # float green = (float) color.getGreen();
5160
+ # float blue = (float) color.getBlue();
5161
+ # float denominator = 255.0;
5162
+ # Color.Builder resultBuilder =
5163
+ # Color
5164
+ # .newBuilder()
5165
+ # .setRed(red / denominator)
5166
+ # .setGreen(green / denominator)
5167
+ # .setBlue(blue / denominator);
5168
+ # int alpha = color.getAlpha();
5169
+ # if (alpha != 255) `
5170
+ # result.setAlpha(
5171
+ # FloatValue
5172
+ # .newBuilder()
5173
+ # .setValue(((float) alpha) / denominator)
5174
+ # .build());
5175
+ # `
5176
+ # return resultBuilder.build();
5177
+ # `
5178
+ # // ...
5179
+ # Example (iOS / Obj-C):
5180
+ # // ...
5181
+ # static UIColor* fromProto(Color* protocolor) `
5182
+ # float red = [protocolor red];
5183
+ # float green = [protocolor green];
5184
+ # float blue = [protocolor blue];
5185
+ # FloatValue* alpha_wrapper = [protocolor alpha];
5186
+ # float alpha = 1.0;
5187
+ # if (alpha_wrapper != nil) `
5188
+ # alpha = [alpha_wrapper value];
5189
+ # `
5190
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
5191
+ # `
5192
+ # static Color* toProto(UIColor* color) `
5193
+ # CGFloat red, green, blue, alpha;
5194
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
5195
+ # return nil;
5196
+ # `
5197
+ # Color* result = [[Color alloc] init];
5198
+ # [result setRed:red];
5199
+ # [result setGreen:green];
5200
+ # [result setBlue:blue];
5201
+ # if (alpha <= 0.9999) `
5202
+ # [result setAlpha:floatWrapperWithValue(alpha)];
5203
+ # `
5204
+ # [result autorelease];
5205
+ # return result;
5206
+ # `
5207
+ # // ...
5208
+ # Example (JavaScript):
5209
+ # // ...
5210
+ # var protoToCssColor = function(rgb_color) `
5211
+ # var redFrac = rgb_color.red || 0.0;
5212
+ # var greenFrac = rgb_color.green || 0.0;
5213
+ # var blueFrac = rgb_color.blue || 0.0;
5214
+ # var red = Math.floor(redFrac * 255);
5215
+ # var green = Math.floor(greenFrac * 255);
5216
+ # var blue = Math.floor(blueFrac * 255);
5217
+ # if (!('alpha' in rgb_color)) `
5218
+ # return rgbToCssColor_(red, green, blue);
5219
+ # `
5220
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
5221
+ # var rgbParams = [red, green, blue].join(',');
5222
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
5223
+ # `;
5224
+ # var rgbToCssColor_ = function(red, green, blue) `
5225
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
5226
+ # var hexString = rgbNumber.toString(16);
5227
+ # var missingZeros = 6 - hexString.length;
5228
+ # var resultBuilder = ['#'];
5229
+ # for (var i = 0; i < missingZeros; i++) `
5230
+ # resultBuilder.push('0');
5231
+ # `
5232
+ # resultBuilder.push(hexString);
5233
+ # return resultBuilder.join('');
5234
+ # `;
5235
+ # // ...
5236
+ # Corresponds to the JSON property `visibleForegroundColor`
5237
+ # @return [Google::Apis::SheetsV4::Color]
5238
+ attr_accessor :visible_foreground_color
5239
+
4695
5240
  def initialize(**args)
4696
5241
  update!(**args)
4697
5242
  end
@@ -4700,6 +5245,8 @@ module Google
4700
5245
  def update!(**args)
4701
5246
  @condition = args[:condition] if args.key?(:condition)
4702
5247
  @hidden_values = args[:hidden_values] if args.key?(:hidden_values)
5248
+ @visible_background_color = args[:visible_background_color] if args.key?(:visible_background_color)
5249
+ @visible_foreground_color = args[:visible_foreground_color] if args.key?(:visible_foreground_color)
4703
5250
  end
4704
5251
  end
4705
5252
 
@@ -5701,6 +6248,32 @@ module Google
5701
6248
  end
5702
6249
  end
5703
6250
 
6251
+ # Formatting options for key value.
6252
+ class KeyValueFormat
6253
+ include Google::Apis::Core::Hashable
6254
+
6255
+ # Position settings for text.
6256
+ # Corresponds to the JSON property `position`
6257
+ # @return [Google::Apis::SheetsV4::TextPosition]
6258
+ attr_accessor :position
6259
+
6260
+ # The format of a run of text in a cell.
6261
+ # Absent values indicate that the field isn't specified.
6262
+ # Corresponds to the JSON property `textFormat`
6263
+ # @return [Google::Apis::SheetsV4::TextFormat]
6264
+ attr_accessor :text_format
6265
+
6266
+ def initialize(**args)
6267
+ update!(**args)
6268
+ end
6269
+
6270
+ # Update properties of this object
6271
+ def update!(**args)
6272
+ @position = args[:position] if args.key?(:position)
6273
+ @text_format = args[:text_format] if args.key?(:text_format)
6274
+ end
6275
+ end
6276
+
5704
6277
  # Properties that describe the style of a line.
5705
6278
  class LineStyle
5706
6279
  include Google::Apis::Core::Hashable
@@ -7142,6 +7715,11 @@ module Google
7142
7715
  # @return [Google::Apis::SheetsV4::AddSheetRequest]
7143
7716
  attr_accessor :add_sheet
7144
7717
 
7718
+ # Adds a slicer to a sheet in the spreadsheet.
7719
+ # Corresponds to the JSON property `addSlicer`
7720
+ # @return [Google::Apis::SheetsV4::AddSlicerRequest]
7721
+ attr_accessor :add_slicer
7722
+
7145
7723
  # Adds new cells after the last row with data in a sheet,
7146
7724
  # inserting new rows into the sheet if necessary.
7147
7725
  # Corresponds to the JSON property `appendCells`
@@ -7439,6 +8017,13 @@ module Google
7439
8017
  # @return [Google::Apis::SheetsV4::UpdateSheetPropertiesRequest]
7440
8018
  attr_accessor :update_sheet_properties
7441
8019
 
8020
+ # Updates a slicer’s specifications.
8021
+ # (This does not move or resize a slicer. To move or resize a slicer use
8022
+ # UpdateEmbeddedObjectPositionRequest.
8023
+ # Corresponds to the JSON property `updateSlicerSpec`
8024
+ # @return [Google::Apis::SheetsV4::UpdateSlicerSpecRequest]
8025
+ attr_accessor :update_slicer_spec
8026
+
7442
8027
  # Updates properties of a spreadsheet.
7443
8028
  # Corresponds to the JSON property `updateSpreadsheetProperties`
7444
8029
  # @return [Google::Apis::SheetsV4::UpdateSpreadsheetPropertiesRequest]
@@ -7458,6 +8043,7 @@ module Google
7458
8043
  @add_named_range = args[:add_named_range] if args.key?(:add_named_range)
7459
8044
  @add_protected_range = args[:add_protected_range] if args.key?(:add_protected_range)
7460
8045
  @add_sheet = args[:add_sheet] if args.key?(:add_sheet)
8046
+ @add_slicer = args[:add_slicer] if args.key?(:add_slicer)
7461
8047
  @append_cells = args[:append_cells] if args.key?(:append_cells)
7462
8048
  @append_dimension = args[:append_dimension] if args.key?(:append_dimension)
7463
8049
  @auto_fill = args[:auto_fill] if args.key?(:auto_fill)
@@ -7507,6 +8093,7 @@ module Google
7507
8093
  @update_named_range = args[:update_named_range] if args.key?(:update_named_range)
7508
8094
  @update_protected_range = args[:update_protected_range] if args.key?(:update_protected_range)
7509
8095
  @update_sheet_properties = args[:update_sheet_properties] if args.key?(:update_sheet_properties)
8096
+ @update_slicer_spec = args[:update_slicer_spec] if args.key?(:update_slicer_spec)
7510
8097
  @update_spreadsheet_properties = args[:update_spreadsheet_properties] if args.key?(:update_spreadsheet_properties)
7511
8098
  end
7512
8099
  end
@@ -7550,6 +8137,11 @@ module Google
7550
8137
  # @return [Google::Apis::SheetsV4::AddSheetResponse]
7551
8138
  attr_accessor :add_sheet
7552
8139
 
8140
+ # The result of adding a slicer to a spreadsheet.
8141
+ # Corresponds to the JSON property `addSlicer`
8142
+ # @return [Google::Apis::SheetsV4::AddSlicerResponse]
8143
+ attr_accessor :add_slicer
8144
+
7553
8145
  # The response from creating developer metadata.
7554
8146
  # Corresponds to the JSON property `createDeveloperMetadata`
7555
8147
  # @return [Google::Apis::SheetsV4::CreateDeveloperMetadataResponse]
@@ -7623,6 +8215,7 @@ module Google
7623
8215
  @add_named_range = args[:add_named_range] if args.key?(:add_named_range)
7624
8216
  @add_protected_range = args[:add_protected_range] if args.key?(:add_protected_range)
7625
8217
  @add_sheet = args[:add_sheet] if args.key?(:add_sheet)
8218
+ @add_slicer = args[:add_slicer] if args.key?(:add_slicer)
7626
8219
  @create_developer_metadata = args[:create_developer_metadata] if args.key?(:create_developer_metadata)
7627
8220
  @delete_conditional_format_rule = args[:delete_conditional_format_rule] if args.key?(:delete_conditional_format_rule)
7628
8221
  @delete_developer_metadata = args[:delete_developer_metadata] if args.key?(:delete_developer_metadata)
@@ -7657,25 +8250,95 @@ module Google
7657
8250
  end
7658
8251
  end
7659
8252
 
7660
- # A request to retrieve all developer metadata matching the set of specified
7661
- # criteria.
7662
- class SearchDeveloperMetadataRequest
8253
+ # A scorecard chart. Scorecard charts are used to highlight key performance
8254
+ # indicators, known as KPIs, on the spreadsheet. A scorecard chart can
8255
+ # represent things like total sales, average cost, or a top selling item. You
8256
+ # can specify a single data value, or aggregate over a range of data.
8257
+ # Percentage or absolute difference from a baseline value can be highlighted,
8258
+ # like changes over time.
8259
+ class ScorecardChartSpec
7663
8260
  include Google::Apis::Core::Hashable
7664
8261
 
7665
- # The data filters describing the criteria used to determine which
7666
- # DeveloperMetadata entries to return. DeveloperMetadata matching any of the
7667
- # specified filters will be included in the response.
7668
- # Corresponds to the JSON property `dataFilters`
7669
- # @return [Array<Google::Apis::SheetsV4::DataFilter>]
7670
- attr_accessor :data_filters
8262
+ # The aggregation type for key and baseline chart data in scorecard chart.
8263
+ # This field is optional.
8264
+ # Corresponds to the JSON property `aggregateType`
8265
+ # @return [String]
8266
+ attr_accessor :aggregate_type
7671
8267
 
7672
- def initialize(**args)
7673
- update!(**args)
7674
- end
8268
+ # The data included in a domain or series.
8269
+ # Corresponds to the JSON property `baselineValueData`
8270
+ # @return [Google::Apis::SheetsV4::ChartData]
8271
+ attr_accessor :baseline_value_data
7675
8272
 
7676
- # Update properties of this object
7677
- def update!(**args)
7678
- @data_filters = args[:data_filters] if args.key?(:data_filters)
8273
+ # Formatting options for baseline value.
8274
+ # Corresponds to the JSON property `baselineValueFormat`
8275
+ # @return [Google::Apis::SheetsV4::BaselineValueFormat]
8276
+ attr_accessor :baseline_value_format
8277
+
8278
+ # Custom number formatting options for chart attributes.
8279
+ # Corresponds to the JSON property `customFormatOptions`
8280
+ # @return [Google::Apis::SheetsV4::ChartCustomNumberFormatOptions]
8281
+ attr_accessor :custom_format_options
8282
+
8283
+ # The data included in a domain or series.
8284
+ # Corresponds to the JSON property `keyValueData`
8285
+ # @return [Google::Apis::SheetsV4::ChartData]
8286
+ attr_accessor :key_value_data
8287
+
8288
+ # Formatting options for key value.
8289
+ # Corresponds to the JSON property `keyValueFormat`
8290
+ # @return [Google::Apis::SheetsV4::KeyValueFormat]
8291
+ attr_accessor :key_value_format
8292
+
8293
+ # The number format source used in the scorecard chart.
8294
+ # This field is optional.
8295
+ # Corresponds to the JSON property `numberFormatSource`
8296
+ # @return [String]
8297
+ attr_accessor :number_format_source
8298
+
8299
+ # Value to scale scorecard key and baseline value. For example, a factor of
8300
+ # 10 can be used to divide all values in the chart by 10.
8301
+ # This field is optional.
8302
+ # Corresponds to the JSON property `scaleFactor`
8303
+ # @return [Float]
8304
+ attr_accessor :scale_factor
8305
+
8306
+ def initialize(**args)
8307
+ update!(**args)
8308
+ end
8309
+
8310
+ # Update properties of this object
8311
+ def update!(**args)
8312
+ @aggregate_type = args[:aggregate_type] if args.key?(:aggregate_type)
8313
+ @baseline_value_data = args[:baseline_value_data] if args.key?(:baseline_value_data)
8314
+ @baseline_value_format = args[:baseline_value_format] if args.key?(:baseline_value_format)
8315
+ @custom_format_options = args[:custom_format_options] if args.key?(:custom_format_options)
8316
+ @key_value_data = args[:key_value_data] if args.key?(:key_value_data)
8317
+ @key_value_format = args[:key_value_format] if args.key?(:key_value_format)
8318
+ @number_format_source = args[:number_format_source] if args.key?(:number_format_source)
8319
+ @scale_factor = args[:scale_factor] if args.key?(:scale_factor)
8320
+ end
8321
+ end
8322
+
8323
+ # A request to retrieve all developer metadata matching the set of specified
8324
+ # criteria.
8325
+ class SearchDeveloperMetadataRequest
8326
+ include Google::Apis::Core::Hashable
8327
+
8328
+ # The data filters describing the criteria used to determine which
8329
+ # DeveloperMetadata entries to return. DeveloperMetadata matching any of the
8330
+ # specified filters will be included in the response.
8331
+ # Corresponds to the JSON property `dataFilters`
8332
+ # @return [Array<Google::Apis::SheetsV4::DataFilter>]
8333
+ attr_accessor :data_filters
8334
+
8335
+ def initialize(**args)
8336
+ update!(**args)
8337
+ end
8338
+
8339
+ # Update properties of this object
8340
+ def update!(**args)
8341
+ @data_filters = args[:data_filters] if args.key?(:data_filters)
7679
8342
  end
7680
8343
  end
7681
8344
 
@@ -7837,6 +8500,11 @@ module Google
7837
8500
  # @return [Array<Google::Apis::SheetsV4::DimensionGroup>]
7838
8501
  attr_accessor :row_groups
7839
8502
 
8503
+ # The slicers on this sheet.
8504
+ # Corresponds to the JSON property `slicers`
8505
+ # @return [Array<Google::Apis::SheetsV4::Slicer>]
8506
+ attr_accessor :slicers
8507
+
7840
8508
  def initialize(**args)
7841
8509
  update!(**args)
7842
8510
  end
@@ -7855,6 +8523,7 @@ module Google
7855
8523
  @properties = args[:properties] if args.key?(:properties)
7856
8524
  @protected_ranges = args[:protected_ranges] if args.key?(:protected_ranges)
7857
8525
  @row_groups = args[:row_groups] if args.key?(:row_groups)
8526
+ @slicers = args[:slicers] if args.key?(:slicers)
7858
8527
  end
7859
8528
  end
7860
8529
 
@@ -7873,37 +8542,436 @@ module Google
7873
8542
  attr_accessor :hidden
7874
8543
  alias_method :hidden?, :hidden
7875
8544
 
7876
- # The index of the sheet within the spreadsheet.
7877
- # When adding or updating sheet properties, if this field
7878
- # is excluded then the sheet is added or moved to the end
7879
- # of the sheet list. When updating sheet indices or inserting
7880
- # sheets, movement is considered in "before the move" indexes.
7881
- # For example, if there were 3 sheets (S1, S2, S3) in order to
7882
- # move S1 ahead of S2 the index would have to be set to 2. A sheet
7883
- # index update request is ignored if the requested index is
7884
- # identical to the sheets current index or if the requested new
7885
- # index is equal to the current sheet index + 1.
7886
- # Corresponds to the JSON property `index`
7887
- # @return [Fixnum]
7888
- attr_accessor :index
8545
+ # The index of the sheet within the spreadsheet.
8546
+ # When adding or updating sheet properties, if this field
8547
+ # is excluded then the sheet is added or moved to the end
8548
+ # of the sheet list. When updating sheet indices or inserting
8549
+ # sheets, movement is considered in "before the move" indexes.
8550
+ # For example, if there were 3 sheets (S1, S2, S3) in order to
8551
+ # move S1 ahead of S2 the index would have to be set to 2. A sheet
8552
+ # index update request is ignored if the requested index is
8553
+ # identical to the sheets current index or if the requested new
8554
+ # index is equal to the current sheet index + 1.
8555
+ # Corresponds to the JSON property `index`
8556
+ # @return [Fixnum]
8557
+ attr_accessor :index
8558
+
8559
+ # True if the sheet is an RTL sheet instead of an LTR sheet.
8560
+ # Corresponds to the JSON property `rightToLeft`
8561
+ # @return [Boolean]
8562
+ attr_accessor :right_to_left
8563
+ alias_method :right_to_left?, :right_to_left
8564
+
8565
+ # The ID of the sheet. Must be non-negative.
8566
+ # This field cannot be changed once set.
8567
+ # Corresponds to the JSON property `sheetId`
8568
+ # @return [Fixnum]
8569
+ attr_accessor :sheet_id
8570
+
8571
+ # The type of sheet. Defaults to GRID.
8572
+ # This field cannot be changed once set.
8573
+ # Corresponds to the JSON property `sheetType`
8574
+ # @return [String]
8575
+ attr_accessor :sheet_type
8576
+
8577
+ # Represents a color in the RGBA color space. This representation is designed
8578
+ # for simplicity of conversion to/from color representations in various
8579
+ # languages over compactness; for example, the fields of this representation
8580
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
8581
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
8582
+ # method in iOS; and, with just a little work, it can be easily formatted into
8583
+ # a CSS "rgba()" string in JavaScript, as well.
8584
+ # Note: this proto does not carry information about the absolute color space
8585
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
8586
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
8587
+ # space.
8588
+ # Example (Java):
8589
+ # import com.google.type.Color;
8590
+ # // ...
8591
+ # public static java.awt.Color fromProto(Color protocolor) `
8592
+ # float alpha = protocolor.hasAlpha()
8593
+ # ? protocolor.getAlpha().getValue()
8594
+ # : 1.0;
8595
+ # return new java.awt.Color(
8596
+ # protocolor.getRed(),
8597
+ # protocolor.getGreen(),
8598
+ # protocolor.getBlue(),
8599
+ # alpha);
8600
+ # `
8601
+ # public static Color toProto(java.awt.Color color) `
8602
+ # float red = (float) color.getRed();
8603
+ # float green = (float) color.getGreen();
8604
+ # float blue = (float) color.getBlue();
8605
+ # float denominator = 255.0;
8606
+ # Color.Builder resultBuilder =
8607
+ # Color
8608
+ # .newBuilder()
8609
+ # .setRed(red / denominator)
8610
+ # .setGreen(green / denominator)
8611
+ # .setBlue(blue / denominator);
8612
+ # int alpha = color.getAlpha();
8613
+ # if (alpha != 255) `
8614
+ # result.setAlpha(
8615
+ # FloatValue
8616
+ # .newBuilder()
8617
+ # .setValue(((float) alpha) / denominator)
8618
+ # .build());
8619
+ # `
8620
+ # return resultBuilder.build();
8621
+ # `
8622
+ # // ...
8623
+ # Example (iOS / Obj-C):
8624
+ # // ...
8625
+ # static UIColor* fromProto(Color* protocolor) `
8626
+ # float red = [protocolor red];
8627
+ # float green = [protocolor green];
8628
+ # float blue = [protocolor blue];
8629
+ # FloatValue* alpha_wrapper = [protocolor alpha];
8630
+ # float alpha = 1.0;
8631
+ # if (alpha_wrapper != nil) `
8632
+ # alpha = [alpha_wrapper value];
8633
+ # `
8634
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
8635
+ # `
8636
+ # static Color* toProto(UIColor* color) `
8637
+ # CGFloat red, green, blue, alpha;
8638
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
8639
+ # return nil;
8640
+ # `
8641
+ # Color* result = [[Color alloc] init];
8642
+ # [result setRed:red];
8643
+ # [result setGreen:green];
8644
+ # [result setBlue:blue];
8645
+ # if (alpha <= 0.9999) `
8646
+ # [result setAlpha:floatWrapperWithValue(alpha)];
8647
+ # `
8648
+ # [result autorelease];
8649
+ # return result;
8650
+ # `
8651
+ # // ...
8652
+ # Example (JavaScript):
8653
+ # // ...
8654
+ # var protoToCssColor = function(rgb_color) `
8655
+ # var redFrac = rgb_color.red || 0.0;
8656
+ # var greenFrac = rgb_color.green || 0.0;
8657
+ # var blueFrac = rgb_color.blue || 0.0;
8658
+ # var red = Math.floor(redFrac * 255);
8659
+ # var green = Math.floor(greenFrac * 255);
8660
+ # var blue = Math.floor(blueFrac * 255);
8661
+ # if (!('alpha' in rgb_color)) `
8662
+ # return rgbToCssColor_(red, green, blue);
8663
+ # `
8664
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
8665
+ # var rgbParams = [red, green, blue].join(',');
8666
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
8667
+ # `;
8668
+ # var rgbToCssColor_ = function(red, green, blue) `
8669
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
8670
+ # var hexString = rgbNumber.toString(16);
8671
+ # var missingZeros = 6 - hexString.length;
8672
+ # var resultBuilder = ['#'];
8673
+ # for (var i = 0; i < missingZeros; i++) `
8674
+ # resultBuilder.push('0');
8675
+ # `
8676
+ # resultBuilder.push(hexString);
8677
+ # return resultBuilder.join('');
8678
+ # `;
8679
+ # // ...
8680
+ # Corresponds to the JSON property `tabColor`
8681
+ # @return [Google::Apis::SheetsV4::Color]
8682
+ attr_accessor :tab_color
8683
+
8684
+ # The name of the sheet.
8685
+ # Corresponds to the JSON property `title`
8686
+ # @return [String]
8687
+ attr_accessor :title
8688
+
8689
+ def initialize(**args)
8690
+ update!(**args)
8691
+ end
8692
+
8693
+ # Update properties of this object
8694
+ def update!(**args)
8695
+ @grid_properties = args[:grid_properties] if args.key?(:grid_properties)
8696
+ @hidden = args[:hidden] if args.key?(:hidden)
8697
+ @index = args[:index] if args.key?(:index)
8698
+ @right_to_left = args[:right_to_left] if args.key?(:right_to_left)
8699
+ @sheet_id = args[:sheet_id] if args.key?(:sheet_id)
8700
+ @sheet_type = args[:sheet_type] if args.key?(:sheet_type)
8701
+ @tab_color = args[:tab_color] if args.key?(:tab_color)
8702
+ @title = args[:title] if args.key?(:title)
8703
+ end
8704
+ end
8705
+
8706
+ # A slicer in a sheet.
8707
+ class Slicer
8708
+ include Google::Apis::Core::Hashable
8709
+
8710
+ # The position of an embedded object such as a chart.
8711
+ # Corresponds to the JSON property `position`
8712
+ # @return [Google::Apis::SheetsV4::EmbeddedObjectPosition]
8713
+ attr_accessor :position
8714
+
8715
+ # The ID of the slicer.
8716
+ # Corresponds to the JSON property `slicerId`
8717
+ # @return [Fixnum]
8718
+ attr_accessor :slicer_id
8719
+
8720
+ # The specifications of a slicer.
8721
+ # Corresponds to the JSON property `spec`
8722
+ # @return [Google::Apis::SheetsV4::SlicerSpec]
8723
+ attr_accessor :spec
8724
+
8725
+ def initialize(**args)
8726
+ update!(**args)
8727
+ end
8728
+
8729
+ # Update properties of this object
8730
+ def update!(**args)
8731
+ @position = args[:position] if args.key?(:position)
8732
+ @slicer_id = args[:slicer_id] if args.key?(:slicer_id)
8733
+ @spec = args[:spec] if args.key?(:spec)
8734
+ end
8735
+ end
8736
+
8737
+ # The specifications of a slicer.
8738
+ class SlicerSpec
8739
+ include Google::Apis::Core::Hashable
8740
+
8741
+ # True if the filter should apply to pivot tables.
8742
+ # If not set, default to `True`.
8743
+ # Corresponds to the JSON property `applyToPivotTables`
8744
+ # @return [Boolean]
8745
+ attr_accessor :apply_to_pivot_tables
8746
+ alias_method :apply_to_pivot_tables?, :apply_to_pivot_tables
8747
+
8748
+ # Represents a color in the RGBA color space. This representation is designed
8749
+ # for simplicity of conversion to/from color representations in various
8750
+ # languages over compactness; for example, the fields of this representation
8751
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
8752
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
8753
+ # method in iOS; and, with just a little work, it can be easily formatted into
8754
+ # a CSS "rgba()" string in JavaScript, as well.
8755
+ # Note: this proto does not carry information about the absolute color space
8756
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
8757
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
8758
+ # space.
8759
+ # Example (Java):
8760
+ # import com.google.type.Color;
8761
+ # // ...
8762
+ # public static java.awt.Color fromProto(Color protocolor) `
8763
+ # float alpha = protocolor.hasAlpha()
8764
+ # ? protocolor.getAlpha().getValue()
8765
+ # : 1.0;
8766
+ # return new java.awt.Color(
8767
+ # protocolor.getRed(),
8768
+ # protocolor.getGreen(),
8769
+ # protocolor.getBlue(),
8770
+ # alpha);
8771
+ # `
8772
+ # public static Color toProto(java.awt.Color color) `
8773
+ # float red = (float) color.getRed();
8774
+ # float green = (float) color.getGreen();
8775
+ # float blue = (float) color.getBlue();
8776
+ # float denominator = 255.0;
8777
+ # Color.Builder resultBuilder =
8778
+ # Color
8779
+ # .newBuilder()
8780
+ # .setRed(red / denominator)
8781
+ # .setGreen(green / denominator)
8782
+ # .setBlue(blue / denominator);
8783
+ # int alpha = color.getAlpha();
8784
+ # if (alpha != 255) `
8785
+ # result.setAlpha(
8786
+ # FloatValue
8787
+ # .newBuilder()
8788
+ # .setValue(((float) alpha) / denominator)
8789
+ # .build());
8790
+ # `
8791
+ # return resultBuilder.build();
8792
+ # `
8793
+ # // ...
8794
+ # Example (iOS / Obj-C):
8795
+ # // ...
8796
+ # static UIColor* fromProto(Color* protocolor) `
8797
+ # float red = [protocolor red];
8798
+ # float green = [protocolor green];
8799
+ # float blue = [protocolor blue];
8800
+ # FloatValue* alpha_wrapper = [protocolor alpha];
8801
+ # float alpha = 1.0;
8802
+ # if (alpha_wrapper != nil) `
8803
+ # alpha = [alpha_wrapper value];
8804
+ # `
8805
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
8806
+ # `
8807
+ # static Color* toProto(UIColor* color) `
8808
+ # CGFloat red, green, blue, alpha;
8809
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
8810
+ # return nil;
8811
+ # `
8812
+ # Color* result = [[Color alloc] init];
8813
+ # [result setRed:red];
8814
+ # [result setGreen:green];
8815
+ # [result setBlue:blue];
8816
+ # if (alpha <= 0.9999) `
8817
+ # [result setAlpha:floatWrapperWithValue(alpha)];
8818
+ # `
8819
+ # [result autorelease];
8820
+ # return result;
8821
+ # `
8822
+ # // ...
8823
+ # Example (JavaScript):
8824
+ # // ...
8825
+ # var protoToCssColor = function(rgb_color) `
8826
+ # var redFrac = rgb_color.red || 0.0;
8827
+ # var greenFrac = rgb_color.green || 0.0;
8828
+ # var blueFrac = rgb_color.blue || 0.0;
8829
+ # var red = Math.floor(redFrac * 255);
8830
+ # var green = Math.floor(greenFrac * 255);
8831
+ # var blue = Math.floor(blueFrac * 255);
8832
+ # if (!('alpha' in rgb_color)) `
8833
+ # return rgbToCssColor_(red, green, blue);
8834
+ # `
8835
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
8836
+ # var rgbParams = [red, green, blue].join(',');
8837
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
8838
+ # `;
8839
+ # var rgbToCssColor_ = function(red, green, blue) `
8840
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
8841
+ # var hexString = rgbNumber.toString(16);
8842
+ # var missingZeros = 6 - hexString.length;
8843
+ # var resultBuilder = ['#'];
8844
+ # for (var i = 0; i < missingZeros; i++) `
8845
+ # resultBuilder.push('0');
8846
+ # `
8847
+ # resultBuilder.push(hexString);
8848
+ # return resultBuilder.join('');
8849
+ # `;
8850
+ # // ...
8851
+ # Corresponds to the JSON property `backgroundColor`
8852
+ # @return [Google::Apis::SheetsV4::Color]
8853
+ attr_accessor :background_color
8854
+
8855
+ # The column index in the data table on which the filter is applied to.
8856
+ # Corresponds to the JSON property `columnIndex`
8857
+ # @return [Fixnum]
8858
+ attr_accessor :column_index
8859
+
8860
+ # A range on a sheet.
8861
+ # All indexes are zero-based.
8862
+ # Indexes are half open, e.g the start index is inclusive
8863
+ # and the end index is exclusive -- [start_index, end_index).
8864
+ # Missing indexes indicate the range is unbounded on that side.
8865
+ # For example, if `"Sheet1"` is sheet ID 0, then:
8866
+ # `Sheet1!A1:A1 == sheet_id: 0,
8867
+ # start_row_index: 0, end_row_index: 1,
8868
+ # start_column_index: 0, end_column_index: 1`
8869
+ # `Sheet1!A3:B4 == sheet_id: 0,
8870
+ # start_row_index: 2, end_row_index: 4,
8871
+ # start_column_index: 0, end_column_index: 2`
8872
+ # `Sheet1!A:B == sheet_id: 0,
8873
+ # start_column_index: 0, end_column_index: 2`
8874
+ # `Sheet1!A5:B == sheet_id: 0,
8875
+ # start_row_index: 4,
8876
+ # start_column_index: 0, end_column_index: 2`
8877
+ # `Sheet1 == sheet_id:0`
8878
+ # The start index must always be less than or equal to the end index.
8879
+ # If the start index equals the end index, then the range is empty.
8880
+ # Empty ranges are typically not meaningful and are usually rendered in the
8881
+ # UI as `#REF!`.
8882
+ # Corresponds to the JSON property `dataRange`
8883
+ # @return [Google::Apis::SheetsV4::GridRange]
8884
+ attr_accessor :data_range
8885
+
8886
+ # Criteria for showing/hiding rows in a filter or filter view.
8887
+ # Corresponds to the JSON property `filterCriteria`
8888
+ # @return [Google::Apis::SheetsV4::FilterCriteria]
8889
+ attr_accessor :filter_criteria
8890
+
8891
+ # The horizontal alignment of title in the slicer.
8892
+ # If unspecified, defaults to `LEFT`
8893
+ # Corresponds to the JSON property `horizontalAlignment`
8894
+ # @return [String]
8895
+ attr_accessor :horizontal_alignment
8896
+
8897
+ # The format of a run of text in a cell.
8898
+ # Absent values indicate that the field isn't specified.
8899
+ # Corresponds to the JSON property `textFormat`
8900
+ # @return [Google::Apis::SheetsV4::TextFormat]
8901
+ attr_accessor :text_format
8902
+
8903
+ # The title of the slicer.
8904
+ # Corresponds to the JSON property `title`
8905
+ # @return [String]
8906
+ attr_accessor :title
8907
+
8908
+ def initialize(**args)
8909
+ update!(**args)
8910
+ end
8911
+
8912
+ # Update properties of this object
8913
+ def update!(**args)
8914
+ @apply_to_pivot_tables = args[:apply_to_pivot_tables] if args.key?(:apply_to_pivot_tables)
8915
+ @background_color = args[:background_color] if args.key?(:background_color)
8916
+ @column_index = args[:column_index] if args.key?(:column_index)
8917
+ @data_range = args[:data_range] if args.key?(:data_range)
8918
+ @filter_criteria = args[:filter_criteria] if args.key?(:filter_criteria)
8919
+ @horizontal_alignment = args[:horizontal_alignment] if args.key?(:horizontal_alignment)
8920
+ @text_format = args[:text_format] if args.key?(:text_format)
8921
+ @title = args[:title] if args.key?(:title)
8922
+ end
8923
+ end
8924
+
8925
+ # Sorts data in rows based on a sort order per column.
8926
+ class SortRangeRequest
8927
+ include Google::Apis::Core::Hashable
8928
+
8929
+ # A range on a sheet.
8930
+ # All indexes are zero-based.
8931
+ # Indexes are half open, e.g the start index is inclusive
8932
+ # and the end index is exclusive -- [start_index, end_index).
8933
+ # Missing indexes indicate the range is unbounded on that side.
8934
+ # For example, if `"Sheet1"` is sheet ID 0, then:
8935
+ # `Sheet1!A1:A1 == sheet_id: 0,
8936
+ # start_row_index: 0, end_row_index: 1,
8937
+ # start_column_index: 0, end_column_index: 1`
8938
+ # `Sheet1!A3:B4 == sheet_id: 0,
8939
+ # start_row_index: 2, end_row_index: 4,
8940
+ # start_column_index: 0, end_column_index: 2`
8941
+ # `Sheet1!A:B == sheet_id: 0,
8942
+ # start_column_index: 0, end_column_index: 2`
8943
+ # `Sheet1!A5:B == sheet_id: 0,
8944
+ # start_row_index: 4,
8945
+ # start_column_index: 0, end_column_index: 2`
8946
+ # `Sheet1 == sheet_id:0`
8947
+ # The start index must always be less than or equal to the end index.
8948
+ # If the start index equals the end index, then the range is empty.
8949
+ # Empty ranges are typically not meaningful and are usually rendered in the
8950
+ # UI as `#REF!`.
8951
+ # Corresponds to the JSON property `range`
8952
+ # @return [Google::Apis::SheetsV4::GridRange]
8953
+ attr_accessor :range
8954
+
8955
+ # The sort order per column. Later specifications are used when values
8956
+ # are equal in the earlier specifications.
8957
+ # Corresponds to the JSON property `sortSpecs`
8958
+ # @return [Array<Google::Apis::SheetsV4::SortSpec>]
8959
+ attr_accessor :sort_specs
7889
8960
 
7890
- # True if the sheet is an RTL sheet instead of an LTR sheet.
7891
- # Corresponds to the JSON property `rightToLeft`
7892
- # @return [Boolean]
7893
- attr_accessor :right_to_left
7894
- alias_method :right_to_left?, :right_to_left
8961
+ def initialize(**args)
8962
+ update!(**args)
8963
+ end
7895
8964
 
7896
- # The ID of the sheet. Must be non-negative.
7897
- # This field cannot be changed once set.
7898
- # Corresponds to the JSON property `sheetId`
7899
- # @return [Fixnum]
7900
- attr_accessor :sheet_id
8965
+ # Update properties of this object
8966
+ def update!(**args)
8967
+ @range = args[:range] if args.key?(:range)
8968
+ @sort_specs = args[:sort_specs] if args.key?(:sort_specs)
8969
+ end
8970
+ end
7901
8971
 
7902
- # The type of sheet. Defaults to GRID.
7903
- # This field cannot be changed once set.
7904
- # Corresponds to the JSON property `sheetType`
7905
- # @return [String]
7906
- attr_accessor :sheet_type
8972
+ # A sort order associated with a specific column or row.
8973
+ class SortSpec
8974
+ include Google::Apis::Core::Hashable
7907
8975
 
7908
8976
  # Represents a color in the RGBA color space. This representation is designed
7909
8977
  # for simplicity of conversion to/from color representations in various
@@ -8008,88 +9076,122 @@ module Google
8008
9076
  # return resultBuilder.join('');
8009
9077
  # `;
8010
9078
  # // ...
8011
- # Corresponds to the JSON property `tabColor`
9079
+ # Corresponds to the JSON property `backgroundColor`
8012
9080
  # @return [Google::Apis::SheetsV4::Color]
8013
- attr_accessor :tab_color
8014
-
8015
- # The name of the sheet.
8016
- # Corresponds to the JSON property `title`
8017
- # @return [String]
8018
- attr_accessor :title
8019
-
8020
- def initialize(**args)
8021
- update!(**args)
8022
- end
8023
-
8024
- # Update properties of this object
8025
- def update!(**args)
8026
- @grid_properties = args[:grid_properties] if args.key?(:grid_properties)
8027
- @hidden = args[:hidden] if args.key?(:hidden)
8028
- @index = args[:index] if args.key?(:index)
8029
- @right_to_left = args[:right_to_left] if args.key?(:right_to_left)
8030
- @sheet_id = args[:sheet_id] if args.key?(:sheet_id)
8031
- @sheet_type = args[:sheet_type] if args.key?(:sheet_type)
8032
- @tab_color = args[:tab_color] if args.key?(:tab_color)
8033
- @title = args[:title] if args.key?(:title)
8034
- end
8035
- end
8036
-
8037
- # Sorts data in rows based on a sort order per column.
8038
- class SortRangeRequest
8039
- include Google::Apis::Core::Hashable
8040
-
8041
- # A range on a sheet.
8042
- # All indexes are zero-based.
8043
- # Indexes are half open, e.g the start index is inclusive
8044
- # and the end index is exclusive -- [start_index, end_index).
8045
- # Missing indexes indicate the range is unbounded on that side.
8046
- # For example, if `"Sheet1"` is sheet ID 0, then:
8047
- # `Sheet1!A1:A1 == sheet_id: 0,
8048
- # start_row_index: 0, end_row_index: 1,
8049
- # start_column_index: 0, end_column_index: 1`
8050
- # `Sheet1!A3:B4 == sheet_id: 0,
8051
- # start_row_index: 2, end_row_index: 4,
8052
- # start_column_index: 0, end_column_index: 2`
8053
- # `Sheet1!A:B == sheet_id: 0,
8054
- # start_column_index: 0, end_column_index: 2`
8055
- # `Sheet1!A5:B == sheet_id: 0,
8056
- # start_row_index: 4,
8057
- # start_column_index: 0, end_column_index: 2`
8058
- # `Sheet1 == sheet_id:0`
8059
- # The start index must always be less than or equal to the end index.
8060
- # If the start index equals the end index, then the range is empty.
8061
- # Empty ranges are typically not meaningful and are usually rendered in the
8062
- # UI as `#REF!`.
8063
- # Corresponds to the JSON property `range`
8064
- # @return [Google::Apis::SheetsV4::GridRange]
8065
- attr_accessor :range
8066
-
8067
- # The sort order per column. Later specifications are used when values
8068
- # are equal in the earlier specifications.
8069
- # Corresponds to the JSON property `sortSpecs`
8070
- # @return [Array<Google::Apis::SheetsV4::SortSpec>]
8071
- attr_accessor :sort_specs
8072
-
8073
- def initialize(**args)
8074
- update!(**args)
8075
- end
8076
-
8077
- # Update properties of this object
8078
- def update!(**args)
8079
- @range = args[:range] if args.key?(:range)
8080
- @sort_specs = args[:sort_specs] if args.key?(:sort_specs)
8081
- end
8082
- end
8083
-
8084
- # A sort order associated with a specific column or row.
8085
- class SortSpec
8086
- include Google::Apis::Core::Hashable
9081
+ attr_accessor :background_color
8087
9082
 
8088
9083
  # The dimension the sort should be applied to.
8089
9084
  # Corresponds to the JSON property `dimensionIndex`
8090
9085
  # @return [Fixnum]
8091
9086
  attr_accessor :dimension_index
8092
9087
 
9088
+ # Represents a color in the RGBA color space. This representation is designed
9089
+ # for simplicity of conversion to/from color representations in various
9090
+ # languages over compactness; for example, the fields of this representation
9091
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
9092
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
9093
+ # method in iOS; and, with just a little work, it can be easily formatted into
9094
+ # a CSS "rgba()" string in JavaScript, as well.
9095
+ # Note: this proto does not carry information about the absolute color space
9096
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
9097
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
9098
+ # space.
9099
+ # Example (Java):
9100
+ # import com.google.type.Color;
9101
+ # // ...
9102
+ # public static java.awt.Color fromProto(Color protocolor) `
9103
+ # float alpha = protocolor.hasAlpha()
9104
+ # ? protocolor.getAlpha().getValue()
9105
+ # : 1.0;
9106
+ # return new java.awt.Color(
9107
+ # protocolor.getRed(),
9108
+ # protocolor.getGreen(),
9109
+ # protocolor.getBlue(),
9110
+ # alpha);
9111
+ # `
9112
+ # public static Color toProto(java.awt.Color color) `
9113
+ # float red = (float) color.getRed();
9114
+ # float green = (float) color.getGreen();
9115
+ # float blue = (float) color.getBlue();
9116
+ # float denominator = 255.0;
9117
+ # Color.Builder resultBuilder =
9118
+ # Color
9119
+ # .newBuilder()
9120
+ # .setRed(red / denominator)
9121
+ # .setGreen(green / denominator)
9122
+ # .setBlue(blue / denominator);
9123
+ # int alpha = color.getAlpha();
9124
+ # if (alpha != 255) `
9125
+ # result.setAlpha(
9126
+ # FloatValue
9127
+ # .newBuilder()
9128
+ # .setValue(((float) alpha) / denominator)
9129
+ # .build());
9130
+ # `
9131
+ # return resultBuilder.build();
9132
+ # `
9133
+ # // ...
9134
+ # Example (iOS / Obj-C):
9135
+ # // ...
9136
+ # static UIColor* fromProto(Color* protocolor) `
9137
+ # float red = [protocolor red];
9138
+ # float green = [protocolor green];
9139
+ # float blue = [protocolor blue];
9140
+ # FloatValue* alpha_wrapper = [protocolor alpha];
9141
+ # float alpha = 1.0;
9142
+ # if (alpha_wrapper != nil) `
9143
+ # alpha = [alpha_wrapper value];
9144
+ # `
9145
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
9146
+ # `
9147
+ # static Color* toProto(UIColor* color) `
9148
+ # CGFloat red, green, blue, alpha;
9149
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
9150
+ # return nil;
9151
+ # `
9152
+ # Color* result = [[Color alloc] init];
9153
+ # [result setRed:red];
9154
+ # [result setGreen:green];
9155
+ # [result setBlue:blue];
9156
+ # if (alpha <= 0.9999) `
9157
+ # [result setAlpha:floatWrapperWithValue(alpha)];
9158
+ # `
9159
+ # [result autorelease];
9160
+ # return result;
9161
+ # `
9162
+ # // ...
9163
+ # Example (JavaScript):
9164
+ # // ...
9165
+ # var protoToCssColor = function(rgb_color) `
9166
+ # var redFrac = rgb_color.red || 0.0;
9167
+ # var greenFrac = rgb_color.green || 0.0;
9168
+ # var blueFrac = rgb_color.blue || 0.0;
9169
+ # var red = Math.floor(redFrac * 255);
9170
+ # var green = Math.floor(greenFrac * 255);
9171
+ # var blue = Math.floor(blueFrac * 255);
9172
+ # if (!('alpha' in rgb_color)) `
9173
+ # return rgbToCssColor_(red, green, blue);
9174
+ # `
9175
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
9176
+ # var rgbParams = [red, green, blue].join(',');
9177
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
9178
+ # `;
9179
+ # var rgbToCssColor_ = function(red, green, blue) `
9180
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
9181
+ # var hexString = rgbNumber.toString(16);
9182
+ # var missingZeros = 6 - hexString.length;
9183
+ # var resultBuilder = ['#'];
9184
+ # for (var i = 0; i < missingZeros; i++) `
9185
+ # resultBuilder.push('0');
9186
+ # `
9187
+ # resultBuilder.push(hexString);
9188
+ # return resultBuilder.join('');
9189
+ # `;
9190
+ # // ...
9191
+ # Corresponds to the JSON property `foregroundColor`
9192
+ # @return [Google::Apis::SheetsV4::Color]
9193
+ attr_accessor :foreground_color
9194
+
8093
9195
  # The order data should be sorted.
8094
9196
  # Corresponds to the JSON property `sortOrder`
8095
9197
  # @return [String]
@@ -8101,7 +9203,9 @@ module Google
8101
9203
 
8102
9204
  # Update properties of this object
8103
9205
  def update!(**args)
9206
+ @background_color = args[:background_color] if args.key?(:background_color)
8104
9207
  @dimension_index = args[:dimension_index] if args.key?(:dimension_index)
9208
+ @foreground_color = args[:foreground_color] if args.key?(:foreground_color)
8105
9209
  @sort_order = args[:sort_order] if args.key?(:sort_order)
8106
9210
  end
8107
9211
  end
@@ -9895,6 +10999,41 @@ module Google
9895
10999
  end
9896
11000
  end
9897
11001
 
11002
+ # Updates a slicer’s specifications.
11003
+ # (This does not move or resize a slicer. To move or resize a slicer use
11004
+ # UpdateEmbeddedObjectPositionRequest.
11005
+ class UpdateSlicerSpecRequest
11006
+ include Google::Apis::Core::Hashable
11007
+
11008
+ # The fields that should be updated. At least one field must be specified.
11009
+ # The root `SlicerSpec` is implied and should not be specified. A single "*"`
11010
+ # can be used as short-hand for listing every field.
11011
+ # Corresponds to the JSON property `fields`
11012
+ # @return [String]
11013
+ attr_accessor :fields
11014
+
11015
+ # The id of the slicer to update.
11016
+ # Corresponds to the JSON property `slicerId`
11017
+ # @return [Fixnum]
11018
+ attr_accessor :slicer_id
11019
+
11020
+ # The specifications of a slicer.
11021
+ # Corresponds to the JSON property `spec`
11022
+ # @return [Google::Apis::SheetsV4::SlicerSpec]
11023
+ attr_accessor :spec
11024
+
11025
+ def initialize(**args)
11026
+ update!(**args)
11027
+ end
11028
+
11029
+ # Update properties of this object
11030
+ def update!(**args)
11031
+ @fields = args[:fields] if args.key?(:fields)
11032
+ @slicer_id = args[:slicer_id] if args.key?(:slicer_id)
11033
+ @spec = args[:spec] if args.key?(:spec)
11034
+ end
11035
+ end
11036
+
9898
11037
  # Updates properties of a spreadsheet.
9899
11038
  class UpdateSpreadsheetPropertiesRequest
9900
11039
  include Google::Apis::Core::Hashable