google-api-client 0.9.8 → 0.9.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  4. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +76 -1
  5. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +22 -0
  6. data/generated/google/apis/adsense_v1_4.rb +1 -1
  7. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  8. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  9. data/generated/google/apis/analyticsreporting_v4/classes.rb +32 -14
  10. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  11. data/generated/google/apis/androidenterprise_v1/classes.rb +1 -1
  12. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  13. data/generated/google/apis/appstate_v1.rb +1 -1
  14. data/generated/google/apis/bigquery_v2.rb +1 -1
  15. data/generated/google/apis/bigquery_v2/classes.rb +10 -0
  16. data/generated/google/apis/bigquery_v2/representations.rb +1 -0
  17. data/generated/google/apis/calendar_v3.rb +1 -1
  18. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  19. data/generated/google/apis/clouddebugger_v2/service.rb +2 -2
  20. data/generated/google/apis/compute_beta.rb +1 -1
  21. data/generated/google/apis/compute_beta/classes.rb +28 -5
  22. data/generated/google/apis/compute_beta/representations.rb +3 -0
  23. data/generated/google/apis/compute_beta/service.rb +1 -2
  24. data/generated/google/apis/compute_v1.rb +1 -1
  25. data/generated/google/apis/compute_v1/classes.rb +680 -4
  26. data/generated/google/apis/compute_v1/representations.rb +274 -0
  27. data/generated/google/apis/compute_v1/service.rb +442 -2
  28. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  29. data/generated/google/apis/dns_v1.rb +1 -1
  30. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  31. data/generated/google/apis/drive_v2.rb +1 -1
  32. data/generated/google/apis/drive_v2/classes.rb +6 -0
  33. data/generated/google/apis/drive_v2/representations.rb +2 -0
  34. data/generated/google/apis/drive_v2/service.rb +8 -2
  35. data/generated/google/apis/drive_v3.rb +1 -1
  36. data/generated/google/apis/drive_v3/classes.rb +6 -0
  37. data/generated/google/apis/drive_v3/representations.rb +2 -0
  38. data/generated/google/apis/drive_v3/service.rb +4 -1
  39. data/generated/google/apis/fusiontables_v2.rb +1 -1
  40. data/generated/google/apis/fusiontables_v2/classes.rb +4 -3
  41. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  42. data/generated/google/apis/games_management_v1management.rb +1 -1
  43. data/generated/google/apis/games_v1.rb +1 -1
  44. data/generated/google/apis/genomics_v1.rb +1 -1
  45. data/generated/google/apis/genomics_v1/classes.rb +63 -0
  46. data/generated/google/apis/genomics_v1/representations.rb +31 -0
  47. data/generated/google/apis/gmail_v1.rb +1 -1
  48. data/generated/google/apis/groupssettings_v1.rb +1 -1
  49. data/generated/google/apis/groupssettings_v1/classes.rb +12 -0
  50. data/generated/google/apis/groupssettings_v1/representations.rb +2 -0
  51. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  52. data/generated/google/apis/identitytoolkit_v3/classes.rb +30 -0
  53. data/generated/google/apis/identitytoolkit_v3/representations.rb +5 -0
  54. data/generated/google/apis/monitoring_v3.rb +45 -0
  55. data/generated/google/apis/monitoring_v3/classes.rb +1404 -0
  56. data/generated/google/apis/monitoring_v3/representations.rb +533 -0
  57. data/generated/google/apis/monitoring_v3/service.rb +743 -0
  58. data/generated/google/apis/oauth2_v2.rb +1 -1
  59. data/generated/google/apis/plus_domains_v1.rb +1 -1
  60. data/generated/google/apis/plus_v1.rb +1 -1
  61. data/generated/google/apis/sheets_v4.rb +1 -1
  62. data/generated/google/apis/vision_v1.rb +1 -1
  63. data/generated/google/apis/vision_v1/classes.rb +10 -9
  64. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  65. data/generated/google/apis/youtube_v3.rb +1 -1
  66. data/generated/google/apis/youtube_v3/classes.rb +155 -0
  67. data/generated/google/apis/youtube_v3/representations.rb +81 -0
  68. data/generated/google/apis/youtube_v3/service.rb +6 -2
  69. data/lib/google/apis/errors.rb +2 -2
  70. data/lib/google/apis/version.rb +1 -1
  71. data/samples/cli/lib/samples/bigquery.rb +101 -0
  72. data/samples/cli/lib/samples/sheets.rb +61 -0
  73. metadata +8 -2
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/identity-toolkit/v3/
26
26
  module IdentitytoolkitV3
27
27
  VERSION = 'V3'
28
- REVISION = '20160510'
28
+ REVISION = '20160603'
29
29
  end
30
30
  end
31
31
  end
@@ -587,6 +587,11 @@ module Google
587
587
  # @return [String]
588
588
  attr_accessor :captcha_response
589
589
 
590
+ # The timestamp when the account is created.
591
+ # Corresponds to the JSON property `createdAt`
592
+ # @return [String]
593
+ attr_accessor :created_at
594
+
590
595
  # GCP project number of the requesting delegated app. Currently only intended
591
596
  # for Firebase V1 migration.
592
597
  # Corresponds to the JSON property `delegatedProjectNumber`
@@ -635,6 +640,11 @@ module Google
635
640
  # @return [String]
636
641
  attr_accessor :instance_id
637
642
 
643
+ # Last login timestamp.
644
+ # Corresponds to the JSON property `lastLoginAt`
645
+ # @return [String]
646
+ attr_accessor :last_login_at
647
+
638
648
  # The local ID of the user.
639
649
  # Corresponds to the JSON property `localId`
640
650
  # @return [String]
@@ -685,6 +695,7 @@ module Google
685
695
  def update!(**args)
686
696
  @captcha_challenge = args[:captcha_challenge] if args.key?(:captcha_challenge)
687
697
  @captcha_response = args[:captcha_response] if args.key?(:captcha_response)
698
+ @created_at = args[:created_at] if args.key?(:created_at)
688
699
  @delegated_project_number = args[:delegated_project_number] if args.key?(:delegated_project_number)
689
700
  @delete_attribute = args[:delete_attribute] if args.key?(:delete_attribute)
690
701
  @delete_provider = args[:delete_provider] if args.key?(:delete_provider)
@@ -694,6 +705,7 @@ module Google
694
705
  @email_verified = args[:email_verified] if args.key?(:email_verified)
695
706
  @id_token = args[:id_token] if args.key?(:id_token)
696
707
  @instance_id = args[:instance_id] if args.key?(:instance_id)
708
+ @last_login_at = args[:last_login_at] if args.key?(:last_login_at)
697
709
  @local_id = args[:local_id] if args.key?(:local_id)
698
710
  @oob_code = args[:oob_code] if args.key?(:oob_code)
699
711
  @password = args[:password] if args.key?(:password)
@@ -1171,6 +1183,11 @@ module Google
1171
1183
  # @return [String]
1172
1184
  attr_accessor :secret
1173
1185
 
1186
+ # Whitelisted client IDs for audience check.
1187
+ # Corresponds to the JSON property `whitelistedAudiences`
1188
+ # @return [Array<String>]
1189
+ attr_accessor :whitelisted_audiences
1190
+
1174
1191
  def initialize(**args)
1175
1192
  update!(**args)
1176
1193
  end
@@ -1182,6 +1199,7 @@ module Google
1182
1199
  @experiment_percent = args[:experiment_percent] if args.key?(:experiment_percent)
1183
1200
  @provider = args[:provider] if args.key?(:provider)
1184
1201
  @secret = args[:secret] if args.key?(:secret)
1202
+ @whitelisted_audiences = args[:whitelisted_audiences] if args.key?(:whitelisted_audiences)
1185
1203
  end
1186
1204
  end
1187
1205
 
@@ -1501,6 +1519,11 @@ module Google
1501
1519
  class UserInfo
1502
1520
  include Google::Apis::Core::Hashable
1503
1521
 
1522
+ # User creation timestamp.
1523
+ # Corresponds to the JSON property `createdAt`
1524
+ # @return [String]
1525
+ attr_accessor :created_at
1526
+
1504
1527
  # Whether the user is disabled.
1505
1528
  # Corresponds to the JSON property `disabled`
1506
1529
  # @return [Boolean]
@@ -1523,6 +1546,11 @@ module Google
1523
1546
  attr_accessor :email_verified
1524
1547
  alias_method :email_verified?, :email_verified
1525
1548
 
1549
+ # last login timestamp.
1550
+ # Corresponds to the JSON property `lastLoginAt`
1551
+ # @return [String]
1552
+ attr_accessor :last_login_at
1553
+
1526
1554
  # The local ID of the user.
1527
1555
  # Corresponds to the JSON property `localId`
1528
1556
  # @return [String]
@@ -1569,10 +1597,12 @@ module Google
1569
1597
 
1570
1598
  # Update properties of this object
1571
1599
  def update!(**args)
1600
+ @created_at = args[:created_at] if args.key?(:created_at)
1572
1601
  @disabled = args[:disabled] if args.key?(:disabled)
1573
1602
  @display_name = args[:display_name] if args.key?(:display_name)
1574
1603
  @email = args[:email] if args.key?(:email)
1575
1604
  @email_verified = args[:email_verified] if args.key?(:email_verified)
1605
+ @last_login_at = args[:last_login_at] if args.key?(:last_login_at)
1576
1606
  @local_id = args[:local_id] if args.key?(:local_id)
1577
1607
  @password_hash = args[:password_hash] if args.key?(:password_hash)
1578
1608
  @password_updated_at = args[:password_updated_at] if args.key?(:password_updated_at)
@@ -389,6 +389,7 @@ module Google
389
389
  class Representation < Google::Apis::Core::JsonRepresentation
390
390
  property :captcha_challenge, as: 'captchaChallenge'
391
391
  property :captcha_response, as: 'captchaResponse'
392
+ property :created_at, as: 'createdAt'
392
393
  property :delegated_project_number, as: 'delegatedProjectNumber'
393
394
  collection :delete_attribute, as: 'deleteAttribute'
394
395
  collection :delete_provider, as: 'deleteProvider'
@@ -398,6 +399,7 @@ module Google
398
399
  property :email_verified, as: 'emailVerified'
399
400
  property :id_token, as: 'idToken'
400
401
  property :instance_id, as: 'instanceId'
402
+ property :last_login_at, as: 'lastLoginAt'
401
403
  property :local_id, as: 'localId'
402
404
  property :oob_code, as: 'oobCode'
403
405
  property :password, as: 'password'
@@ -528,6 +530,7 @@ module Google
528
530
  property :experiment_percent, as: 'experimentPercent'
529
531
  property :provider, as: 'provider'
530
532
  property :secret, as: 'secret'
533
+ collection :whitelisted_audiences, as: 'whitelistedAudiences'
531
534
  end
532
535
  end
533
536
 
@@ -614,10 +617,12 @@ module Google
614
617
  class UserInfo
615
618
  # @private
616
619
  class Representation < Google::Apis::Core::JsonRepresentation
620
+ property :created_at, as: 'createdAt'
617
621
  property :disabled, as: 'disabled'
618
622
  property :display_name, as: 'displayName'
619
623
  property :email, as: 'email'
620
624
  property :email_verified, as: 'emailVerified'
625
+ property :last_login_at, as: 'lastLoginAt'
621
626
  property :local_id, as: 'localId'
622
627
  property :password_hash, :base64 => true, as: 'passwordHash'
623
628
  property :password_updated_at, as: 'passwordUpdatedAt'
@@ -0,0 +1,45 @@
1
+ # Copyright 2015 Google Inc.
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 'google/apis/monitoring_v3/service.rb'
16
+ require 'google/apis/monitoring_v3/classes.rb'
17
+ require 'google/apis/monitoring_v3/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Google Monitoring API
22
+ #
23
+ # Manages your Stackdriver Monitoring data and configurations. Most projects
24
+ # must be associated with a Stackdriver account, with a few exceptions as noted
25
+ # on the individual method pages.
26
+ #
27
+ # @see https://cloud.google.com/monitoring/api/
28
+ module MonitoringV3
29
+ VERSION = 'V3'
30
+ REVISION = '20160606'
31
+
32
+ # View and manage your data across Google Cloud Platform services
33
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
34
+
35
+ # View monitoring data for all of your Google Cloud and third-party projects
36
+ AUTH_MONITORING_READ = 'https://www.googleapis.com/auth/monitoring.read'
37
+
38
+ # Publish metric data to your Google Cloud projects
39
+ AUTH_MONITORING_WRITE = 'https://www.googleapis.com/auth/monitoring.write'
40
+
41
+ # View and write monitoring data for all of your Google and third-party Cloud and API projects
42
+ AUTH_MONITORING = 'https://www.googleapis.com/auth/monitoring'
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,1404 @@
1
+ # Copyright 2015 Google Inc.
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 MonitoringV3
24
+
25
+ # A specific metric identified by specifying values for all of the
26
+ # labels of a `MetricDescriptor`.
27
+ class Metric
28
+ include Google::Apis::Core::Hashable
29
+
30
+ # The set of labels that uniquely identify a metric. To specify a
31
+ # metric, all labels enumerated in the `MetricDescriptor` must be
32
+ # assigned values.
33
+ # Corresponds to the JSON property `labels`
34
+ # @return [Hash<String,String>]
35
+ attr_accessor :labels
36
+
37
+ # An existing metric type, see google.api.MetricDescriptor.
38
+ # For example, `compute.googleapis.com/instance/cpu/usage_time`.
39
+ # Corresponds to the JSON property `type`
40
+ # @return [String]
41
+ attr_accessor :type
42
+
43
+ def initialize(**args)
44
+ update!(**args)
45
+ end
46
+
47
+ # Update properties of this object
48
+ def update!(**args)
49
+ @labels = args[:labels] if args.key?(:labels)
50
+ @type = args[:type] if args.key?(:type)
51
+ end
52
+ end
53
+
54
+ # The `ListGroupMembers` response.
55
+ class ListGroupMembersResponse
56
+ include Google::Apis::Core::Hashable
57
+
58
+ # A set of monitored resources in the group.
59
+ # Corresponds to the JSON property `members`
60
+ # @return [Array<Google::Apis::MonitoringV3::MonitoredResource>]
61
+ attr_accessor :members
62
+
63
+ # If there are more results than have been returned, then this field is
64
+ # set to a non-empty value. To see the additional results, use that value as
65
+ # `pageToken` in the next call to this method.
66
+ # Corresponds to the JSON property `nextPageToken`
67
+ # @return [String]
68
+ attr_accessor :next_page_token
69
+
70
+ # The total number of elements matching this request.
71
+ # Corresponds to the JSON property `totalSize`
72
+ # @return [Fixnum]
73
+ attr_accessor :total_size
74
+
75
+ def initialize(**args)
76
+ update!(**args)
77
+ end
78
+
79
+ # Update properties of this object
80
+ def update!(**args)
81
+ @members = args[:members] if args.key?(:members)
82
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
83
+ @total_size = args[:total_size] if args.key?(:total_size)
84
+ end
85
+ end
86
+
87
+ # A time interval extending from after `startTime` through `endTime`. If
88
+ # `startTime` is omitted, the interval is the single point in time, `endTime`.
89
+ class TimeInterval
90
+ include Google::Apis::Core::Hashable
91
+
92
+ # Required. The end of the interval. The interval includes this
93
+ # time.
94
+ # Corresponds to the JSON property `endTime`
95
+ # @return [String]
96
+ attr_accessor :end_time
97
+
98
+ # If this value is omitted, the interval is a point in time,
99
+ # `endTime`. If `startTime` is present, it must be earlier than
100
+ # (less than) `endTime`. The interval begins after
101
+ # `startTime`&mdash;it does not include `startTime`.
102
+ # Corresponds to the JSON property `startTime`
103
+ # @return [String]
104
+ attr_accessor :start_time
105
+
106
+ def initialize(**args)
107
+ update!(**args)
108
+ end
109
+
110
+ # Update properties of this object
111
+ def update!(**args)
112
+ @end_time = args[:end_time] if args.key?(:end_time)
113
+ @start_time = args[:start_time] if args.key?(:start_time)
114
+ end
115
+ end
116
+
117
+ # The description of a dynamic collection of monitored resources. Each group
118
+ # has a filter that is matched against monitored resources and their associated
119
+ # metadata. If a group's filter matches an available monitored resource, then
120
+ # that resource is a member of that group. Groups can contain any number of
121
+ # monitored resources, and each monitored resource can be a member of any
122
+ # number of groups.
123
+ # Groups can be nested in parent-child hierarchies. The `parentName` field
124
+ # identifies an optional parent for each group. If a group has a parent, then
125
+ # the only monitored resources available to be matched by the group's filter
126
+ # are the resources contained in the parent group. In other words, a group
127
+ # contains the monitored resources that match its filter and the filters of all
128
+ # the group's ancestors. A group without a parent can contain any monitored
129
+ # resource.
130
+ # For example, consider an infrastructure running a set of instances with two
131
+ # user-defined tags: `"environment"` and `"role"`. A parent group has a filter,
132
+ # `environment="production"`. A child of that parent group has a filter,
133
+ # `role="transcoder"`. The parent group contains all instances in the
134
+ # production environment, regardless of their roles. The child group contains
135
+ # instances that have the transcoder role *and* are in the production
136
+ # environment.
137
+ # The monitored resources contained in a group can change at any moment,
138
+ # depending on what resources exist and what filters are associated with the
139
+ # group and its ancestors.
140
+ class Group
141
+ include Google::Apis::Core::Hashable
142
+
143
+ # A user-assigned name for this group, used only for display purposes.
144
+ # Corresponds to the JSON property `displayName`
145
+ # @return [String]
146
+ attr_accessor :display_name
147
+
148
+ # The name of the group's parent, if it has one.
149
+ # The format is `"projects/`project_id_or_number`/groups/`group_id`"`.
150
+ # For groups with no parent, `parentName` is the empty string, `""`.
151
+ # Corresponds to the JSON property `parentName`
152
+ # @return [String]
153
+ attr_accessor :parent_name
154
+
155
+ # If true, the members of this group are considered to be a cluster.
156
+ # The system can perform additional analysis on groups that are clusters.
157
+ # Corresponds to the JSON property `isCluster`
158
+ # @return [Boolean]
159
+ attr_accessor :is_cluster
160
+ alias_method :is_cluster?, :is_cluster
161
+
162
+ # The filter used to determine which monitored resources belong to this group.
163
+ # Corresponds to the JSON property `filter`
164
+ # @return [String]
165
+ attr_accessor :filter
166
+
167
+ # The name of this group.
168
+ # The format is
169
+ # `"projects/`project_id_or_number`/groups/`group_id`"`.
170
+ # When creating a group, this field is ignored and a new name is created
171
+ # consisting of the project specified in the call to `CreateGroup`
172
+ # and a unique ``group_id`` that is generated automatically.
173
+ # @OutputOnly
174
+ # Corresponds to the JSON property `name`
175
+ # @return [String]
176
+ attr_accessor :name
177
+
178
+ def initialize(**args)
179
+ update!(**args)
180
+ end
181
+
182
+ # Update properties of this object
183
+ def update!(**args)
184
+ @display_name = args[:display_name] if args.key?(:display_name)
185
+ @parent_name = args[:parent_name] if args.key?(:parent_name)
186
+ @is_cluster = args[:is_cluster] if args.key?(:is_cluster)
187
+ @filter = args[:filter] if args.key?(:filter)
188
+ @name = args[:name] if args.key?(:name)
189
+ end
190
+ end
191
+
192
+ # The `ListTimeSeries` response.
193
+ class ListTimeSeriesResponse
194
+ include Google::Apis::Core::Hashable
195
+
196
+ # One or more time series that match the filter included in the request.
197
+ # Corresponds to the JSON property `timeSeries`
198
+ # @return [Array<Google::Apis::MonitoringV3::TimeSeries>]
199
+ attr_accessor :time_series
200
+
201
+ # If there are more results than have been returned, then this field is set
202
+ # to a non-empty value. To see the additional results,
203
+ # use that value as `pageToken` in the next call to this method.
204
+ # Corresponds to the JSON property `nextPageToken`
205
+ # @return [String]
206
+ attr_accessor :next_page_token
207
+
208
+ def initialize(**args)
209
+ update!(**args)
210
+ end
211
+
212
+ # Update properties of this object
213
+ def update!(**args)
214
+ @time_series = args[:time_series] if args.key?(:time_series)
215
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
216
+ end
217
+ end
218
+
219
+ # A single data point in a time series.
220
+ class Point
221
+ include Google::Apis::Core::Hashable
222
+
223
+ # A single strongly-typed value.
224
+ # Corresponds to the JSON property `value`
225
+ # @return [Google::Apis::MonitoringV3::TypedValue]
226
+ attr_accessor :value
227
+
228
+ # A time interval extending from after `startTime` through `endTime`. If
229
+ # `startTime` is omitted, the interval is the single point in time, `endTime`.
230
+ # Corresponds to the JSON property `interval`
231
+ # @return [Google::Apis::MonitoringV3::TimeInterval]
232
+ attr_accessor :interval
233
+
234
+ def initialize(**args)
235
+ update!(**args)
236
+ end
237
+
238
+ # Update properties of this object
239
+ def update!(**args)
240
+ @value = args[:value] if args.key?(:value)
241
+ @interval = args[:interval] if args.key?(:interval)
242
+ end
243
+ end
244
+
245
+ # A single data point from a `collectd`-based plugin.
246
+ class CollectdValue
247
+ include Google::Apis::Core::Hashable
248
+
249
+ # A single strongly-typed value.
250
+ # Corresponds to the JSON property `value`
251
+ # @return [Google::Apis::MonitoringV3::TypedValue]
252
+ attr_accessor :value
253
+
254
+ # The data source for the `collectd` value. For example there are
255
+ # two data sources for network measurements: `"rx"` and `"tx"`.
256
+ # Corresponds to the JSON property `dataSourceName`
257
+ # @return [String]
258
+ attr_accessor :data_source_name
259
+
260
+ # The type of measurement.
261
+ # Corresponds to the JSON property `dataSourceType`
262
+ # @return [String]
263
+ attr_accessor :data_source_type
264
+
265
+ def initialize(**args)
266
+ update!(**args)
267
+ end
268
+
269
+ # Update properties of this object
270
+ def update!(**args)
271
+ @value = args[:value] if args.key?(:value)
272
+ @data_source_name = args[:data_source_name] if args.key?(:data_source_name)
273
+ @data_source_type = args[:data_source_type] if args.key?(:data_source_type)
274
+ end
275
+ end
276
+
277
+ # A collection of data points that describes the time-varying nature
278
+ # of a metric. A time series is identified by a combination of a
279
+ # fully-specified monitored resource and a fully-specified metric.
280
+ class TimeSeries
281
+ include Google::Apis::Core::Hashable
282
+
283
+ # A specific metric identified by specifying values for all of the
284
+ # labels of a `MetricDescriptor`.
285
+ # Corresponds to the JSON property `metric`
286
+ # @return [Google::Apis::MonitoringV3::Metric]
287
+ attr_accessor :metric
288
+
289
+ # The data points of this time series. When used as output, points will be
290
+ # sorted by decreasing time order. When used as input, points could be
291
+ # written in any orders.
292
+ # Corresponds to the JSON property `points`
293
+ # @return [Array<Google::Apis::MonitoringV3::Point>]
294
+ attr_accessor :points
295
+
296
+ # The value type of the time series. This can be different than the value
297
+ # type specified in [google.api.MetricDescriptor] because of alignment and
298
+ # reduction operations on the data. This field is ignored when writing data;
299
+ # the value specified in the descriptor is used instead.
300
+ # @OutputOnly
301
+ # Corresponds to the JSON property `valueType`
302
+ # @return [String]
303
+ attr_accessor :value_type
304
+
305
+ # An object representing a resource that can be used for monitoring, logging,
306
+ # billing, or other purposes. Examples include virtual machine instances,
307
+ # databases, and storage devices such as disks. The `type` field identifies a
308
+ # MonitoredResourceDescriptor object that describes the resource's
309
+ # schema. Information in the `labels` field identifies the actual resource and
310
+ # its attributes according to the schema. For example, a particular Compute
311
+ # Engine VM instance could be represented by the following object, because the
312
+ # MonitoredResourceDescriptor for `"gce_instance"` has labels
313
+ # `"instance_id"` and `"zone"`:
314
+ # ` "type": "gce_instance",
315
+ # "labels": ` "instance_id": "my-instance",
316
+ # "zone": "us-central1-a" ``
317
+ # Corresponds to the JSON property `resource`
318
+ # @return [Google::Apis::MonitoringV3::MonitoredResource]
319
+ attr_accessor :resource
320
+
321
+ # The metric kind of the time series. This can be different than the metric
322
+ # kind specified in [google.api.MetricDescriptor] because of alignment and
323
+ # reduction operations on the data. This field is ignored when writing data;
324
+ # the value specified in the descriptor is used instead.
325
+ # @OutputOnly
326
+ # Corresponds to the JSON property `metricKind`
327
+ # @return [String]
328
+ attr_accessor :metric_kind
329
+
330
+ def initialize(**args)
331
+ update!(**args)
332
+ end
333
+
334
+ # Update properties of this object
335
+ def update!(**args)
336
+ @metric = args[:metric] if args.key?(:metric)
337
+ @points = args[:points] if args.key?(:points)
338
+ @value_type = args[:value_type] if args.key?(:value_type)
339
+ @resource = args[:resource] if args.key?(:resource)
340
+ @metric_kind = args[:metric_kind] if args.key?(:metric_kind)
341
+ end
342
+ end
343
+
344
+ # Defines a metric type and its schema.
345
+ class MetricDescriptor
346
+ include Google::Apis::Core::Hashable
347
+
348
+ # A detailed description of the metric, which can be used in documentation.
349
+ # Corresponds to the JSON property `description`
350
+ # @return [String]
351
+ attr_accessor :description
352
+
353
+ # The unit in which the metric value is reported. It is only applicable
354
+ # if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The
355
+ # supported units are a subset of [The Unified Code for Units of
356
+ # Measure](http://unitsofmeasure.org/ucum.html) standard:
357
+ # **Basic units (UNIT)**
358
+ # * `bit` bit
359
+ # * `By` byte
360
+ # * `s` second
361
+ # * `min` minute
362
+ # * `h` hour
363
+ # * `d` day
364
+ # **Prefixes (PREFIX)**
365
+ # * `k` kilo (10**3)
366
+ # * `M` mega (10**6)
367
+ # * `G` giga (10**9)
368
+ # * `T` tera (10**12)
369
+ # * `P` peta (10**15)
370
+ # * `E` exa (10**18)
371
+ # * `Z` zetta (10**21)
372
+ # * `Y` yotta (10**24)
373
+ # * `m` milli (10**-3)
374
+ # * `u` micro (10**-6)
375
+ # * `n` nano (10**-9)
376
+ # * `p` pico (10**-12)
377
+ # * `f` femto (10**-15)
378
+ # * `a` atto (10**-18)
379
+ # * `z` zepto (10**-21)
380
+ # * `y` yocto (10**-24)
381
+ # * `Ki` kibi (2**10)
382
+ # * `Mi` mebi (2**20)
383
+ # * `Gi` gibi (2**30)
384
+ # * `Ti` tebi (2**40)
385
+ # **Grammar**
386
+ # The grammar includes the dimensionless unit `1`, such as `1/s`.
387
+ # The grammar also includes these connectors:
388
+ # * `/` division (as an infix operator, e.g. `1/s`).
389
+ # * `.` multiplication (as an infix operator, e.g. `GBy.d`)
390
+ # The grammar for a unit is as follows:
391
+ # Expression = Component ` "." Component ` ` "/" Component ` ;
392
+ # Component = [ PREFIX ] UNIT [ Annotation ]
393
+ # | Annotation
394
+ # | "1"
395
+ # ;
396
+ # Annotation = "`" NAME "`" ;
397
+ # Notes:
398
+ # * `Annotation` is just a comment if it follows a `UNIT` and is
399
+ # equivalent to `1` if it is used alone. For examples,
400
+ # ``requests`/s == 1/s`, `By`transmitted`/s == By/s`.
401
+ # * `NAME` is a sequence of non-blank printable ASCII characters not
402
+ # containing '`' or '`'.
403
+ # Corresponds to the JSON property `unit`
404
+ # @return [String]
405
+ attr_accessor :unit
406
+
407
+ # The set of labels that can be used to describe a specific instance of this
408
+ # metric type. For example, the
409
+ # `compute.googleapis.com/instance/network/received_bytes_count` metric type
410
+ # has a label, `loadbalanced`, that specifies whether the traffic was
411
+ # received through a load balanced IP address.
412
+ # Corresponds to the JSON property `labels`
413
+ # @return [Array<Google::Apis::MonitoringV3::LabelDescriptor>]
414
+ attr_accessor :labels
415
+
416
+ # Whether the metric records instantaneous values, changes to a value, etc.
417
+ # Corresponds to the JSON property `metricKind`
418
+ # @return [String]
419
+ attr_accessor :metric_kind
420
+
421
+ # Whether the measurement is an integer, a floating-point number, etc.
422
+ # Corresponds to the JSON property `valueType`
423
+ # @return [String]
424
+ attr_accessor :value_type
425
+
426
+ # A concise name for the metric, which can be displayed in user interfaces.
427
+ # Use sentence case without an ending period, for example "Request count".
428
+ # Corresponds to the JSON property `displayName`
429
+ # @return [String]
430
+ attr_accessor :display_name
431
+
432
+ # Resource name. The format of the name may vary between different
433
+ # implementations. For examples:
434
+ # projects/`project_id`/metricDescriptors/`type=**`
435
+ # metricDescriptors/`type=**`
436
+ # Corresponds to the JSON property `name`
437
+ # @return [String]
438
+ attr_accessor :name
439
+
440
+ # The metric type including a DNS name prefix, for example
441
+ # `"compute.googleapis.com/instance/cpu/utilization"`. Metric types
442
+ # should use a natural hierarchical grouping such as the following:
443
+ # compute.googleapis.com/instance/cpu/utilization
444
+ # compute.googleapis.com/instance/disk/read_ops_count
445
+ # compute.googleapis.com/instance/network/received_bytes_count
446
+ # Note that if the metric type changes, the monitoring data will be
447
+ # discontinued, and anything depends on it will break, such as monitoring
448
+ # dashboards, alerting rules and quota limits. Therefore, once a metric has
449
+ # been published, its type should be immutable.
450
+ # Corresponds to the JSON property `type`
451
+ # @return [String]
452
+ attr_accessor :type
453
+
454
+ def initialize(**args)
455
+ update!(**args)
456
+ end
457
+
458
+ # Update properties of this object
459
+ def update!(**args)
460
+ @description = args[:description] if args.key?(:description)
461
+ @unit = args[:unit] if args.key?(:unit)
462
+ @labels = args[:labels] if args.key?(:labels)
463
+ @metric_kind = args[:metric_kind] if args.key?(:metric_kind)
464
+ @value_type = args[:value_type] if args.key?(:value_type)
465
+ @display_name = args[:display_name] if args.key?(:display_name)
466
+ @name = args[:name] if args.key?(:name)
467
+ @type = args[:type] if args.key?(:type)
468
+ end
469
+ end
470
+
471
+ # Specify a sequence of buckets that have a width that is proportional to
472
+ # the value of the lower bound. Each bucket represents a constant relative
473
+ # uncertainty on a specific value in the bucket.
474
+ # Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for
475
+ # bucket i:
476
+ # Upper bound (0 <= i < N-1): scale * (growth_factor ^ i).
477
+ # Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)).
478
+ class Exponential
479
+ include Google::Apis::Core::Hashable
480
+
481
+ # Must be greater than 1
482
+ # Corresponds to the JSON property `growthFactor`
483
+ # @return [Float]
484
+ attr_accessor :growth_factor
485
+
486
+ # Must be greater than 0
487
+ # Corresponds to the JSON property `scale`
488
+ # @return [Float]
489
+ attr_accessor :scale
490
+
491
+ # must be greater than 0
492
+ # Corresponds to the JSON property `numFiniteBuckets`
493
+ # @return [Fixnum]
494
+ attr_accessor :num_finite_buckets
495
+
496
+ def initialize(**args)
497
+ update!(**args)
498
+ end
499
+
500
+ # Update properties of this object
501
+ def update!(**args)
502
+ @growth_factor = args[:growth_factor] if args.key?(:growth_factor)
503
+ @scale = args[:scale] if args.key?(:scale)
504
+ @num_finite_buckets = args[:num_finite_buckets] if args.key?(:num_finite_buckets)
505
+ end
506
+ end
507
+
508
+ # A set of buckets with arbitrary widths.
509
+ # Defines `size(bounds) + 1` (= N) buckets with these boundaries for
510
+ # bucket i:
511
+ # Upper bound (0 <= i < N-1): bounds[i]
512
+ # Lower bound (1 <= i < N); bounds[i - 1]
513
+ # There must be at least one element in `bounds`. If `bounds` has only one
514
+ # element, there are no finite buckets, and that single element is the
515
+ # common boundary of the overflow and underflow buckets.
516
+ class Explicit
517
+ include Google::Apis::Core::Hashable
518
+
519
+ # The values must be monotonically increasing.
520
+ # Corresponds to the JSON property `bounds`
521
+ # @return [Array<Float>]
522
+ attr_accessor :bounds
523
+
524
+ def initialize(**args)
525
+ update!(**args)
526
+ end
527
+
528
+ # Update properties of this object
529
+ def update!(**args)
530
+ @bounds = args[:bounds] if args.key?(:bounds)
531
+ end
532
+ end
533
+
534
+ # Specify a sequence of buckets that all have the same width (except
535
+ # overflow and underflow). Each bucket represents a constant absolute
536
+ # uncertainty on the specific value in the bucket.
537
+ # Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for
538
+ # bucket `i`:
539
+ # Upper bound (0 <= i < N-1): offset + (width * i).
540
+ # Lower bound (1 <= i < N): offset + (width * (i - 1)).
541
+ class Linear
542
+ include Google::Apis::Core::Hashable
543
+
544
+ # Must be greater than 0.
545
+ # Corresponds to the JSON property `width`
546
+ # @return [Float]
547
+ attr_accessor :width
548
+
549
+ # Lower bound of the first bucket.
550
+ # Corresponds to the JSON property `offset`
551
+ # @return [Float]
552
+ attr_accessor :offset
553
+
554
+ # Must be greater than 0.
555
+ # Corresponds to the JSON property `numFiniteBuckets`
556
+ # @return [Fixnum]
557
+ attr_accessor :num_finite_buckets
558
+
559
+ def initialize(**args)
560
+ update!(**args)
561
+ end
562
+
563
+ # Update properties of this object
564
+ def update!(**args)
565
+ @width = args[:width] if args.key?(:width)
566
+ @offset = args[:offset] if args.key?(:offset)
567
+ @num_finite_buckets = args[:num_finite_buckets] if args.key?(:num_finite_buckets)
568
+ end
569
+ end
570
+
571
+ # A collection of data points sent from a `collectd`-based plugin.
572
+ # See the `collectd` documentation for more information.
573
+ class CollectdPayload
574
+ include Google::Apis::Core::Hashable
575
+
576
+ # The end time of the interval.
577
+ # Corresponds to the JSON property `endTime`
578
+ # @return [String]
579
+ attr_accessor :end_time
580
+
581
+ # The measurement metadata. Example: `"process_id" -> 12345`
582
+ # Corresponds to the JSON property `metadata`
583
+ # @return [Hash<String,Google::Apis::MonitoringV3::TypedValue>]
584
+ attr_accessor :metadata
585
+
586
+ # The measured values during this time interval.
587
+ # Each value must have a different `dataSourceName`.
588
+ # Corresponds to the JSON property `values`
589
+ # @return [Array<Google::Apis::MonitoringV3::CollectdValue>]
590
+ attr_accessor :values
591
+
592
+ # The instance name of the plugin Example: `"hdcl"`.
593
+ # Corresponds to the JSON property `pluginInstance`
594
+ # @return [String]
595
+ attr_accessor :plugin_instance
596
+
597
+ # The start time of the interval.
598
+ # Corresponds to the JSON property `startTime`
599
+ # @return [String]
600
+ attr_accessor :start_time
601
+
602
+ # The measurement type instance. Example: `"used"`.
603
+ # Corresponds to the JSON property `typeInstance`
604
+ # @return [String]
605
+ attr_accessor :type_instance
606
+
607
+ # The measurement type. Example: `"memory"`.
608
+ # Corresponds to the JSON property `type`
609
+ # @return [String]
610
+ attr_accessor :type
611
+
612
+ # The name of the plugin. Example: `"disk"`.
613
+ # Corresponds to the JSON property `plugin`
614
+ # @return [String]
615
+ attr_accessor :plugin
616
+
617
+ def initialize(**args)
618
+ update!(**args)
619
+ end
620
+
621
+ # Update properties of this object
622
+ def update!(**args)
623
+ @end_time = args[:end_time] if args.key?(:end_time)
624
+ @metadata = args[:metadata] if args.key?(:metadata)
625
+ @values = args[:values] if args.key?(:values)
626
+ @plugin_instance = args[:plugin_instance] if args.key?(:plugin_instance)
627
+ @start_time = args[:start_time] if args.key?(:start_time)
628
+ @type_instance = args[:type_instance] if args.key?(:type_instance)
629
+ @type = args[:type] if args.key?(:type)
630
+ @plugin = args[:plugin] if args.key?(:plugin)
631
+ end
632
+ end
633
+
634
+ # The `ListMetricDescriptors` response.
635
+ class ListMetricDescriptorsResponse
636
+ include Google::Apis::Core::Hashable
637
+
638
+ # The metric descriptors that are available to the project
639
+ # and that match the value of `filter`, if present.
640
+ # Corresponds to the JSON property `metricDescriptors`
641
+ # @return [Array<Google::Apis::MonitoringV3::MetricDescriptor>]
642
+ attr_accessor :metric_descriptors
643
+
644
+ # If there are more results than have been returned, then this field is set
645
+ # to a non-empty value. To see the additional results,
646
+ # use that value as `pageToken` in the next call to this method.
647
+ # Corresponds to the JSON property `nextPageToken`
648
+ # @return [String]
649
+ attr_accessor :next_page_token
650
+
651
+ def initialize(**args)
652
+ update!(**args)
653
+ end
654
+
655
+ # Update properties of this object
656
+ def update!(**args)
657
+ @metric_descriptors = args[:metric_descriptors] if args.key?(:metric_descriptors)
658
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
659
+ end
660
+ end
661
+
662
+ # Distribution contains summary statistics for a population of values and,
663
+ # optionally, a histogram representing the distribution of those values across
664
+ # a specified set of histogram buckets.
665
+ # The summary statistics are the count, mean, sum of the squared deviation from
666
+ # the mean, the minimum, and the maximum of the set of population of values.
667
+ # The histogram is based on a sequence of buckets and gives a count of values
668
+ # that fall into each bucket. The boundaries of the buckets are given either
669
+ # explicitly or by specifying parameters for a method of computing them
670
+ # (buckets of fixed width or buckets of exponentially increasing width).
671
+ # Although it is not forbidden, it is generally a bad idea to include
672
+ # non-finite values (infinities or NaNs) in the population of values, as this
673
+ # will render the `mean` and `sum_of_squared_deviation` fields meaningless.
674
+ class Distribution
675
+ include Google::Apis::Core::Hashable
676
+
677
+ # If `bucket_options` is given, then the sum of the values in `bucket_counts`
678
+ # must equal the value in `count`. If `bucket_options` is not given, no
679
+ # `bucket_counts` fields may be given.
680
+ # Bucket counts are given in order under the numbering scheme described
681
+ # above (the underflow bucket has number 0; the finite buckets, if any,
682
+ # have numbers 1 through N-2; the overflow bucket has number N-1).
683
+ # The size of `bucket_counts` must be no greater than N as defined in
684
+ # `bucket_options`.
685
+ # Any suffix of trailing zero bucket_count fields may be omitted.
686
+ # Corresponds to the JSON property `bucketCounts`
687
+ # @return [Array<String>]
688
+ attr_accessor :bucket_counts
689
+
690
+ # A Distribution may optionally contain a histogram of the values in the
691
+ # population. The histogram is given in `bucket_counts` as counts of values
692
+ # that fall into one of a sequence of non-overlapping buckets. The sequence
693
+ # of buckets is described by `bucket_options`.
694
+ # A bucket specifies an inclusive lower bound and exclusive upper bound for
695
+ # the values that are counted for that bucket. The upper bound of a bucket
696
+ # is strictly greater than the lower bound.
697
+ # The sequence of N buckets for a Distribution consists of an underflow
698
+ # bucket (number 0), zero or more finite buckets (number 1 through N - 2) and
699
+ # an overflow bucket (number N - 1). The buckets are contiguous: the lower
700
+ # bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1.
701
+ # The buckets span the whole range of finite values: lower bound of the
702
+ # underflow bucket is -infinity and the upper bound of the overflow bucket is
703
+ # +infinity. The finite buckets are so-called because both bounds are
704
+ # finite.
705
+ # `BucketOptions` describes bucket boundaries in one of three ways. Two
706
+ # describe the boundaries by giving parameters for a formula to generate
707
+ # boundaries and one gives the bucket boundaries explicitly.
708
+ # If `bucket_boundaries` is not given, then no `bucket_counts` may be given.
709
+ # Corresponds to the JSON property `bucketOptions`
710
+ # @return [Google::Apis::MonitoringV3::BucketOptions]
711
+ attr_accessor :bucket_options
712
+
713
+ # The number of values in the population. Must be non-negative.
714
+ # Corresponds to the JSON property `count`
715
+ # @return [String]
716
+ attr_accessor :count
717
+
718
+ # The sum of squared deviations from the mean of the values in the
719
+ # population. For values x_i this is:
720
+ # Sum[i=1..n]((x_i - mean)^2)
721
+ # Knuth, "The Art of Computer Programming", Vol. 2, page 323, 3rd edition
722
+ # describes Welford's method for accumulating this sum in one pass.
723
+ # If `count` is zero then this field must be zero.
724
+ # Corresponds to the JSON property `sumOfSquaredDeviation`
725
+ # @return [Float]
726
+ attr_accessor :sum_of_squared_deviation
727
+
728
+ # The arithmetic mean of the values in the population. If `count` is zero
729
+ # then this field must be zero.
730
+ # Corresponds to the JSON property `mean`
731
+ # @return [Float]
732
+ attr_accessor :mean
733
+
734
+ # The range of the population values.
735
+ # Corresponds to the JSON property `range`
736
+ # @return [Google::Apis::MonitoringV3::Range]
737
+ attr_accessor :range
738
+
739
+ # Must be in increasing order of |value| field. The current requirement
740
+ # enforced by the backend is that at most one Exemplar will fall into any
741
+ # bucket.
742
+ # Corresponds to the JSON property `exemplars`
743
+ # @return [Array<Google::Apis::MonitoringV3::Exemplar>]
744
+ attr_accessor :exemplars
745
+
746
+ def initialize(**args)
747
+ update!(**args)
748
+ end
749
+
750
+ # Update properties of this object
751
+ def update!(**args)
752
+ @bucket_counts = args[:bucket_counts] if args.key?(:bucket_counts)
753
+ @bucket_options = args[:bucket_options] if args.key?(:bucket_options)
754
+ @count = args[:count] if args.key?(:count)
755
+ @sum_of_squared_deviation = args[:sum_of_squared_deviation] if args.key?(:sum_of_squared_deviation)
756
+ @mean = args[:mean] if args.key?(:mean)
757
+ @range = args[:range] if args.key?(:range)
758
+ @exemplars = args[:exemplars] if args.key?(:exemplars)
759
+ end
760
+ end
761
+
762
+ # An object representing a resource that can be used for monitoring, logging,
763
+ # billing, or other purposes. Examples include virtual machine instances,
764
+ # databases, and storage devices such as disks. The `type` field identifies a
765
+ # MonitoredResourceDescriptor object that describes the resource's
766
+ # schema. Information in the `labels` field identifies the actual resource and
767
+ # its attributes according to the schema. For example, a particular Compute
768
+ # Engine VM instance could be represented by the following object, because the
769
+ # MonitoredResourceDescriptor for `"gce_instance"` has labels
770
+ # `"instance_id"` and `"zone"`:
771
+ # ` "type": "gce_instance",
772
+ # "labels": ` "instance_id": "my-instance",
773
+ # "zone": "us-central1-a" ``
774
+ class MonitoredResource
775
+ include Google::Apis::Core::Hashable
776
+
777
+ # Required. Values for all of the labels listed in the associated monitored
778
+ # resource descriptor. For example, Cloud SQL databases use the labels
779
+ # `"database_id"` and `"zone"`.
780
+ # Corresponds to the JSON property `labels`
781
+ # @return [Hash<String,String>]
782
+ attr_accessor :labels
783
+
784
+ # Required. The monitored resource type. This field must match
785
+ # the `type` field of a MonitoredResourceDescriptor object. For
786
+ # example, the type of a Cloud SQL database is `"cloudsql_database"`.
787
+ # Corresponds to the JSON property `type`
788
+ # @return [String]
789
+ attr_accessor :type
790
+
791
+ def initialize(**args)
792
+ update!(**args)
793
+ end
794
+
795
+ # Update properties of this object
796
+ def update!(**args)
797
+ @labels = args[:labels] if args.key?(:labels)
798
+ @type = args[:type] if args.key?(:type)
799
+ end
800
+ end
801
+
802
+ # A description of a label.
803
+ class LabelDescriptor
804
+ include Google::Apis::Core::Hashable
805
+
806
+ # A human-readable description for the label.
807
+ # Corresponds to the JSON property `description`
808
+ # @return [String]
809
+ attr_accessor :description
810
+
811
+ # The type of data that can be assigned to the label.
812
+ # Corresponds to the JSON property `valueType`
813
+ # @return [String]
814
+ attr_accessor :value_type
815
+
816
+ # The label key.
817
+ # Corresponds to the JSON property `key`
818
+ # @return [String]
819
+ attr_accessor :key
820
+
821
+ def initialize(**args)
822
+ update!(**args)
823
+ end
824
+
825
+ # Update properties of this object
826
+ def update!(**args)
827
+ @description = args[:description] if args.key?(:description)
828
+ @value_type = args[:value_type] if args.key?(:value_type)
829
+ @key = args[:key] if args.key?(:key)
830
+ end
831
+ end
832
+
833
+ # An object that describes the schema of a MonitoredResource object using a
834
+ # type name and a set of labels. For example, the monitored resource
835
+ # descriptor for Google Compute Engine VM instances has a type of
836
+ # `"gce_instance"` and specifies the use of the labels `"instance_id"` and
837
+ # `"zone"` to identify particular VM instances.
838
+ # Different APIs can support different monitored resource types. APIs generally
839
+ # provide a `list` method that returns the monitored resource descriptors used
840
+ # by the API.
841
+ class MonitoredResourceDescriptor
842
+ include Google::Apis::Core::Hashable
843
+
844
+ # Optional. A concise name for the monitored resource type that might be
845
+ # displayed in user interfaces. For example, `"Google Cloud SQL Database"`.
846
+ # Corresponds to the JSON property `displayName`
847
+ # @return [String]
848
+ attr_accessor :display_name
849
+
850
+ # Optional. A detailed description of the monitored resource type that might
851
+ # be used in documentation.
852
+ # Corresponds to the JSON property `description`
853
+ # @return [String]
854
+ attr_accessor :description
855
+
856
+ # Required. A set of labels used to describe instances of this monitored
857
+ # resource type. For example, an individual Google Cloud SQL database is
858
+ # identified by values for the labels `"database_id"` and `"zone"`.
859
+ # Corresponds to the JSON property `labels`
860
+ # @return [Array<Google::Apis::MonitoringV3::LabelDescriptor>]
861
+ attr_accessor :labels
862
+
863
+ # Required. The monitored resource type. For example, the type
864
+ # `"cloudsql_database"` represents databases in Google Cloud SQL.
865
+ # Corresponds to the JSON property `type`
866
+ # @return [String]
867
+ attr_accessor :type
868
+
869
+ # Optional. The resource name of the monitored resource descriptor:
870
+ # `"projects/`project_id`/monitoredResourceDescriptors/`type`"` where
871
+ # `type` is the value of the `type` field in this object and
872
+ # `project_id` is a project ID that provides API-specific context for
873
+ # accessing the type. APIs that do not use project information can use the
874
+ # resource name format `"monitoredResourceDescriptors/`type`"`.
875
+ # Corresponds to the JSON property `name`
876
+ # @return [String]
877
+ attr_accessor :name
878
+
879
+ def initialize(**args)
880
+ update!(**args)
881
+ end
882
+
883
+ # Update properties of this object
884
+ def update!(**args)
885
+ @display_name = args[:display_name] if args.key?(:display_name)
886
+ @description = args[:description] if args.key?(:description)
887
+ @labels = args[:labels] if args.key?(:labels)
888
+ @type = args[:type] if args.key?(:type)
889
+ @name = args[:name] if args.key?(:name)
890
+ end
891
+ end
892
+
893
+ # A single strongly-typed value.
894
+ class TypedValue
895
+ include Google::Apis::Core::Hashable
896
+
897
+ # A Boolean value: `true` or `false`.
898
+ # Corresponds to the JSON property `boolValue`
899
+ # @return [Boolean]
900
+ attr_accessor :bool_value
901
+ alias_method :bool_value?, :bool_value
902
+
903
+ # A variable-length string value.
904
+ # Corresponds to the JSON property `stringValue`
905
+ # @return [String]
906
+ attr_accessor :string_value
907
+
908
+ # A 64-bit integer. Its range is approximately &plusmn;9.2x10<sup>18</sup>.
909
+ # Corresponds to the JSON property `int64Value`
910
+ # @return [String]
911
+ attr_accessor :int64_value
912
+
913
+ # A 64-bit double-precision floating-point number. Its magnitude
914
+ # is approximately &plusmn;10<sup>&plusmn;300</sup> and it has 16
915
+ # significant digits of precision.
916
+ # Corresponds to the JSON property `doubleValue`
917
+ # @return [Float]
918
+ attr_accessor :double_value
919
+
920
+ # Distribution contains summary statistics for a population of values and,
921
+ # optionally, a histogram representing the distribution of those values across
922
+ # a specified set of histogram buckets.
923
+ # The summary statistics are the count, mean, sum of the squared deviation from
924
+ # the mean, the minimum, and the maximum of the set of population of values.
925
+ # The histogram is based on a sequence of buckets and gives a count of values
926
+ # that fall into each bucket. The boundaries of the buckets are given either
927
+ # explicitly or by specifying parameters for a method of computing them
928
+ # (buckets of fixed width or buckets of exponentially increasing width).
929
+ # Although it is not forbidden, it is generally a bad idea to include
930
+ # non-finite values (infinities or NaNs) in the population of values, as this
931
+ # will render the `mean` and `sum_of_squared_deviation` fields meaningless.
932
+ # Corresponds to the JSON property `distributionValue`
933
+ # @return [Google::Apis::MonitoringV3::Distribution]
934
+ attr_accessor :distribution_value
935
+
936
+ def initialize(**args)
937
+ update!(**args)
938
+ end
939
+
940
+ # Update properties of this object
941
+ def update!(**args)
942
+ @bool_value = args[:bool_value] if args.key?(:bool_value)
943
+ @string_value = args[:string_value] if args.key?(:string_value)
944
+ @int64_value = args[:int64_value] if args.key?(:int64_value)
945
+ @double_value = args[:double_value] if args.key?(:double_value)
946
+ @distribution_value = args[:distribution_value] if args.key?(:distribution_value)
947
+ end
948
+ end
949
+
950
+ # The `ListMonitoredResourcDescriptors` response.
951
+ class ListMonitoredResourceDescriptorsResponse
952
+ include Google::Apis::Core::Hashable
953
+
954
+ # If there are more results than have been returned, then this field is set
955
+ # to a non-empty value. To see the additional results,
956
+ # use that value as `pageToken` in the next call to this method.
957
+ # Corresponds to the JSON property `nextPageToken`
958
+ # @return [String]
959
+ attr_accessor :next_page_token
960
+
961
+ # The monitored resource descriptors that are available to this project
962
+ # and that match `filter`, if present.
963
+ # Corresponds to the JSON property `resourceDescriptors`
964
+ # @return [Array<Google::Apis::MonitoringV3::MonitoredResourceDescriptor>]
965
+ attr_accessor :resource_descriptors
966
+
967
+ def initialize(**args)
968
+ update!(**args)
969
+ end
970
+
971
+ # Update properties of this object
972
+ def update!(**args)
973
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
974
+ @resource_descriptors = args[:resource_descriptors] if args.key?(:resource_descriptors)
975
+ end
976
+ end
977
+
978
+ # A single field of a message type.
979
+ class Field
980
+ include Google::Apis::Core::Hashable
981
+
982
+ # The string value of the default value of this field. Proto2 syntax only.
983
+ # Corresponds to the JSON property `defaultValue`
984
+ # @return [String]
985
+ attr_accessor :default_value
986
+
987
+ # The field JSON name.
988
+ # Corresponds to the JSON property `jsonName`
989
+ # @return [String]
990
+ attr_accessor :json_name
991
+
992
+ # The protocol buffer options.
993
+ # Corresponds to the JSON property `options`
994
+ # @return [Array<Google::Apis::MonitoringV3::Option>]
995
+ attr_accessor :options
996
+
997
+ # The index of the field type in `Type.oneofs`, for message or enumeration
998
+ # types. The first type has index 1; zero means the type is not in the list.
999
+ # Corresponds to the JSON property `oneofIndex`
1000
+ # @return [Fixnum]
1001
+ attr_accessor :oneof_index
1002
+
1003
+ # The field cardinality.
1004
+ # Corresponds to the JSON property `cardinality`
1005
+ # @return [String]
1006
+ attr_accessor :cardinality
1007
+
1008
+ # The field type URL, without the scheme, for message or enumeration
1009
+ # types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`.
1010
+ # Corresponds to the JSON property `typeUrl`
1011
+ # @return [String]
1012
+ attr_accessor :type_url
1013
+
1014
+ # The field name.
1015
+ # Corresponds to the JSON property `name`
1016
+ # @return [String]
1017
+ attr_accessor :name
1018
+
1019
+ # Whether to use alternative packed wire representation.
1020
+ # Corresponds to the JSON property `packed`
1021
+ # @return [Boolean]
1022
+ attr_accessor :packed
1023
+ alias_method :packed?, :packed
1024
+
1025
+ # The field number.
1026
+ # Corresponds to the JSON property `number`
1027
+ # @return [Fixnum]
1028
+ attr_accessor :number
1029
+
1030
+ # The field type.
1031
+ # Corresponds to the JSON property `kind`
1032
+ # @return [String]
1033
+ attr_accessor :kind
1034
+
1035
+ def initialize(**args)
1036
+ update!(**args)
1037
+ end
1038
+
1039
+ # Update properties of this object
1040
+ def update!(**args)
1041
+ @default_value = args[:default_value] if args.key?(:default_value)
1042
+ @json_name = args[:json_name] if args.key?(:json_name)
1043
+ @options = args[:options] if args.key?(:options)
1044
+ @oneof_index = args[:oneof_index] if args.key?(:oneof_index)
1045
+ @cardinality = args[:cardinality] if args.key?(:cardinality)
1046
+ @type_url = args[:type_url] if args.key?(:type_url)
1047
+ @name = args[:name] if args.key?(:name)
1048
+ @packed = args[:packed] if args.key?(:packed)
1049
+ @number = args[:number] if args.key?(:number)
1050
+ @kind = args[:kind] if args.key?(:kind)
1051
+ end
1052
+ end
1053
+
1054
+ # A protocol buffer option, which can be attached to a message, field,
1055
+ # enumeration, etc.
1056
+ class Option
1057
+ include Google::Apis::Core::Hashable
1058
+
1059
+ # The option's value. For example, `"com.google.protobuf"`.
1060
+ # Corresponds to the JSON property `value`
1061
+ # @return [Hash<String,Object>]
1062
+ attr_accessor :value
1063
+
1064
+ # The option's name. For example, `"java_package"`.
1065
+ # Corresponds to the JSON property `name`
1066
+ # @return [String]
1067
+ attr_accessor :name
1068
+
1069
+ def initialize(**args)
1070
+ update!(**args)
1071
+ end
1072
+
1073
+ # Update properties of this object
1074
+ def update!(**args)
1075
+ @value = args[:value] if args.key?(:value)
1076
+ @name = args[:name] if args.key?(:name)
1077
+ end
1078
+ end
1079
+
1080
+ # A generic empty message that you can re-use to avoid defining duplicated
1081
+ # empty messages in your APIs. A typical example is to use it as the request
1082
+ # or the response type of an API method. For instance:
1083
+ # service Foo `
1084
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
1085
+ # `
1086
+ # The JSON representation for `Empty` is empty JSON object ````.
1087
+ class Empty
1088
+ include Google::Apis::Core::Hashable
1089
+
1090
+ def initialize(**args)
1091
+ update!(**args)
1092
+ end
1093
+
1094
+ # Update properties of this object
1095
+ def update!(**args)
1096
+ end
1097
+ end
1098
+
1099
+ # `SourceContext` represents information about the source of a
1100
+ # protobuf element, like the file in which it is defined.
1101
+ class SourceContext
1102
+ include Google::Apis::Core::Hashable
1103
+
1104
+ # The path-qualified name of the .proto file that contained the associated
1105
+ # protobuf element. For example: `"google/protobuf/source.proto"`.
1106
+ # Corresponds to the JSON property `fileName`
1107
+ # @return [String]
1108
+ attr_accessor :file_name
1109
+
1110
+ def initialize(**args)
1111
+ update!(**args)
1112
+ end
1113
+
1114
+ # Update properties of this object
1115
+ def update!(**args)
1116
+ @file_name = args[:file_name] if args.key?(:file_name)
1117
+ end
1118
+ end
1119
+
1120
+ # The range of the population values.
1121
+ class Range
1122
+ include Google::Apis::Core::Hashable
1123
+
1124
+ # The maximum of the population values.
1125
+ # Corresponds to the JSON property `max`
1126
+ # @return [Float]
1127
+ attr_accessor :max
1128
+
1129
+ # The minimum of the population values.
1130
+ # Corresponds to the JSON property `min`
1131
+ # @return [Float]
1132
+ attr_accessor :min
1133
+
1134
+ def initialize(**args)
1135
+ update!(**args)
1136
+ end
1137
+
1138
+ # Update properties of this object
1139
+ def update!(**args)
1140
+ @max = args[:max] if args.key?(:max)
1141
+ @min = args[:min] if args.key?(:min)
1142
+ end
1143
+ end
1144
+
1145
+ # The `CreateTimeSeries` request.
1146
+ class CreateTimeSeriesRequest
1147
+ include Google::Apis::Core::Hashable
1148
+
1149
+ # The new data to be added to a list of time series.
1150
+ # Adds at most one data point to each of several time series. The new data
1151
+ # point must be more recent than any other point in its time series. Each
1152
+ # `TimeSeries` value must fully specify a unique time series by supplying
1153
+ # all label values for the metric and the monitored resource.
1154
+ # Corresponds to the JSON property `timeSeries`
1155
+ # @return [Array<Google::Apis::MonitoringV3::TimeSeries>]
1156
+ attr_accessor :time_series
1157
+
1158
+ def initialize(**args)
1159
+ update!(**args)
1160
+ end
1161
+
1162
+ # Update properties of this object
1163
+ def update!(**args)
1164
+ @time_series = args[:time_series] if args.key?(:time_series)
1165
+ end
1166
+ end
1167
+
1168
+ # A Distribution may optionally contain a histogram of the values in the
1169
+ # population. The histogram is given in `bucket_counts` as counts of values
1170
+ # that fall into one of a sequence of non-overlapping buckets. The sequence
1171
+ # of buckets is described by `bucket_options`.
1172
+ # A bucket specifies an inclusive lower bound and exclusive upper bound for
1173
+ # the values that are counted for that bucket. The upper bound of a bucket
1174
+ # is strictly greater than the lower bound.
1175
+ # The sequence of N buckets for a Distribution consists of an underflow
1176
+ # bucket (number 0), zero or more finite buckets (number 1 through N - 2) and
1177
+ # an overflow bucket (number N - 1). The buckets are contiguous: the lower
1178
+ # bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1.
1179
+ # The buckets span the whole range of finite values: lower bound of the
1180
+ # underflow bucket is -infinity and the upper bound of the overflow bucket is
1181
+ # +infinity. The finite buckets are so-called because both bounds are
1182
+ # finite.
1183
+ # `BucketOptions` describes bucket boundaries in one of three ways. Two
1184
+ # describe the boundaries by giving parameters for a formula to generate
1185
+ # boundaries and one gives the bucket boundaries explicitly.
1186
+ # If `bucket_boundaries` is not given, then no `bucket_counts` may be given.
1187
+ class BucketOptions
1188
+ include Google::Apis::Core::Hashable
1189
+
1190
+ # A set of buckets with arbitrary widths.
1191
+ # Defines `size(bounds) + 1` (= N) buckets with these boundaries for
1192
+ # bucket i:
1193
+ # Upper bound (0 <= i < N-1): bounds[i]
1194
+ # Lower bound (1 <= i < N); bounds[i - 1]
1195
+ # There must be at least one element in `bounds`. If `bounds` has only one
1196
+ # element, there are no finite buckets, and that single element is the
1197
+ # common boundary of the overflow and underflow buckets.
1198
+ # Corresponds to the JSON property `explicitBuckets`
1199
+ # @return [Google::Apis::MonitoringV3::Explicit]
1200
+ attr_accessor :explicit_buckets
1201
+
1202
+ # Specify a sequence of buckets that have a width that is proportional to
1203
+ # the value of the lower bound. Each bucket represents a constant relative
1204
+ # uncertainty on a specific value in the bucket.
1205
+ # Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for
1206
+ # bucket i:
1207
+ # Upper bound (0 <= i < N-1): scale * (growth_factor ^ i).
1208
+ # Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)).
1209
+ # Corresponds to the JSON property `exponentialBuckets`
1210
+ # @return [Google::Apis::MonitoringV3::Exponential]
1211
+ attr_accessor :exponential_buckets
1212
+
1213
+ # Specify a sequence of buckets that all have the same width (except
1214
+ # overflow and underflow). Each bucket represents a constant absolute
1215
+ # uncertainty on the specific value in the bucket.
1216
+ # Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for
1217
+ # bucket `i`:
1218
+ # Upper bound (0 <= i < N-1): offset + (width * i).
1219
+ # Lower bound (1 <= i < N): offset + (width * (i - 1)).
1220
+ # Corresponds to the JSON property `linearBuckets`
1221
+ # @return [Google::Apis::MonitoringV3::Linear]
1222
+ attr_accessor :linear_buckets
1223
+
1224
+ def initialize(**args)
1225
+ update!(**args)
1226
+ end
1227
+
1228
+ # Update properties of this object
1229
+ def update!(**args)
1230
+ @explicit_buckets = args[:explicit_buckets] if args.key?(:explicit_buckets)
1231
+ @exponential_buckets = args[:exponential_buckets] if args.key?(:exponential_buckets)
1232
+ @linear_buckets = args[:linear_buckets] if args.key?(:linear_buckets)
1233
+ end
1234
+ end
1235
+
1236
+ # The `CreateCollectdTimeSeries` request.
1237
+ class CreateCollectdTimeSeriesRequest
1238
+ include Google::Apis::Core::Hashable
1239
+
1240
+ # The `collectd` payloads representing the time series data.
1241
+ # You must not include more than a single point for each
1242
+ # time series, so no two payloads can have the same values
1243
+ # for all of the fields `plugin`, `plugin_instance`, `type`, and `type_instance`.
1244
+ # Corresponds to the JSON property `collectdPayloads`
1245
+ # @return [Array<Google::Apis::MonitoringV3::CollectdPayload>]
1246
+ attr_accessor :collectd_payloads
1247
+
1248
+ # The version of `collectd` that collected the data. Example: `"5.3.0-192.el6"`.
1249
+ # Corresponds to the JSON property `collectdVersion`
1250
+ # @return [String]
1251
+ attr_accessor :collectd_version
1252
+
1253
+ # An object representing a resource that can be used for monitoring, logging,
1254
+ # billing, or other purposes. Examples include virtual machine instances,
1255
+ # databases, and storage devices such as disks. The `type` field identifies a
1256
+ # MonitoredResourceDescriptor object that describes the resource's
1257
+ # schema. Information in the `labels` field identifies the actual resource and
1258
+ # its attributes according to the schema. For example, a particular Compute
1259
+ # Engine VM instance could be represented by the following object, because the
1260
+ # MonitoredResourceDescriptor for `"gce_instance"` has labels
1261
+ # `"instance_id"` and `"zone"`:
1262
+ # ` "type": "gce_instance",
1263
+ # "labels": ` "instance_id": "my-instance",
1264
+ # "zone": "us-central1-a" ``
1265
+ # Corresponds to the JSON property `resource`
1266
+ # @return [Google::Apis::MonitoringV3::MonitoredResource]
1267
+ attr_accessor :resource
1268
+
1269
+ def initialize(**args)
1270
+ update!(**args)
1271
+ end
1272
+
1273
+ # Update properties of this object
1274
+ def update!(**args)
1275
+ @collectd_payloads = args[:collectd_payloads] if args.key?(:collectd_payloads)
1276
+ @collectd_version = args[:collectd_version] if args.key?(:collectd_version)
1277
+ @resource = args[:resource] if args.key?(:resource)
1278
+ end
1279
+ end
1280
+
1281
+ # A protocol buffer message type.
1282
+ class Type
1283
+ include Google::Apis::Core::Hashable
1284
+
1285
+ # The list of types appearing in `oneof` definitions in this type.
1286
+ # Corresponds to the JSON property `oneofs`
1287
+ # @return [Array<String>]
1288
+ attr_accessor :oneofs
1289
+
1290
+ # The protocol buffer options.
1291
+ # Corresponds to the JSON property `options`
1292
+ # @return [Array<Google::Apis::MonitoringV3::Option>]
1293
+ attr_accessor :options
1294
+
1295
+ # `SourceContext` represents information about the source of a
1296
+ # protobuf element, like the file in which it is defined.
1297
+ # Corresponds to the JSON property `sourceContext`
1298
+ # @return [Google::Apis::MonitoringV3::SourceContext]
1299
+ attr_accessor :source_context
1300
+
1301
+ # The list of fields.
1302
+ # Corresponds to the JSON property `fields`
1303
+ # @return [Array<Google::Apis::MonitoringV3::Field>]
1304
+ attr_accessor :fields
1305
+
1306
+ # The fully qualified message name.
1307
+ # Corresponds to the JSON property `name`
1308
+ # @return [String]
1309
+ attr_accessor :name
1310
+
1311
+ # The source syntax.
1312
+ # Corresponds to the JSON property `syntax`
1313
+ # @return [String]
1314
+ attr_accessor :syntax
1315
+
1316
+ def initialize(**args)
1317
+ update!(**args)
1318
+ end
1319
+
1320
+ # Update properties of this object
1321
+ def update!(**args)
1322
+ @oneofs = args[:oneofs] if args.key?(:oneofs)
1323
+ @options = args[:options] if args.key?(:options)
1324
+ @source_context = args[:source_context] if args.key?(:source_context)
1325
+ @fields = args[:fields] if args.key?(:fields)
1326
+ @name = args[:name] if args.key?(:name)
1327
+ @syntax = args[:syntax] if args.key?(:syntax)
1328
+ end
1329
+ end
1330
+
1331
+ # Exemplars are example points that may be used to annotate aggregated
1332
+ # distribution values. They are metadata that gives information about a
1333
+ # particular value added to a Distribution bucket, such as a trace ID that
1334
+ # was active when a value was added. They can contain further information,
1335
+ # such as a example values and timestamps, origin, etc.
1336
+ # This is an experimental feature which is available in internal Monarch.
1337
+ # The purpose of including it here is to be able to construct demos and
1338
+ # prototypes for the purposes of eludicating use cases.
1339
+ class Exemplar
1340
+ include Google::Apis::Core::Hashable
1341
+
1342
+ # Value of the exemplar point. This value determines to which bucket the
1343
+ # exemplar belongs.
1344
+ # Corresponds to the JSON property `value`
1345
+ # @return [Float]
1346
+ attr_accessor :value
1347
+
1348
+ # Contextual information about the example value. Examples are:
1349
+ # Trace ID: type.googleapis.com/google.devtools.cloudtrace.v1.Trace
1350
+ # Literal string: type.googleapis.com/google.protobuf.StringValue
1351
+ # Labels dropped during aggregation:
1352
+ # type.googleapis.com/google.monitoring.v3.DroppedLabels
1353
+ # There may be only a single attachment of any given message type in a
1354
+ # single exemplar, and this is enforced by the system.
1355
+ # Corresponds to the JSON property `attachments`
1356
+ # @return [Array<Hash<String,Object>>]
1357
+ attr_accessor :attachments
1358
+
1359
+ # The observation (sampling) time of the above value.
1360
+ # Corresponds to the JSON property `timestamp`
1361
+ # @return [String]
1362
+ attr_accessor :timestamp
1363
+
1364
+ def initialize(**args)
1365
+ update!(**args)
1366
+ end
1367
+
1368
+ # Update properties of this object
1369
+ def update!(**args)
1370
+ @value = args[:value] if args.key?(:value)
1371
+ @attachments = args[:attachments] if args.key?(:attachments)
1372
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
1373
+ end
1374
+ end
1375
+
1376
+ # The `ListGroups` response.
1377
+ class ListGroupsResponse
1378
+ include Google::Apis::Core::Hashable
1379
+
1380
+ # The groups that match the specified filters.
1381
+ # Corresponds to the JSON property `group`
1382
+ # @return [Array<Google::Apis::MonitoringV3::Group>]
1383
+ attr_accessor :group
1384
+
1385
+ # If there are more results than have been returned, then this field is set
1386
+ # to a non-empty value. To see the additional results,
1387
+ # use that value as `pageToken` in the next call to this method.
1388
+ # Corresponds to the JSON property `nextPageToken`
1389
+ # @return [String]
1390
+ attr_accessor :next_page_token
1391
+
1392
+ def initialize(**args)
1393
+ update!(**args)
1394
+ end
1395
+
1396
+ # Update properties of this object
1397
+ def update!(**args)
1398
+ @group = args[:group] if args.key?(:group)
1399
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1400
+ end
1401
+ end
1402
+ end
1403
+ end
1404
+ end