google-api-client 0.9.19 → 0.9.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -1
  3. data/api_names.yaml +2 -0
  4. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  5. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  6. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +20 -3
  7. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +2 -0
  8. data/generated/google/apis/admin_directory_v1.rb +1 -1
  9. data/generated/google/apis/adsense_v1_4.rb +1 -1
  10. data/generated/google/apis/adsense_v1_4/classes.rb +1 -1
  11. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  12. data/generated/google/apis/adsensehost_v4_1/classes.rb +1 -2
  13. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  14. data/generated/google/apis/androidenterprise_v1/classes.rb +9 -7
  15. data/generated/google/apis/androidenterprise_v1/service.rb +7 -1
  16. data/generated/google/apis/appengine_v1beta5.rb +7 -1
  17. data/generated/google/apis/appengine_v1beta5/classes.rb +86 -25
  18. data/generated/google/apis/appengine_v1beta5/representations.rb +31 -12
  19. data/generated/google/apis/appengine_v1beta5/service.rb +33 -33
  20. data/generated/google/apis/appsactivity_v1.rb +1 -1
  21. data/generated/google/apis/appsactivity_v1/classes.rb +7 -0
  22. data/generated/google/apis/appsactivity_v1/representations.rb +1 -0
  23. data/generated/google/apis/appstate_v1.rb +1 -1
  24. data/generated/google/apis/bigquery_v2.rb +1 -1
  25. data/generated/google/apis/bigquery_v2/classes.rb +27 -18
  26. data/generated/google/apis/bigquery_v2/representations.rb +1 -0
  27. data/generated/google/apis/calendar_v3.rb +1 -1
  28. data/generated/google/apis/civicinfo_v2.rb +1 -1
  29. data/generated/google/apis/civicinfo_v2/classes.rb +243 -0
  30. data/generated/google/apis/civicinfo_v2/representations.rb +64 -0
  31. data/generated/google/apis/classroom_v1/service.rb +1 -1
  32. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  33. data/generated/google/apis/cloudbuild_v1/classes.rb +8 -0
  34. data/generated/google/apis/cloudbuild_v1/representations.rb +1 -0
  35. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  36. data/generated/google/apis/compute_beta.rb +1 -1
  37. data/generated/google/apis/compute_beta/classes.rb +443 -13
  38. data/generated/google/apis/compute_beta/representations.rb +155 -0
  39. data/generated/google/apis/compute_beta/service.rb +383 -2
  40. data/generated/google/apis/compute_v1.rb +1 -1
  41. data/generated/google/apis/compute_v1/classes.rb +43 -13
  42. data/generated/google/apis/compute_v1/representations.rb +13 -0
  43. data/generated/google/apis/compute_v1/service.rb +89 -1
  44. data/generated/google/apis/content_v2.rb +1 -1
  45. data/generated/google/apis/content_v2/classes.rb +48 -0
  46. data/generated/google/apis/content_v2/representations.rb +18 -0
  47. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  48. data/generated/google/apis/dataflow_v1b3/classes.rb +44 -0
  49. data/generated/google/apis/dataflow_v1b3/representations.rb +18 -0
  50. data/generated/google/apis/dataflow_v1b3/service.rb +367 -7
  51. data/generated/google/apis/dataproc_v1.rb +2 -2
  52. data/generated/google/apis/dataproc_v1/classes.rb +213 -68
  53. data/generated/google/apis/dataproc_v1/representations.rb +38 -0
  54. data/generated/google/apis/dataproc_v1/service.rb +78 -48
  55. data/generated/google/apis/datastore_v1.rb +1 -1
  56. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  57. data/generated/google/apis/deploymentmanager_v2/classes.rb +3 -3
  58. data/generated/google/apis/deploymentmanager_v2/service.rb +55 -5
  59. data/generated/google/apis/dfareporting_v2_6.rb +1 -1
  60. data/generated/google/apis/dfareporting_v2_6/classes.rb +4 -3
  61. data/generated/google/apis/dfareporting_v2_6/service.rb +48 -29
  62. data/generated/google/apis/dns_v1.rb +1 -1
  63. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  64. data/generated/google/apis/drive_v2.rb +1 -1
  65. data/generated/google/apis/drive_v2/classes.rb +7 -0
  66. data/generated/google/apis/drive_v2/representations.rb +1 -0
  67. data/generated/google/apis/drive_v3.rb +1 -1
  68. data/generated/google/apis/drive_v3/classes.rb +7 -0
  69. data/generated/google/apis/drive_v3/representations.rb +1 -0
  70. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  71. data/generated/google/apis/games_management_v1management.rb +1 -1
  72. data/generated/google/apis/games_v1.rb +1 -1
  73. data/generated/google/apis/genomics_v1.rb +1 -1
  74. data/generated/google/apis/genomics_v1/classes.rb +9 -2
  75. data/generated/google/apis/genomics_v1/representations.rb +1 -0
  76. data/generated/google/apis/genomics_v1/service.rb +2 -1
  77. data/generated/google/apis/gmail_v1.rb +4 -1
  78. data/generated/google/apis/gmail_v1/classes.rb +8 -10
  79. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  80. data/generated/google/apis/identitytoolkit_v3/classes.rb +39 -6
  81. data/generated/google/apis/identitytoolkit_v3/representations.rb +6 -1
  82. data/generated/google/apis/language_v1beta1.rb +1 -1
  83. data/generated/google/apis/language_v1beta1/classes.rb +3 -2
  84. data/generated/google/apis/language_v1beta1/service.rb +2 -2
  85. data/generated/google/apis/logging_v2beta1.rb +1 -1
  86. data/generated/google/apis/logging_v2beta1/classes.rb +22 -18
  87. data/generated/google/apis/logging_v2beta1/service.rb +17 -3
  88. data/generated/google/apis/monitoring_v3.rb +1 -1
  89. data/generated/google/apis/monitoring_v3/classes.rb +26 -24
  90. data/generated/google/apis/oauth2_v2.rb +1 -1
  91. data/generated/google/apis/pagespeedonline_v2.rb +1 -1
  92. data/generated/google/apis/plus_domains_v1.rb +1 -1
  93. data/generated/google/apis/plus_v1.rb +1 -1
  94. data/generated/google/apis/sheets_v4.rb +1 -1
  95. data/generated/google/apis/sheets_v4/classes.rb +771 -75
  96. data/generated/google/apis/sheets_v4/representations.rb +125 -10
  97. data/generated/google/apis/sheets_v4/service.rb +39 -2
  98. data/generated/google/apis/slides_v1.rb +49 -0
  99. data/generated/google/apis/slides_v1/classes.rb +3926 -0
  100. data/generated/google/apis/slides_v1/representations.rb +1722 -0
  101. data/generated/google/apis/slides_v1/service.rb +202 -0
  102. data/generated/google/apis/speech_v1beta1.rb +1 -1
  103. data/generated/google/apis/speech_v1beta1/service.rb +25 -25
  104. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  105. data/generated/google/apis/storage_v1.rb +1 -1
  106. data/generated/google/apis/vision_v1.rb +1 -1
  107. data/generated/google/apis/vision_v1/classes.rb +2 -2
  108. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  109. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  110. data/generated/google/apis/youtube_v3.rb +1 -1
  111. data/generated/google/apis/youtube_v3/classes.rb +20 -19
  112. data/generated/google/apis/youtube_v3/representations.rb +3 -4
  113. data/generated/google/apis/youtube_v3/service.rb +35 -3
  114. data/lib/google/apis/version.rb +1 -1
  115. metadata +6 -2
@@ -27,7 +27,7 @@ module Google
27
27
  # @see https://cloud.google.com/monitoring/api/
28
28
  module MonitoringV3
29
29
  VERSION = 'V3'
30
- REVISION = '20161017'
30
+ REVISION = '20161031'
31
31
 
32
32
  # View and manage your data across Google Cloud Platform services
33
33
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -22,19 +22,19 @@ module Google
22
22
  module Apis
23
23
  module MonitoringV3
24
24
 
25
- # A specific metric identified by specifying values for all of the labels of a
25
+ # A specific metric, identified by specifying values for all of the labels of a
26
26
  # MetricDescriptor.
27
27
  class Metric
28
28
  include Google::Apis::Core::Hashable
29
29
 
30
- # The set of labels that uniquely identify a metric. To specify a metric, all
31
- # labels enumerated in the MetricDescriptor must be assigned values.
30
+ # The set of label values that uniquely identify this metric. All labels listed
31
+ # in the MetricDescriptor must be assigned values.
32
32
  # Corresponds to the JSON property `labels`
33
33
  # @return [Hash<String,String>]
34
34
  attr_accessor :labels
35
35
 
36
- # An existing metric type, see google.api.MetricDescriptor. For example, compute.
37
- # googleapis.com/instance/cpu/usage_time.
36
+ # An existing metric type, see google.api.MetricDescriptor. For example, custom.
37
+ # googleapis.com/invoice/paid/amount.
38
38
  # Corresponds to the JSON property `type`
39
39
  # @return [String]
40
40
  attr_accessor :type
@@ -274,7 +274,7 @@ module Google
274
274
  class TimeSeries
275
275
  include Google::Apis::Core::Hashable
276
276
 
277
- # A specific metric identified by specifying values for all of the labels of a
277
+ # A specific metric, identified by specifying values for all of the labels of a
278
278
  # MetricDescriptor.
279
279
  # Corresponds to the JSON property `metric`
280
280
  # @return [Google::Apis::MonitoringV3::Metric]
@@ -340,7 +340,9 @@ module Google
340
340
  end
341
341
  end
342
342
 
343
- # Defines a metric type and its schema.
343
+ # Defines a metric type and its schema. Once a metric descriptor is created,
344
+ # deleting or altering it stops data collection and makes the metric type's
345
+ # existing data unusable.
344
346
  class MetricDescriptor
345
347
  include Google::Apis::Core::Hashable
346
348
 
@@ -401,9 +403,10 @@ module Google
401
403
  attr_accessor :unit
402
404
 
403
405
  # The set of labels that can be used to describe a specific instance of this
404
- # metric type. For example, the compute.googleapis.com/instance/network/
405
- # received_bytes_count metric type has a label, loadbalanced, that specifies
406
- # whether the traffic was received through a load balanced IP address.
406
+ # metric type. For example, the appengine.googleapis.com/http/server/
407
+ # response_latencies metric type has a label for the HTTP response code,
408
+ # response_code, so you can look at latencies for successful responses or just
409
+ # for responses that failed.
407
410
  # Corresponds to the JSON property `labels`
408
411
  # @return [Array<Google::Apis::MonitoringV3::LabelDescriptor>]
409
412
  attr_accessor :labels
@@ -426,24 +429,23 @@ module Google
426
429
  # @return [String]
427
430
  attr_accessor :display_name
428
431
 
429
- # Resource name. The format of the name may vary between different
430
- # implementations. For examples:
431
- # projects/`project_id`/metricDescriptors/`type=**`
432
- # metricDescriptors/`type=**`
432
+ # The resource name of the metric descriptor. Depending on the implementation,
433
+ # the name typically includes: (1) the parent resource name that defines the
434
+ # scope of the metric type or of its data; and (2) the metric's URL-encoded type,
435
+ # which also appears in the type field of this descriptor. For example,
436
+ # following is the resource name of a custom metric within the GCP project
437
+ # 123456789:
438
+ # &quot;projects/123456789/metricDescriptors/custom.googleapis.com%2Finvoice%
439
+ # 2Fpaid%2Famount&quot;
433
440
  # Corresponds to the JSON property `name`
434
441
  # @return [String]
435
442
  attr_accessor :name
436
443
 
437
- # The metric type including a DNS name prefix, for example &quot;compute.
438
- # googleapis.com/instance/cpu/utilization&quot;. Metric types should use a
439
- # natural hierarchical grouping such as the following:
440
- # compute.googleapis.com/instance/cpu/utilization
441
- # compute.googleapis.com/instance/disk/read_ops_count
442
- # compute.googleapis.com/instance/network/received_bytes_count
443
- # Note that if the metric type changes, the monitoring data will be discontinued,
444
- # and anything depends on it will break, such as monitoring dashboards,
445
- # alerting rules and quota limits. Therefore, once a metric has been published,
446
- # its type should be immutable.
444
+ # The metric type, including its DNS name prefix. The type is not URL-encoded.
445
+ # All user-defined metric types have the DNS name custom.googleapis.com. Metric
446
+ # types should use a natural hierarchical grouping. For example:
447
+ # &quot;custom.googleapis.com/invoice/paid/amount&quot;
448
+ # &quot;appengine.googleapis.com/http/server/response_latencies&quot;
447
449
  # Corresponds to the JSON property `type`
448
450
  # @return [String]
449
451
  attr_accessor :type
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/accounts/docs/OAuth2
26
26
  module Oauth2V2
27
27
  VERSION = 'V2'
28
- REVISION = '20160915'
28
+ REVISION = '20161103'
29
29
 
30
30
  # Know the list of people in your circles, your age range, and language
31
31
  AUTH_PLUS_LOGIN = 'https://www.googleapis.com/auth/plus.login'
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://developers.google.com/speed/docs/insights/v2/getting-started
27
27
  module PagespeedonlineV2
28
28
  VERSION = 'V2'
29
- REVISION = '20160811'
29
+ REVISION = '20161101'
30
30
  end
31
31
  end
32
32
  end
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/+/domains/
26
26
  module PlusDomainsV1
27
27
  VERSION = 'V1'
28
- REVISION = '20161018'
28
+ REVISION = '20161107'
29
29
 
30
30
  # View your circles and the people and pages in them
31
31
  AUTH_PLUS_CIRCLES_READ = 'https://www.googleapis.com/auth/plus.circles.read'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/+/api/
26
26
  module PlusV1
27
27
  VERSION = 'V1'
28
- REVISION = '20161018'
28
+ REVISION = '20161107'
29
29
 
30
30
  # Know the list of people in your circles, your age range, and language
31
31
  AUTH_PLUS_LOGIN = 'https://www.googleapis.com/auth/plus.login'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/sheets/
26
26
  module SheetsV4
27
27
  VERSION = 'V4'
28
- REVISION = '20161014'
28
+ REVISION = '20161105'
29
29
 
30
30
  # View the files in your Google Drive
31
31
  AUTH_DRIVE_READONLY = 'https://www.googleapis.com/auth/drive.readonly'
@@ -604,16 +604,26 @@ module Google
604
604
  class UpdateValuesResponse
605
605
  include Google::Apis::Core::Hashable
606
606
 
607
- # The range (in A1 notation) that updates were applied to.
608
- # Corresponds to the JSON property `updatedRange`
609
- # @return [String]
610
- attr_accessor :updated_range
611
-
612
607
  # The number of columns where at least one cell in the column was updated.
613
608
  # Corresponds to the JSON property `updatedColumns`
614
609
  # @return [Fixnum]
615
610
  attr_accessor :updated_columns
616
611
 
612
+ # The number of cells updated.
613
+ # Corresponds to the JSON property `updatedCells`
614
+ # @return [Fixnum]
615
+ attr_accessor :updated_cells
616
+
617
+ # Data within a range of the spreadsheet.
618
+ # Corresponds to the JSON property `updatedData`
619
+ # @return [Google::Apis::SheetsV4::ValueRange]
620
+ attr_accessor :updated_data
621
+
622
+ # The range (in A1 notation) that updates were applied to.
623
+ # Corresponds to the JSON property `updatedRange`
624
+ # @return [String]
625
+ attr_accessor :updated_range
626
+
617
627
  # The spreadsheet the updates were applied to.
618
628
  # Corresponds to the JSON property `spreadsheetId`
619
629
  # @return [String]
@@ -624,22 +634,18 @@ module Google
624
634
  # @return [Fixnum]
625
635
  attr_accessor :updated_rows
626
636
 
627
- # The number of cells updated.
628
- # Corresponds to the JSON property `updatedCells`
629
- # @return [Fixnum]
630
- attr_accessor :updated_cells
631
-
632
637
  def initialize(**args)
633
638
  update!(**args)
634
639
  end
635
640
 
636
641
  # Update properties of this object
637
642
  def update!(**args)
638
- @updated_range = args[:updated_range] if args.key?(:updated_range)
639
643
  @updated_columns = args[:updated_columns] if args.key?(:updated_columns)
644
+ @updated_cells = args[:updated_cells] if args.key?(:updated_cells)
645
+ @updated_data = args[:updated_data] if args.key?(:updated_data)
646
+ @updated_range = args[:updated_range] if args.key?(:updated_range)
640
647
  @spreadsheet_id = args[:spreadsheet_id] if args.key?(:spreadsheet_id)
641
648
  @updated_rows = args[:updated_rows] if args.key?(:updated_rows)
642
- @updated_cells = args[:updated_cells] if args.key?(:updated_cells)
643
649
  end
644
650
  end
645
651
 
@@ -1042,6 +1048,11 @@ module Google
1042
1048
  # @return [Google::Apis::SheetsV4::DeleteConditionalFormatRuleResponse]
1043
1049
  attr_accessor :delete_conditional_format_rule
1044
1050
 
1051
+ # The result of adding a banded range.
1052
+ # Corresponds to the JSON property `addBanding`
1053
+ # @return [Google::Apis::SheetsV4::AddBandingResponse]
1054
+ attr_accessor :add_banding
1055
+
1045
1056
  # The result of duplicating a sheet.
1046
1057
  # Corresponds to the JSON property `duplicateSheet`
1047
1058
  # @return [Google::Apis::SheetsV4::DuplicateSheetResponse]
@@ -1071,6 +1082,7 @@ module Google
1071
1082
  @update_conditional_format_rule = args[:update_conditional_format_rule] if args.key?(:update_conditional_format_rule)
1072
1083
  @add_chart = args[:add_chart] if args.key?(:add_chart)
1073
1084
  @delete_conditional_format_rule = args[:delete_conditional_format_rule] if args.key?(:delete_conditional_format_rule)
1085
+ @add_banding = args[:add_banding] if args.key?(:add_banding)
1074
1086
  @duplicate_sheet = args[:duplicate_sheet] if args.key?(:duplicate_sheet)
1075
1087
  @duplicate_filter_view = args[:duplicate_filter_view] if args.key?(:duplicate_filter_view)
1076
1088
  @add_named_range = args[:add_named_range] if args.key?(:add_named_range)
@@ -1225,6 +1237,25 @@ module Google
1225
1237
  end
1226
1238
  end
1227
1239
 
1240
+ # The result of adding a banded range.
1241
+ class AddBandingResponse
1242
+ include Google::Apis::Core::Hashable
1243
+
1244
+ # A banded (alternating colors) range in a sheet.
1245
+ # Corresponds to the JSON property `bandedRange`
1246
+ # @return [Google::Apis::SheetsV4::BandedRange]
1247
+ attr_accessor :banded_range
1248
+
1249
+ def initialize(**args)
1250
+ update!(**args)
1251
+ end
1252
+
1253
+ # Update properties of this object
1254
+ def update!(**args)
1255
+ @banded_range = args[:banded_range] if args.key?(:banded_range)
1256
+ end
1257
+ end
1258
+
1228
1259
  # A run of a text format. The format of this run continues until the start
1229
1260
  # index of the next run.
1230
1261
  # When updating, all fields must be set.
@@ -1559,6 +1590,32 @@ module Google
1559
1590
  # @return [Array<Google::Apis::SheetsV4::ValueRange>]
1560
1591
  attr_accessor :data
1561
1592
 
1593
+ # Determines how values in the response should be rendered.
1594
+ # The default render option is ValueRenderOption.FORMATTED_VALUE.
1595
+ # Corresponds to the JSON property `responseValueRenderOption`
1596
+ # @return [String]
1597
+ attr_accessor :response_value_render_option
1598
+
1599
+ # Determines how dates, times, and durations in the response should be
1600
+ # rendered. This is ignored if response_value_render_option is
1601
+ # FORMATTED_VALUE.
1602
+ # The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].
1603
+ # Corresponds to the JSON property `responseDateTimeRenderOption`
1604
+ # @return [String]
1605
+ attr_accessor :response_date_time_render_option
1606
+
1607
+ # Determines if the update response should include the values
1608
+ # of the cells that were updated. By default, responses
1609
+ # do not include the updated values. The `updatedData` field within
1610
+ # each of the BatchUpdateValuesResponse.responses will contain
1611
+ # the updated values. If the range to write was larger than than the range
1612
+ # actually written, the response will include all values in the requested
1613
+ # range (excluding trailing empty rows and columns).
1614
+ # Corresponds to the JSON property `includeValuesInResponse`
1615
+ # @return [Boolean]
1616
+ attr_accessor :include_values_in_response
1617
+ alias_method :include_values_in_response?, :include_values_in_response
1618
+
1562
1619
  def initialize(**args)
1563
1620
  update!(**args)
1564
1621
  end
@@ -1567,6 +1624,9 @@ module Google
1567
1624
  def update!(**args)
1568
1625
  @value_input_option = args[:value_input_option] if args.key?(:value_input_option)
1569
1626
  @data = args[:data] if args.key?(:data)
1627
+ @response_value_render_option = args[:response_value_render_option] if args.key?(:response_value_render_option)
1628
+ @response_date_time_render_option = args[:response_date_time_render_option] if args.key?(:response_date_time_render_option)
1629
+ @include_values_in_response = args[:include_values_in_response] if args.key?(:include_values_in_response)
1570
1630
  end
1571
1631
  end
1572
1632
 
@@ -2668,18 +2728,42 @@ module Google
2668
2728
  class BatchUpdateSpreadsheetRequest
2669
2729
  include Google::Apis::Core::Hashable
2670
2730
 
2731
+ # Determines if the update response should include the spreadsheet
2732
+ # resource.
2733
+ # Corresponds to the JSON property `includeSpreadsheetInResponse`
2734
+ # @return [Boolean]
2735
+ attr_accessor :include_spreadsheet_in_response
2736
+ alias_method :include_spreadsheet_in_response?, :include_spreadsheet_in_response
2737
+
2671
2738
  # A list of updates to apply to the spreadsheet.
2672
2739
  # Corresponds to the JSON property `requests`
2673
2740
  # @return [Array<Google::Apis::SheetsV4::Request>]
2674
2741
  attr_accessor :requests
2675
2742
 
2743
+ # Limits the ranges included in the response spreadsheet.
2744
+ # Meaningful only if include_spreadsheet_response is 'true'.
2745
+ # Corresponds to the JSON property `responseRanges`
2746
+ # @return [Array<String>]
2747
+ attr_accessor :response_ranges
2748
+
2749
+ # True if grid data should be returned. Meaningful only if
2750
+ # if include_spreadsheet_response is 'true'.
2751
+ # This parameter is ignored if a field mask was set in the request.
2752
+ # Corresponds to the JSON property `responseIncludeGridData`
2753
+ # @return [Boolean]
2754
+ attr_accessor :response_include_grid_data
2755
+ alias_method :response_include_grid_data?, :response_include_grid_data
2756
+
2676
2757
  def initialize(**args)
2677
2758
  update!(**args)
2678
2759
  end
2679
2760
 
2680
2761
  # Update properties of this object
2681
2762
  def update!(**args)
2763
+ @include_spreadsheet_in_response = args[:include_spreadsheet_in_response] if args.key?(:include_spreadsheet_in_response)
2682
2764
  @requests = args[:requests] if args.key?(:requests)
2765
+ @response_ranges = args[:response_ranges] if args.key?(:response_ranges)
2766
+ @response_include_grid_data = args[:response_include_grid_data] if args.key?(:response_include_grid_data)
2683
2767
  end
2684
2768
  end
2685
2769
 
@@ -3554,6 +3638,25 @@ module Google
3554
3638
  end
3555
3639
  end
3556
3640
 
3641
+ # Removes the banded range with the given ID from the spreadsheet.
3642
+ class DeleteBandingRequest
3643
+ include Google::Apis::Core::Hashable
3644
+
3645
+ # The ID of the banded range to delete.
3646
+ # Corresponds to the JSON property `bandedRangeId`
3647
+ # @return [Fixnum]
3648
+ attr_accessor :banded_range_id
3649
+
3650
+ def initialize(**args)
3651
+ update!(**args)
3652
+ end
3653
+
3654
+ # Update properties of this object
3655
+ def update!(**args)
3656
+ @banded_range_id = args[:banded_range_id] if args.key?(:banded_range_id)
3657
+ end
3658
+ end
3659
+
3557
3660
  # The default filter associated with a sheet.
3558
3661
  class BasicFilter
3559
3662
  include Google::Apis::Core::Hashable
@@ -3855,6 +3958,25 @@ module Google
3855
3958
  end
3856
3959
  end
3857
3960
 
3961
+ # Adds a new banded range to the spreadsheet.
3962
+ class AddBandingRequest
3963
+ include Google::Apis::Core::Hashable
3964
+
3965
+ # A banded (alternating colors) range in a sheet.
3966
+ # Corresponds to the JSON property `bandedRange`
3967
+ # @return [Google::Apis::SheetsV4::BandedRange]
3968
+ attr_accessor :banded_range
3969
+
3970
+ def initialize(**args)
3971
+ update!(**args)
3972
+ end
3973
+
3974
+ # Update properties of this object
3975
+ def update!(**args)
3976
+ @banded_range = args[:banded_range] if args.key?(:banded_range)
3977
+ end
3978
+ end
3979
+
3858
3980
  # Adds new cells after the last row with data in a sheet,
3859
3981
  # inserting new rows into the sheet if necessary.
3860
3982
  class AppendCellsRequest
@@ -4124,25 +4246,6 @@ module Google
4124
4246
  end
4125
4247
  end
4126
4248
 
4127
- # Sets the basic filter associated with a sheet.
4128
- class SetBasicFilterRequest
4129
- include Google::Apis::Core::Hashable
4130
-
4131
- # The default filter associated with a sheet.
4132
- # Corresponds to the JSON property `filter`
4133
- # @return [Google::Apis::SheetsV4::BasicFilter]
4134
- attr_accessor :filter
4135
-
4136
- def initialize(**args)
4137
- update!(**args)
4138
- end
4139
-
4140
- # Update properties of this object
4141
- def update!(**args)
4142
- @filter = args[:filter] if args.key?(:filter)
4143
- end
4144
- end
4145
-
4146
4249
  # Update an embedded object's position (such as a moving or resizing a
4147
4250
  # chart or image).
4148
4251
  class UpdateEmbeddedObjectPositionRequest
@@ -4181,6 +4284,25 @@ module Google
4181
4284
  end
4182
4285
  end
4183
4286
 
4287
+ # Sets the basic filter associated with a sheet.
4288
+ class SetBasicFilterRequest
4289
+ include Google::Apis::Core::Hashable
4290
+
4291
+ # The default filter associated with a sheet.
4292
+ # Corresponds to the JSON property `filter`
4293
+ # @return [Google::Apis::SheetsV4::BasicFilter]
4294
+ attr_accessor :filter
4295
+
4296
+ def initialize(**args)
4297
+ update!(**args)
4298
+ end
4299
+
4300
+ # Update properties of this object
4301
+ def update!(**args)
4302
+ @filter = args[:filter] if args.key?(:filter)
4303
+ end
4304
+ end
4305
+
4184
4306
  # Automatically resizes one or more dimensions based on the contents
4185
4307
  # of the cells in that dimension.
4186
4308
  class AutoResizeDimensionsRequest
@@ -4224,52 +4346,491 @@ module Google
4224
4346
  end
4225
4347
  end
4226
4348
 
4227
- # A single grouping (either row or column) in a pivot table.
4228
- class PivotGroup
4349
+ # Properties referring a single dimension (either row or column). If both
4350
+ # BandedRange.row_properties and BandedRange.column_properties are
4351
+ # set, the fill colors are applied to cells according to the following rules:
4352
+ # * header_color and footer_color take priority over band colors.
4353
+ # * first_band_color takes priority over second_band_color.
4354
+ # * row_properties takes priority over column_properties.
4355
+ # For example, the first row color takes priority over the first column
4356
+ # color, but the first column color takes priority over the second row color.
4357
+ # Similarly, the row header takes priority over the column header in the
4358
+ # top left cell, but the column header takes priority over the first row
4359
+ # color if the row header is not set.
4360
+ class BandingProperties
4229
4361
  include Google::Apis::Core::Hashable
4230
4362
 
4231
- # The order the values in this group should be sorted.
4232
- # Corresponds to the JSON property `sortOrder`
4233
- # @return [String]
4234
- attr_accessor :sort_order
4235
-
4236
- # The column offset of the source range that this grouping is based on.
4237
- # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
4238
- # means this group refers to column `C`, whereas the offset `1` would refer
4239
- # to column `D`.
4240
- # Corresponds to the JSON property `sourceColumnOffset`
4241
- # @return [Fixnum]
4242
- attr_accessor :source_column_offset
4243
-
4244
- # True if the pivot table should include the totals for this grouping.
4245
- # Corresponds to the JSON property `showTotals`
4246
- # @return [Boolean]
4247
- attr_accessor :show_totals
4248
- alias_method :show_totals?, :show_totals
4249
-
4250
- # Information about which values in a pivot group should be used for sorting.
4251
- # Corresponds to the JSON property `valueBucket`
4252
- # @return [Google::Apis::SheetsV4::PivotGroupSortValueBucket]
4253
- attr_accessor :value_bucket
4254
-
4255
- # Metadata about values in the grouping.
4256
- # Corresponds to the JSON property `valueMetadata`
4257
- # @return [Array<Google::Apis::SheetsV4::PivotGroupValueMetadata>]
4258
- attr_accessor :value_metadata
4259
-
4260
- def initialize(**args)
4261
- update!(**args)
4262
- end
4263
-
4264
- # Update properties of this object
4265
- def update!(**args)
4266
- @sort_order = args[:sort_order] if args.key?(:sort_order)
4267
- @source_column_offset = args[:source_column_offset] if args.key?(:source_column_offset)
4268
- @show_totals = args[:show_totals] if args.key?(:show_totals)
4269
- @value_bucket = args[:value_bucket] if args.key?(:value_bucket)
4270
- @value_metadata = args[:value_metadata] if args.key?(:value_metadata)
4271
- end
4272
- end
4363
+ # Represents a color in the RGBA color space. This representation is designed
4364
+ # for simplicity of conversion to/from color representations in various
4365
+ # languages over compactness; for example, the fields of this representation
4366
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
4367
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
4368
+ # method in iOS; and, with just a little work, it can be easily formatted into
4369
+ # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
4370
+ # Example (Java):
4371
+ # import com.google.type.Color;
4372
+ # // ...
4373
+ # public static java.awt.Color fromProto(Color protocolor) `
4374
+ # float alpha = protocolor.hasAlpha()
4375
+ # ? protocolor.getAlpha().getValue()
4376
+ # : 1.0;
4377
+ # return new java.awt.Color(
4378
+ # protocolor.getRed(),
4379
+ # protocolor.getGreen(),
4380
+ # protocolor.getBlue(),
4381
+ # alpha);
4382
+ # `
4383
+ # public static Color toProto(java.awt.Color color) `
4384
+ # float red = (float) color.getRed();
4385
+ # float green = (float) color.getGreen();
4386
+ # float blue = (float) color.getBlue();
4387
+ # float denominator = 255.0;
4388
+ # Color.Builder resultBuilder =
4389
+ # Color
4390
+ # .newBuilder()
4391
+ # .setRed(red / denominator)
4392
+ # .setGreen(green / denominator)
4393
+ # .setBlue(blue / denominator);
4394
+ # int alpha = color.getAlpha();
4395
+ # if (alpha != 255) `
4396
+ # result.setAlpha(
4397
+ # FloatValue
4398
+ # .newBuilder()
4399
+ # .setValue(((float) alpha) / denominator)
4400
+ # .build());
4401
+ # `
4402
+ # return resultBuilder.build();
4403
+ # `
4404
+ # // ...
4405
+ # Example (iOS / Obj-C):
4406
+ # // ...
4407
+ # static UIColor* fromProto(Color* protocolor) `
4408
+ # float red = [protocolor red];
4409
+ # float green = [protocolor green];
4410
+ # float blue = [protocolor blue];
4411
+ # FloatValue* alpha_wrapper = [protocolor alpha];
4412
+ # float alpha = 1.0;
4413
+ # if (alpha_wrapper != nil) `
4414
+ # alpha = [alpha_wrapper value];
4415
+ # `
4416
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
4417
+ # `
4418
+ # static Color* toProto(UIColor* color) `
4419
+ # CGFloat red, green, blue, alpha;
4420
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
4421
+ # return nil;
4422
+ # `
4423
+ # Color* result = [Color alloc] init];
4424
+ # [result setRed:red];
4425
+ # [result setGreen:green];
4426
+ # [result setBlue:blue];
4427
+ # if (alpha <= 0.9999) `
4428
+ # [result setAlpha:floatWrapperWithValue(alpha)];
4429
+ # `
4430
+ # [result autorelease];
4431
+ # return result;
4432
+ # `
4433
+ # // ...
4434
+ # Example (JavaScript):
4435
+ # // ...
4436
+ # var protoToCssColor = function(rgb_color) `
4437
+ # var redFrac = rgb_color.red || 0.0;
4438
+ # var greenFrac = rgb_color.green || 0.0;
4439
+ # var blueFrac = rgb_color.blue || 0.0;
4440
+ # var red = Math.floor(redFrac * 255);
4441
+ # var green = Math.floor(greenFrac * 255);
4442
+ # var blue = Math.floor(blueFrac * 255);
4443
+ # if (!('alpha' in rgb_color)) `
4444
+ # return rgbToCssColor_(red, green, blue);
4445
+ # `
4446
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
4447
+ # var rgbParams = [red, green, blue].join(',');
4448
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
4449
+ # `;
4450
+ # var rgbToCssColor_ = function(red, green, blue) `
4451
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
4452
+ # var hexString = rgbNumber.toString(16);
4453
+ # var missingZeros = 6 - hexString.length;
4454
+ # var resultBuilder = ['#'];
4455
+ # for (var i = 0; i < missingZeros; i++) `
4456
+ # resultBuilder.push('0');
4457
+ # `
4458
+ # resultBuilder.push(hexString);
4459
+ # return resultBuilder.join('');
4460
+ # `;
4461
+ # // ...
4462
+ # Corresponds to the JSON property `footerColor`
4463
+ # @return [Google::Apis::SheetsV4::Color]
4464
+ attr_accessor :footer_color
4465
+
4466
+ # Represents a color in the RGBA color space. This representation is designed
4467
+ # for simplicity of conversion to/from color representations in various
4468
+ # languages over compactness; for example, the fields of this representation
4469
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
4470
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
4471
+ # method in iOS; and, with just a little work, it can be easily formatted into
4472
+ # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
4473
+ # Example (Java):
4474
+ # import com.google.type.Color;
4475
+ # // ...
4476
+ # public static java.awt.Color fromProto(Color protocolor) `
4477
+ # float alpha = protocolor.hasAlpha()
4478
+ # ? protocolor.getAlpha().getValue()
4479
+ # : 1.0;
4480
+ # return new java.awt.Color(
4481
+ # protocolor.getRed(),
4482
+ # protocolor.getGreen(),
4483
+ # protocolor.getBlue(),
4484
+ # alpha);
4485
+ # `
4486
+ # public static Color toProto(java.awt.Color color) `
4487
+ # float red = (float) color.getRed();
4488
+ # float green = (float) color.getGreen();
4489
+ # float blue = (float) color.getBlue();
4490
+ # float denominator = 255.0;
4491
+ # Color.Builder resultBuilder =
4492
+ # Color
4493
+ # .newBuilder()
4494
+ # .setRed(red / denominator)
4495
+ # .setGreen(green / denominator)
4496
+ # .setBlue(blue / denominator);
4497
+ # int alpha = color.getAlpha();
4498
+ # if (alpha != 255) `
4499
+ # result.setAlpha(
4500
+ # FloatValue
4501
+ # .newBuilder()
4502
+ # .setValue(((float) alpha) / denominator)
4503
+ # .build());
4504
+ # `
4505
+ # return resultBuilder.build();
4506
+ # `
4507
+ # // ...
4508
+ # Example (iOS / Obj-C):
4509
+ # // ...
4510
+ # static UIColor* fromProto(Color* protocolor) `
4511
+ # float red = [protocolor red];
4512
+ # float green = [protocolor green];
4513
+ # float blue = [protocolor blue];
4514
+ # FloatValue* alpha_wrapper = [protocolor alpha];
4515
+ # float alpha = 1.0;
4516
+ # if (alpha_wrapper != nil) `
4517
+ # alpha = [alpha_wrapper value];
4518
+ # `
4519
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
4520
+ # `
4521
+ # static Color* toProto(UIColor* color) `
4522
+ # CGFloat red, green, blue, alpha;
4523
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
4524
+ # return nil;
4525
+ # `
4526
+ # Color* result = [Color alloc] init];
4527
+ # [result setRed:red];
4528
+ # [result setGreen:green];
4529
+ # [result setBlue:blue];
4530
+ # if (alpha <= 0.9999) `
4531
+ # [result setAlpha:floatWrapperWithValue(alpha)];
4532
+ # `
4533
+ # [result autorelease];
4534
+ # return result;
4535
+ # `
4536
+ # // ...
4537
+ # Example (JavaScript):
4538
+ # // ...
4539
+ # var protoToCssColor = function(rgb_color) `
4540
+ # var redFrac = rgb_color.red || 0.0;
4541
+ # var greenFrac = rgb_color.green || 0.0;
4542
+ # var blueFrac = rgb_color.blue || 0.0;
4543
+ # var red = Math.floor(redFrac * 255);
4544
+ # var green = Math.floor(greenFrac * 255);
4545
+ # var blue = Math.floor(blueFrac * 255);
4546
+ # if (!('alpha' in rgb_color)) `
4547
+ # return rgbToCssColor_(red, green, blue);
4548
+ # `
4549
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
4550
+ # var rgbParams = [red, green, blue].join(',');
4551
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
4552
+ # `;
4553
+ # var rgbToCssColor_ = function(red, green, blue) `
4554
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
4555
+ # var hexString = rgbNumber.toString(16);
4556
+ # var missingZeros = 6 - hexString.length;
4557
+ # var resultBuilder = ['#'];
4558
+ # for (var i = 0; i < missingZeros; i++) `
4559
+ # resultBuilder.push('0');
4560
+ # `
4561
+ # resultBuilder.push(hexString);
4562
+ # return resultBuilder.join('');
4563
+ # `;
4564
+ # // ...
4565
+ # Corresponds to the JSON property `headerColor`
4566
+ # @return [Google::Apis::SheetsV4::Color]
4567
+ attr_accessor :header_color
4568
+
4569
+ # Represents a color in the RGBA color space. This representation is designed
4570
+ # for simplicity of conversion to/from color representations in various
4571
+ # languages over compactness; for example, the fields of this representation
4572
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
4573
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
4574
+ # method in iOS; and, with just a little work, it can be easily formatted into
4575
+ # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
4576
+ # Example (Java):
4577
+ # import com.google.type.Color;
4578
+ # // ...
4579
+ # public static java.awt.Color fromProto(Color protocolor) `
4580
+ # float alpha = protocolor.hasAlpha()
4581
+ # ? protocolor.getAlpha().getValue()
4582
+ # : 1.0;
4583
+ # return new java.awt.Color(
4584
+ # protocolor.getRed(),
4585
+ # protocolor.getGreen(),
4586
+ # protocolor.getBlue(),
4587
+ # alpha);
4588
+ # `
4589
+ # public static Color toProto(java.awt.Color color) `
4590
+ # float red = (float) color.getRed();
4591
+ # float green = (float) color.getGreen();
4592
+ # float blue = (float) color.getBlue();
4593
+ # float denominator = 255.0;
4594
+ # Color.Builder resultBuilder =
4595
+ # Color
4596
+ # .newBuilder()
4597
+ # .setRed(red / denominator)
4598
+ # .setGreen(green / denominator)
4599
+ # .setBlue(blue / denominator);
4600
+ # int alpha = color.getAlpha();
4601
+ # if (alpha != 255) `
4602
+ # result.setAlpha(
4603
+ # FloatValue
4604
+ # .newBuilder()
4605
+ # .setValue(((float) alpha) / denominator)
4606
+ # .build());
4607
+ # `
4608
+ # return resultBuilder.build();
4609
+ # `
4610
+ # // ...
4611
+ # Example (iOS / Obj-C):
4612
+ # // ...
4613
+ # static UIColor* fromProto(Color* protocolor) `
4614
+ # float red = [protocolor red];
4615
+ # float green = [protocolor green];
4616
+ # float blue = [protocolor blue];
4617
+ # FloatValue* alpha_wrapper = [protocolor alpha];
4618
+ # float alpha = 1.0;
4619
+ # if (alpha_wrapper != nil) `
4620
+ # alpha = [alpha_wrapper value];
4621
+ # `
4622
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
4623
+ # `
4624
+ # static Color* toProto(UIColor* color) `
4625
+ # CGFloat red, green, blue, alpha;
4626
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
4627
+ # return nil;
4628
+ # `
4629
+ # Color* result = [Color alloc] init];
4630
+ # [result setRed:red];
4631
+ # [result setGreen:green];
4632
+ # [result setBlue:blue];
4633
+ # if (alpha <= 0.9999) `
4634
+ # [result setAlpha:floatWrapperWithValue(alpha)];
4635
+ # `
4636
+ # [result autorelease];
4637
+ # return result;
4638
+ # `
4639
+ # // ...
4640
+ # Example (JavaScript):
4641
+ # // ...
4642
+ # var protoToCssColor = function(rgb_color) `
4643
+ # var redFrac = rgb_color.red || 0.0;
4644
+ # var greenFrac = rgb_color.green || 0.0;
4645
+ # var blueFrac = rgb_color.blue || 0.0;
4646
+ # var red = Math.floor(redFrac * 255);
4647
+ # var green = Math.floor(greenFrac * 255);
4648
+ # var blue = Math.floor(blueFrac * 255);
4649
+ # if (!('alpha' in rgb_color)) `
4650
+ # return rgbToCssColor_(red, green, blue);
4651
+ # `
4652
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
4653
+ # var rgbParams = [red, green, blue].join(',');
4654
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
4655
+ # `;
4656
+ # var rgbToCssColor_ = function(red, green, blue) `
4657
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
4658
+ # var hexString = rgbNumber.toString(16);
4659
+ # var missingZeros = 6 - hexString.length;
4660
+ # var resultBuilder = ['#'];
4661
+ # for (var i = 0; i < missingZeros; i++) `
4662
+ # resultBuilder.push('0');
4663
+ # `
4664
+ # resultBuilder.push(hexString);
4665
+ # return resultBuilder.join('');
4666
+ # `;
4667
+ # // ...
4668
+ # Corresponds to the JSON property `secondBandColor`
4669
+ # @return [Google::Apis::SheetsV4::Color]
4670
+ attr_accessor :second_band_color
4671
+
4672
+ # Represents a color in the RGBA color space. This representation is designed
4673
+ # for simplicity of conversion to/from color representations in various
4674
+ # languages over compactness; for example, the fields of this representation
4675
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
4676
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
4677
+ # method in iOS; and, with just a little work, it can be easily formatted into
4678
+ # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
4679
+ # Example (Java):
4680
+ # import com.google.type.Color;
4681
+ # // ...
4682
+ # public static java.awt.Color fromProto(Color protocolor) `
4683
+ # float alpha = protocolor.hasAlpha()
4684
+ # ? protocolor.getAlpha().getValue()
4685
+ # : 1.0;
4686
+ # return new java.awt.Color(
4687
+ # protocolor.getRed(),
4688
+ # protocolor.getGreen(),
4689
+ # protocolor.getBlue(),
4690
+ # alpha);
4691
+ # `
4692
+ # public static Color toProto(java.awt.Color color) `
4693
+ # float red = (float) color.getRed();
4694
+ # float green = (float) color.getGreen();
4695
+ # float blue = (float) color.getBlue();
4696
+ # float denominator = 255.0;
4697
+ # Color.Builder resultBuilder =
4698
+ # Color
4699
+ # .newBuilder()
4700
+ # .setRed(red / denominator)
4701
+ # .setGreen(green / denominator)
4702
+ # .setBlue(blue / denominator);
4703
+ # int alpha = color.getAlpha();
4704
+ # if (alpha != 255) `
4705
+ # result.setAlpha(
4706
+ # FloatValue
4707
+ # .newBuilder()
4708
+ # .setValue(((float) alpha) / denominator)
4709
+ # .build());
4710
+ # `
4711
+ # return resultBuilder.build();
4712
+ # `
4713
+ # // ...
4714
+ # Example (iOS / Obj-C):
4715
+ # // ...
4716
+ # static UIColor* fromProto(Color* protocolor) `
4717
+ # float red = [protocolor red];
4718
+ # float green = [protocolor green];
4719
+ # float blue = [protocolor blue];
4720
+ # FloatValue* alpha_wrapper = [protocolor alpha];
4721
+ # float alpha = 1.0;
4722
+ # if (alpha_wrapper != nil) `
4723
+ # alpha = [alpha_wrapper value];
4724
+ # `
4725
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
4726
+ # `
4727
+ # static Color* toProto(UIColor* color) `
4728
+ # CGFloat red, green, blue, alpha;
4729
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
4730
+ # return nil;
4731
+ # `
4732
+ # Color* result = [Color alloc] init];
4733
+ # [result setRed:red];
4734
+ # [result setGreen:green];
4735
+ # [result setBlue:blue];
4736
+ # if (alpha <= 0.9999) `
4737
+ # [result setAlpha:floatWrapperWithValue(alpha)];
4738
+ # `
4739
+ # [result autorelease];
4740
+ # return result;
4741
+ # `
4742
+ # // ...
4743
+ # Example (JavaScript):
4744
+ # // ...
4745
+ # var protoToCssColor = function(rgb_color) `
4746
+ # var redFrac = rgb_color.red || 0.0;
4747
+ # var greenFrac = rgb_color.green || 0.0;
4748
+ # var blueFrac = rgb_color.blue || 0.0;
4749
+ # var red = Math.floor(redFrac * 255);
4750
+ # var green = Math.floor(greenFrac * 255);
4751
+ # var blue = Math.floor(blueFrac * 255);
4752
+ # if (!('alpha' in rgb_color)) `
4753
+ # return rgbToCssColor_(red, green, blue);
4754
+ # `
4755
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
4756
+ # var rgbParams = [red, green, blue].join(',');
4757
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
4758
+ # `;
4759
+ # var rgbToCssColor_ = function(red, green, blue) `
4760
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
4761
+ # var hexString = rgbNumber.toString(16);
4762
+ # var missingZeros = 6 - hexString.length;
4763
+ # var resultBuilder = ['#'];
4764
+ # for (var i = 0; i < missingZeros; i++) `
4765
+ # resultBuilder.push('0');
4766
+ # `
4767
+ # resultBuilder.push(hexString);
4768
+ # return resultBuilder.join('');
4769
+ # `;
4770
+ # // ...
4771
+ # Corresponds to the JSON property `firstBandColor`
4772
+ # @return [Google::Apis::SheetsV4::Color]
4773
+ attr_accessor :first_band_color
4774
+
4775
+ def initialize(**args)
4776
+ update!(**args)
4777
+ end
4778
+
4779
+ # Update properties of this object
4780
+ def update!(**args)
4781
+ @footer_color = args[:footer_color] if args.key?(:footer_color)
4782
+ @header_color = args[:header_color] if args.key?(:header_color)
4783
+ @second_band_color = args[:second_band_color] if args.key?(:second_band_color)
4784
+ @first_band_color = args[:first_band_color] if args.key?(:first_band_color)
4785
+ end
4786
+ end
4787
+
4788
+ # A single grouping (either row or column) in a pivot table.
4789
+ class PivotGroup
4790
+ include Google::Apis::Core::Hashable
4791
+
4792
+ # The order the values in this group should be sorted.
4793
+ # Corresponds to the JSON property `sortOrder`
4794
+ # @return [String]
4795
+ attr_accessor :sort_order
4796
+
4797
+ # The column offset of the source range that this grouping is based on.
4798
+ # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
4799
+ # means this group refers to column `C`, whereas the offset `1` would refer
4800
+ # to column `D`.
4801
+ # Corresponds to the JSON property `sourceColumnOffset`
4802
+ # @return [Fixnum]
4803
+ attr_accessor :source_column_offset
4804
+
4805
+ # True if the pivot table should include the totals for this grouping.
4806
+ # Corresponds to the JSON property `showTotals`
4807
+ # @return [Boolean]
4808
+ attr_accessor :show_totals
4809
+ alias_method :show_totals?, :show_totals
4810
+
4811
+ # Information about which values in a pivot group should be used for sorting.
4812
+ # Corresponds to the JSON property `valueBucket`
4813
+ # @return [Google::Apis::SheetsV4::PivotGroupSortValueBucket]
4814
+ attr_accessor :value_bucket
4815
+
4816
+ # Metadata about values in the grouping.
4817
+ # Corresponds to the JSON property `valueMetadata`
4818
+ # @return [Array<Google::Apis::SheetsV4::PivotGroupValueMetadata>]
4819
+ attr_accessor :value_metadata
4820
+
4821
+ def initialize(**args)
4822
+ update!(**args)
4823
+ end
4824
+
4825
+ # Update properties of this object
4826
+ def update!(**args)
4827
+ @sort_order = args[:sort_order] if args.key?(:sort_order)
4828
+ @source_column_offset = args[:source_column_offset] if args.key?(:source_column_offset)
4829
+ @show_totals = args[:show_totals] if args.key?(:show_totals)
4830
+ @value_bucket = args[:value_bucket] if args.key?(:value_bucket)
4831
+ @value_metadata = args[:value_metadata] if args.key?(:value_metadata)
4832
+ end
4833
+ end
4273
4834
 
4274
4835
  # A range on a sheet.
4275
4836
  # All indexes are zero-based.
@@ -4354,6 +4915,33 @@ module Google
4354
4915
  end
4355
4916
  end
4356
4917
 
4918
+ # Updates properties of the supplied banded range.
4919
+ class UpdateBandingRequest
4920
+ include Google::Apis::Core::Hashable
4921
+
4922
+ # A banded (alternating colors) range in a sheet.
4923
+ # Corresponds to the JSON property `bandedRange`
4924
+ # @return [Google::Apis::SheetsV4::BandedRange]
4925
+ attr_accessor :banded_range
4926
+
4927
+ # The fields that should be updated. At least one field must be specified.
4928
+ # The root `bandedRange` is implied and should not be specified.
4929
+ # A single `"*"` can be used as short-hand for listing every field.
4930
+ # Corresponds to the JSON property `fields`
4931
+ # @return [String]
4932
+ attr_accessor :fields
4933
+
4934
+ def initialize(**args)
4935
+ update!(**args)
4936
+ end
4937
+
4938
+ # Update properties of this object
4939
+ def update!(**args)
4940
+ @banded_range = args[:banded_range] if args.key?(:banded_range)
4941
+ @fields = args[:fields] if args.key?(:fields)
4942
+ end
4943
+ end
4944
+
4357
4945
  # The data included in a domain or series.
4358
4946
  class ChartData
4359
4947
  include Google::Apis::Core::Hashable
@@ -4424,6 +5012,11 @@ module Google
4424
5012
  # @return [Array<Google::Apis::SheetsV4::GridData>]
4425
5013
  attr_accessor :data
4426
5014
 
5015
+ # The banded (i.e. alternating colors) ranges on this sheet.
5016
+ # Corresponds to the JSON property `bandedRanges`
5017
+ # @return [Array<Google::Apis::SheetsV4::BandedRange>]
5018
+ attr_accessor :banded_ranges
5019
+
4427
5020
  def initialize(**args)
4428
5021
  update!(**args)
4429
5022
  end
@@ -4438,6 +5031,7 @@ module Google
4438
5031
  @basic_filter = args[:basic_filter] if args.key?(:basic_filter)
4439
5032
  @merges = args[:merges] if args.key?(:merges)
4440
5033
  @data = args[:data] if args.key?(:data)
5034
+ @banded_ranges = args[:banded_ranges] if args.key?(:banded_ranges)
4441
5035
  end
4442
5036
  end
4443
5037
 
@@ -4640,6 +5234,11 @@ module Google
4640
5234
  # @return [String]
4641
5235
  attr_accessor :spreadsheet_id
4642
5236
 
5237
+ # Resource that represents a spreadsheet.
5238
+ # Corresponds to the JSON property `updatedSpreadsheet`
5239
+ # @return [Google::Apis::SheetsV4::Spreadsheet]
5240
+ attr_accessor :updated_spreadsheet
5241
+
4643
5242
  # The reply of the updates. This maps 1:1 with the updates, although
4644
5243
  # replies to some requests may be empty.
4645
5244
  # Corresponds to the JSON property `replies`
@@ -4653,6 +5252,7 @@ module Google
4653
5252
  # Update properties of this object
4654
5253
  def update!(**args)
4655
5254
  @spreadsheet_id = args[:spreadsheet_id] if args.key?(:spreadsheet_id)
5255
+ @updated_spreadsheet = args[:updated_spreadsheet] if args.key?(:updated_spreadsheet)
4656
5256
  @replies = args[:replies] if args.key?(:replies)
4657
5257
  end
4658
5258
  end
@@ -5279,6 +5879,11 @@ module Google
5279
5879
  # @return [Google::Apis::SheetsV4::MergeCellsRequest]
5280
5880
  attr_accessor :merge_cells
5281
5881
 
5882
+ # Updates properties of the supplied banded range.
5883
+ # Corresponds to the JSON property `updateBanding`
5884
+ # @return [Google::Apis::SheetsV4::UpdateBandingRequest]
5885
+ attr_accessor :update_banding
5886
+
5282
5887
  # Adds a chart to a sheet in the spreadsheet.
5283
5888
  # Corresponds to the JSON property `addChart`
5284
5889
  # @return [Google::Apis::SheetsV4::AddChartRequest]
@@ -5290,6 +5895,16 @@ module Google
5290
5895
  # @return [Google::Apis::SheetsV4::DeleteConditionalFormatRuleRequest]
5291
5896
  attr_accessor :delete_conditional_format_rule
5292
5897
 
5898
+ # Adds a new banded range to the spreadsheet.
5899
+ # Corresponds to the JSON property `addBanding`
5900
+ # @return [Google::Apis::SheetsV4::AddBandingRequest]
5901
+ attr_accessor :add_banding
5902
+
5903
+ # Removes the banded range with the given ID from the spreadsheet.
5904
+ # Corresponds to the JSON property `deleteBanding`
5905
+ # @return [Google::Apis::SheetsV4::DeleteBandingRequest]
5906
+ attr_accessor :delete_banding
5907
+
5293
5908
  # Updates a chart's specifications.
5294
5909
  # (This does not move or resize a chart. To move or resize a chart, use
5295
5910
  # UpdateEmbeddedObjectPositionRequest.)
@@ -5420,8 +6035,11 @@ module Google
5420
6035
  @update_conditional_format_rule = args[:update_conditional_format_rule] if args.key?(:update_conditional_format_rule)
5421
6036
  @set_basic_filter = args[:set_basic_filter] if args.key?(:set_basic_filter)
5422
6037
  @merge_cells = args[:merge_cells] if args.key?(:merge_cells)
6038
+ @update_banding = args[:update_banding] if args.key?(:update_banding)
5423
6039
  @add_chart = args[:add_chart] if args.key?(:add_chart)
5424
6040
  @delete_conditional_format_rule = args[:delete_conditional_format_rule] if args.key?(:delete_conditional_format_rule)
6041
+ @add_banding = args[:add_banding] if args.key?(:add_banding)
6042
+ @delete_banding = args[:delete_banding] if args.key?(:delete_banding)
5425
6043
  @update_chart_spec = args[:update_chart_spec] if args.key?(:update_chart_spec)
5426
6044
  @delete_dimension = args[:delete_dimension] if args.key?(:delete_dimension)
5427
6045
  @delete_embedded_object = args[:delete_embedded_object] if args.key?(:delete_embedded_object)
@@ -5527,6 +6145,84 @@ module Google
5527
6145
  end
5528
6146
  end
5529
6147
 
6148
+ # A banded (alternating colors) range in a sheet.
6149
+ class BandedRange
6150
+ include Google::Apis::Core::Hashable
6151
+
6152
+ # The id of the banded range.
6153
+ # Corresponds to the JSON property `bandedRangeId`
6154
+ # @return [Fixnum]
6155
+ attr_accessor :banded_range_id
6156
+
6157
+ # Properties referring a single dimension (either row or column). If both
6158
+ # BandedRange.row_properties and BandedRange.column_properties are
6159
+ # set, the fill colors are applied to cells according to the following rules:
6160
+ # * header_color and footer_color take priority over band colors.
6161
+ # * first_band_color takes priority over second_band_color.
6162
+ # * row_properties takes priority over column_properties.
6163
+ # For example, the first row color takes priority over the first column
6164
+ # color, but the first column color takes priority over the second row color.
6165
+ # Similarly, the row header takes priority over the column header in the
6166
+ # top left cell, but the column header takes priority over the first row
6167
+ # color if the row header is not set.
6168
+ # Corresponds to the JSON property `rowProperties`
6169
+ # @return [Google::Apis::SheetsV4::BandingProperties]
6170
+ attr_accessor :row_properties
6171
+
6172
+ # Properties referring a single dimension (either row or column). If both
6173
+ # BandedRange.row_properties and BandedRange.column_properties are
6174
+ # set, the fill colors are applied to cells according to the following rules:
6175
+ # * header_color and footer_color take priority over band colors.
6176
+ # * first_band_color takes priority over second_band_color.
6177
+ # * row_properties takes priority over column_properties.
6178
+ # For example, the first row color takes priority over the first column
6179
+ # color, but the first column color takes priority over the second row color.
6180
+ # Similarly, the row header takes priority over the column header in the
6181
+ # top left cell, but the column header takes priority over the first row
6182
+ # color if the row header is not set.
6183
+ # Corresponds to the JSON property `columnProperties`
6184
+ # @return [Google::Apis::SheetsV4::BandingProperties]
6185
+ attr_accessor :column_properties
6186
+
6187
+ # A range on a sheet.
6188
+ # All indexes are zero-based.
6189
+ # Indexes are half open, e.g the start index is inclusive
6190
+ # and the end index is exclusive -- [start_index, end_index).
6191
+ # Missing indexes indicate the range is unbounded on that side.
6192
+ # For example, if `"Sheet1"` is sheet ID 0, then:
6193
+ # `Sheet1!A1:A1 == sheet_id: 0,
6194
+ # start_row_index: 0, end_row_index: 1,
6195
+ # start_column_index: 0, end_column_index: 1`
6196
+ # `Sheet1!A3:B4 == sheet_id: 0,
6197
+ # start_row_index: 2, end_row_index: 4,
6198
+ # start_column_index: 0, end_column_index: 2`
6199
+ # `Sheet1!A:B == sheet_id: 0,
6200
+ # start_column_index: 0, end_column_index: 2`
6201
+ # `Sheet1!A5:B == sheet_id: 0,
6202
+ # start_row_index: 4,
6203
+ # start_column_index: 0, end_column_index: 2`
6204
+ # `Sheet1 == sheet_id:0`
6205
+ # The start index must always be less than or equal to the end index.
6206
+ # If the start index equals the end index, then the range is empty.
6207
+ # Empty ranges are typically not meaningful and are usually rendered in the
6208
+ # UI as `#REF!`.
6209
+ # Corresponds to the JSON property `range`
6210
+ # @return [Google::Apis::SheetsV4::GridRange]
6211
+ attr_accessor :range
6212
+
6213
+ def initialize(**args)
6214
+ update!(**args)
6215
+ end
6216
+
6217
+ # Update properties of this object
6218
+ def update!(**args)
6219
+ @banded_range_id = args[:banded_range_id] if args.key?(:banded_range_id)
6220
+ @row_properties = args[:row_properties] if args.key?(:row_properties)
6221
+ @column_properties = args[:column_properties] if args.key?(:column_properties)
6222
+ @range = args[:range] if args.key?(:range)
6223
+ end
6224
+ end
6225
+
5530
6226
  # The result of deleting a conditional format rule.
5531
6227
  class DeleteConditionalFormatRuleResponse
5532
6228
  include Google::Apis::Core::Hashable