google-api-client 0.10.2 → 0.10.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (248) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/MIGRATING.md +22 -7
  4. data/README.md +4 -8
  5. data/api_names.yaml +1210 -37815
  6. data/generated/google/apis/acceleratedmobilepageurl_v1.rb +32 -0
  7. data/generated/google/apis/acceleratedmobilepageurl_v1/classes.rb +144 -0
  8. data/generated/google/apis/acceleratedmobilepageurl_v1/representations.rb +86 -0
  9. data/generated/google/apis/acceleratedmobilepageurl_v1/service.rb +90 -0
  10. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +764 -764
  12. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +180 -180
  13. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +421 -421
  14. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +1 -0
  15. data/generated/google/apis/admin_directory_v1/classes.rb +1 -0
  16. data/generated/google/apis/admin_reports_v1.rb +1 -1
  17. data/generated/google/apis/adsense_v1_4.rb +1 -1
  18. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  19. data/generated/google/apis/analyticsreporting_v4/classes.rb +187 -187
  20. data/generated/google/apis/analyticsreporting_v4/representations.rb +42 -42
  21. data/generated/google/apis/appengine_v1.rb +40 -0
  22. data/generated/google/apis/appengine_v1/classes.rb +2251 -0
  23. data/generated/google/apis/appengine_v1/representations.rb +858 -0
  24. data/generated/google/apis/appengine_v1/service.rb +894 -0
  25. data/generated/google/apis/bigquery_v2.rb +1 -1
  26. data/generated/google/apis/bigquery_v2/classes.rb +11 -6
  27. data/generated/google/apis/books_v1.rb +1 -1
  28. data/generated/google/apis/books_v1/classes.rb +26 -0
  29. data/generated/google/apis/books_v1/representations.rb +15 -0
  30. data/generated/google/apis/books_v1/service.rb +4 -1
  31. data/generated/google/apis/calendar_v3.rb +1 -1
  32. data/generated/google/apis/classroom_v1.rb +1 -1
  33. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  34. data/generated/google/apis/cloudbuild_v1/classes.rb +638 -637
  35. data/generated/google/apis/cloudbuild_v1/representations.rb +110 -110
  36. data/generated/google/apis/cloudbuild_v1/service.rb +139 -139
  37. data/generated/google/apis/clouddebugger_v2.rb +3 -3
  38. data/generated/google/apis/clouddebugger_v2/classes.rb +131 -131
  39. data/generated/google/apis/clouddebugger_v2/representations.rb +25 -25
  40. data/generated/google/apis/clouderrorreporting_v1beta1.rb +36 -0
  41. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +590 -0
  42. data/generated/google/apis/clouderrorreporting_v1beta1/representations.rb +252 -0
  43. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +350 -0
  44. data/generated/google/apis/cloudfunctions_v1.rb +35 -0
  45. data/generated/google/apis/cloudfunctions_v1/classes.rb +98 -0
  46. data/generated/google/apis/cloudfunctions_v1/representations.rb +57 -0
  47. data/generated/google/apis/cloudfunctions_v1/service.rb +89 -0
  48. data/generated/google/apis/cloudkms_v1/classes.rb +277 -270
  49. data/generated/google/apis/cloudkms_v1/representations.rb +73 -73
  50. data/generated/google/apis/cloudkms_v1/service.rb +194 -194
  51. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  52. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +1147 -1144
  53. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +188 -188
  54. data/generated/google/apis/cloudresourcemanager_v1/service.rb +513 -936
  55. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  56. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +307 -916
  57. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +63 -285
  58. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +333 -681
  59. data/generated/google/apis/cloudtrace_v1/classes.rb +38 -38
  60. data/generated/google/apis/cloudtrace_v1/representations.rb +13 -13
  61. data/generated/google/apis/cloudtrace_v1/service.rb +16 -16
  62. data/generated/google/apis/compute_beta.rb +1 -1
  63. data/generated/google/apis/compute_beta/classes.rb +32 -7
  64. data/generated/google/apis/compute_beta/representations.rb +2 -0
  65. data/generated/google/apis/compute_beta/service.rb +11 -11
  66. data/generated/google/apis/compute_v1.rb +1 -1
  67. data/generated/google/apis/compute_v1/classes.rb +95 -2
  68. data/generated/google/apis/compute_v1/representations.rb +33 -0
  69. data/generated/google/apis/dataflow_v1b3/classes.rb +3333 -3333
  70. data/generated/google/apis/dataflow_v1b3/representations.rb +759 -759
  71. data/generated/google/apis/dataflow_v1b3/service.rb +154 -154
  72. data/generated/google/apis/dataproc_v1.rb +1 -1
  73. data/generated/google/apis/dataproc_v1/classes.rb +1097 -1097
  74. data/generated/google/apis/dataproc_v1/representations.rb +200 -200
  75. data/generated/google/apis/dataproc_v1/service.rb +356 -356
  76. data/generated/google/apis/datastore_v1.rb +4 -4
  77. data/generated/google/apis/datastore_v1/classes.rb +701 -690
  78. data/generated/google/apis/datastore_v1/representations.rb +160 -160
  79. data/generated/google/apis/datastore_v1/service.rb +52 -52
  80. data/generated/google/apis/deploymentmanager_v2/classes.rb +4 -0
  81. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  82. data/generated/google/apis/drive_v2.rb +1 -1
  83. data/generated/google/apis/drive_v2/classes.rb +158 -35
  84. data/generated/google/apis/drive_v2/representations.rb +39 -0
  85. data/generated/google/apis/drive_v2/service.rb +4 -4
  86. data/generated/google/apis/drive_v3.rb +1 -1
  87. data/generated/google/apis/drive_v3/classes.rb +162 -33
  88. data/generated/google/apis/drive_v3/representations.rb +39 -0
  89. data/generated/google/apis/drive_v3/service.rb +4 -4
  90. data/generated/google/apis/firebasedynamiclinks_v1.rb +35 -0
  91. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +466 -0
  92. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +222 -0
  93. data/generated/google/apis/firebasedynamiclinks_v1/service.rb +95 -0
  94. data/generated/google/apis/firebaserules_v1.rb +41 -0
  95. data/generated/google/apis/firebaserules_v1/classes.rb +425 -0
  96. data/generated/google/apis/firebaserules_v1/representations.rb +222 -0
  97. data/generated/google/apis/firebaserules_v1/service.rb +495 -0
  98. data/generated/google/apis/games_v1/classes.rb +4 -0
  99. data/generated/google/apis/genomics_v1.rb +7 -7
  100. data/generated/google/apis/genomics_v1/classes.rb +2336 -2335
  101. data/generated/google/apis/genomics_v1/representations.rb +387 -387
  102. data/generated/google/apis/genomics_v1/service.rb +1187 -1187
  103. data/generated/google/apis/gmail_v1/classes.rb +3 -0
  104. data/generated/google/apis/iam_v1.rb +1 -1
  105. data/generated/google/apis/iam_v1/classes.rb +123 -117
  106. data/generated/google/apis/iam_v1/representations.rb +33 -33
  107. data/generated/google/apis/iam_v1/service.rb +109 -109
  108. data/generated/google/apis/identitytoolkit_v3/classes.rb +5 -0
  109. data/generated/google/apis/kgsearch_v1/classes.rb +6 -6
  110. data/generated/google/apis/kgsearch_v1/representations.rb +1 -1
  111. data/generated/google/apis/kgsearch_v1/service.rb +4 -4
  112. data/generated/google/apis/language_v1.rb +36 -0
  113. data/generated/google/apis/language_v1/classes.rb +757 -0
  114. data/generated/google/apis/language_v1/representations.rb +338 -0
  115. data/generated/google/apis/language_v1/service.rb +185 -0
  116. data/generated/google/apis/language_v1beta1/classes.rb +407 -407
  117. data/generated/google/apis/language_v1beta1/representations.rb +103 -103
  118. data/generated/google/apis/language_v1beta1/service.rb +45 -45
  119. data/generated/google/apis/logging_v2.rb +46 -0
  120. data/generated/google/apis/logging_v2/classes.rb +1271 -0
  121. data/generated/google/apis/logging_v2/representations.rb +421 -0
  122. data/generated/google/apis/logging_v2/service.rb +1569 -0
  123. data/generated/google/apis/logging_v2beta1.rb +1 -1
  124. data/generated/google/apis/logging_v2beta1/classes.rb +886 -886
  125. data/generated/google/apis/logging_v2beta1/representations.rb +132 -132
  126. data/generated/google/apis/logging_v2beta1/service.rb +235 -235
  127. data/generated/google/apis/manufacturers_v1/classes.rb +147 -147
  128. data/generated/google/apis/manufacturers_v1/representations.rb +29 -29
  129. data/generated/google/apis/ml_v1.rb +34 -0
  130. data/generated/google/apis/ml_v1/classes.rb +1617 -0
  131. data/generated/google/apis/ml_v1/representations.rb +498 -0
  132. data/generated/google/apis/ml_v1/service.rb +769 -0
  133. data/generated/google/apis/monitoring_v3.rb +4 -4
  134. data/generated/google/apis/monitoring_v3/classes.rb +630 -630
  135. data/generated/google/apis/monitoring_v3/representations.rb +134 -134
  136. data/generated/google/apis/monitoring_v3/service.rb +240 -240
  137. data/generated/google/apis/pagespeedonline_v2/classes.rb +1 -0
  138. data/generated/google/apis/partners_v2.rb +1 -1
  139. data/generated/google/apis/partners_v2/classes.rb +639 -639
  140. data/generated/google/apis/partners_v2/representations.rb +168 -168
  141. data/generated/google/apis/partners_v2/service.rb +381 -381
  142. data/generated/google/apis/people_v1.rb +10 -10
  143. data/generated/google/apis/people_v1/classes.rb +524 -524
  144. data/generated/google/apis/people_v1/representations.rb +143 -143
  145. data/generated/google/apis/people_v1/service.rb +30 -30
  146. data/generated/google/apis/plus_domains_v1.rb +1 -1
  147. data/generated/google/apis/plus_v1.rb +1 -1
  148. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +454 -444
  149. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +90 -90
  150. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +110 -110
  151. data/generated/google/apis/pubsub_v1/classes.rb +175 -173
  152. data/generated/google/apis/pubsub_v1/representations.rb +53 -53
  153. data/generated/google/apis/pubsub_v1/service.rb +210 -210
  154. data/generated/google/apis/replicapool_v1beta2/classes.rb +2 -0
  155. data/generated/google/apis/runtimeconfig_v1.rb +38 -0
  156. data/generated/google/apis/runtimeconfig_v1/classes.rb +252 -0
  157. data/generated/google/apis/runtimeconfig_v1/representations.rb +98 -0
  158. data/generated/google/apis/runtimeconfig_v1/service.rb +176 -0
  159. data/generated/google/apis/script_v1.rb +1 -1
  160. data/generated/google/apis/script_v1/classes.rb +6 -6
  161. data/generated/google/apis/script_v1/representations.rb +1 -1
  162. data/generated/google/apis/searchconsole_v1.rb +31 -0
  163. data/generated/google/apis/searchconsole_v1/classes.rb +205 -0
  164. data/generated/google/apis/searchconsole_v1/representations.rb +129 -0
  165. data/generated/google/apis/searchconsole_v1/service.rb +88 -0
  166. data/generated/google/apis/servicecontrol_v1.rb +38 -0
  167. data/generated/google/apis/servicecontrol_v1/classes.rb +1675 -0
  168. data/generated/google/apis/servicecontrol_v1/representations.rb +601 -0
  169. data/generated/google/apis/servicecontrol_v1/service.rb +337 -0
  170. data/generated/google/apis/servicemanagement_v1.rb +45 -0
  171. data/generated/google/apis/servicemanagement_v1/classes.rb +4934 -0
  172. data/generated/google/apis/servicemanagement_v1/representations.rb +1526 -0
  173. data/generated/google/apis/servicemanagement_v1/service.rb +860 -0
  174. data/generated/google/apis/serviceuser_v1.rb +42 -0
  175. data/generated/google/apis/serviceuser_v1/classes.rb +3746 -0
  176. data/generated/google/apis/serviceuser_v1/representations.rb +1041 -0
  177. data/generated/google/apis/serviceuser_v1/service.rb +214 -0
  178. data/generated/google/apis/sheets_v4.rb +3 -3
  179. data/generated/google/apis/sheets_v4/classes.rb +4390 -4390
  180. data/generated/google/apis/sheets_v4/representations.rb +381 -381
  181. data/generated/google/apis/sheets_v4/service.rb +48 -48
  182. data/generated/google/apis/slides_v1.rb +3 -3
  183. data/generated/google/apis/slides_v1/classes.rb +2860 -2860
  184. data/generated/google/apis/slides_v1/representations.rb +693 -693
  185. data/generated/google/apis/slides_v1/service.rb +30 -30
  186. data/generated/google/apis/sourcerepo_v1.rb +34 -0
  187. data/generated/google/apis/sourcerepo_v1/classes.rb +687 -0
  188. data/generated/google/apis/sourcerepo_v1/representations.rb +285 -0
  189. data/generated/google/apis/sourcerepo_v1/service.rb +291 -0
  190. data/generated/google/apis/spanner_v1.rb +35 -0
  191. data/generated/google/apis/spanner_v1/classes.rb +3294 -0
  192. data/generated/google/apis/spanner_v1/representations.rb +984 -0
  193. data/generated/google/apis/spanner_v1/service.rb +1504 -0
  194. data/generated/google/apis/speech_v1beta1.rb +1 -1
  195. data/generated/google/apis/speech_v1beta1/classes.rb +197 -196
  196. data/generated/google/apis/speech_v1beta1/representations.rb +53 -53
  197. data/generated/google/apis/speech_v1beta1/service.rb +27 -27
  198. data/generated/google/apis/storage_v1.rb +1 -1
  199. data/generated/google/apis/storage_v1/classes.rb +131 -0
  200. data/generated/google/apis/storage_v1/representations.rb +51 -0
  201. data/generated/google/apis/storage_v1/service.rb +182 -0
  202. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  203. data/generated/google/apis/storagetransfer_v1/classes.rb +732 -661
  204. data/generated/google/apis/storagetransfer_v1/representations.rb +132 -132
  205. data/generated/google/apis/storagetransfer_v1/service.rb +174 -197
  206. data/generated/google/apis/surveys_v2.rb +40 -0
  207. data/generated/google/apis/surveys_v2/classes.rb +806 -0
  208. data/generated/google/apis/surveys_v2/representations.rb +347 -0
  209. data/generated/google/apis/surveys_v2/service.rb +477 -0
  210. data/generated/google/apis/tagmanager_v2.rb +52 -0
  211. data/generated/google/apis/tagmanager_v2/classes.rb +2435 -0
  212. data/generated/google/apis/tagmanager_v2/representations.rb +993 -0
  213. data/generated/google/apis/tagmanager_v2/service.rb +2865 -0
  214. data/generated/google/apis/toolresults_v1beta3.rb +34 -0
  215. data/generated/google/apis/toolresults_v1beta3/classes.rb +2160 -0
  216. data/generated/google/apis/toolresults_v1beta3/representations.rb +729 -0
  217. data/generated/google/apis/toolresults_v1beta3/service.rb +1236 -0
  218. data/generated/google/apis/tracing_v1.rb +40 -0
  219. data/generated/google/apis/tracing_v1/classes.rb +664 -0
  220. data/generated/google/apis/tracing_v1/representations.rb +279 -0
  221. data/generated/google/apis/tracing_v1/service.rb +225 -0
  222. data/generated/google/apis/vision_v1.rb +1 -1
  223. data/generated/google/apis/vision_v1/classes.rb +1223 -1222
  224. data/generated/google/apis/vision_v1/representations.rb +234 -234
  225. data/generated/google/apis/vision_v1/service.rb +10 -10
  226. data/generated/google/apis/webfonts_v1.rb +33 -0
  227. data/generated/google/apis/webfonts_v1/classes.rb +113 -0
  228. data/generated/google/apis/webfonts_v1/representations.rb +62 -0
  229. data/generated/google/apis/webfonts_v1/service.rb +102 -0
  230. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  231. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  232. data/generated/google/apis/youtube_partner_v1/classes.rb +31 -0
  233. data/generated/google/apis/youtube_partner_v1/representations.rb +6 -0
  234. data/generated/google/apis/youtube_partner_v1/service.rb +41 -0
  235. data/generated/google/apis/youtube_v3/classes.rb +1 -0
  236. data/generated/google/apis/youtubereporting_v1.rb +4 -4
  237. data/generated/google/apis/youtubereporting_v1/classes.rb +76 -76
  238. data/generated/google/apis/youtubereporting_v1/representations.rb +25 -25
  239. data/generated/google/apis/youtubereporting_v1/service.rb +95 -95
  240. data/lib/google/apis/generator/annotator.rb +5 -4
  241. data/lib/google/apis/generator/templates/_class.tmpl +3 -0
  242. data/lib/google/apis/version.rb +1 -1
  243. data/samples/cli/lib/samples/adsense.rb +99 -0
  244. data/samples/cli/lib/samples/analytics.rb +18 -0
  245. data/samples/cli/lib/samples/gmail.rb +33 -0
  246. data/samples/cli/lib/samples/vision.rb +69 -0
  247. metadata +89 -4
  248. data/sync.rb +0 -71
@@ -0,0 +1,38 @@
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/servicecontrol_v1/service.rb'
16
+ require 'google/apis/servicecontrol_v1/classes.rb'
17
+ require 'google/apis/servicecontrol_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Google Service Control API
22
+ #
23
+ # Google Service Control provides control plane functionality to managed
24
+ # services, such as logging, monitoring, and status checks.
25
+ #
26
+ # @see https://cloud.google.com/service-control/
27
+ module ServicecontrolV1
28
+ VERSION = 'V1'
29
+ REVISION = '20170326'
30
+
31
+ # Manage your Google Service Control data
32
+ AUTH_SERVICECONTROL = 'https://www.googleapis.com/auth/servicecontrol'
33
+
34
+ # View and manage your data across Google Cloud Platform services
35
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,1675 @@
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 ServicecontrolV1
24
+
25
+ # Represents a single metric value.
26
+ class MetricValue
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # A text string value.
30
+ # Corresponds to the JSON property `stringValue`
31
+ # @return [String]
32
+ attr_accessor :string_value
33
+
34
+ # The labels describing the metric value.
35
+ # See comments on google.api.servicecontrol.v1.Operation.labels for
36
+ # the overriding relationship.
37
+ # Corresponds to the JSON property `labels`
38
+ # @return [Hash<String,String>]
39
+ attr_accessor :labels
40
+
41
+ # A double precision floating point value.
42
+ # Corresponds to the JSON property `doubleValue`
43
+ # @return [Float]
44
+ attr_accessor :double_value
45
+
46
+ # A signed 64-bit integer value.
47
+ # Corresponds to the JSON property `int64Value`
48
+ # @return [String]
49
+ attr_accessor :int64_value
50
+
51
+ # Distribution represents a frequency distribution of double-valued sample
52
+ # points. It contains the size of the population of sample points plus
53
+ # additional optional information:
54
+ # - the arithmetic mean of the samples
55
+ # - the minimum and maximum of the samples
56
+ # - the sum-squared-deviation of the samples, used to compute variance
57
+ # - a histogram of the values of the sample points
58
+ # Corresponds to the JSON property `distributionValue`
59
+ # @return [Google::Apis::ServicecontrolV1::Distribution]
60
+ attr_accessor :distribution_value
61
+
62
+ # A boolean value.
63
+ # Corresponds to the JSON property `boolValue`
64
+ # @return [Boolean]
65
+ attr_accessor :bool_value
66
+ alias_method :bool_value?, :bool_value
67
+
68
+ # The end of the time period over which this metric value's measurement
69
+ # applies.
70
+ # Corresponds to the JSON property `endTime`
71
+ # @return [String]
72
+ attr_accessor :end_time
73
+
74
+ # The start of the time period over which this metric value's measurement
75
+ # applies. The time period has different semantics for different metric
76
+ # types (cumulative, delta, and gauge). See the metric definition
77
+ # documentation in the service configuration for details.
78
+ # Corresponds to the JSON property `startTime`
79
+ # @return [String]
80
+ attr_accessor :start_time
81
+
82
+ # Represents an amount of money with its currency type.
83
+ # Corresponds to the JSON property `moneyValue`
84
+ # @return [Google::Apis::ServicecontrolV1::Money]
85
+ attr_accessor :money_value
86
+
87
+ def initialize(**args)
88
+ update!(**args)
89
+ end
90
+
91
+ # Update properties of this object
92
+ def update!(**args)
93
+ @string_value = args[:string_value] if args.key?(:string_value)
94
+ @labels = args[:labels] if args.key?(:labels)
95
+ @double_value = args[:double_value] if args.key?(:double_value)
96
+ @int64_value = args[:int64_value] if args.key?(:int64_value)
97
+ @distribution_value = args[:distribution_value] if args.key?(:distribution_value)
98
+ @bool_value = args[:bool_value] if args.key?(:bool_value)
99
+ @end_time = args[:end_time] if args.key?(:end_time)
100
+ @start_time = args[:start_time] if args.key?(:start_time)
101
+ @money_value = args[:money_value] if args.key?(:money_value)
102
+ end
103
+ end
104
+
105
+ # Represents an amount of money with its currency type.
106
+ class Money
107
+ include Google::Apis::Core::Hashable
108
+
109
+ # The 3-letter currency code defined in ISO 4217.
110
+ # Corresponds to the JSON property `currencyCode`
111
+ # @return [String]
112
+ attr_accessor :currency_code
113
+
114
+ # Number of nano (10^-9) units of the amount.
115
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
116
+ # If `units` is positive, `nanos` must be positive or zero.
117
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
118
+ # If `units` is negative, `nanos` must be negative or zero.
119
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
120
+ # Corresponds to the JSON property `nanos`
121
+ # @return [Fixnum]
122
+ attr_accessor :nanos
123
+
124
+ # The whole units of the amount.
125
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
126
+ # Corresponds to the JSON property `units`
127
+ # @return [String]
128
+ attr_accessor :units
129
+
130
+ def initialize(**args)
131
+ update!(**args)
132
+ end
133
+
134
+ # Update properties of this object
135
+ def update!(**args)
136
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
137
+ @nanos = args[:nanos] if args.key?(:nanos)
138
+ @units = args[:units] if args.key?(:units)
139
+ end
140
+ end
141
+
142
+ #
143
+ class EndReconciliationResponse
144
+ include Google::Apis::Core::Hashable
145
+
146
+ # Metric values as tracked by One Platform before the adjustment was made.
147
+ # The following metrics will be included:
148
+ # 1. Per quota metric total usage will be specified using the following gauge
149
+ # metric:
150
+ # "serviceruntime.googleapis.com/allocation/consumer/quota_used_count"
151
+ # 2. Value for each quota limit associated with the metrics will be specified
152
+ # using the following gauge metric:
153
+ # "serviceruntime.googleapis.com/quota/limit"
154
+ # 3. Delta value of the usage after the reconciliation for limits associated
155
+ # with the metrics will be specified using the following metric:
156
+ # "serviceruntime.googleapis.com/allocation/reconciliation_delta"
157
+ # The delta value is defined as:
158
+ # new_usage_from_client - existing_value_in_spanner.
159
+ # This metric is not defined in serviceruntime.yaml or in Cloud Monarch.
160
+ # This metric is meant for callers' use only. Since this metric is not
161
+ # defined in the monitoring backend, reporting on this metric will result in
162
+ # an error.
163
+ # Corresponds to the JSON property `quotaMetrics`
164
+ # @return [Array<Google::Apis::ServicecontrolV1::MetricValueSet>]
165
+ attr_accessor :quota_metrics
166
+
167
+ # The same operation_id value used in the EndReconciliationRequest. Used for
168
+ # logging and diagnostics purposes.
169
+ # Corresponds to the JSON property `operationId`
170
+ # @return [String]
171
+ attr_accessor :operation_id
172
+
173
+ # Indicates the decision of the reconciliation end.
174
+ # Corresponds to the JSON property `reconciliationErrors`
175
+ # @return [Array<Google::Apis::ServicecontrolV1::QuotaError>]
176
+ attr_accessor :reconciliation_errors
177
+
178
+ # ID of the actual config used to process the request.
179
+ # Corresponds to the JSON property `serviceConfigId`
180
+ # @return [String]
181
+ attr_accessor :service_config_id
182
+
183
+ def initialize(**args)
184
+ update!(**args)
185
+ end
186
+
187
+ # Update properties of this object
188
+ def update!(**args)
189
+ @quota_metrics = args[:quota_metrics] if args.key?(:quota_metrics)
190
+ @operation_id = args[:operation_id] if args.key?(:operation_id)
191
+ @reconciliation_errors = args[:reconciliation_errors] if args.key?(:reconciliation_errors)
192
+ @service_config_id = args[:service_config_id] if args.key?(:service_config_id)
193
+ end
194
+ end
195
+
196
+ # Describing buckets with arbitrary user-provided width.
197
+ class ExplicitBuckets
198
+ include Google::Apis::Core::Hashable
199
+
200
+ # 'bound' is a list of strictly increasing boundaries between
201
+ # buckets. Note that a list of length N-1 defines N buckets because
202
+ # of fenceposting. See comments on `bucket_options` for details.
203
+ # The i'th finite bucket covers the interval
204
+ # [bound[i-1], bound[i])
205
+ # where i ranges from 1 to bound_size() - 1. Note that there are no
206
+ # finite buckets at all if 'bound' only contains a single element; in
207
+ # that special case the single bound defines the boundary between the
208
+ # underflow and overflow buckets.
209
+ # bucket number lower bound upper bound
210
+ # i == 0 (underflow) -inf bound[i]
211
+ # 0 < i < bound_size() bound[i-1] bound[i]
212
+ # i == bound_size() (overflow) bound[i-1] +inf
213
+ # Corresponds to the JSON property `bounds`
214
+ # @return [Array<Float>]
215
+ attr_accessor :bounds
216
+
217
+ def initialize(**args)
218
+ update!(**args)
219
+ end
220
+
221
+ # Update properties of this object
222
+ def update!(**args)
223
+ @bounds = args[:bounds] if args.key?(:bounds)
224
+ end
225
+ end
226
+
227
+ # Distribution represents a frequency distribution of double-valued sample
228
+ # points. It contains the size of the population of sample points plus
229
+ # additional optional information:
230
+ # - the arithmetic mean of the samples
231
+ # - the minimum and maximum of the samples
232
+ # - the sum-squared-deviation of the samples, used to compute variance
233
+ # - a histogram of the values of the sample points
234
+ class Distribution
235
+ include Google::Apis::Core::Hashable
236
+
237
+ # Describing buckets with exponentially growing width.
238
+ # Corresponds to the JSON property `exponentialBuckets`
239
+ # @return [Google::Apis::ServicecontrolV1::ExponentialBuckets]
240
+ attr_accessor :exponential_buckets
241
+
242
+ # The minimum of the population of values. Ignored if `count` is zero.
243
+ # Corresponds to the JSON property `minimum`
244
+ # @return [Float]
245
+ attr_accessor :minimum
246
+
247
+ # Describing buckets with constant width.
248
+ # Corresponds to the JSON property `linearBuckets`
249
+ # @return [Google::Apis::ServicecontrolV1::LinearBuckets]
250
+ attr_accessor :linear_buckets
251
+
252
+ # The total number of samples in the distribution. Must be >= 0.
253
+ # Corresponds to the JSON property `count`
254
+ # @return [String]
255
+ attr_accessor :count
256
+
257
+ # The arithmetic mean of the samples in the distribution. If `count` is
258
+ # zero then this field must be zero.
259
+ # Corresponds to the JSON property `mean`
260
+ # @return [Float]
261
+ attr_accessor :mean
262
+
263
+ # The number of samples in each histogram bucket. `bucket_counts` are
264
+ # optional. If present, they must sum to the `count` value.
265
+ # The buckets are defined below in `bucket_option`. There are N buckets.
266
+ # `bucket_counts[0]` is the number of samples in the underflow bucket.
267
+ # `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples
268
+ # in each of the finite buckets. And `bucket_counts[N] is the number
269
+ # of samples in the overflow bucket. See the comments of `bucket_option`
270
+ # below for more details.
271
+ # Any suffix of trailing zeros may be omitted.
272
+ # Corresponds to the JSON property `bucketCounts`
273
+ # @return [Array<String>]
274
+ attr_accessor :bucket_counts
275
+
276
+ # Describing buckets with arbitrary user-provided width.
277
+ # Corresponds to the JSON property `explicitBuckets`
278
+ # @return [Google::Apis::ServicecontrolV1::ExplicitBuckets]
279
+ attr_accessor :explicit_buckets
280
+
281
+ # The maximum of the population of values. Ignored if `count` is zero.
282
+ # Corresponds to the JSON property `maximum`
283
+ # @return [Float]
284
+ attr_accessor :maximum
285
+
286
+ # The sum of squared deviations from the mean:
287
+ # Sum[i=1..count]((x_i - mean)^2)
288
+ # where each x_i is a sample values. If `count` is zero then this field
289
+ # must be zero, otherwise validation of the request fails.
290
+ # Corresponds to the JSON property `sumOfSquaredDeviation`
291
+ # @return [Float]
292
+ attr_accessor :sum_of_squared_deviation
293
+
294
+ def initialize(**args)
295
+ update!(**args)
296
+ end
297
+
298
+ # Update properties of this object
299
+ def update!(**args)
300
+ @exponential_buckets = args[:exponential_buckets] if args.key?(:exponential_buckets)
301
+ @minimum = args[:minimum] if args.key?(:minimum)
302
+ @linear_buckets = args[:linear_buckets] if args.key?(:linear_buckets)
303
+ @count = args[:count] if args.key?(:count)
304
+ @mean = args[:mean] if args.key?(:mean)
305
+ @bucket_counts = args[:bucket_counts] if args.key?(:bucket_counts)
306
+ @explicit_buckets = args[:explicit_buckets] if args.key?(:explicit_buckets)
307
+ @maximum = args[:maximum] if args.key?(:maximum)
308
+ @sum_of_squared_deviation = args[:sum_of_squared_deviation] if args.key?(:sum_of_squared_deviation)
309
+ end
310
+ end
311
+
312
+ # Describing buckets with exponentially growing width.
313
+ class ExponentialBuckets
314
+ include Google::Apis::Core::Hashable
315
+
316
+ # The i'th exponential bucket covers the interval
317
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
318
+ # where i ranges from 1 to num_finite_buckets inclusive.
319
+ # Must be larger than 1.0.
320
+ # Corresponds to the JSON property `growthFactor`
321
+ # @return [Float]
322
+ attr_accessor :growth_factor
323
+
324
+ # The i'th exponential bucket covers the interval
325
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
326
+ # where i ranges from 1 to num_finite_buckets inclusive.
327
+ # Must be > 0.
328
+ # Corresponds to the JSON property `scale`
329
+ # @return [Float]
330
+ attr_accessor :scale
331
+
332
+ # The number of finite buckets. With the underflow and overflow buckets,
333
+ # the total number of buckets is `num_finite_buckets` + 2.
334
+ # See comments on `bucket_options` for details.
335
+ # Corresponds to the JSON property `numFiniteBuckets`
336
+ # @return [Fixnum]
337
+ attr_accessor :num_finite_buckets
338
+
339
+ def initialize(**args)
340
+ update!(**args)
341
+ end
342
+
343
+ # Update properties of this object
344
+ def update!(**args)
345
+ @growth_factor = args[:growth_factor] if args.key?(:growth_factor)
346
+ @scale = args[:scale] if args.key?(:scale)
347
+ @num_finite_buckets = args[:num_finite_buckets] if args.key?(:num_finite_buckets)
348
+ end
349
+ end
350
+
351
+ # Authorization information for the operation.
352
+ class AuthorizationInfo
353
+ include Google::Apis::Core::Hashable
354
+
355
+ # The resource being accessed, as a REST-style string. For example:
356
+ # bigquery.googlapis.com/projects/PROJECTID/datasets/DATASETID
357
+ # Corresponds to the JSON property `resource`
358
+ # @return [String]
359
+ attr_accessor :resource
360
+
361
+ # Whether or not authorization for `resource` and `permission`
362
+ # was granted.
363
+ # Corresponds to the JSON property `granted`
364
+ # @return [Boolean]
365
+ attr_accessor :granted
366
+ alias_method :granted?, :granted
367
+
368
+ # The required IAM permission.
369
+ # Corresponds to the JSON property `permission`
370
+ # @return [String]
371
+ attr_accessor :permission
372
+
373
+ def initialize(**args)
374
+ update!(**args)
375
+ end
376
+
377
+ # Update properties of this object
378
+ def update!(**args)
379
+ @resource = args[:resource] if args.key?(:resource)
380
+ @granted = args[:granted] if args.key?(:granted)
381
+ @permission = args[:permission] if args.key?(:permission)
382
+ end
383
+ end
384
+
385
+ #
386
+ class StartReconciliationResponse
387
+ include Google::Apis::Core::Hashable
388
+
389
+ # The same operation_id value used in the StartReconciliationRequest. Used
390
+ # for logging and diagnostics purposes.
391
+ # Corresponds to the JSON property `operationId`
392
+ # @return [String]
393
+ attr_accessor :operation_id
394
+
395
+ # Indicates the decision of the reconciliation start.
396
+ # Corresponds to the JSON property `reconciliationErrors`
397
+ # @return [Array<Google::Apis::ServicecontrolV1::QuotaError>]
398
+ attr_accessor :reconciliation_errors
399
+
400
+ # ID of the actual config used to process the request.
401
+ # Corresponds to the JSON property `serviceConfigId`
402
+ # @return [String]
403
+ attr_accessor :service_config_id
404
+
405
+ # Metric values as tracked by One Platform before the start of
406
+ # reconciliation. The following metrics will be included:
407
+ # 1. Per quota metric total usage will be specified using the following gauge
408
+ # metric:
409
+ # "serviceruntime.googleapis.com/allocation/consumer/quota_used_count"
410
+ # 2. Value for each quota limit associated with the metrics will be specified
411
+ # using the following gauge metric:
412
+ # "serviceruntime.googleapis.com/quota/limit"
413
+ # Corresponds to the JSON property `quotaMetrics`
414
+ # @return [Array<Google::Apis::ServicecontrolV1::MetricValueSet>]
415
+ attr_accessor :quota_metrics
416
+
417
+ def initialize(**args)
418
+ update!(**args)
419
+ end
420
+
421
+ # Update properties of this object
422
+ def update!(**args)
423
+ @operation_id = args[:operation_id] if args.key?(:operation_id)
424
+ @reconciliation_errors = args[:reconciliation_errors] if args.key?(:reconciliation_errors)
425
+ @service_config_id = args[:service_config_id] if args.key?(:service_config_id)
426
+ @quota_metrics = args[:quota_metrics] if args.key?(:quota_metrics)
427
+ end
428
+ end
429
+
430
+ # Represents the properties needed for quota operations.
431
+ class QuotaProperties
432
+ include Google::Apis::Core::Hashable
433
+
434
+ # LimitType IDs that should be used for checking quota. Key in this map
435
+ # should be a valid LimitType string, and the value is the ID to be used. For
436
+ # example, an entry <USER, 123> will cause all user quota limits to use 123
437
+ # as the user ID. See google/api/quota.proto for the definition of LimitType.
438
+ # CLIENT_PROJECT: Not supported.
439
+ # USER: Value of this entry will be used for enforcing user-level quota
440
+ # limits. If none specified, caller IP passed in the
441
+ # servicecontrol.googleapis.com/caller_ip label will be used instead.
442
+ # If the server cannot resolve a value for this LimitType, an error
443
+ # will be thrown. No validation will be performed on this ID.
444
+ # Deprecated: use servicecontrol.googleapis.com/user label to send user ID.
445
+ # Corresponds to the JSON property `limitByIds`
446
+ # @return [Hash<String,String>]
447
+ attr_accessor :limit_by_ids
448
+
449
+ # Quota mode for this operation.
450
+ # Corresponds to the JSON property `quotaMode`
451
+ # @return [String]
452
+ attr_accessor :quota_mode
453
+
454
+ def initialize(**args)
455
+ update!(**args)
456
+ end
457
+
458
+ # Update properties of this object
459
+ def update!(**args)
460
+ @limit_by_ids = args[:limit_by_ids] if args.key?(:limit_by_ids)
461
+ @quota_mode = args[:quota_mode] if args.key?(:quota_mode)
462
+ end
463
+ end
464
+
465
+ # Describing buckets with constant width.
466
+ class LinearBuckets
467
+ include Google::Apis::Core::Hashable
468
+
469
+ # The i'th linear bucket covers the interval
470
+ # [offset + (i-1) * width, offset + i * width)
471
+ # where i ranges from 1 to num_finite_buckets, inclusive.
472
+ # Corresponds to the JSON property `offset`
473
+ # @return [Float]
474
+ attr_accessor :offset
475
+
476
+ # The number of finite buckets. With the underflow and overflow buckets,
477
+ # the total number of buckets is `num_finite_buckets` + 2.
478
+ # See comments on `bucket_options` for details.
479
+ # Corresponds to the JSON property `numFiniteBuckets`
480
+ # @return [Fixnum]
481
+ attr_accessor :num_finite_buckets
482
+
483
+ # The i'th linear bucket covers the interval
484
+ # [offset + (i-1) * width, offset + i * width)
485
+ # where i ranges from 1 to num_finite_buckets, inclusive.
486
+ # Must be strictly positive.
487
+ # Corresponds to the JSON property `width`
488
+ # @return [Float]
489
+ attr_accessor :width
490
+
491
+ def initialize(**args)
492
+ update!(**args)
493
+ end
494
+
495
+ # Update properties of this object
496
+ def update!(**args)
497
+ @offset = args[:offset] if args.key?(:offset)
498
+ @num_finite_buckets = args[:num_finite_buckets] if args.key?(:num_finite_buckets)
499
+ @width = args[:width] if args.key?(:width)
500
+ end
501
+ end
502
+
503
+ # Authentication information for the operation.
504
+ class AuthenticationInfo
505
+ include Google::Apis::Core::Hashable
506
+
507
+ # The email address of the authenticated user making the request.
508
+ # Corresponds to the JSON property `principalEmail`
509
+ # @return [String]
510
+ attr_accessor :principal_email
511
+
512
+ # The authority selector specified by the requestor, if any.
513
+ # It is not guaranteed that the principal was allowed to use this authority.
514
+ # Corresponds to the JSON property `authoritySelector`
515
+ # @return [String]
516
+ attr_accessor :authority_selector
517
+
518
+ def initialize(**args)
519
+ update!(**args)
520
+ end
521
+
522
+ # Update properties of this object
523
+ def update!(**args)
524
+ @principal_email = args[:principal_email] if args.key?(:principal_email)
525
+ @authority_selector = args[:authority_selector] if args.key?(:authority_selector)
526
+ end
527
+ end
528
+
529
+ # Response message for the AllocateQuota method.
530
+ class AllocateQuotaResponse
531
+ include Google::Apis::Core::Hashable
532
+
533
+ # ID of the actual config used to process the request.
534
+ # Corresponds to the JSON property `serviceConfigId`
535
+ # @return [String]
536
+ attr_accessor :service_config_id
537
+
538
+ # Indicates the decision of the allocate.
539
+ # Corresponds to the JSON property `allocateErrors`
540
+ # @return [Array<Google::Apis::ServicecontrolV1::QuotaError>]
541
+ attr_accessor :allocate_errors
542
+
543
+ # Quota metrics to indicate the result of allocation. Depending on the
544
+ # request, one or more of the following metrics will be included:
545
+ # 1. For rate quota, per quota group or per quota metric incremental usage
546
+ # will be specified using the following delta metric:
547
+ # "serviceruntime.googleapis.com/api/consumer/quota_used_count"
548
+ # 2. For allocation quota, per quota metric total usage will be specified
549
+ # using the following gauge metric:
550
+ # "serviceruntime.googleapis.com/allocation/consumer/quota_used_count"
551
+ # 3. For both rate quota and allocation quota, the quota limit reached
552
+ # condition will be specified using the following boolean metric:
553
+ # "serviceruntime.googleapis.com/quota/exceeded"
554
+ # 4. For allocation quota, value for each quota limit associated with
555
+ # the metrics will be specified using the following gauge metric:
556
+ # "serviceruntime.googleapis.com/quota/limit"
557
+ # Corresponds to the JSON property `quotaMetrics`
558
+ # @return [Array<Google::Apis::ServicecontrolV1::MetricValueSet>]
559
+ attr_accessor :quota_metrics
560
+
561
+ # The same operation_id value used in the AllocateQuotaRequest. Used for
562
+ # logging and diagnostics purposes.
563
+ # Corresponds to the JSON property `operationId`
564
+ # @return [String]
565
+ attr_accessor :operation_id
566
+
567
+ def initialize(**args)
568
+ update!(**args)
569
+ end
570
+
571
+ # Update properties of this object
572
+ def update!(**args)
573
+ @service_config_id = args[:service_config_id] if args.key?(:service_config_id)
574
+ @allocate_errors = args[:allocate_errors] if args.key?(:allocate_errors)
575
+ @quota_metrics = args[:quota_metrics] if args.key?(:quota_metrics)
576
+ @operation_id = args[:operation_id] if args.key?(:operation_id)
577
+ end
578
+ end
579
+
580
+ # Request message for the ReleaseQuota method.
581
+ class ReleaseQuotaRequest
582
+ include Google::Apis::Core::Hashable
583
+
584
+ # Specifies which version of service configuration should be used to process
585
+ # the request. If unspecified or no matching version can be found, the latest
586
+ # one will be used.
587
+ # Corresponds to the JSON property `serviceConfigId`
588
+ # @return [String]
589
+ attr_accessor :service_config_id
590
+
591
+ # Represents information regarding a quota operation.
592
+ # Corresponds to the JSON property `releaseOperation`
593
+ # @return [Google::Apis::ServicecontrolV1::QuotaOperation]
594
+ attr_accessor :release_operation
595
+
596
+ def initialize(**args)
597
+ update!(**args)
598
+ end
599
+
600
+ # Update properties of this object
601
+ def update!(**args)
602
+ @service_config_id = args[:service_config_id] if args.key?(:service_config_id)
603
+ @release_operation = args[:release_operation] if args.key?(:release_operation)
604
+ end
605
+ end
606
+
607
+ # Metadata about the request.
608
+ class RequestMetadata
609
+ include Google::Apis::Core::Hashable
610
+
611
+ # The IP address of the caller.
612
+ # Corresponds to the JSON property `callerIp`
613
+ # @return [String]
614
+ attr_accessor :caller_ip
615
+
616
+ # The user agent of the caller.
617
+ # This information is not authenticated and should be treated accordingly.
618
+ # For example:
619
+ # + `google-api-python-client/1.4.0`:
620
+ # The request was made by the Google API client for Python.
621
+ # + `Cloud SDK Command Line Tool apitools-client/1.0 gcloud/0.9.62`:
622
+ # The request was made by the Google Cloud SDK CLI (gcloud).
623
+ # + `AppEngine-Google; (+http://code.google.com/appengine; appid: s~my-project`
624
+ # :
625
+ # The request was made from the `my-project` App Engine app.
626
+ # Corresponds to the JSON property `callerSuppliedUserAgent`
627
+ # @return [String]
628
+ attr_accessor :caller_supplied_user_agent
629
+
630
+ def initialize(**args)
631
+ update!(**args)
632
+ end
633
+
634
+ # Update properties of this object
635
+ def update!(**args)
636
+ @caller_ip = args[:caller_ip] if args.key?(:caller_ip)
637
+ @caller_supplied_user_agent = args[:caller_supplied_user_agent] if args.key?(:caller_supplied_user_agent)
638
+ end
639
+ end
640
+
641
+ #
642
+ class QuotaError
643
+ include Google::Apis::Core::Hashable
644
+
645
+ # Subject to whom this error applies. See the specific enum for more details
646
+ # on this field. For example, "clientip:<ip address of client>" or
647
+ # "project:<Google developer project id>".
648
+ # Corresponds to the JSON property `subject`
649
+ # @return [String]
650
+ attr_accessor :subject
651
+
652
+ # Free-form text that provides details on the cause of the error.
653
+ # Corresponds to the JSON property `description`
654
+ # @return [String]
655
+ attr_accessor :description
656
+
657
+ # Error code.
658
+ # Corresponds to the JSON property `code`
659
+ # @return [String]
660
+ attr_accessor :code
661
+
662
+ def initialize(**args)
663
+ update!(**args)
664
+ end
665
+
666
+ # Update properties of this object
667
+ def update!(**args)
668
+ @subject = args[:subject] if args.key?(:subject)
669
+ @description = args[:description] if args.key?(:description)
670
+ @code = args[:code] if args.key?(:code)
671
+ end
672
+ end
673
+
674
+ #
675
+ class CheckInfo
676
+ include Google::Apis::Core::Hashable
677
+
678
+ # A list of fields and label keys that are ignored by the server.
679
+ # The client doesn't need to send them for following requests to improve
680
+ # performance and allow better aggregation.
681
+ # Corresponds to the JSON property `unusedArguments`
682
+ # @return [Array<String>]
683
+ attr_accessor :unused_arguments
684
+
685
+ def initialize(**args)
686
+ update!(**args)
687
+ end
688
+
689
+ # Update properties of this object
690
+ def update!(**args)
691
+ @unused_arguments = args[:unused_arguments] if args.key?(:unused_arguments)
692
+ end
693
+ end
694
+
695
+ # Response message for the ReleaseQuota method.
696
+ class ReleaseQuotaResponse
697
+ include Google::Apis::Core::Hashable
698
+
699
+ # Quota metrics to indicate the result of release. Depending on the
700
+ # request, one or more of the following metrics will be included:
701
+ # 1. For rate quota, per quota group or per quota metric released amount
702
+ # will be specified using the following delta metric:
703
+ # "serviceruntime.googleapis.com/api/consumer/quota_refund_count"
704
+ # 2. For allocation quota, per quota metric total usage will be specified
705
+ # using the following gauge metric:
706
+ # "serviceruntime.googleapis.com/allocation/consumer/quota_used_count"
707
+ # 3. For allocation quota, value for each quota limit associated with
708
+ # the metrics will be specified using the following gauge metric:
709
+ # "serviceruntime.googleapis.com/quota/limit"
710
+ # Corresponds to the JSON property `quotaMetrics`
711
+ # @return [Array<Google::Apis::ServicecontrolV1::MetricValueSet>]
712
+ attr_accessor :quota_metrics
713
+
714
+ # The same operation_id value used in the ReleaseQuotaRequest. Used for
715
+ # logging and diagnostics purposes.
716
+ # Corresponds to the JSON property `operationId`
717
+ # @return [String]
718
+ attr_accessor :operation_id
719
+
720
+ # ID of the actual config used to process the request.
721
+ # Corresponds to the JSON property `serviceConfigId`
722
+ # @return [String]
723
+ attr_accessor :service_config_id
724
+
725
+ # Indicates the decision of the release.
726
+ # Corresponds to the JSON property `releaseErrors`
727
+ # @return [Array<Google::Apis::ServicecontrolV1::QuotaError>]
728
+ attr_accessor :release_errors
729
+
730
+ def initialize(**args)
731
+ update!(**args)
732
+ end
733
+
734
+ # Update properties of this object
735
+ def update!(**args)
736
+ @quota_metrics = args[:quota_metrics] if args.key?(:quota_metrics)
737
+ @operation_id = args[:operation_id] if args.key?(:operation_id)
738
+ @service_config_id = args[:service_config_id] if args.key?(:service_config_id)
739
+ @release_errors = args[:release_errors] if args.key?(:release_errors)
740
+ end
741
+ end
742
+
743
+ # Request message for the AllocateQuota method.
744
+ class AllocateQuotaRequest
745
+ include Google::Apis::Core::Hashable
746
+
747
+ # Specifies which version of service configuration should be used to process
748
+ # the request. If unspecified or no matching version can be found, the latest
749
+ # one will be used.
750
+ # Corresponds to the JSON property `serviceConfigId`
751
+ # @return [String]
752
+ attr_accessor :service_config_id
753
+
754
+ # Represents information regarding a quota operation.
755
+ # Corresponds to the JSON property `allocateOperation`
756
+ # @return [Google::Apis::ServicecontrolV1::QuotaOperation]
757
+ attr_accessor :allocate_operation
758
+
759
+ # Allocation mode for this operation.
760
+ # Deprecated: use QuotaMode inside the QuotaOperation.
761
+ # Corresponds to the JSON property `allocationMode`
762
+ # @return [String]
763
+ attr_accessor :allocation_mode
764
+
765
+ def initialize(**args)
766
+ update!(**args)
767
+ end
768
+
769
+ # Update properties of this object
770
+ def update!(**args)
771
+ @service_config_id = args[:service_config_id] if args.key?(:service_config_id)
772
+ @allocate_operation = args[:allocate_operation] if args.key?(:allocate_operation)
773
+ @allocation_mode = args[:allocation_mode] if args.key?(:allocation_mode)
774
+ end
775
+ end
776
+
777
+ # Represents a set of metric values in the same metric.
778
+ # Each metric value in the set should have a unique combination of start time,
779
+ # end time, and label values.
780
+ class MetricValueSet
781
+ include Google::Apis::Core::Hashable
782
+
783
+ # The metric name defined in the service configuration.
784
+ # Corresponds to the JSON property `metricName`
785
+ # @return [String]
786
+ attr_accessor :metric_name
787
+
788
+ # The values in this metric.
789
+ # Corresponds to the JSON property `metricValues`
790
+ # @return [Array<Google::Apis::ServicecontrolV1::MetricValue>]
791
+ attr_accessor :metric_values
792
+
793
+ def initialize(**args)
794
+ update!(**args)
795
+ end
796
+
797
+ # Update properties of this object
798
+ def update!(**args)
799
+ @metric_name = args[:metric_name] if args.key?(:metric_name)
800
+ @metric_values = args[:metric_values] if args.key?(:metric_values)
801
+ end
802
+ end
803
+
804
+ # Represents the processing error of one `Operation` in the request.
805
+ class ReportError
806
+ include Google::Apis::Core::Hashable
807
+
808
+ # The Operation.operation_id value from the request.
809
+ # Corresponds to the JSON property `operationId`
810
+ # @return [String]
811
+ attr_accessor :operation_id
812
+
813
+ # The `Status` type defines a logical error model that is suitable for different
814
+ # programming environments, including REST APIs and RPC APIs. It is used by
815
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
816
+ # - Simple to use and understand for most users
817
+ # - Flexible enough to meet unexpected needs
818
+ # # Overview
819
+ # The `Status` message contains three pieces of data: error code, error message,
820
+ # and error details. The error code should be an enum value of
821
+ # google.rpc.Code, but it may accept additional error codes if needed. The
822
+ # error message should be a developer-facing English message that helps
823
+ # developers *understand* and *resolve* the error. If a localized user-facing
824
+ # error message is needed, put the localized message in the error details or
825
+ # localize it in the client. The optional error details may contain arbitrary
826
+ # information about the error. There is a predefined set of error detail types
827
+ # in the package `google.rpc` which can be used for common error conditions.
828
+ # # Language mapping
829
+ # The `Status` message is the logical representation of the error model, but it
830
+ # is not necessarily the actual wire format. When the `Status` message is
831
+ # exposed in different client libraries and different wire protocols, it can be
832
+ # mapped differently. For example, it will likely be mapped to some exceptions
833
+ # in Java, but more likely mapped to some error codes in C.
834
+ # # Other uses
835
+ # The error model and the `Status` message can be used in a variety of
836
+ # environments, either with or without APIs, to provide a
837
+ # consistent developer experience across different environments.
838
+ # Example uses of this error model include:
839
+ # - Partial errors. If a service needs to return partial errors to the client,
840
+ # it may embed the `Status` in the normal response to indicate the partial
841
+ # errors.
842
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
843
+ # have a `Status` message for error reporting purpose.
844
+ # - Batch operations. If a client uses batch request and batch response, the
845
+ # `Status` message should be used directly inside batch response, one for
846
+ # each error sub-response.
847
+ # - Asynchronous operations. If an API call embeds asynchronous operation
848
+ # results in its response, the status of those operations should be
849
+ # represented directly using the `Status` message.
850
+ # - Logging. If some API errors are stored in logs, the message `Status` could
851
+ # be used directly after any stripping needed for security/privacy reasons.
852
+ # Corresponds to the JSON property `status`
853
+ # @return [Google::Apis::ServicecontrolV1::Status]
854
+ attr_accessor :status
855
+
856
+ def initialize(**args)
857
+ update!(**args)
858
+ end
859
+
860
+ # Update properties of this object
861
+ def update!(**args)
862
+ @operation_id = args[:operation_id] if args.key?(:operation_id)
863
+ @status = args[:status] if args.key?(:status)
864
+ end
865
+ end
866
+
867
+ #
868
+ class StartReconciliationRequest
869
+ include Google::Apis::Core::Hashable
870
+
871
+ # Specifies which version of service configuration should be used to process
872
+ # the request. If unspecified or no matching version can be found, the latest
873
+ # one will be used.
874
+ # Corresponds to the JSON property `serviceConfigId`
875
+ # @return [String]
876
+ attr_accessor :service_config_id
877
+
878
+ # Represents information regarding a quota operation.
879
+ # Corresponds to the JSON property `reconciliationOperation`
880
+ # @return [Google::Apis::ServicecontrolV1::QuotaOperation]
881
+ attr_accessor :reconciliation_operation
882
+
883
+ def initialize(**args)
884
+ update!(**args)
885
+ end
886
+
887
+ # Update properties of this object
888
+ def update!(**args)
889
+ @service_config_id = args[:service_config_id] if args.key?(:service_config_id)
890
+ @reconciliation_operation = args[:reconciliation_operation] if args.key?(:reconciliation_operation)
891
+ end
892
+ end
893
+
894
+ # Defines the errors to be returned in
895
+ # google.api.servicecontrol.v1.CheckResponse.check_errors.
896
+ class CheckError
897
+ include Google::Apis::Core::Hashable
898
+
899
+ # Free-form text providing details on the error cause of the error.
900
+ # Corresponds to the JSON property `detail`
901
+ # @return [String]
902
+ attr_accessor :detail
903
+
904
+ # The error code.
905
+ # Corresponds to the JSON property `code`
906
+ # @return [String]
907
+ attr_accessor :code
908
+
909
+ def initialize(**args)
910
+ update!(**args)
911
+ end
912
+
913
+ # Update properties of this object
914
+ def update!(**args)
915
+ @detail = args[:detail] if args.key?(:detail)
916
+ @code = args[:code] if args.key?(:code)
917
+ end
918
+ end
919
+
920
+ # Contains the quota information for a quota check response.
921
+ class QuotaInfo
922
+ include Google::Apis::Core::Hashable
923
+
924
+ # Map of quota group name to the actual number of tokens consumed. If the
925
+ # quota check was not successful, then this will not be populated due to no
926
+ # quota consumption.
927
+ # Deprecated: Use quota_metrics to get per quota group usage.
928
+ # Corresponds to the JSON property `quotaConsumed`
929
+ # @return [Hash<String,Fixnum>]
930
+ attr_accessor :quota_consumed
931
+
932
+ # Quota metrics to indicate the usage. Depending on the check request, one or
933
+ # more of the following metrics will be included:
934
+ # 1. For rate quota, per quota group or per quota metric incremental usage
935
+ # will be specified using the following delta metric:
936
+ # "serviceruntime.googleapis.com/api/consumer/quota_used_count"
937
+ # 2. For allocation quota, per quota metric total usage will be specified
938
+ # using the following gauge metric:
939
+ # "serviceruntime.googleapis.com/allocation/consumer/quota_used_count"
940
+ # 3. For both rate quota and allocation quota, the quota limit reached
941
+ # condition will be specified using the following boolean metric:
942
+ # "serviceruntime.googleapis.com/quota/exceeded"
943
+ # Corresponds to the JSON property `quotaMetrics`
944
+ # @return [Array<Google::Apis::ServicecontrolV1::MetricValueSet>]
945
+ attr_accessor :quota_metrics
946
+
947
+ # Quota Metrics that have exceeded quota limits.
948
+ # For QuotaGroup-based quota, this is QuotaGroup.name
949
+ # For QuotaLimit-based quota, this is QuotaLimit.name
950
+ # See: google.api.Quota
951
+ # Deprecated: Use quota_metrics to get per quota group limit exceeded status.
952
+ # Corresponds to the JSON property `limitExceeded`
953
+ # @return [Array<String>]
954
+ attr_accessor :limit_exceeded
955
+
956
+ def initialize(**args)
957
+ update!(**args)
958
+ end
959
+
960
+ # Update properties of this object
961
+ def update!(**args)
962
+ @quota_consumed = args[:quota_consumed] if args.key?(:quota_consumed)
963
+ @quota_metrics = args[:quota_metrics] if args.key?(:quota_metrics)
964
+ @limit_exceeded = args[:limit_exceeded] if args.key?(:limit_exceeded)
965
+ end
966
+ end
967
+
968
+ # Request message for the Check method.
969
+ class CheckRequest
970
+ include Google::Apis::Core::Hashable
971
+
972
+ # Indicates if service activation check should be skipped for this request.
973
+ # Default behavior is to perform the check and apply relevant quota.
974
+ # Corresponds to the JSON property `skipActivationCheck`
975
+ # @return [Boolean]
976
+ attr_accessor :skip_activation_check
977
+ alias_method :skip_activation_check?, :skip_activation_check
978
+
979
+ # Represents information regarding an operation.
980
+ # Corresponds to the JSON property `operation`
981
+ # @return [Google::Apis::ServicecontrolV1::Operation]
982
+ attr_accessor :operation
983
+
984
+ # Requests the project settings to be returned as part of the check response.
985
+ # Corresponds to the JSON property `requestProjectSettings`
986
+ # @return [Boolean]
987
+ attr_accessor :request_project_settings
988
+ alias_method :request_project_settings?, :request_project_settings
989
+
990
+ # Specifies which version of service configuration should be used to process
991
+ # the request.
992
+ # If unspecified or no matching version can be found, the
993
+ # latest one will be used.
994
+ # Corresponds to the JSON property `serviceConfigId`
995
+ # @return [String]
996
+ attr_accessor :service_config_id
997
+
998
+ def initialize(**args)
999
+ update!(**args)
1000
+ end
1001
+
1002
+ # Update properties of this object
1003
+ def update!(**args)
1004
+ @skip_activation_check = args[:skip_activation_check] if args.key?(:skip_activation_check)
1005
+ @operation = args[:operation] if args.key?(:operation)
1006
+ @request_project_settings = args[:request_project_settings] if args.key?(:request_project_settings)
1007
+ @service_config_id = args[:service_config_id] if args.key?(:service_config_id)
1008
+ end
1009
+ end
1010
+
1011
+ # Represents information regarding a quota operation.
1012
+ class QuotaOperation
1013
+ include Google::Apis::Core::Hashable
1014
+
1015
+ # Identity of the consumer for whom this quota operation is being performed.
1016
+ # This can be in one of the following formats:
1017
+ # project:<project_id>,
1018
+ # project_number:<project_number>,
1019
+ # api_key:<api_key>.
1020
+ # Corresponds to the JSON property `consumerId`
1021
+ # @return [String]
1022
+ attr_accessor :consumer_id
1023
+
1024
+ # Identity of the operation. This must be unique within the scope of the
1025
+ # service that generated the operation. If the service calls AllocateQuota
1026
+ # and ReleaseQuota on the same operation, the two calls should carry the
1027
+ # same ID.
1028
+ # UUID version 4 is recommended, though not required. In scenarios where an
1029
+ # operation is computed from existing information and an idempotent id is
1030
+ # desirable for deduplication purpose, UUID version 5 is recommended. See
1031
+ # RFC 4122 for details.
1032
+ # Corresponds to the JSON property `operationId`
1033
+ # @return [String]
1034
+ attr_accessor :operation_id
1035
+
1036
+ # Quota mode for this operation.
1037
+ # Corresponds to the JSON property `quotaMode`
1038
+ # @return [String]
1039
+ attr_accessor :quota_mode
1040
+
1041
+ # Fully qualified name of the API method for which this quota operation is
1042
+ # requested. This name is used for matching quota rules or metric rules and
1043
+ # billing status rules defined in service configuration. This field is not
1044
+ # required if the quota operation is performed on non-API resources.
1045
+ # Example of an RPC method name:
1046
+ # google.example.library.v1.LibraryService.CreateShelf
1047
+ # Corresponds to the JSON property `methodName`
1048
+ # @return [String]
1049
+ attr_accessor :method_name
1050
+
1051
+ # Represents information about this operation. Each MetricValueSet
1052
+ # corresponds to a metric defined in the service configuration.
1053
+ # The data type used in the MetricValueSet must agree with
1054
+ # the data type specified in the metric definition.
1055
+ # Within a single operation, it is not allowed to have more than one
1056
+ # MetricValue instances that have the same metric names and identical
1057
+ # label value combinations. If a request has such duplicated MetricValue
1058
+ # instances, the entire request is rejected with
1059
+ # an invalid argument error.
1060
+ # Corresponds to the JSON property `quotaMetrics`
1061
+ # @return [Array<Google::Apis::ServicecontrolV1::MetricValueSet>]
1062
+ attr_accessor :quota_metrics
1063
+
1064
+ # Labels describing the operation.
1065
+ # Corresponds to the JSON property `labels`
1066
+ # @return [Hash<String,String>]
1067
+ attr_accessor :labels
1068
+
1069
+ def initialize(**args)
1070
+ update!(**args)
1071
+ end
1072
+
1073
+ # Update properties of this object
1074
+ def update!(**args)
1075
+ @consumer_id = args[:consumer_id] if args.key?(:consumer_id)
1076
+ @operation_id = args[:operation_id] if args.key?(:operation_id)
1077
+ @quota_mode = args[:quota_mode] if args.key?(:quota_mode)
1078
+ @method_name = args[:method_name] if args.key?(:method_name)
1079
+ @quota_metrics = args[:quota_metrics] if args.key?(:quota_metrics)
1080
+ @labels = args[:labels] if args.key?(:labels)
1081
+ end
1082
+ end
1083
+
1084
+ #
1085
+ class EndReconciliationRequest
1086
+ include Google::Apis::Core::Hashable
1087
+
1088
+ # Represents information regarding a quota operation.
1089
+ # Corresponds to the JSON property `reconciliationOperation`
1090
+ # @return [Google::Apis::ServicecontrolV1::QuotaOperation]
1091
+ attr_accessor :reconciliation_operation
1092
+
1093
+ # Specifies which version of service configuration should be used to process
1094
+ # the request. If unspecified or no matching version can be found, the latest
1095
+ # one will be used.
1096
+ # Corresponds to the JSON property `serviceConfigId`
1097
+ # @return [String]
1098
+ attr_accessor :service_config_id
1099
+
1100
+ def initialize(**args)
1101
+ update!(**args)
1102
+ end
1103
+
1104
+ # Update properties of this object
1105
+ def update!(**args)
1106
+ @reconciliation_operation = args[:reconciliation_operation] if args.key?(:reconciliation_operation)
1107
+ @service_config_id = args[:service_config_id] if args.key?(:service_config_id)
1108
+ end
1109
+ end
1110
+
1111
+ #
1112
+ class ReportInfo
1113
+ include Google::Apis::Core::Hashable
1114
+
1115
+ # The Operation.operation_id value from the request.
1116
+ # Corresponds to the JSON property `operationId`
1117
+ # @return [String]
1118
+ attr_accessor :operation_id
1119
+
1120
+ # Contains the quota information for a quota check response.
1121
+ # Corresponds to the JSON property `quotaInfo`
1122
+ # @return [Google::Apis::ServicecontrolV1::QuotaInfo]
1123
+ attr_accessor :quota_info
1124
+
1125
+ def initialize(**args)
1126
+ update!(**args)
1127
+ end
1128
+
1129
+ # Update properties of this object
1130
+ def update!(**args)
1131
+ @operation_id = args[:operation_id] if args.key?(:operation_id)
1132
+ @quota_info = args[:quota_info] if args.key?(:quota_info)
1133
+ end
1134
+ end
1135
+
1136
+ # Represents information regarding an operation.
1137
+ class Operation
1138
+ include Google::Apis::Core::Hashable
1139
+
1140
+ # Fully qualified name of the operation. Reserved for future use.
1141
+ # Corresponds to the JSON property `operationName`
1142
+ # @return [String]
1143
+ attr_accessor :operation_name
1144
+
1145
+ # End time of the operation.
1146
+ # Required when the operation is used in ServiceController.Report,
1147
+ # but optional when the operation is used in ServiceController.Check.
1148
+ # Corresponds to the JSON property `endTime`
1149
+ # @return [String]
1150
+ attr_accessor :end_time
1151
+
1152
+ # Required. Start time of the operation.
1153
+ # Corresponds to the JSON property `startTime`
1154
+ # @return [String]
1155
+ attr_accessor :start_time
1156
+
1157
+ # DO NOT USE. This is an experimental field.
1158
+ # Corresponds to the JSON property `importance`
1159
+ # @return [String]
1160
+ attr_accessor :importance
1161
+
1162
+ # The resource name of the parent of a resource in the resource hierarchy.
1163
+ # This can be in one of the following formats:
1164
+ # - “projects/<project-id or project-number>”
1165
+ # - “folders/<folder-id>”
1166
+ # - “organizations/<organization-id>”
1167
+ # Corresponds to the JSON property `resourceContainer`
1168
+ # @return [String]
1169
+ attr_accessor :resource_container
1170
+
1171
+ # Labels describing the operation. Only the following labels are allowed:
1172
+ # - Labels describing monitored resources as defined in
1173
+ # the service configuration.
1174
+ # - Default labels of metric values. When specified, labels defined in the
1175
+ # metric value override these default.
1176
+ # - The following labels defined by Google Cloud Platform:
1177
+ # - `cloud.googleapis.com/location` describing the location where the
1178
+ # operation happened,
1179
+ # - `servicecontrol.googleapis.com/user_agent` describing the user agent
1180
+ # of the API request,
1181
+ # - `servicecontrol.googleapis.com/service_agent` describing the service
1182
+ # used to handle the API request (e.g. ESP),
1183
+ # - `servicecontrol.googleapis.com/platform` describing the platform
1184
+ # where the API is served (e.g. GAE, GCE, GKE).
1185
+ # Corresponds to the JSON property `labels`
1186
+ # @return [Hash<String,String>]
1187
+ attr_accessor :labels
1188
+
1189
+ # Represents information to be logged.
1190
+ # Corresponds to the JSON property `logEntries`
1191
+ # @return [Array<Google::Apis::ServicecontrolV1::LogEntry>]
1192
+ attr_accessor :log_entries
1193
+
1194
+ # User defined labels for the resource that this operation is associated
1195
+ # with.
1196
+ # Corresponds to the JSON property `userLabels`
1197
+ # @return [Hash<String,String>]
1198
+ attr_accessor :user_labels
1199
+
1200
+ # Represents information about this operation. Each MetricValueSet
1201
+ # corresponds to a metric defined in the service configuration.
1202
+ # The data type used in the MetricValueSet must agree with
1203
+ # the data type specified in the metric definition.
1204
+ # Within a single operation, it is not allowed to have more than one
1205
+ # MetricValue instances that have the same metric names and identical
1206
+ # label value combinations. If a request has such duplicated MetricValue
1207
+ # instances, the entire request is rejected with
1208
+ # an invalid argument error.
1209
+ # Corresponds to the JSON property `metricValueSets`
1210
+ # @return [Array<Google::Apis::ServicecontrolV1::MetricValueSet>]
1211
+ attr_accessor :metric_value_sets
1212
+
1213
+ # Represents the properties needed for quota operations.
1214
+ # Corresponds to the JSON property `quotaProperties`
1215
+ # @return [Google::Apis::ServicecontrolV1::QuotaProperties]
1216
+ attr_accessor :quota_properties
1217
+
1218
+ # Identity of the consumer who is using the service.
1219
+ # This field should be filled in for the operations initiated by a
1220
+ # consumer, but not for service-initiated operations that are
1221
+ # not related to a specific consumer.
1222
+ # This can be in one of the following formats:
1223
+ # project:<project_id>,
1224
+ # project_number:<project_number>,
1225
+ # api_key:<api_key>.
1226
+ # Corresponds to the JSON property `consumerId`
1227
+ # @return [String]
1228
+ attr_accessor :consumer_id
1229
+
1230
+ # Identity of the operation. This must be unique within the scope of the
1231
+ # service that generated the operation. If the service calls
1232
+ # Check() and Report() on the same operation, the two calls should carry
1233
+ # the same id.
1234
+ # UUID version 4 is recommended, though not required.
1235
+ # In scenarios where an operation is computed from existing information
1236
+ # and an idempotent id is desirable for deduplication purpose, UUID version 5
1237
+ # is recommended. See RFC 4122 for details.
1238
+ # Corresponds to the JSON property `operationId`
1239
+ # @return [String]
1240
+ attr_accessor :operation_id
1241
+
1242
+ def initialize(**args)
1243
+ update!(**args)
1244
+ end
1245
+
1246
+ # Update properties of this object
1247
+ def update!(**args)
1248
+ @operation_name = args[:operation_name] if args.key?(:operation_name)
1249
+ @end_time = args[:end_time] if args.key?(:end_time)
1250
+ @start_time = args[:start_time] if args.key?(:start_time)
1251
+ @importance = args[:importance] if args.key?(:importance)
1252
+ @resource_container = args[:resource_container] if args.key?(:resource_container)
1253
+ @labels = args[:labels] if args.key?(:labels)
1254
+ @log_entries = args[:log_entries] if args.key?(:log_entries)
1255
+ @user_labels = args[:user_labels] if args.key?(:user_labels)
1256
+ @metric_value_sets = args[:metric_value_sets] if args.key?(:metric_value_sets)
1257
+ @quota_properties = args[:quota_properties] if args.key?(:quota_properties)
1258
+ @consumer_id = args[:consumer_id] if args.key?(:consumer_id)
1259
+ @operation_id = args[:operation_id] if args.key?(:operation_id)
1260
+ end
1261
+ end
1262
+
1263
+ # Response message for the Report method.
1264
+ class ReportResponse
1265
+ include Google::Apis::Core::Hashable
1266
+
1267
+ # Quota usage for each quota release `Operation` request.
1268
+ # Fully or partially failed quota release request may or may not be present
1269
+ # in `report_quota_info`. For example, a failed quota release request will
1270
+ # have the current quota usage info when precise quota library returns the
1271
+ # info. A deadline exceeded quota request will not have quota usage info.
1272
+ # If there is no quota release request, report_quota_info will be empty.
1273
+ # Corresponds to the JSON property `reportInfos`
1274
+ # @return [Array<Google::Apis::ServicecontrolV1::ReportInfo>]
1275
+ attr_accessor :report_infos
1276
+
1277
+ # The actual config id used to process the request.
1278
+ # Corresponds to the JSON property `serviceConfigId`
1279
+ # @return [String]
1280
+ attr_accessor :service_config_id
1281
+
1282
+ # Partial failures, one for each `Operation` in the request that failed
1283
+ # processing. There are three possible combinations of the RPC status:
1284
+ # 1. The combination of a successful RPC status and an empty `report_errors`
1285
+ # list indicates a complete success where all `Operations` in the
1286
+ # request are processed successfully.
1287
+ # 2. The combination of a successful RPC status and a non-empty
1288
+ # `report_errors` list indicates a partial success where some
1289
+ # `Operations` in the request succeeded. Each
1290
+ # `Operation` that failed processing has a corresponding item
1291
+ # in this list.
1292
+ # 3. A failed RPC status indicates a general non-deterministic failure.
1293
+ # When this happens, it's impossible to know which of the
1294
+ # 'Operations' in the request succeeded or failed.
1295
+ # Corresponds to the JSON property `reportErrors`
1296
+ # @return [Array<Google::Apis::ServicecontrolV1::ReportError>]
1297
+ attr_accessor :report_errors
1298
+
1299
+ def initialize(**args)
1300
+ update!(**args)
1301
+ end
1302
+
1303
+ # Update properties of this object
1304
+ def update!(**args)
1305
+ @report_infos = args[:report_infos] if args.key?(:report_infos)
1306
+ @service_config_id = args[:service_config_id] if args.key?(:service_config_id)
1307
+ @report_errors = args[:report_errors] if args.key?(:report_errors)
1308
+ end
1309
+ end
1310
+
1311
+ # Response message for the Check method.
1312
+ class CheckResponse
1313
+ include Google::Apis::Core::Hashable
1314
+
1315
+ # The same operation_id value used in the CheckRequest.
1316
+ # Used for logging and diagnostics purposes.
1317
+ # Corresponds to the JSON property `operationId`
1318
+ # @return [String]
1319
+ attr_accessor :operation_id
1320
+
1321
+ # Indicate the decision of the check.
1322
+ # If no check errors are present, the service should process the operation.
1323
+ # Otherwise the service should use the list of errors to determine the
1324
+ # appropriate action.
1325
+ # Corresponds to the JSON property `checkErrors`
1326
+ # @return [Array<Google::Apis::ServicecontrolV1::CheckError>]
1327
+ attr_accessor :check_errors
1328
+
1329
+ # Feedback data returned from the server during processing a Check request.
1330
+ # Corresponds to the JSON property `checkInfo`
1331
+ # @return [Google::Apis::ServicecontrolV1::CheckInfo]
1332
+ attr_accessor :check_info
1333
+
1334
+ # Contains the quota information for a quota check response.
1335
+ # Corresponds to the JSON property `quotaInfo`
1336
+ # @return [Google::Apis::ServicecontrolV1::QuotaInfo]
1337
+ attr_accessor :quota_info
1338
+
1339
+ # The actual config id used to process the request.
1340
+ # Corresponds to the JSON property `serviceConfigId`
1341
+ # @return [String]
1342
+ attr_accessor :service_config_id
1343
+
1344
+ def initialize(**args)
1345
+ update!(**args)
1346
+ end
1347
+
1348
+ # Update properties of this object
1349
+ def update!(**args)
1350
+ @operation_id = args[:operation_id] if args.key?(:operation_id)
1351
+ @check_errors = args[:check_errors] if args.key?(:check_errors)
1352
+ @check_info = args[:check_info] if args.key?(:check_info)
1353
+ @quota_info = args[:quota_info] if args.key?(:quota_info)
1354
+ @service_config_id = args[:service_config_id] if args.key?(:service_config_id)
1355
+ end
1356
+ end
1357
+
1358
+ # The `Status` type defines a logical error model that is suitable for different
1359
+ # programming environments, including REST APIs and RPC APIs. It is used by
1360
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
1361
+ # - Simple to use and understand for most users
1362
+ # - Flexible enough to meet unexpected needs
1363
+ # # Overview
1364
+ # The `Status` message contains three pieces of data: error code, error message,
1365
+ # and error details. The error code should be an enum value of
1366
+ # google.rpc.Code, but it may accept additional error codes if needed. The
1367
+ # error message should be a developer-facing English message that helps
1368
+ # developers *understand* and *resolve* the error. If a localized user-facing
1369
+ # error message is needed, put the localized message in the error details or
1370
+ # localize it in the client. The optional error details may contain arbitrary
1371
+ # information about the error. There is a predefined set of error detail types
1372
+ # in the package `google.rpc` which can be used for common error conditions.
1373
+ # # Language mapping
1374
+ # The `Status` message is the logical representation of the error model, but it
1375
+ # is not necessarily the actual wire format. When the `Status` message is
1376
+ # exposed in different client libraries and different wire protocols, it can be
1377
+ # mapped differently. For example, it will likely be mapped to some exceptions
1378
+ # in Java, but more likely mapped to some error codes in C.
1379
+ # # Other uses
1380
+ # The error model and the `Status` message can be used in a variety of
1381
+ # environments, either with or without APIs, to provide a
1382
+ # consistent developer experience across different environments.
1383
+ # Example uses of this error model include:
1384
+ # - Partial errors. If a service needs to return partial errors to the client,
1385
+ # it may embed the `Status` in the normal response to indicate the partial
1386
+ # errors.
1387
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
1388
+ # have a `Status` message for error reporting purpose.
1389
+ # - Batch operations. If a client uses batch request and batch response, the
1390
+ # `Status` message should be used directly inside batch response, one for
1391
+ # each error sub-response.
1392
+ # - Asynchronous operations. If an API call embeds asynchronous operation
1393
+ # results in its response, the status of those operations should be
1394
+ # represented directly using the `Status` message.
1395
+ # - Logging. If some API errors are stored in logs, the message `Status` could
1396
+ # be used directly after any stripping needed for security/privacy reasons.
1397
+ class Status
1398
+ include Google::Apis::Core::Hashable
1399
+
1400
+ # The status code, which should be an enum value of google.rpc.Code.
1401
+ # Corresponds to the JSON property `code`
1402
+ # @return [Fixnum]
1403
+ attr_accessor :code
1404
+
1405
+ # A developer-facing error message, which should be in English. Any
1406
+ # user-facing error message should be localized and sent in the
1407
+ # google.rpc.Status.details field, or localized by the client.
1408
+ # Corresponds to the JSON property `message`
1409
+ # @return [String]
1410
+ attr_accessor :message
1411
+
1412
+ # A list of messages that carry the error details. There will be a
1413
+ # common set of message types for APIs to use.
1414
+ # Corresponds to the JSON property `details`
1415
+ # @return [Array<Hash<String,Object>>]
1416
+ attr_accessor :details
1417
+
1418
+ def initialize(**args)
1419
+ update!(**args)
1420
+ end
1421
+
1422
+ # Update properties of this object
1423
+ def update!(**args)
1424
+ @code = args[:code] if args.key?(:code)
1425
+ @message = args[:message] if args.key?(:message)
1426
+ @details = args[:details] if args.key?(:details)
1427
+ end
1428
+ end
1429
+
1430
+ # Request message for the Report method.
1431
+ class ReportRequest
1432
+ include Google::Apis::Core::Hashable
1433
+
1434
+ # Operations to be reported.
1435
+ # Typically the service should report one operation per request.
1436
+ # Putting multiple operations into a single request is allowed, but should
1437
+ # be used only when multiple operations are natually available at the time
1438
+ # of the report.
1439
+ # If multiple operations are in a single request, the total request size
1440
+ # should be no larger than 1MB. See ReportResponse.report_errors for
1441
+ # partial failure behavior.
1442
+ # Corresponds to the JSON property `operations`
1443
+ # @return [Array<Google::Apis::ServicecontrolV1::Operation>]
1444
+ attr_accessor :operations
1445
+
1446
+ # Specifies which version of service config should be used to process the
1447
+ # request.
1448
+ # If unspecified or no matching version can be found, the
1449
+ # latest one will be used.
1450
+ # Corresponds to the JSON property `serviceConfigId`
1451
+ # @return [String]
1452
+ attr_accessor :service_config_id
1453
+
1454
+ def initialize(**args)
1455
+ update!(**args)
1456
+ end
1457
+
1458
+ # Update properties of this object
1459
+ def update!(**args)
1460
+ @operations = args[:operations] if args.key?(:operations)
1461
+ @service_config_id = args[:service_config_id] if args.key?(:service_config_id)
1462
+ end
1463
+ end
1464
+
1465
+ # Common audit log format for Google Cloud Platform API operations.
1466
+ class AuditLog
1467
+ include Google::Apis::Core::Hashable
1468
+
1469
+ # Other service-specific data about the request, response, and other
1470
+ # activities.
1471
+ # Corresponds to the JSON property `serviceData`
1472
+ # @return [Hash<String,Object>]
1473
+ attr_accessor :service_data
1474
+
1475
+ # Metadata about the request.
1476
+ # Corresponds to the JSON property `requestMetadata`
1477
+ # @return [Google::Apis::ServicecontrolV1::RequestMetadata]
1478
+ attr_accessor :request_metadata
1479
+
1480
+ # The number of items returned from a List or Query API method,
1481
+ # if applicable.
1482
+ # Corresponds to the JSON property `numResponseItems`
1483
+ # @return [String]
1484
+ attr_accessor :num_response_items
1485
+
1486
+ # The `Status` type defines a logical error model that is suitable for different
1487
+ # programming environments, including REST APIs and RPC APIs. It is used by
1488
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
1489
+ # - Simple to use and understand for most users
1490
+ # - Flexible enough to meet unexpected needs
1491
+ # # Overview
1492
+ # The `Status` message contains three pieces of data: error code, error message,
1493
+ # and error details. The error code should be an enum value of
1494
+ # google.rpc.Code, but it may accept additional error codes if needed. The
1495
+ # error message should be a developer-facing English message that helps
1496
+ # developers *understand* and *resolve* the error. If a localized user-facing
1497
+ # error message is needed, put the localized message in the error details or
1498
+ # localize it in the client. The optional error details may contain arbitrary
1499
+ # information about the error. There is a predefined set of error detail types
1500
+ # in the package `google.rpc` which can be used for common error conditions.
1501
+ # # Language mapping
1502
+ # The `Status` message is the logical representation of the error model, but it
1503
+ # is not necessarily the actual wire format. When the `Status` message is
1504
+ # exposed in different client libraries and different wire protocols, it can be
1505
+ # mapped differently. For example, it will likely be mapped to some exceptions
1506
+ # in Java, but more likely mapped to some error codes in C.
1507
+ # # Other uses
1508
+ # The error model and the `Status` message can be used in a variety of
1509
+ # environments, either with or without APIs, to provide a
1510
+ # consistent developer experience across different environments.
1511
+ # Example uses of this error model include:
1512
+ # - Partial errors. If a service needs to return partial errors to the client,
1513
+ # it may embed the `Status` in the normal response to indicate the partial
1514
+ # errors.
1515
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
1516
+ # have a `Status` message for error reporting purpose.
1517
+ # - Batch operations. If a client uses batch request and batch response, the
1518
+ # `Status` message should be used directly inside batch response, one for
1519
+ # each error sub-response.
1520
+ # - Asynchronous operations. If an API call embeds asynchronous operation
1521
+ # results in its response, the status of those operations should be
1522
+ # represented directly using the `Status` message.
1523
+ # - Logging. If some API errors are stored in logs, the message `Status` could
1524
+ # be used directly after any stripping needed for security/privacy reasons.
1525
+ # Corresponds to the JSON property `status`
1526
+ # @return [Google::Apis::ServicecontrolV1::Status]
1527
+ attr_accessor :status
1528
+
1529
+ # Authentication information for the operation.
1530
+ # Corresponds to the JSON property `authenticationInfo`
1531
+ # @return [Google::Apis::ServicecontrolV1::AuthenticationInfo]
1532
+ attr_accessor :authentication_info
1533
+
1534
+ # The name of the API service performing the operation. For example,
1535
+ # `"datastore.googleapis.com"`.
1536
+ # Corresponds to the JSON property `serviceName`
1537
+ # @return [String]
1538
+ attr_accessor :service_name
1539
+
1540
+ # The operation response. This may not include all response elements,
1541
+ # such as those that are too large, privacy-sensitive, or duplicated
1542
+ # elsewhere in the log record.
1543
+ # It should never include user-generated data, such as file contents.
1544
+ # When the JSON object represented here has a proto equivalent, the proto
1545
+ # name will be indicated in the `@type` property.
1546
+ # Corresponds to the JSON property `response`
1547
+ # @return [Hash<String,Object>]
1548
+ attr_accessor :response
1549
+
1550
+ # The name of the service method or operation.
1551
+ # For API calls, this should be the name of the API method.
1552
+ # For example,
1553
+ # "google.datastore.v1.Datastore.RunQuery"
1554
+ # "google.logging.v1.LoggingService.DeleteLog"
1555
+ # Corresponds to the JSON property `methodName`
1556
+ # @return [String]
1557
+ attr_accessor :method_name
1558
+
1559
+ # Authorization information. If there are multiple
1560
+ # resources or permissions involved, then there is
1561
+ # one AuthorizationInfo element for each `resource, permission` tuple.
1562
+ # Corresponds to the JSON property `authorizationInfo`
1563
+ # @return [Array<Google::Apis::ServicecontrolV1::AuthorizationInfo>]
1564
+ attr_accessor :authorization_info
1565
+
1566
+ # The resource or collection that is the target of the operation.
1567
+ # The name is a scheme-less URI, not including the API service name.
1568
+ # For example:
1569
+ # "shelves/SHELF_ID/books"
1570
+ # "shelves/SHELF_ID/books/BOOK_ID"
1571
+ # Corresponds to the JSON property `resourceName`
1572
+ # @return [String]
1573
+ attr_accessor :resource_name
1574
+
1575
+ # The operation request. This may not include all request parameters,
1576
+ # such as those that are too large, privacy-sensitive, or duplicated
1577
+ # elsewhere in the log record.
1578
+ # It should never include user-generated data, such as file contents.
1579
+ # When the JSON object represented here has a proto equivalent, the proto
1580
+ # name will be indicated in the `@type` property.
1581
+ # Corresponds to the JSON property `request`
1582
+ # @return [Hash<String,Object>]
1583
+ attr_accessor :request
1584
+
1585
+ def initialize(**args)
1586
+ update!(**args)
1587
+ end
1588
+
1589
+ # Update properties of this object
1590
+ def update!(**args)
1591
+ @service_data = args[:service_data] if args.key?(:service_data)
1592
+ @request_metadata = args[:request_metadata] if args.key?(:request_metadata)
1593
+ @num_response_items = args[:num_response_items] if args.key?(:num_response_items)
1594
+ @status = args[:status] if args.key?(:status)
1595
+ @authentication_info = args[:authentication_info] if args.key?(:authentication_info)
1596
+ @service_name = args[:service_name] if args.key?(:service_name)
1597
+ @response = args[:response] if args.key?(:response)
1598
+ @method_name = args[:method_name] if args.key?(:method_name)
1599
+ @authorization_info = args[:authorization_info] if args.key?(:authorization_info)
1600
+ @resource_name = args[:resource_name] if args.key?(:resource_name)
1601
+ @request = args[:request] if args.key?(:request)
1602
+ end
1603
+ end
1604
+
1605
+ # An individual log entry.
1606
+ class LogEntry
1607
+ include Google::Apis::Core::Hashable
1608
+
1609
+ # A set of user-defined (key, value) data that provides additional
1610
+ # information about the log entry.
1611
+ # Corresponds to the JSON property `labels`
1612
+ # @return [Hash<String,String>]
1613
+ attr_accessor :labels
1614
+
1615
+ # The severity of the log entry. The default value is
1616
+ # `LogSeverity.DEFAULT`.
1617
+ # Corresponds to the JSON property `severity`
1618
+ # @return [String]
1619
+ attr_accessor :severity
1620
+
1621
+ # A unique ID for the log entry used for deduplication. If omitted,
1622
+ # the implementation will generate one based on operation_id.
1623
+ # Corresponds to the JSON property `insertId`
1624
+ # @return [String]
1625
+ attr_accessor :insert_id
1626
+
1627
+ # Required. The log to which this log entry belongs. Examples: `"syslog"`,
1628
+ # `"book_log"`.
1629
+ # Corresponds to the JSON property `name`
1630
+ # @return [String]
1631
+ attr_accessor :name
1632
+
1633
+ # The log entry payload, represented as a structure that
1634
+ # is expressed as a JSON object.
1635
+ # Corresponds to the JSON property `structPayload`
1636
+ # @return [Hash<String,Object>]
1637
+ attr_accessor :struct_payload
1638
+
1639
+ # The log entry payload, represented as a Unicode string (UTF-8).
1640
+ # Corresponds to the JSON property `textPayload`
1641
+ # @return [String]
1642
+ attr_accessor :text_payload
1643
+
1644
+ # The log entry payload, represented as a protocol buffer that is
1645
+ # expressed as a JSON object. You can only pass `protoPayload`
1646
+ # values that belong to a set of approved types.
1647
+ # Corresponds to the JSON property `protoPayload`
1648
+ # @return [Hash<String,Object>]
1649
+ attr_accessor :proto_payload
1650
+
1651
+ # The time the event described by the log entry occurred. If
1652
+ # omitted, defaults to operation start time.
1653
+ # Corresponds to the JSON property `timestamp`
1654
+ # @return [String]
1655
+ attr_accessor :timestamp
1656
+
1657
+ def initialize(**args)
1658
+ update!(**args)
1659
+ end
1660
+
1661
+ # Update properties of this object
1662
+ def update!(**args)
1663
+ @labels = args[:labels] if args.key?(:labels)
1664
+ @severity = args[:severity] if args.key?(:severity)
1665
+ @insert_id = args[:insert_id] if args.key?(:insert_id)
1666
+ @name = args[:name] if args.key?(:name)
1667
+ @struct_payload = args[:struct_payload] if args.key?(:struct_payload)
1668
+ @text_payload = args[:text_payload] if args.key?(:text_payload)
1669
+ @proto_payload = args[:proto_payload] if args.key?(:proto_payload)
1670
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
1671
+ end
1672
+ end
1673
+ end
1674
+ end
1675
+ end