google-api-client 0.9.19 → 0.9.20

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