google-api-client 0.34.0 → 0.34.1

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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/.kokoro/continuous/linux.cfg +2 -2
  3. data/.kokoro/continuous/post.cfg +30 -0
  4. data/.kokoro/presubmit/linux.cfg +1 -1
  5. data/.kokoro/release.cfg +94 -0
  6. data/.repo-metadata.json +5 -0
  7. data/.rubocop.yml +5 -0
  8. data/CHANGELOG.md +18 -0
  9. data/Gemfile +1 -0
  10. data/Rakefile +71 -2
  11. data/generated/google/apis/bigquery_v2.rb +1 -1
  12. data/generated/google/apis/bigquery_v2/classes.rb +33 -0
  13. data/generated/google/apis/bigquery_v2/representations.rb +18 -0
  14. data/generated/google/apis/cloudshell_v1.rb +1 -1
  15. data/generated/google/apis/cloudshell_v1/classes.rb +2 -1
  16. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  17. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +2 -1
  18. data/generated/google/apis/dlp_v2.rb +1 -1
  19. data/generated/google/apis/dlp_v2/classes.rb +25 -0
  20. data/generated/google/apis/dlp_v2/representations.rb +14 -0
  21. data/generated/google/apis/dlp_v2/service.rb +55 -43
  22. data/generated/google/apis/docs_v1.rb +1 -1
  23. data/generated/google/apis/docs_v1/classes.rb +8 -4
  24. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  25. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  26. data/generated/google/apis/redis_v1.rb +1 -1
  27. data/generated/google/apis/redis_v1/classes.rb +11 -11
  28. data/generated/google/apis/redis_v1/service.rb +5 -5
  29. data/generated/google/apis/redis_v1beta1.rb +1 -1
  30. data/generated/google/apis/redis_v1beta1/classes.rb +11 -11
  31. data/generated/google/apis/redis_v1beta1/service.rb +5 -5
  32. data/generated/google/apis/securitycenter_v1.rb +1 -1
  33. data/generated/google/apis/securitycenter_v1/classes.rb +22 -18
  34. data/generated/google/apis/securitycenter_v1/service.rb +14 -12
  35. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  36. data/generated/google/apis/securitycenter_v1beta1/classes.rb +8 -7
  37. data/generated/google/apis/securitycenter_v1beta1/service.rb +14 -12
  38. data/generated/google/apis/sheets_v4.rb +1 -1
  39. data/generated/google/apis/sheets_v4/classes.rb +768 -18
  40. data/generated/google/apis/sheets_v4/representations.rb +101 -0
  41. data/generated/google/apis/vision_v1.rb +1 -1
  42. data/generated/google/apis/vision_v1/classes.rb +66 -0
  43. data/generated/google/apis/vision_v1/representations.rb +32 -0
  44. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  45. data/generated/google/apis/vision_v1p1beta1/classes.rb +66 -0
  46. data/generated/google/apis/vision_v1p1beta1/representations.rb +32 -0
  47. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  48. data/generated/google/apis/vision_v1p2beta1/classes.rb +66 -0
  49. data/generated/google/apis/vision_v1p2beta1/representations.rb +32 -0
  50. data/lib/google/apis/core/upload.rb +4 -0
  51. data/lib/google/apis/version.rb +1 -1
  52. data/rakelib/devsite/devsite_builder.rb +126 -0
  53. data/rakelib/devsite/link_checker.rb +64 -0
  54. data/rakelib/devsite/repo_metadata.rb +56 -0
  55. metadata +9 -3
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://console.cloud.google.com/apis/api/securitycenter.googleapis.com/overview
27
27
  module SecuritycenterV1beta1
28
28
  VERSION = 'V1beta1'
29
- REVISION = '20191004'
29
+ REVISION = '20191101'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -38,7 +38,7 @@ module Google
38
38
  # The relative resource name of this asset. See:
39
39
  # https://cloud.google.com/apis/design/resource_names#relative_resource_name
40
40
  # Example:
41
- # "organizations/123/assets/456".
41
+ # "organizations/`organization_id`/assets/`asset_id`".
42
42
  # Corresponds to the JSON property `name`
43
43
  # @return [String]
44
44
  attr_accessor :name
@@ -389,7 +389,7 @@ module Google
389
389
  # The relative resource name of this finding. See:
390
390
  # https://cloud.google.com/apis/design/resource_names#relative_resource_name
391
391
  # Example:
392
- # "organizations/123/sources/456/findings/789"
392
+ # "organizations/`organization_id`/sources/`source_id`/findings/`finding_id`"
393
393
  # Corresponds to the JSON property `name`
394
394
  # @return [String]
395
395
  attr_accessor :name
@@ -399,7 +399,7 @@ module Google
399
399
  # https://cloud.google.com/apis/design/resource_names#relative_resource_name
400
400
  # This field is immutable after creation time.
401
401
  # For example:
402
- # "organizations/123/sources/456"
402
+ # "organizations/`organization_id`/sources/`source_id`"
403
403
  # Corresponds to the JSON property `parent`
404
404
  # @return [String]
405
405
  attr_accessor :parent
@@ -1056,7 +1056,7 @@ module Google
1056
1056
  # The relative resource name of the settings. See:
1057
1057
  # https://cloud.google.com/apis/design/resource_names#relative_resource_name
1058
1058
  # Example:
1059
- # "organizations/123/organizationSettings".
1059
+ # "organizations/`organization_id`/organizationSettings".
1060
1060
  # Corresponds to the JSON property `name`
1061
1061
  # @return [String]
1062
1062
  attr_accessor :name
@@ -1266,8 +1266,9 @@ module Google
1266
1266
  # The relative resource name of the SecurityMarks. See:
1267
1267
  # https://cloud.google.com/apis/design/resource_names#relative_resource_name
1268
1268
  # Examples:
1269
- # "organizations/123/assets/456/securityMarks"
1270
- # "organizations/123/sources/456/findings/789/securityMarks".
1269
+ # "organizations/`organization_id`/assets/`asset_id`/securityMarks"
1270
+ # "organizations/`organization_id`/sources/`source_id`/findings/`finding_id`/
1271
+ # securityMarks".
1271
1272
  # Corresponds to the JSON property `name`
1272
1273
  # @return [String]
1273
1274
  attr_accessor :name
@@ -1415,7 +1416,7 @@ module Google
1415
1416
  # The relative resource name of this source. See:
1416
1417
  # https://cloud.google.com/apis/design/resource_names#relative_resource_name
1417
1418
  # Example:
1418
- # "organizations/123/sources/456"
1419
+ # "organizations/`organization_id`/sources/`source_id`"
1419
1420
  # Corresponds to the JSON property `name`
1420
1421
  # @return [String]
1421
1422
  attr_accessor :name
@@ -85,7 +85,7 @@ module Google
85
85
  # The relative resource name of the settings. See:
86
86
  # https://cloud.google.com/apis/design/resource_names#relative_resource_name
87
87
  # Example:
88
- # "organizations/123/organizationSettings".
88
+ # "organizations/`organization_id`/organizationSettings".
89
89
  # @param [Google::Apis::SecuritycenterV1beta1::OrganizationSettings] organization_settings_object
90
90
  # @param [String] update_mask
91
91
  # The FieldMask to use when updating the settings resource.
@@ -302,8 +302,9 @@ module Google
302
302
  # The relative resource name of the SecurityMarks. See:
303
303
  # https://cloud.google.com/apis/design/resource_names#relative_resource_name
304
304
  # Examples:
305
- # "organizations/123/assets/456/securityMarks"
306
- # "organizations/123/sources/456/findings/789/securityMarks".
305
+ # "organizations/`organization_id`/assets/`asset_id`/securityMarks"
306
+ # "organizations/`organization_id`/sources/`source_id`/findings/`finding_id`/
307
+ # securityMarks".
307
308
  # @param [Google::Apis::SecuritycenterV1beta1::SecurityMarks] security_marks_object
308
309
  # @param [String] start_time
309
310
  # The time at which the updated SecurityMarks take effect.
@@ -638,7 +639,7 @@ module Google
638
639
  # The relative resource name of this source. See:
639
640
  # https://cloud.google.com/apis/design/resource_names#relative_resource_name
640
641
  # Example:
641
- # "organizations/123/sources/456"
642
+ # "organizations/`organization_id`/sources/`source_id`"
642
643
  # @param [Google::Apis::SecuritycenterV1beta1::Source] source_object
643
644
  # @param [String] update_mask
644
645
  # The FieldMask to use when updating the source resource.
@@ -783,12 +784,12 @@ module Google
783
784
  # Filters an organization or source's findings and groups them by their
784
785
  # specified properties.
785
786
  # To group across all sources provide a `-` as the source id.
786
- # Example: /v1beta1/organizations/123/sources/-/findings
787
+ # Example: /v1beta1/organizations/`organization_id`/sources/-/findings
787
788
  # @param [String] parent
788
789
  # Required. Name of the source to groupBy. Its format is
789
790
  # "organizations/[organization_id]/sources/[source_id]". To groupBy across
790
791
  # all sources provide a source_id of `-`. For example:
791
- # organizations/123/sources/-
792
+ # organizations/`organization_id`/sources/-
792
793
  # @param [Google::Apis::SecuritycenterV1beta1::GroupFindingsRequest] group_findings_request_object
793
794
  # @param [String] fields
794
795
  # Selector specifying which fields to include in a partial response.
@@ -821,12 +822,12 @@ module Google
821
822
 
822
823
  # Lists an organization or source's findings.
823
824
  # To list across all sources provide a `-` as the source id.
824
- # Example: /v1beta1/organizations/123/sources/-/findings
825
+ # Example: /v1beta1/organizations/`organization_id`/sources/-/findings
825
826
  # @param [String] parent
826
827
  # Required. Name of the source the findings belong to. Its format is
827
828
  # "organizations/[organization_id]/sources/[source_id]". To list across all
828
829
  # sources provide a source_id of `-`. For example:
829
- # organizations/123/sources/-
830
+ # organizations/`organization_id`/sources/-
830
831
  # @param [String] field_mask
831
832
  # Optional. A field mask to specify the Finding fields to be listed in the
832
833
  # response.
@@ -910,7 +911,7 @@ module Google
910
911
  # The relative resource name of this finding. See:
911
912
  # https://cloud.google.com/apis/design/resource_names#relative_resource_name
912
913
  # Example:
913
- # "organizations/123/sources/456/findings/789"
914
+ # "organizations/`organization_id`/sources/`source_id`/findings/`finding_id`"
914
915
  # @param [Google::Apis::SecuritycenterV1beta1::Finding] finding_object
915
916
  # @param [String] update_mask
916
917
  # The FieldMask to use when updating the finding resource. This field should
@@ -950,7 +951,7 @@ module Google
950
951
  # Required. The relative resource name of the finding. See:
951
952
  # https://cloud.google.com/apis/design/resource_names#relative_resource_name
952
953
  # Example:
953
- # "organizations/123/sources/456/finding/789".
954
+ # "organizations/`organization_id`/sources/`source_id`/finding/`finding_id`".
954
955
  # @param [Google::Apis::SecuritycenterV1beta1::SetFindingStateRequest] set_finding_state_request_object
955
956
  # @param [String] fields
956
957
  # Selector specifying which fields to include in a partial response.
@@ -986,8 +987,9 @@ module Google
986
987
  # The relative resource name of the SecurityMarks. See:
987
988
  # https://cloud.google.com/apis/design/resource_names#relative_resource_name
988
989
  # Examples:
989
- # "organizations/123/assets/456/securityMarks"
990
- # "organizations/123/sources/456/findings/789/securityMarks".
990
+ # "organizations/`organization_id`/assets/`asset_id`/securityMarks"
991
+ # "organizations/`organization_id`/sources/`source_id`/findings/`finding_id`/
992
+ # securityMarks".
991
993
  # @param [Google::Apis::SecuritycenterV1beta1::SecurityMarks] security_marks_object
992
994
  # @param [String] start_time
993
995
  # The time at which the updated SecurityMarks take effect.
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/sheets/
26
26
  module SheetsV4
27
27
  VERSION = 'V4'
28
- REVISION = '20191001'
28
+ REVISION = '20191031'
29
29
 
30
30
  # See, edit, create, and delete all of your Google Drive files
31
31
  AUTH_DRIVE = 'https://www.googleapis.com/auth/drive'
@@ -337,6 +337,44 @@ module Google
337
337
  end
338
338
  end
339
339
 
340
+ # Adds a slicer to a sheet in the spreadsheet.
341
+ class AddSlicerRequest
342
+ include Google::Apis::Core::Hashable
343
+
344
+ # A slicer in a sheet.
345
+ # Corresponds to the JSON property `slicer`
346
+ # @return [Google::Apis::SheetsV4::Slicer]
347
+ attr_accessor :slicer
348
+
349
+ def initialize(**args)
350
+ update!(**args)
351
+ end
352
+
353
+ # Update properties of this object
354
+ def update!(**args)
355
+ @slicer = args[:slicer] if args.key?(:slicer)
356
+ end
357
+ end
358
+
359
+ # The result of adding a slicer to a spreadsheet.
360
+ class AddSlicerResponse
361
+ include Google::Apis::Core::Hashable
362
+
363
+ # A slicer in a sheet.
364
+ # Corresponds to the JSON property `slicer`
365
+ # @return [Google::Apis::SheetsV4::Slicer]
366
+ attr_accessor :slicer
367
+
368
+ def initialize(**args)
369
+ update!(**args)
370
+ end
371
+
372
+ # Update properties of this object
373
+ def update!(**args)
374
+ @slicer = args[:slicer] if args.key?(:slicer)
375
+ end
376
+ end
377
+
340
378
  # Adds new cells after the last row with data in a sheet,
341
379
  # inserting new rows into the sheet if necessary.
342
380
  class AppendCellsRequest
@@ -4985,6 +5023,220 @@ module Google
4985
5023
  # @return [Array<String>]
4986
5024
  attr_accessor :hidden_values
4987
5025
 
5026
+ # Represents a color in the RGBA color space. This representation is designed
5027
+ # for simplicity of conversion to/from color representations in various
5028
+ # languages over compactness; for example, the fields of this representation
5029
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
5030
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
5031
+ # method in iOS; and, with just a little work, it can be easily formatted into
5032
+ # a CSS "rgba()" string in JavaScript, as well.
5033
+ # Note: this proto does not carry information about the absolute color space
5034
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
5035
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
5036
+ # space.
5037
+ # Example (Java):
5038
+ # import com.google.type.Color;
5039
+ # // ...
5040
+ # public static java.awt.Color fromProto(Color protocolor) `
5041
+ # float alpha = protocolor.hasAlpha()
5042
+ # ? protocolor.getAlpha().getValue()
5043
+ # : 1.0;
5044
+ # return new java.awt.Color(
5045
+ # protocolor.getRed(),
5046
+ # protocolor.getGreen(),
5047
+ # protocolor.getBlue(),
5048
+ # alpha);
5049
+ # `
5050
+ # public static Color toProto(java.awt.Color color) `
5051
+ # float red = (float) color.getRed();
5052
+ # float green = (float) color.getGreen();
5053
+ # float blue = (float) color.getBlue();
5054
+ # float denominator = 255.0;
5055
+ # Color.Builder resultBuilder =
5056
+ # Color
5057
+ # .newBuilder()
5058
+ # .setRed(red / denominator)
5059
+ # .setGreen(green / denominator)
5060
+ # .setBlue(blue / denominator);
5061
+ # int alpha = color.getAlpha();
5062
+ # if (alpha != 255) `
5063
+ # result.setAlpha(
5064
+ # FloatValue
5065
+ # .newBuilder()
5066
+ # .setValue(((float) alpha) / denominator)
5067
+ # .build());
5068
+ # `
5069
+ # return resultBuilder.build();
5070
+ # `
5071
+ # // ...
5072
+ # Example (iOS / Obj-C):
5073
+ # // ...
5074
+ # static UIColor* fromProto(Color* protocolor) `
5075
+ # float red = [protocolor red];
5076
+ # float green = [protocolor green];
5077
+ # float blue = [protocolor blue];
5078
+ # FloatValue* alpha_wrapper = [protocolor alpha];
5079
+ # float alpha = 1.0;
5080
+ # if (alpha_wrapper != nil) `
5081
+ # alpha = [alpha_wrapper value];
5082
+ # `
5083
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
5084
+ # `
5085
+ # static Color* toProto(UIColor* color) `
5086
+ # CGFloat red, green, blue, alpha;
5087
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
5088
+ # return nil;
5089
+ # `
5090
+ # Color* result = [[Color alloc] init];
5091
+ # [result setRed:red];
5092
+ # [result setGreen:green];
5093
+ # [result setBlue:blue];
5094
+ # if (alpha <= 0.9999) `
5095
+ # [result setAlpha:floatWrapperWithValue(alpha)];
5096
+ # `
5097
+ # [result autorelease];
5098
+ # return result;
5099
+ # `
5100
+ # // ...
5101
+ # Example (JavaScript):
5102
+ # // ...
5103
+ # var protoToCssColor = function(rgb_color) `
5104
+ # var redFrac = rgb_color.red || 0.0;
5105
+ # var greenFrac = rgb_color.green || 0.0;
5106
+ # var blueFrac = rgb_color.blue || 0.0;
5107
+ # var red = Math.floor(redFrac * 255);
5108
+ # var green = Math.floor(greenFrac * 255);
5109
+ # var blue = Math.floor(blueFrac * 255);
5110
+ # if (!('alpha' in rgb_color)) `
5111
+ # return rgbToCssColor_(red, green, blue);
5112
+ # `
5113
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
5114
+ # var rgbParams = [red, green, blue].join(',');
5115
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
5116
+ # `;
5117
+ # var rgbToCssColor_ = function(red, green, blue) `
5118
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
5119
+ # var hexString = rgbNumber.toString(16);
5120
+ # var missingZeros = 6 - hexString.length;
5121
+ # var resultBuilder = ['#'];
5122
+ # for (var i = 0; i < missingZeros; i++) `
5123
+ # resultBuilder.push('0');
5124
+ # `
5125
+ # resultBuilder.push(hexString);
5126
+ # return resultBuilder.join('');
5127
+ # `;
5128
+ # // ...
5129
+ # Corresponds to the JSON property `visibleBackgroundColor`
5130
+ # @return [Google::Apis::SheetsV4::Color]
5131
+ attr_accessor :visible_background_color
5132
+
5133
+ # Represents a color in the RGBA color space. This representation is designed
5134
+ # for simplicity of conversion to/from color representations in various
5135
+ # languages over compactness; for example, the fields of this representation
5136
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
5137
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
5138
+ # method in iOS; and, with just a little work, it can be easily formatted into
5139
+ # a CSS "rgba()" string in JavaScript, as well.
5140
+ # Note: this proto does not carry information about the absolute color space
5141
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
5142
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
5143
+ # space.
5144
+ # Example (Java):
5145
+ # import com.google.type.Color;
5146
+ # // ...
5147
+ # public static java.awt.Color fromProto(Color protocolor) `
5148
+ # float alpha = protocolor.hasAlpha()
5149
+ # ? protocolor.getAlpha().getValue()
5150
+ # : 1.0;
5151
+ # return new java.awt.Color(
5152
+ # protocolor.getRed(),
5153
+ # protocolor.getGreen(),
5154
+ # protocolor.getBlue(),
5155
+ # alpha);
5156
+ # `
5157
+ # public static Color toProto(java.awt.Color color) `
5158
+ # float red = (float) color.getRed();
5159
+ # float green = (float) color.getGreen();
5160
+ # float blue = (float) color.getBlue();
5161
+ # float denominator = 255.0;
5162
+ # Color.Builder resultBuilder =
5163
+ # Color
5164
+ # .newBuilder()
5165
+ # .setRed(red / denominator)
5166
+ # .setGreen(green / denominator)
5167
+ # .setBlue(blue / denominator);
5168
+ # int alpha = color.getAlpha();
5169
+ # if (alpha != 255) `
5170
+ # result.setAlpha(
5171
+ # FloatValue
5172
+ # .newBuilder()
5173
+ # .setValue(((float) alpha) / denominator)
5174
+ # .build());
5175
+ # `
5176
+ # return resultBuilder.build();
5177
+ # `
5178
+ # // ...
5179
+ # Example (iOS / Obj-C):
5180
+ # // ...
5181
+ # static UIColor* fromProto(Color* protocolor) `
5182
+ # float red = [protocolor red];
5183
+ # float green = [protocolor green];
5184
+ # float blue = [protocolor blue];
5185
+ # FloatValue* alpha_wrapper = [protocolor alpha];
5186
+ # float alpha = 1.0;
5187
+ # if (alpha_wrapper != nil) `
5188
+ # alpha = [alpha_wrapper value];
5189
+ # `
5190
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
5191
+ # `
5192
+ # static Color* toProto(UIColor* color) `
5193
+ # CGFloat red, green, blue, alpha;
5194
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
5195
+ # return nil;
5196
+ # `
5197
+ # Color* result = [[Color alloc] init];
5198
+ # [result setRed:red];
5199
+ # [result setGreen:green];
5200
+ # [result setBlue:blue];
5201
+ # if (alpha <= 0.9999) `
5202
+ # [result setAlpha:floatWrapperWithValue(alpha)];
5203
+ # `
5204
+ # [result autorelease];
5205
+ # return result;
5206
+ # `
5207
+ # // ...
5208
+ # Example (JavaScript):
5209
+ # // ...
5210
+ # var protoToCssColor = function(rgb_color) `
5211
+ # var redFrac = rgb_color.red || 0.0;
5212
+ # var greenFrac = rgb_color.green || 0.0;
5213
+ # var blueFrac = rgb_color.blue || 0.0;
5214
+ # var red = Math.floor(redFrac * 255);
5215
+ # var green = Math.floor(greenFrac * 255);
5216
+ # var blue = Math.floor(blueFrac * 255);
5217
+ # if (!('alpha' in rgb_color)) `
5218
+ # return rgbToCssColor_(red, green, blue);
5219
+ # `
5220
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
5221
+ # var rgbParams = [red, green, blue].join(',');
5222
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
5223
+ # `;
5224
+ # var rgbToCssColor_ = function(red, green, blue) `
5225
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
5226
+ # var hexString = rgbNumber.toString(16);
5227
+ # var missingZeros = 6 - hexString.length;
5228
+ # var resultBuilder = ['#'];
5229
+ # for (var i = 0; i < missingZeros; i++) `
5230
+ # resultBuilder.push('0');
5231
+ # `
5232
+ # resultBuilder.push(hexString);
5233
+ # return resultBuilder.join('');
5234
+ # `;
5235
+ # // ...
5236
+ # Corresponds to the JSON property `visibleForegroundColor`
5237
+ # @return [Google::Apis::SheetsV4::Color]
5238
+ attr_accessor :visible_foreground_color
5239
+
4988
5240
  def initialize(**args)
4989
5241
  update!(**args)
4990
5242
  end
@@ -4993,6 +5245,8 @@ module Google
4993
5245
  def update!(**args)
4994
5246
  @condition = args[:condition] if args.key?(:condition)
4995
5247
  @hidden_values = args[:hidden_values] if args.key?(:hidden_values)
5248
+ @visible_background_color = args[:visible_background_color] if args.key?(:visible_background_color)
5249
+ @visible_foreground_color = args[:visible_foreground_color] if args.key?(:visible_foreground_color)
4996
5250
  end
4997
5251
  end
4998
5252
 
@@ -7461,6 +7715,11 @@ module Google
7461
7715
  # @return [Google::Apis::SheetsV4::AddSheetRequest]
7462
7716
  attr_accessor :add_sheet
7463
7717
 
7718
+ # Adds a slicer to a sheet in the spreadsheet.
7719
+ # Corresponds to the JSON property `addSlicer`
7720
+ # @return [Google::Apis::SheetsV4::AddSlicerRequest]
7721
+ attr_accessor :add_slicer
7722
+
7464
7723
  # Adds new cells after the last row with data in a sheet,
7465
7724
  # inserting new rows into the sheet if necessary.
7466
7725
  # Corresponds to the JSON property `appendCells`
@@ -7758,6 +8017,13 @@ module Google
7758
8017
  # @return [Google::Apis::SheetsV4::UpdateSheetPropertiesRequest]
7759
8018
  attr_accessor :update_sheet_properties
7760
8019
 
8020
+ # Updates a slicer’s specifications.
8021
+ # (This does not move or resize a slicer. To move or resize a slicer use
8022
+ # UpdateEmbeddedObjectPositionRequest.
8023
+ # Corresponds to the JSON property `updateSlicerSpec`
8024
+ # @return [Google::Apis::SheetsV4::UpdateSlicerSpecRequest]
8025
+ attr_accessor :update_slicer_spec
8026
+
7761
8027
  # Updates properties of a spreadsheet.
7762
8028
  # Corresponds to the JSON property `updateSpreadsheetProperties`
7763
8029
  # @return [Google::Apis::SheetsV4::UpdateSpreadsheetPropertiesRequest]
@@ -7777,6 +8043,7 @@ module Google
7777
8043
  @add_named_range = args[:add_named_range] if args.key?(:add_named_range)
7778
8044
  @add_protected_range = args[:add_protected_range] if args.key?(:add_protected_range)
7779
8045
  @add_sheet = args[:add_sheet] if args.key?(:add_sheet)
8046
+ @add_slicer = args[:add_slicer] if args.key?(:add_slicer)
7780
8047
  @append_cells = args[:append_cells] if args.key?(:append_cells)
7781
8048
  @append_dimension = args[:append_dimension] if args.key?(:append_dimension)
7782
8049
  @auto_fill = args[:auto_fill] if args.key?(:auto_fill)
@@ -7826,6 +8093,7 @@ module Google
7826
8093
  @update_named_range = args[:update_named_range] if args.key?(:update_named_range)
7827
8094
  @update_protected_range = args[:update_protected_range] if args.key?(:update_protected_range)
7828
8095
  @update_sheet_properties = args[:update_sheet_properties] if args.key?(:update_sheet_properties)
8096
+ @update_slicer_spec = args[:update_slicer_spec] if args.key?(:update_slicer_spec)
7829
8097
  @update_spreadsheet_properties = args[:update_spreadsheet_properties] if args.key?(:update_spreadsheet_properties)
7830
8098
  end
7831
8099
  end
@@ -7869,6 +8137,11 @@ module Google
7869
8137
  # @return [Google::Apis::SheetsV4::AddSheetResponse]
7870
8138
  attr_accessor :add_sheet
7871
8139
 
8140
+ # The result of adding a slicer to a spreadsheet.
8141
+ # Corresponds to the JSON property `addSlicer`
8142
+ # @return [Google::Apis::SheetsV4::AddSlicerResponse]
8143
+ attr_accessor :add_slicer
8144
+
7872
8145
  # The response from creating developer metadata.
7873
8146
  # Corresponds to the JSON property `createDeveloperMetadata`
7874
8147
  # @return [Google::Apis::SheetsV4::CreateDeveloperMetadataResponse]
@@ -7942,6 +8215,7 @@ module Google
7942
8215
  @add_named_range = args[:add_named_range] if args.key?(:add_named_range)
7943
8216
  @add_protected_range = args[:add_protected_range] if args.key?(:add_protected_range)
7944
8217
  @add_sheet = args[:add_sheet] if args.key?(:add_sheet)
8218
+ @add_slicer = args[:add_slicer] if args.key?(:add_slicer)
7945
8219
  @create_developer_metadata = args[:create_developer_metadata] if args.key?(:create_developer_metadata)
7946
8220
  @delete_conditional_format_rule = args[:delete_conditional_format_rule] if args.key?(:delete_conditional_format_rule)
7947
8221
  @delete_developer_metadata = args[:delete_developer_metadata] if args.key?(:delete_developer_metadata)
@@ -8226,6 +8500,11 @@ module Google
8226
8500
  # @return [Array<Google::Apis::SheetsV4::DimensionGroup>]
8227
8501
  attr_accessor :row_groups
8228
8502
 
8503
+ # The slicers on this sheet.
8504
+ # Corresponds to the JSON property `slicers`
8505
+ # @return [Array<Google::Apis::SheetsV4::Slicer>]
8506
+ attr_accessor :slicers
8507
+
8229
8508
  def initialize(**args)
8230
8509
  update!(**args)
8231
8510
  end
@@ -8244,6 +8523,7 @@ module Google
8244
8523
  @properties = args[:properties] if args.key?(:properties)
8245
8524
  @protected_ranges = args[:protected_ranges] if args.key?(:protected_ranges)
8246
8525
  @row_groups = args[:row_groups] if args.key?(:row_groups)
8526
+ @slicers = args[:slicers] if args.key?(:slicers)
8247
8527
  end
8248
8528
  end
8249
8529
 
@@ -8423,26 +8703,245 @@ module Google
8423
8703
  end
8424
8704
  end
8425
8705
 
8426
- # Sorts data in rows based on a sort order per column.
8427
- class SortRangeRequest
8706
+ # A slicer in a sheet.
8707
+ class Slicer
8428
8708
  include Google::Apis::Core::Hashable
8429
8709
 
8430
- # A range on a sheet.
8431
- # All indexes are zero-based.
8432
- # Indexes are half open, e.g the start index is inclusive
8433
- # and the end index is exclusive -- [start_index, end_index).
8434
- # Missing indexes indicate the range is unbounded on that side.
8435
- # For example, if `"Sheet1"` is sheet ID 0, then:
8436
- # `Sheet1!A1:A1 == sheet_id: 0,
8437
- # start_row_index: 0, end_row_index: 1,
8438
- # start_column_index: 0, end_column_index: 1`
8439
- # `Sheet1!A3:B4 == sheet_id: 0,
8440
- # start_row_index: 2, end_row_index: 4,
8441
- # start_column_index: 0, end_column_index: 2`
8442
- # `Sheet1!A:B == sheet_id: 0,
8443
- # start_column_index: 0, end_column_index: 2`
8444
- # `Sheet1!A5:B == sheet_id: 0,
8445
- # start_row_index: 4,
8710
+ # The position of an embedded object such as a chart.
8711
+ # Corresponds to the JSON property `position`
8712
+ # @return [Google::Apis::SheetsV4::EmbeddedObjectPosition]
8713
+ attr_accessor :position
8714
+
8715
+ # The ID of the slicer.
8716
+ # Corresponds to the JSON property `slicerId`
8717
+ # @return [Fixnum]
8718
+ attr_accessor :slicer_id
8719
+
8720
+ # The specifications of a slicer.
8721
+ # Corresponds to the JSON property `spec`
8722
+ # @return [Google::Apis::SheetsV4::SlicerSpec]
8723
+ attr_accessor :spec
8724
+
8725
+ def initialize(**args)
8726
+ update!(**args)
8727
+ end
8728
+
8729
+ # Update properties of this object
8730
+ def update!(**args)
8731
+ @position = args[:position] if args.key?(:position)
8732
+ @slicer_id = args[:slicer_id] if args.key?(:slicer_id)
8733
+ @spec = args[:spec] if args.key?(:spec)
8734
+ end
8735
+ end
8736
+
8737
+ # The specifications of a slicer.
8738
+ class SlicerSpec
8739
+ include Google::Apis::Core::Hashable
8740
+
8741
+ # True if the filter should apply to pivot tables.
8742
+ # If not set, default to `True`.
8743
+ # Corresponds to the JSON property `applyToPivotTables`
8744
+ # @return [Boolean]
8745
+ attr_accessor :apply_to_pivot_tables
8746
+ alias_method :apply_to_pivot_tables?, :apply_to_pivot_tables
8747
+
8748
+ # Represents a color in the RGBA color space. This representation is designed
8749
+ # for simplicity of conversion to/from color representations in various
8750
+ # languages over compactness; for example, the fields of this representation
8751
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
8752
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
8753
+ # method in iOS; and, with just a little work, it can be easily formatted into
8754
+ # a CSS "rgba()" string in JavaScript, as well.
8755
+ # Note: this proto does not carry information about the absolute color space
8756
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
8757
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
8758
+ # space.
8759
+ # Example (Java):
8760
+ # import com.google.type.Color;
8761
+ # // ...
8762
+ # public static java.awt.Color fromProto(Color protocolor) `
8763
+ # float alpha = protocolor.hasAlpha()
8764
+ # ? protocolor.getAlpha().getValue()
8765
+ # : 1.0;
8766
+ # return new java.awt.Color(
8767
+ # protocolor.getRed(),
8768
+ # protocolor.getGreen(),
8769
+ # protocolor.getBlue(),
8770
+ # alpha);
8771
+ # `
8772
+ # public static Color toProto(java.awt.Color color) `
8773
+ # float red = (float) color.getRed();
8774
+ # float green = (float) color.getGreen();
8775
+ # float blue = (float) color.getBlue();
8776
+ # float denominator = 255.0;
8777
+ # Color.Builder resultBuilder =
8778
+ # Color
8779
+ # .newBuilder()
8780
+ # .setRed(red / denominator)
8781
+ # .setGreen(green / denominator)
8782
+ # .setBlue(blue / denominator);
8783
+ # int alpha = color.getAlpha();
8784
+ # if (alpha != 255) `
8785
+ # result.setAlpha(
8786
+ # FloatValue
8787
+ # .newBuilder()
8788
+ # .setValue(((float) alpha) / denominator)
8789
+ # .build());
8790
+ # `
8791
+ # return resultBuilder.build();
8792
+ # `
8793
+ # // ...
8794
+ # Example (iOS / Obj-C):
8795
+ # // ...
8796
+ # static UIColor* fromProto(Color* protocolor) `
8797
+ # float red = [protocolor red];
8798
+ # float green = [protocolor green];
8799
+ # float blue = [protocolor blue];
8800
+ # FloatValue* alpha_wrapper = [protocolor alpha];
8801
+ # float alpha = 1.0;
8802
+ # if (alpha_wrapper != nil) `
8803
+ # alpha = [alpha_wrapper value];
8804
+ # `
8805
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
8806
+ # `
8807
+ # static Color* toProto(UIColor* color) `
8808
+ # CGFloat red, green, blue, alpha;
8809
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
8810
+ # return nil;
8811
+ # `
8812
+ # Color* result = [[Color alloc] init];
8813
+ # [result setRed:red];
8814
+ # [result setGreen:green];
8815
+ # [result setBlue:blue];
8816
+ # if (alpha <= 0.9999) `
8817
+ # [result setAlpha:floatWrapperWithValue(alpha)];
8818
+ # `
8819
+ # [result autorelease];
8820
+ # return result;
8821
+ # `
8822
+ # // ...
8823
+ # Example (JavaScript):
8824
+ # // ...
8825
+ # var protoToCssColor = function(rgb_color) `
8826
+ # var redFrac = rgb_color.red || 0.0;
8827
+ # var greenFrac = rgb_color.green || 0.0;
8828
+ # var blueFrac = rgb_color.blue || 0.0;
8829
+ # var red = Math.floor(redFrac * 255);
8830
+ # var green = Math.floor(greenFrac * 255);
8831
+ # var blue = Math.floor(blueFrac * 255);
8832
+ # if (!('alpha' in rgb_color)) `
8833
+ # return rgbToCssColor_(red, green, blue);
8834
+ # `
8835
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
8836
+ # var rgbParams = [red, green, blue].join(',');
8837
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
8838
+ # `;
8839
+ # var rgbToCssColor_ = function(red, green, blue) `
8840
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
8841
+ # var hexString = rgbNumber.toString(16);
8842
+ # var missingZeros = 6 - hexString.length;
8843
+ # var resultBuilder = ['#'];
8844
+ # for (var i = 0; i < missingZeros; i++) `
8845
+ # resultBuilder.push('0');
8846
+ # `
8847
+ # resultBuilder.push(hexString);
8848
+ # return resultBuilder.join('');
8849
+ # `;
8850
+ # // ...
8851
+ # Corresponds to the JSON property `backgroundColor`
8852
+ # @return [Google::Apis::SheetsV4::Color]
8853
+ attr_accessor :background_color
8854
+
8855
+ # The column index in the data table on which the filter is applied to.
8856
+ # Corresponds to the JSON property `columnIndex`
8857
+ # @return [Fixnum]
8858
+ attr_accessor :column_index
8859
+
8860
+ # A range on a sheet.
8861
+ # All indexes are zero-based.
8862
+ # Indexes are half open, e.g the start index is inclusive
8863
+ # and the end index is exclusive -- [start_index, end_index).
8864
+ # Missing indexes indicate the range is unbounded on that side.
8865
+ # For example, if `"Sheet1"` is sheet ID 0, then:
8866
+ # `Sheet1!A1:A1 == sheet_id: 0,
8867
+ # start_row_index: 0, end_row_index: 1,
8868
+ # start_column_index: 0, end_column_index: 1`
8869
+ # `Sheet1!A3:B4 == sheet_id: 0,
8870
+ # start_row_index: 2, end_row_index: 4,
8871
+ # start_column_index: 0, end_column_index: 2`
8872
+ # `Sheet1!A:B == sheet_id: 0,
8873
+ # start_column_index: 0, end_column_index: 2`
8874
+ # `Sheet1!A5:B == sheet_id: 0,
8875
+ # start_row_index: 4,
8876
+ # start_column_index: 0, end_column_index: 2`
8877
+ # `Sheet1 == sheet_id:0`
8878
+ # The start index must always be less than or equal to the end index.
8879
+ # If the start index equals the end index, then the range is empty.
8880
+ # Empty ranges are typically not meaningful and are usually rendered in the
8881
+ # UI as `#REF!`.
8882
+ # Corresponds to the JSON property `dataRange`
8883
+ # @return [Google::Apis::SheetsV4::GridRange]
8884
+ attr_accessor :data_range
8885
+
8886
+ # Criteria for showing/hiding rows in a filter or filter view.
8887
+ # Corresponds to the JSON property `filterCriteria`
8888
+ # @return [Google::Apis::SheetsV4::FilterCriteria]
8889
+ attr_accessor :filter_criteria
8890
+
8891
+ # The horizontal alignment of title in the slicer.
8892
+ # If unspecified, defaults to `LEFT`
8893
+ # Corresponds to the JSON property `horizontalAlignment`
8894
+ # @return [String]
8895
+ attr_accessor :horizontal_alignment
8896
+
8897
+ # The format of a run of text in a cell.
8898
+ # Absent values indicate that the field isn't specified.
8899
+ # Corresponds to the JSON property `textFormat`
8900
+ # @return [Google::Apis::SheetsV4::TextFormat]
8901
+ attr_accessor :text_format
8902
+
8903
+ # The title of the slicer.
8904
+ # Corresponds to the JSON property `title`
8905
+ # @return [String]
8906
+ attr_accessor :title
8907
+
8908
+ def initialize(**args)
8909
+ update!(**args)
8910
+ end
8911
+
8912
+ # Update properties of this object
8913
+ def update!(**args)
8914
+ @apply_to_pivot_tables = args[:apply_to_pivot_tables] if args.key?(:apply_to_pivot_tables)
8915
+ @background_color = args[:background_color] if args.key?(:background_color)
8916
+ @column_index = args[:column_index] if args.key?(:column_index)
8917
+ @data_range = args[:data_range] if args.key?(:data_range)
8918
+ @filter_criteria = args[:filter_criteria] if args.key?(:filter_criteria)
8919
+ @horizontal_alignment = args[:horizontal_alignment] if args.key?(:horizontal_alignment)
8920
+ @text_format = args[:text_format] if args.key?(:text_format)
8921
+ @title = args[:title] if args.key?(:title)
8922
+ end
8923
+ end
8924
+
8925
+ # Sorts data in rows based on a sort order per column.
8926
+ class SortRangeRequest
8927
+ include Google::Apis::Core::Hashable
8928
+
8929
+ # A range on a sheet.
8930
+ # All indexes are zero-based.
8931
+ # Indexes are half open, e.g the start index is inclusive
8932
+ # and the end index is exclusive -- [start_index, end_index).
8933
+ # Missing indexes indicate the range is unbounded on that side.
8934
+ # For example, if `"Sheet1"` is sheet ID 0, then:
8935
+ # `Sheet1!A1:A1 == sheet_id: 0,
8936
+ # start_row_index: 0, end_row_index: 1,
8937
+ # start_column_index: 0, end_column_index: 1`
8938
+ # `Sheet1!A3:B4 == sheet_id: 0,
8939
+ # start_row_index: 2, end_row_index: 4,
8940
+ # start_column_index: 0, end_column_index: 2`
8941
+ # `Sheet1!A:B == sheet_id: 0,
8942
+ # start_column_index: 0, end_column_index: 2`
8943
+ # `Sheet1!A5:B == sheet_id: 0,
8944
+ # start_row_index: 4,
8446
8945
  # start_column_index: 0, end_column_index: 2`
8447
8946
  # `Sheet1 == sheet_id:0`
8448
8947
  # The start index must always be less than or equal to the end index.
@@ -8474,11 +8973,225 @@ module Google
8474
8973
  class SortSpec
8475
8974
  include Google::Apis::Core::Hashable
8476
8975
 
8976
+ # Represents a color in the RGBA color space. This representation is designed
8977
+ # for simplicity of conversion to/from color representations in various
8978
+ # languages over compactness; for example, the fields of this representation
8979
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
8980
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
8981
+ # method in iOS; and, with just a little work, it can be easily formatted into
8982
+ # a CSS "rgba()" string in JavaScript, as well.
8983
+ # Note: this proto does not carry information about the absolute color space
8984
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
8985
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
8986
+ # space.
8987
+ # Example (Java):
8988
+ # import com.google.type.Color;
8989
+ # // ...
8990
+ # public static java.awt.Color fromProto(Color protocolor) `
8991
+ # float alpha = protocolor.hasAlpha()
8992
+ # ? protocolor.getAlpha().getValue()
8993
+ # : 1.0;
8994
+ # return new java.awt.Color(
8995
+ # protocolor.getRed(),
8996
+ # protocolor.getGreen(),
8997
+ # protocolor.getBlue(),
8998
+ # alpha);
8999
+ # `
9000
+ # public static Color toProto(java.awt.Color color) `
9001
+ # float red = (float) color.getRed();
9002
+ # float green = (float) color.getGreen();
9003
+ # float blue = (float) color.getBlue();
9004
+ # float denominator = 255.0;
9005
+ # Color.Builder resultBuilder =
9006
+ # Color
9007
+ # .newBuilder()
9008
+ # .setRed(red / denominator)
9009
+ # .setGreen(green / denominator)
9010
+ # .setBlue(blue / denominator);
9011
+ # int alpha = color.getAlpha();
9012
+ # if (alpha != 255) `
9013
+ # result.setAlpha(
9014
+ # FloatValue
9015
+ # .newBuilder()
9016
+ # .setValue(((float) alpha) / denominator)
9017
+ # .build());
9018
+ # `
9019
+ # return resultBuilder.build();
9020
+ # `
9021
+ # // ...
9022
+ # Example (iOS / Obj-C):
9023
+ # // ...
9024
+ # static UIColor* fromProto(Color* protocolor) `
9025
+ # float red = [protocolor red];
9026
+ # float green = [protocolor green];
9027
+ # float blue = [protocolor blue];
9028
+ # FloatValue* alpha_wrapper = [protocolor alpha];
9029
+ # float alpha = 1.0;
9030
+ # if (alpha_wrapper != nil) `
9031
+ # alpha = [alpha_wrapper value];
9032
+ # `
9033
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
9034
+ # `
9035
+ # static Color* toProto(UIColor* color) `
9036
+ # CGFloat red, green, blue, alpha;
9037
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
9038
+ # return nil;
9039
+ # `
9040
+ # Color* result = [[Color alloc] init];
9041
+ # [result setRed:red];
9042
+ # [result setGreen:green];
9043
+ # [result setBlue:blue];
9044
+ # if (alpha <= 0.9999) `
9045
+ # [result setAlpha:floatWrapperWithValue(alpha)];
9046
+ # `
9047
+ # [result autorelease];
9048
+ # return result;
9049
+ # `
9050
+ # // ...
9051
+ # Example (JavaScript):
9052
+ # // ...
9053
+ # var protoToCssColor = function(rgb_color) `
9054
+ # var redFrac = rgb_color.red || 0.0;
9055
+ # var greenFrac = rgb_color.green || 0.0;
9056
+ # var blueFrac = rgb_color.blue || 0.0;
9057
+ # var red = Math.floor(redFrac * 255);
9058
+ # var green = Math.floor(greenFrac * 255);
9059
+ # var blue = Math.floor(blueFrac * 255);
9060
+ # if (!('alpha' in rgb_color)) `
9061
+ # return rgbToCssColor_(red, green, blue);
9062
+ # `
9063
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
9064
+ # var rgbParams = [red, green, blue].join(',');
9065
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
9066
+ # `;
9067
+ # var rgbToCssColor_ = function(red, green, blue) `
9068
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
9069
+ # var hexString = rgbNumber.toString(16);
9070
+ # var missingZeros = 6 - hexString.length;
9071
+ # var resultBuilder = ['#'];
9072
+ # for (var i = 0; i < missingZeros; i++) `
9073
+ # resultBuilder.push('0');
9074
+ # `
9075
+ # resultBuilder.push(hexString);
9076
+ # return resultBuilder.join('');
9077
+ # `;
9078
+ # // ...
9079
+ # Corresponds to the JSON property `backgroundColor`
9080
+ # @return [Google::Apis::SheetsV4::Color]
9081
+ attr_accessor :background_color
9082
+
8477
9083
  # The dimension the sort should be applied to.
8478
9084
  # Corresponds to the JSON property `dimensionIndex`
8479
9085
  # @return [Fixnum]
8480
9086
  attr_accessor :dimension_index
8481
9087
 
9088
+ # Represents a color in the RGBA color space. This representation is designed
9089
+ # for simplicity of conversion to/from color representations in various
9090
+ # languages over compactness; for example, the fields of this representation
9091
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
9092
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
9093
+ # method in iOS; and, with just a little work, it can be easily formatted into
9094
+ # a CSS "rgba()" string in JavaScript, as well.
9095
+ # Note: this proto does not carry information about the absolute color space
9096
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
9097
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
9098
+ # space.
9099
+ # Example (Java):
9100
+ # import com.google.type.Color;
9101
+ # // ...
9102
+ # public static java.awt.Color fromProto(Color protocolor) `
9103
+ # float alpha = protocolor.hasAlpha()
9104
+ # ? protocolor.getAlpha().getValue()
9105
+ # : 1.0;
9106
+ # return new java.awt.Color(
9107
+ # protocolor.getRed(),
9108
+ # protocolor.getGreen(),
9109
+ # protocolor.getBlue(),
9110
+ # alpha);
9111
+ # `
9112
+ # public static Color toProto(java.awt.Color color) `
9113
+ # float red = (float) color.getRed();
9114
+ # float green = (float) color.getGreen();
9115
+ # float blue = (float) color.getBlue();
9116
+ # float denominator = 255.0;
9117
+ # Color.Builder resultBuilder =
9118
+ # Color
9119
+ # .newBuilder()
9120
+ # .setRed(red / denominator)
9121
+ # .setGreen(green / denominator)
9122
+ # .setBlue(blue / denominator);
9123
+ # int alpha = color.getAlpha();
9124
+ # if (alpha != 255) `
9125
+ # result.setAlpha(
9126
+ # FloatValue
9127
+ # .newBuilder()
9128
+ # .setValue(((float) alpha) / denominator)
9129
+ # .build());
9130
+ # `
9131
+ # return resultBuilder.build();
9132
+ # `
9133
+ # // ...
9134
+ # Example (iOS / Obj-C):
9135
+ # // ...
9136
+ # static UIColor* fromProto(Color* protocolor) `
9137
+ # float red = [protocolor red];
9138
+ # float green = [protocolor green];
9139
+ # float blue = [protocolor blue];
9140
+ # FloatValue* alpha_wrapper = [protocolor alpha];
9141
+ # float alpha = 1.0;
9142
+ # if (alpha_wrapper != nil) `
9143
+ # alpha = [alpha_wrapper value];
9144
+ # `
9145
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
9146
+ # `
9147
+ # static Color* toProto(UIColor* color) `
9148
+ # CGFloat red, green, blue, alpha;
9149
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
9150
+ # return nil;
9151
+ # `
9152
+ # Color* result = [[Color alloc] init];
9153
+ # [result setRed:red];
9154
+ # [result setGreen:green];
9155
+ # [result setBlue:blue];
9156
+ # if (alpha <= 0.9999) `
9157
+ # [result setAlpha:floatWrapperWithValue(alpha)];
9158
+ # `
9159
+ # [result autorelease];
9160
+ # return result;
9161
+ # `
9162
+ # // ...
9163
+ # Example (JavaScript):
9164
+ # // ...
9165
+ # var protoToCssColor = function(rgb_color) `
9166
+ # var redFrac = rgb_color.red || 0.0;
9167
+ # var greenFrac = rgb_color.green || 0.0;
9168
+ # var blueFrac = rgb_color.blue || 0.0;
9169
+ # var red = Math.floor(redFrac * 255);
9170
+ # var green = Math.floor(greenFrac * 255);
9171
+ # var blue = Math.floor(blueFrac * 255);
9172
+ # if (!('alpha' in rgb_color)) `
9173
+ # return rgbToCssColor_(red, green, blue);
9174
+ # `
9175
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
9176
+ # var rgbParams = [red, green, blue].join(',');
9177
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
9178
+ # `;
9179
+ # var rgbToCssColor_ = function(red, green, blue) `
9180
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
9181
+ # var hexString = rgbNumber.toString(16);
9182
+ # var missingZeros = 6 - hexString.length;
9183
+ # var resultBuilder = ['#'];
9184
+ # for (var i = 0; i < missingZeros; i++) `
9185
+ # resultBuilder.push('0');
9186
+ # `
9187
+ # resultBuilder.push(hexString);
9188
+ # return resultBuilder.join('');
9189
+ # `;
9190
+ # // ...
9191
+ # Corresponds to the JSON property `foregroundColor`
9192
+ # @return [Google::Apis::SheetsV4::Color]
9193
+ attr_accessor :foreground_color
9194
+
8482
9195
  # The order data should be sorted.
8483
9196
  # Corresponds to the JSON property `sortOrder`
8484
9197
  # @return [String]
@@ -8490,7 +9203,9 @@ module Google
8490
9203
 
8491
9204
  # Update properties of this object
8492
9205
  def update!(**args)
9206
+ @background_color = args[:background_color] if args.key?(:background_color)
8493
9207
  @dimension_index = args[:dimension_index] if args.key?(:dimension_index)
9208
+ @foreground_color = args[:foreground_color] if args.key?(:foreground_color)
8494
9209
  @sort_order = args[:sort_order] if args.key?(:sort_order)
8495
9210
  end
8496
9211
  end
@@ -10284,6 +10999,41 @@ module Google
10284
10999
  end
10285
11000
  end
10286
11001
 
11002
+ # Updates a slicer’s specifications.
11003
+ # (This does not move or resize a slicer. To move or resize a slicer use
11004
+ # UpdateEmbeddedObjectPositionRequest.
11005
+ class UpdateSlicerSpecRequest
11006
+ include Google::Apis::Core::Hashable
11007
+
11008
+ # The fields that should be updated. At least one field must be specified.
11009
+ # The root `SlicerSpec` is implied and should not be specified. A single "*"`
11010
+ # can be used as short-hand for listing every field.
11011
+ # Corresponds to the JSON property `fields`
11012
+ # @return [String]
11013
+ attr_accessor :fields
11014
+
11015
+ # The id of the slicer to update.
11016
+ # Corresponds to the JSON property `slicerId`
11017
+ # @return [Fixnum]
11018
+ attr_accessor :slicer_id
11019
+
11020
+ # The specifications of a slicer.
11021
+ # Corresponds to the JSON property `spec`
11022
+ # @return [Google::Apis::SheetsV4::SlicerSpec]
11023
+ attr_accessor :spec
11024
+
11025
+ def initialize(**args)
11026
+ update!(**args)
11027
+ end
11028
+
11029
+ # Update properties of this object
11030
+ def update!(**args)
11031
+ @fields = args[:fields] if args.key?(:fields)
11032
+ @slicer_id = args[:slicer_id] if args.key?(:slicer_id)
11033
+ @spec = args[:spec] if args.key?(:spec)
11034
+ end
11035
+ end
11036
+
10287
11037
  # Updates properties of a spreadsheet.
10288
11038
  class UpdateSpreadsheetPropertiesRequest
10289
11039
  include Google::Apis::Core::Hashable