google-apis-pollen_v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,540 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module PollenV1
24
+
25
+ # Represents a color in the RGBA color space. This representation is designed
26
+ # for simplicity of conversion to and from color representations in various
27
+ # languages over compactness. For example, the fields of this representation can
28
+ # be trivially provided to the constructor of `java.awt.Color` in Java; it can
29
+ # also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha`
30
+ # method in iOS; and, with just a little work, it can be easily formatted into a
31
+ # CSS `rgba()` string in JavaScript. This reference page doesn't have
32
+ # information about the absolute color space that should be used to interpret
33
+ # the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default,
34
+ # applications should assume the sRGB color space. When color equality needs to
35
+ # be decided, implementations, unless documented otherwise, treat two colors as
36
+ # equal if all their red, green, blue, and alpha values each differ by at most `
37
+ # 1e-5`. Example (Java): import com.google.type.Color; // ... public static java.
38
+ # awt.Color fromProto(Color protocolor) ` float alpha = protocolor.hasAlpha() ?
39
+ # protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.
40
+ # getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); ` public static
41
+ # Color toProto(java.awt.Color color) ` float red = (float) color.getRed();
42
+ # float green = (float) color.getGreen(); float blue = (float) color.getBlue();
43
+ # float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .
44
+ # setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue /
45
+ # denominator); int alpha = color.getAlpha(); if (alpha != 255) ` result.
46
+ # setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .
47
+ # build()); ` return resultBuilder.build(); ` // ... Example (iOS / Obj-C): // ..
48
+ # . static UIColor* fromProto(Color* protocolor) ` float red = [protocolor red];
49
+ # float green = [protocolor green]; float blue = [protocolor blue]; FloatValue*
50
+ # alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper !=
51
+ # nil) ` alpha = [alpha_wrapper value]; ` return [UIColor colorWithRed:red green:
52
+ # green blue:blue alpha:alpha]; ` static Color* toProto(UIColor* color) `
53
+ # CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&
54
+ # blue alpha:&alpha]) ` return nil; ` Color* result = [[Color alloc] init]; [
55
+ # result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <
56
+ # = 0.9999) ` [result setAlpha:floatWrapperWithValue(alpha)]; ` [result
57
+ # autorelease]; return result; ` // ... Example (JavaScript): // ... var
58
+ # protoToCssColor = function(rgb_color) ` var redFrac = rgb_color.red || 0.0;
59
+ # var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0;
60
+ # var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255);
61
+ # var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) ` return
62
+ # rgbToCssColor(red, green, blue); ` var alphaFrac = rgb_color.alpha.value || 0.
63
+ # 0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',
64
+ # ', alphaFrac, ')'].join(''); `; var rgbToCssColor = function(red, green, blue)
65
+ # ` var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString
66
+ # = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var
67
+ # resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) ` resultBuilder.
68
+ # push('0'); ` resultBuilder.push(hexString); return resultBuilder.join(''); `; /
69
+ # / ...
70
+ class Color
71
+ include Google::Apis::Core::Hashable
72
+
73
+ # The fraction of this color that should be applied to the pixel. That is, the
74
+ # final pixel color is defined by the equation: `pixel color = alpha * (this
75
+ # color) + (1.0 - alpha) * (background color)` This means that a value of 1.0
76
+ # corresponds to a solid color, whereas a value of 0.0 corresponds to a
77
+ # completely transparent color. This uses a wrapper message rather than a simple
78
+ # float scalar so that it is possible to distinguish between a default value and
79
+ # the value being unset. If omitted, this color object is rendered as a solid
80
+ # color (as if the alpha value had been explicitly given a value of 1.0).
81
+ # Corresponds to the JSON property `alpha`
82
+ # @return [Float]
83
+ attr_accessor :alpha
84
+
85
+ # The amount of blue in the color as a value in the interval [0, 1].
86
+ # Corresponds to the JSON property `blue`
87
+ # @return [Float]
88
+ attr_accessor :blue
89
+
90
+ # The amount of green in the color as a value in the interval [0, 1].
91
+ # Corresponds to the JSON property `green`
92
+ # @return [Float]
93
+ attr_accessor :green
94
+
95
+ # The amount of red in the color as a value in the interval [0, 1].
96
+ # Corresponds to the JSON property `red`
97
+ # @return [Float]
98
+ attr_accessor :red
99
+
100
+ def initialize(**args)
101
+ update!(**args)
102
+ end
103
+
104
+ # Update properties of this object
105
+ def update!(**args)
106
+ @alpha = args[:alpha] if args.key?(:alpha)
107
+ @blue = args[:blue] if args.key?(:blue)
108
+ @green = args[:green] if args.key?(:green)
109
+ @red = args[:red] if args.key?(:red)
110
+ end
111
+ end
112
+
113
+ # Represents a whole or partial calendar date, such as a birthday. The time of
114
+ # day and time zone are either specified elsewhere or are insignificant. The
115
+ # date is relative to the Gregorian Calendar. This can represent one of the
116
+ # following: * A full date, with non-zero year, month, and day values. * A month
117
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
118
+ # with a zero month and a zero day. * A year and month, with a zero day (for
119
+ # example, a credit card expiration date). Related types: * google.type.
120
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
121
+ class Date
122
+ include Google::Apis::Core::Hashable
123
+
124
+ # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to
125
+ # specify a year by itself or a year and month where the day isn't significant.
126
+ # Corresponds to the JSON property `day`
127
+ # @return [Fixnum]
128
+ attr_accessor :day
129
+
130
+ # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month
131
+ # and day.
132
+ # Corresponds to the JSON property `month`
133
+ # @return [Fixnum]
134
+ attr_accessor :month
135
+
136
+ # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a
137
+ # year.
138
+ # Corresponds to the JSON property `year`
139
+ # @return [Fixnum]
140
+ attr_accessor :year
141
+
142
+ def initialize(**args)
143
+ update!(**args)
144
+ end
145
+
146
+ # Update properties of this object
147
+ def update!(**args)
148
+ @day = args[:day] if args.key?(:day)
149
+ @month = args[:month] if args.key?(:month)
150
+ @year = args[:year] if args.key?(:year)
151
+ end
152
+ end
153
+
154
+ # This object contains the daily forecast information for each day requested.
155
+ class DayInfo
156
+ include Google::Apis::Core::Hashable
157
+
158
+ # Represents a whole or partial calendar date, such as a birthday. The time of
159
+ # day and time zone are either specified elsewhere or are insignificant. The
160
+ # date is relative to the Gregorian Calendar. This can represent one of the
161
+ # following: * A full date, with non-zero year, month, and day values. * A month
162
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
163
+ # with a zero month and a zero day. * A year and month, with a zero day (for
164
+ # example, a credit card expiration date). Related types: * google.type.
165
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
166
+ # Corresponds to the JSON property `date`
167
+ # @return [Google::Apis::PollenV1::Date]
168
+ attr_accessor :date
169
+
170
+ # This list will include (up to) 15 pollen species affecting the location
171
+ # specified in the request.
172
+ # Corresponds to the JSON property `plantInfo`
173
+ # @return [Array<Google::Apis::PollenV1::PlantInfo>]
174
+ attr_accessor :plant_info
175
+
176
+ # This list will include (up to) three pollen types (grass, weed, tree)
177
+ # affecting the location specified in the request.
178
+ # Corresponds to the JSON property `pollenTypeInfo`
179
+ # @return [Array<Google::Apis::PollenV1::PollenTypeInfo>]
180
+ attr_accessor :pollen_type_info
181
+
182
+ def initialize(**args)
183
+ update!(**args)
184
+ end
185
+
186
+ # Update properties of this object
187
+ def update!(**args)
188
+ @date = args[:date] if args.key?(:date)
189
+ @plant_info = args[:plant_info] if args.key?(:plant_info)
190
+ @pollen_type_info = args[:pollen_type_info] if args.key?(:pollen_type_info)
191
+ end
192
+ end
193
+
194
+ # Message that represents an arbitrary HTTP body. It should only be used for
195
+ # payload formats that can't be represented as JSON, such as raw binary or an
196
+ # HTML page. This message can be used both in streaming and non-streaming API
197
+ # methods in the request as well as the response. It can be used as a top-level
198
+ # request field, which is convenient if one wants to extract parameters from
199
+ # either the URL or HTTP template into the request fields and also want access
200
+ # to the raw HTTP body. Example: message GetResourceRequest ` // A unique
201
+ # request id. string request_id = 1; // The raw HTTP body is bound to this field.
202
+ # google.api.HttpBody http_body = 2; ` service ResourceService ` rpc
203
+ # GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc
204
+ # UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); ` Example
205
+ # with streaming methods: service CaldavService ` rpc GetCalendar(stream google.
206
+ # api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream
207
+ # google.api.HttpBody) returns (stream google.api.HttpBody); ` Use of this type
208
+ # only changes how the request and response bodies are handled, all other
209
+ # features will continue to work unchanged.
210
+ class HttpBody
211
+ include Google::Apis::Core::Hashable
212
+
213
+ # The HTTP Content-Type header value specifying the content type of the body.
214
+ # Corresponds to the JSON property `contentType`
215
+ # @return [String]
216
+ attr_accessor :content_type
217
+
218
+ # The HTTP request/response body as raw binary.
219
+ # Corresponds to the JSON property `data`
220
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
221
+ # @return [String]
222
+ attr_accessor :data
223
+
224
+ # Application specific response metadata. Must be set in the first response for
225
+ # streaming APIs.
226
+ # Corresponds to the JSON property `extensions`
227
+ # @return [Array<Hash<String,Object>>]
228
+ attr_accessor :extensions
229
+
230
+ def initialize(**args)
231
+ update!(**args)
232
+ end
233
+
234
+ # Update properties of this object
235
+ def update!(**args)
236
+ @content_type = args[:content_type] if args.key?(:content_type)
237
+ @data = args[:data] if args.key?(:data)
238
+ @extensions = args[:extensions] if args.key?(:extensions)
239
+ end
240
+ end
241
+
242
+ # This object contains data representing specific pollen index value, category
243
+ # and description.
244
+ class IndexInfo
245
+ include Google::Apis::Core::Hashable
246
+
247
+ # Text classification of index numerical score interpretation. The index
248
+ # consists of six categories: * 0: "None" * 1: "Very low" * 2: "Low" * 3: "
249
+ # Moderate" * 4: "High" * 5: "Very high
250
+ # Corresponds to the JSON property `category`
251
+ # @return [String]
252
+ attr_accessor :category
253
+
254
+ # The index's code. This field represents the index for programming purposes by
255
+ # using snake cases instead of spaces. Example: "UPI".
256
+ # Corresponds to the JSON property `code`
257
+ # @return [String]
258
+ attr_accessor :code
259
+
260
+ # Represents a color in the RGBA color space. This representation is designed
261
+ # for simplicity of conversion to and from color representations in various
262
+ # languages over compactness. For example, the fields of this representation can
263
+ # be trivially provided to the constructor of `java.awt.Color` in Java; it can
264
+ # also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha`
265
+ # method in iOS; and, with just a little work, it can be easily formatted into a
266
+ # CSS `rgba()` string in JavaScript. This reference page doesn't have
267
+ # information about the absolute color space that should be used to interpret
268
+ # the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default,
269
+ # applications should assume the sRGB color space. When color equality needs to
270
+ # be decided, implementations, unless documented otherwise, treat two colors as
271
+ # equal if all their red, green, blue, and alpha values each differ by at most `
272
+ # 1e-5`. Example (Java): import com.google.type.Color; // ... public static java.
273
+ # awt.Color fromProto(Color protocolor) ` float alpha = protocolor.hasAlpha() ?
274
+ # protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.
275
+ # getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); ` public static
276
+ # Color toProto(java.awt.Color color) ` float red = (float) color.getRed();
277
+ # float green = (float) color.getGreen(); float blue = (float) color.getBlue();
278
+ # float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .
279
+ # setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue /
280
+ # denominator); int alpha = color.getAlpha(); if (alpha != 255) ` result.
281
+ # setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .
282
+ # build()); ` return resultBuilder.build(); ` // ... Example (iOS / Obj-C): // ..
283
+ # . static UIColor* fromProto(Color* protocolor) ` float red = [protocolor red];
284
+ # float green = [protocolor green]; float blue = [protocolor blue]; FloatValue*
285
+ # alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper !=
286
+ # nil) ` alpha = [alpha_wrapper value]; ` return [UIColor colorWithRed:red green:
287
+ # green blue:blue alpha:alpha]; ` static Color* toProto(UIColor* color) `
288
+ # CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&
289
+ # blue alpha:&alpha]) ` return nil; ` Color* result = [[Color alloc] init]; [
290
+ # result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <
291
+ # = 0.9999) ` [result setAlpha:floatWrapperWithValue(alpha)]; ` [result
292
+ # autorelease]; return result; ` // ... Example (JavaScript): // ... var
293
+ # protoToCssColor = function(rgb_color) ` var redFrac = rgb_color.red || 0.0;
294
+ # var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0;
295
+ # var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255);
296
+ # var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) ` return
297
+ # rgbToCssColor(red, green, blue); ` var alphaFrac = rgb_color.alpha.value || 0.
298
+ # 0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',
299
+ # ', alphaFrac, ')'].join(''); `; var rgbToCssColor = function(red, green, blue)
300
+ # ` var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString
301
+ # = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var
302
+ # resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) ` resultBuilder.
303
+ # push('0'); ` resultBuilder.push(hexString); return resultBuilder.join(''); `; /
304
+ # / ...
305
+ # Corresponds to the JSON property `color`
306
+ # @return [Google::Apis::PollenV1::Color]
307
+ attr_accessor :color
308
+
309
+ # A human readable representation of the index name. Example: "Universal Pollen
310
+ # Index".
311
+ # Corresponds to the JSON property `displayName`
312
+ # @return [String]
313
+ attr_accessor :display_name
314
+
315
+ # Textual explanation of current index level.
316
+ # Corresponds to the JSON property `indexDescription`
317
+ # @return [String]
318
+ attr_accessor :index_description
319
+
320
+ # The index's numeric score. Numeric range is between 0 and 5.
321
+ # Corresponds to the JSON property `value`
322
+ # @return [Fixnum]
323
+ attr_accessor :value
324
+
325
+ def initialize(**args)
326
+ update!(**args)
327
+ end
328
+
329
+ # Update properties of this object
330
+ def update!(**args)
331
+ @category = args[:category] if args.key?(:category)
332
+ @code = args[:code] if args.key?(:code)
333
+ @color = args[:color] if args.key?(:color)
334
+ @display_name = args[:display_name] if args.key?(:display_name)
335
+ @index_description = args[:index_description] if args.key?(:index_description)
336
+ @value = args[:value] if args.key?(:value)
337
+ end
338
+ end
339
+
340
+ #
341
+ class LookupForecastResponse
342
+ include Google::Apis::Core::Hashable
343
+
344
+ # Required. This object contains the daily forecast information for each day
345
+ # requested.
346
+ # Corresponds to the JSON property `dailyInfo`
347
+ # @return [Array<Google::Apis::PollenV1::DayInfo>]
348
+ attr_accessor :daily_info
349
+
350
+ # Optional. The token to retrieve the next page.
351
+ # Corresponds to the JSON property `nextPageToken`
352
+ # @return [String]
353
+ attr_accessor :next_page_token
354
+
355
+ # The ISO_3166-1 alpha-2 code of the country/region corresponding to the
356
+ # location provided in the request. This field might be omitted from the
357
+ # response if the location provided in the request resides in a disputed
358
+ # territory.
359
+ # Corresponds to the JSON property `regionCode`
360
+ # @return [String]
361
+ attr_accessor :region_code
362
+
363
+ def initialize(**args)
364
+ update!(**args)
365
+ end
366
+
367
+ # Update properties of this object
368
+ def update!(**args)
369
+ @daily_info = args[:daily_info] if args.key?(:daily_info)
370
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
371
+ @region_code = args[:region_code] if args.key?(:region_code)
372
+ end
373
+ end
374
+
375
+ # Contains general information about plants, including details on their
376
+ # seasonality, special shapes and colors, information about allergic cross-
377
+ # reactions, and plant photos.
378
+ class PlantDescription
379
+ include Google::Apis::Core::Hashable
380
+
381
+ # Textual description of pollen cross reaction plants. Example: Alder, Hazel,
382
+ # Hornbeam, Beech, Willow, and Oak pollen.
383
+ # Corresponds to the JSON property `crossReaction`
384
+ # @return [String]
385
+ attr_accessor :cross_reaction
386
+
387
+ # A human readable representation of the plant family name. Example: "Betulaceae
388
+ # (the Birch family)".
389
+ # Corresponds to the JSON property `family`
390
+ # @return [String]
391
+ attr_accessor :family
392
+
393
+ # Link to the picture of the plant.
394
+ # Corresponds to the JSON property `picture`
395
+ # @return [String]
396
+ attr_accessor :picture
397
+
398
+ # Link to a closeup picture of the plant.
399
+ # Corresponds to the JSON property `pictureCloseup`
400
+ # @return [String]
401
+ attr_accessor :picture_closeup
402
+
403
+ # Textual list of explanations of seasons where the pollen is active. Example: "
404
+ # Late winter, spring".
405
+ # Corresponds to the JSON property `season`
406
+ # @return [String]
407
+ attr_accessor :season
408
+
409
+ # Textual description of the plants' colors of leaves, bark, flowers or seeds
410
+ # that helps identify the plant.
411
+ # Corresponds to the JSON property `specialColors`
412
+ # @return [String]
413
+ attr_accessor :special_colors
414
+
415
+ # Textual description of the plants' shapes of leaves, bark, flowers or seeds
416
+ # that helps identify the plant.
417
+ # Corresponds to the JSON property `specialShapes`
418
+ # @return [String]
419
+ attr_accessor :special_shapes
420
+
421
+ # The plant's pollen type. For example: "GRASS". A list of all available codes
422
+ # could be found here.
423
+ # Corresponds to the JSON property `type`
424
+ # @return [String]
425
+ attr_accessor :type
426
+
427
+ def initialize(**args)
428
+ update!(**args)
429
+ end
430
+
431
+ # Update properties of this object
432
+ def update!(**args)
433
+ @cross_reaction = args[:cross_reaction] if args.key?(:cross_reaction)
434
+ @family = args[:family] if args.key?(:family)
435
+ @picture = args[:picture] if args.key?(:picture)
436
+ @picture_closeup = args[:picture_closeup] if args.key?(:picture_closeup)
437
+ @season = args[:season] if args.key?(:season)
438
+ @special_colors = args[:special_colors] if args.key?(:special_colors)
439
+ @special_shapes = args[:special_shapes] if args.key?(:special_shapes)
440
+ @type = args[:type] if args.key?(:type)
441
+ end
442
+ end
443
+
444
+ # This object contains the daily information on specific plant.
445
+ class PlantInfo
446
+ include Google::Apis::Core::Hashable
447
+
448
+ # The plant code name. For example: "COTTONWOOD". A list of all available codes
449
+ # could be found here.
450
+ # Corresponds to the JSON property `code`
451
+ # @return [String]
452
+ attr_accessor :code
453
+
454
+ # A human readable representation of the plant name. Example: “Cottonwood".
455
+ # Corresponds to the JSON property `displayName`
456
+ # @return [String]
457
+ attr_accessor :display_name
458
+
459
+ # Indication of either the plant is in season or not.
460
+ # Corresponds to the JSON property `inSeason`
461
+ # @return [Boolean]
462
+ attr_accessor :in_season
463
+ alias_method :in_season?, :in_season
464
+
465
+ # This object contains data representing specific pollen index value, category
466
+ # and description.
467
+ # Corresponds to the JSON property `indexInfo`
468
+ # @return [Google::Apis::PollenV1::IndexInfo]
469
+ attr_accessor :index_info
470
+
471
+ # Contains general information about plants, including details on their
472
+ # seasonality, special shapes and colors, information about allergic cross-
473
+ # reactions, and plant photos.
474
+ # Corresponds to the JSON property `plantDescription`
475
+ # @return [Google::Apis::PollenV1::PlantDescription]
476
+ attr_accessor :plant_description
477
+
478
+ def initialize(**args)
479
+ update!(**args)
480
+ end
481
+
482
+ # Update properties of this object
483
+ def update!(**args)
484
+ @code = args[:code] if args.key?(:code)
485
+ @display_name = args[:display_name] if args.key?(:display_name)
486
+ @in_season = args[:in_season] if args.key?(:in_season)
487
+ @index_info = args[:index_info] if args.key?(:index_info)
488
+ @plant_description = args[:plant_description] if args.key?(:plant_description)
489
+ end
490
+ end
491
+
492
+ # This object contains the pollen type index and health recommendation
493
+ # information on specific pollen type.
494
+ class PollenTypeInfo
495
+ include Google::Apis::Core::Hashable
496
+
497
+ # The pollen type's code name. For example: "GRASS"
498
+ # Corresponds to the JSON property `code`
499
+ # @return [String]
500
+ attr_accessor :code
501
+
502
+ # A human readable representation of the pollen type name. Example: "Grass"
503
+ # Corresponds to the JSON property `displayName`
504
+ # @return [String]
505
+ attr_accessor :display_name
506
+
507
+ # Textual list of explanations, related to health insights based on the current
508
+ # pollen levels.
509
+ # Corresponds to the JSON property `healthRecommendations`
510
+ # @return [Array<String>]
511
+ attr_accessor :health_recommendations
512
+
513
+ # Indication whether the plant is in season or not.
514
+ # Corresponds to the JSON property `inSeason`
515
+ # @return [Boolean]
516
+ attr_accessor :in_season
517
+ alias_method :in_season?, :in_season
518
+
519
+ # This object contains data representing specific pollen index value, category
520
+ # and description.
521
+ # Corresponds to the JSON property `indexInfo`
522
+ # @return [Google::Apis::PollenV1::IndexInfo]
523
+ attr_accessor :index_info
524
+
525
+ def initialize(**args)
526
+ update!(**args)
527
+ end
528
+
529
+ # Update properties of this object
530
+ def update!(**args)
531
+ @code = args[:code] if args.key?(:code)
532
+ @display_name = args[:display_name] if args.key?(:display_name)
533
+ @health_recommendations = args[:health_recommendations] if args.key?(:health_recommendations)
534
+ @in_season = args[:in_season] if args.key?(:in_season)
535
+ @index_info = args[:index_info] if args.key?(:index_info)
536
+ end
537
+ end
538
+ end
539
+ end
540
+ end
@@ -0,0 +1,28 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ module Google
16
+ module Apis
17
+ module PollenV1
18
+ # Version of the google-apis-pollen_v1 gem
19
+ GEM_VERSION = "0.1.0"
20
+
21
+ # Version of the code generator used to generate this client
22
+ GENERATOR_VERSION = "0.15.0"
23
+
24
+ # Revision of the discovery document this client was generated from
25
+ REVISION = "20240610"
26
+ end
27
+ end
28
+ end