google-api-client 0.11.2 → 0.11.3

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