google-api-client 0.39.3 → 0.39.4

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 (59) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  4. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  5. data/generated/google/apis/bigtableadmin_v2/service.rb +4 -4
  6. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  7. data/generated/google/apis/cloudsearch_v1/classes.rb +8 -6
  8. data/generated/google/apis/composer_v1beta1.rb +1 -1
  9. data/generated/google/apis/composer_v1beta1/classes.rb +58 -0
  10. data/generated/google/apis/composer_v1beta1/representations.rb +30 -0
  11. data/generated/google/apis/composer_v1beta1/service.rb +5 -0
  12. data/generated/google/apis/compute_alpha.rb +1 -1
  13. data/generated/google/apis/compute_alpha/classes.rb +142 -58
  14. data/generated/google/apis/compute_alpha/representations.rb +27 -0
  15. data/generated/google/apis/compute_alpha/service.rb +825 -668
  16. data/generated/google/apis/compute_beta.rb +1 -1
  17. data/generated/google/apis/compute_beta/classes.rb +171 -54
  18. data/generated/google/apis/compute_beta/representations.rb +47 -0
  19. data/generated/google/apis/compute_beta/service.rb +591 -591
  20. data/generated/google/apis/compute_v1.rb +1 -1
  21. data/generated/google/apis/compute_v1/classes.rb +111 -50
  22. data/generated/google/apis/compute_v1/representations.rb +16 -0
  23. data/generated/google/apis/compute_v1/service.rb +83 -0
  24. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  25. data/generated/google/apis/datacatalog_v1beta1/classes.rb +26 -10
  26. data/generated/google/apis/dialogflow_v2.rb +1 -1
  27. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  28. data/generated/google/apis/file_v1.rb +1 -1
  29. data/generated/google/apis/file_v1/classes.rb +1156 -0
  30. data/generated/google/apis/file_v1/representations.rb +381 -0
  31. data/generated/google/apis/file_v1beta1.rb +1 -1
  32. data/generated/google/apis/file_v1beta1/classes.rb +1156 -0
  33. data/generated/google/apis/file_v1beta1/representations.rb +381 -0
  34. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  35. data/generated/google/apis/firebase_v1beta1/classes.rb +2 -12
  36. data/generated/google/apis/jobs_v3.rb +1 -1
  37. data/generated/google/apis/memcache_v1beta2.rb +1 -1
  38. data/generated/google/apis/memcache_v1beta2/classes.rb +24 -12
  39. data/generated/google/apis/memcache_v1beta2/service.rb +5 -2
  40. data/generated/google/apis/ml_v1.rb +1 -1
  41. data/generated/google/apis/ml_v1/classes.rb +84 -18
  42. data/generated/google/apis/ml_v1/representations.rb +4 -0
  43. data/generated/google/apis/ml_v1/service.rb +11 -6
  44. data/generated/google/apis/monitoring_v3.rb +1 -1
  45. data/generated/google/apis/monitoring_v3/service.rb +1 -1
  46. data/generated/google/apis/people_v1.rb +1 -1
  47. data/generated/google/apis/people_v1/service.rb +1 -1
  48. data/generated/google/apis/pubsub_v1.rb +1 -1
  49. data/generated/google/apis/pubsub_v1/classes.rb +6 -7
  50. data/generated/google/apis/secretmanager_v1.rb +1 -1
  51. data/generated/google/apis/secretmanager_v1/classes.rb +26 -13
  52. data/generated/google/apis/secretmanager_v1/service.rb +3 -0
  53. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  54. data/generated/google/apis/secretmanager_v1beta1/classes.rb +23 -10
  55. data/generated/google/apis/secretmanager_v1beta1/service.rb +3 -0
  56. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  57. data/generated/google/apis/servicecontrol_v1/classes.rb +3 -3
  58. data/lib/google/apis/version.rb +1 -1
  59. metadata +3 -3
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/data-catalog/docs/
27
27
  module DatacatalogV1beta1
28
28
  VERSION = 'V1beta1'
29
- REVISION = '20200430'
29
+ REVISION = '20200510'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -216,6 +216,9 @@ module Google
216
216
  # Requests for policies with any conditional bindings must specify version 3.
217
217
  # Policies without any conditional bindings may specify any valid value or
218
218
  # leave the field unset.
219
+ # To learn which resources support conditions in their IAM policies, see the
220
+ # [IAM
221
+ # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
219
222
  # Corresponds to the JSON property `requestedPolicyVersion`
220
223
  # @return [Fixnum]
221
224
  attr_accessor :requested_policy_version
@@ -1664,10 +1667,13 @@ module Google
1664
1667
  # Google groups, and domains (such as G Suite). A `role` is a named list of
1665
1668
  # permissions; each `role` can be an IAM predefined role or a user-created
1666
1669
  # custom role.
1667
- # Optionally, a `binding` can specify a `condition`, which is a logical
1668
- # expression that allows access to a resource only if the expression evaluates
1669
- # to `true`. A condition can add constraints based on attributes of the
1670
- # request, the resource, or both.
1670
+ # For some types of Google Cloud resources, a `binding` can also specify a
1671
+ # `condition`, which is a logical expression that allows access to a resource
1672
+ # only if the expression evaluates to `true`. A condition can add constraints
1673
+ # based on attributes of the request, the resource, or both. To learn which
1674
+ # resources support conditions in their IAM policies, see the
1675
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
1676
+ # policies).
1671
1677
  # **JSON example:**
1672
1678
  # `
1673
1679
  # "bindings": [
@@ -1682,7 +1688,9 @@ module Google
1682
1688
  # `,
1683
1689
  # `
1684
1690
  # "role": "roles/resourcemanager.organizationViewer",
1685
- # "members": ["user:eve@example.com"],
1691
+ # "members": [
1692
+ # "user:eve@example.com"
1693
+ # ],
1686
1694
  # "condition": `
1687
1695
  # "title": "expirable access",
1688
1696
  # "description": "Does not grant access after Sep 2020",
@@ -1755,6 +1763,9 @@ module Google
1755
1763
  # the conditions in the version `3` policy are lost.
1756
1764
  # If a policy does not include any conditions, operations on that policy may
1757
1765
  # specify any valid version or leave the field unset.
1766
+ # To learn which resources support conditions in their IAM policies, see the
1767
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
1768
+ # policies).
1758
1769
  # Corresponds to the JSON property `version`
1759
1770
  # @return [Fixnum]
1760
1771
  attr_accessor :version
@@ -1782,10 +1793,13 @@ module Google
1782
1793
  # Google groups, and domains (such as G Suite). A `role` is a named list of
1783
1794
  # permissions; each `role` can be an IAM predefined role or a user-created
1784
1795
  # custom role.
1785
- # Optionally, a `binding` can specify a `condition`, which is a logical
1786
- # expression that allows access to a resource only if the expression evaluates
1787
- # to `true`. A condition can add constraints based on attributes of the
1788
- # request, the resource, or both.
1796
+ # For some types of Google Cloud resources, a `binding` can also specify a
1797
+ # `condition`, which is a logical expression that allows access to a resource
1798
+ # only if the expression evaluates to `true`. A condition can add constraints
1799
+ # based on attributes of the request, the resource, or both. To learn which
1800
+ # resources support conditions in their IAM policies, see the
1801
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
1802
+ # policies).
1789
1803
  # **JSON example:**
1790
1804
  # `
1791
1805
  # "bindings": [
@@ -1800,7 +1814,9 @@ module Google
1800
1814
  # `,
1801
1815
  # `
1802
1816
  # "role": "roles/resourcemanager.organizationViewer",
1803
- # "members": ["user:eve@example.com"],
1817
+ # "members": [
1818
+ # "user:eve@example.com"
1819
+ # ],
1804
1820
  # "condition": `
1805
1821
  # "title": "expirable access",
1806
1822
  # "description": "Does not grant access after Sep 2020",
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/dialogflow/
27
27
  module DialogflowV2
28
28
  VERSION = 'V2'
29
- REVISION = '20200503'
29
+ REVISION = '20200512'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/dialogflow/
27
27
  module DialogflowV2beta1
28
28
  VERSION = 'V2beta1'
29
- REVISION = '20200503'
29
+ REVISION = '20200512'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/filestore/
26
26
  module FileV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200413'
28
+ REVISION = '20200513'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -22,6 +22,94 @@ module Google
22
22
  module Apis
23
23
  module FileV1
24
24
 
25
+ # The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.
26
+ class AttributeValue
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # A Boolean value represented by `true` or `false`.
30
+ # Corresponds to the JSON property `boolValue`
31
+ # @return [Boolean]
32
+ attr_accessor :bool_value
33
+ alias_method :bool_value?, :bool_value
34
+
35
+ # A 64-bit signed integer.
36
+ # Corresponds to the JSON property `intValue`
37
+ # @return [Fixnum]
38
+ attr_accessor :int_value
39
+
40
+ # Represents a string that might be shortened to a specified length.
41
+ # Corresponds to the JSON property `stringValue`
42
+ # @return [Google::Apis::FileV1::TruncatableString]
43
+ attr_accessor :string_value
44
+
45
+ def initialize(**args)
46
+ update!(**args)
47
+ end
48
+
49
+ # Update properties of this object
50
+ def update!(**args)
51
+ @bool_value = args[:bool_value] if args.key?(:bool_value)
52
+ @int_value = args[:int_value] if args.key?(:int_value)
53
+ @string_value = args[:string_value] if args.key?(:string_value)
54
+ end
55
+ end
56
+
57
+ # A set of attributes, each in the format `[KEY]:[VALUE]`.
58
+ class Attributes
59
+ include Google::Apis::Core::Hashable
60
+
61
+ # The set of attributes. Each attribute's key can be up to 128 bytes
62
+ # long. The value can be a string up to 256 bytes, a signed 64-bit integer,
63
+ # or the Boolean values `true` and `false`. For example:
64
+ # "/instance_id": "my-instance"
65
+ # "/http/user_agent": ""
66
+ # "/http/request_bytes": 300
67
+ # "abc.com/myattribute": true
68
+ # Corresponds to the JSON property `attributeMap`
69
+ # @return [Hash<String,Google::Apis::FileV1::AttributeValue>]
70
+ attr_accessor :attribute_map
71
+
72
+ # The number of attributes that were discarded. Attributes can be discarded
73
+ # because their keys are too long or because there are too many attributes.
74
+ # If this value is 0 then all attributes are valid.
75
+ # Corresponds to the JSON property `droppedAttributesCount`
76
+ # @return [Fixnum]
77
+ attr_accessor :dropped_attributes_count
78
+
79
+ def initialize(**args)
80
+ update!(**args)
81
+ end
82
+
83
+ # Update properties of this object
84
+ def update!(**args)
85
+ @attribute_map = args[:attribute_map] if args.key?(:attribute_map)
86
+ @dropped_attributes_count = args[:dropped_attributes_count] if args.key?(:dropped_attributes_count)
87
+ end
88
+ end
89
+
90
+ # Message for reporting billing requests through Eventstream.
91
+ class BillingView
92
+ include Google::Apis::Core::Hashable
93
+
94
+ # Billing requests to be reported for an [Eventstream
95
+ # resource](http://google3/cloud/eventstream/v2/resource_event.proto).
96
+ # Each request contains billing operations to be reported under a service
97
+ # name. See go/billing-view-construction for documentation on constructing
98
+ # billing view report requests.
99
+ # Corresponds to the JSON property `reportRequests`
100
+ # @return [Array<Google::Apis::FileV1::ReportRequest>]
101
+ attr_accessor :report_requests
102
+
103
+ def initialize(**args)
104
+ update!(**args)
105
+ end
106
+
107
+ # Update properties of this object
108
+ def update!(**args)
109
+ @report_requests = args[:report_requests] if args.key?(:report_requests)
110
+ end
111
+ end
112
+
25
113
  # The request message for Operations.CancelOperation.
26
114
  class CancelOperationRequest
27
115
  include Google::Apis::Core::Hashable
@@ -35,6 +123,97 @@ module Google
35
123
  end
36
124
  end
37
125
 
126
+ # Distribution represents a frequency distribution of double-valued sample
127
+ # points. It contains the size of the population of sample points plus
128
+ # additional optional information:
129
+ # - the arithmetic mean of the samples
130
+ # - the minimum and maximum of the samples
131
+ # - the sum-squared-deviation of the samples, used to compute variance
132
+ # - a histogram of the values of the sample points
133
+ class Distribution
134
+ include Google::Apis::Core::Hashable
135
+
136
+ # The number of samples in each histogram bucket. `bucket_counts` are
137
+ # optional. If present, they must sum to the `count` value.
138
+ # The buckets are defined below in `bucket_option`. There are N buckets.
139
+ # `bucket_counts[0]` is the number of samples in the underflow bucket.
140
+ # `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples
141
+ # in each of the finite buckets. And `bucket_counts[N] is the number
142
+ # of samples in the overflow bucket. See the comments of `bucket_option`
143
+ # below for more details.
144
+ # Any suffix of trailing zeros may be omitted.
145
+ # Corresponds to the JSON property `bucketCounts`
146
+ # @return [Array<Fixnum>]
147
+ attr_accessor :bucket_counts
148
+
149
+ # The total number of samples in the distribution. Must be >= 0.
150
+ # Corresponds to the JSON property `count`
151
+ # @return [Fixnum]
152
+ attr_accessor :count
153
+
154
+ # Example points. Must be in increasing order of `value` field.
155
+ # Corresponds to the JSON property `exemplars`
156
+ # @return [Array<Google::Apis::FileV1::Exemplar>]
157
+ attr_accessor :exemplars
158
+
159
+ # Describing buckets with arbitrary user-provided width.
160
+ # Corresponds to the JSON property `explicitBuckets`
161
+ # @return [Google::Apis::FileV1::ExplicitBuckets]
162
+ attr_accessor :explicit_buckets
163
+
164
+ # Describing buckets with exponentially growing width.
165
+ # Corresponds to the JSON property `exponentialBuckets`
166
+ # @return [Google::Apis::FileV1::ExponentialBuckets]
167
+ attr_accessor :exponential_buckets
168
+
169
+ # Describing buckets with constant width.
170
+ # Corresponds to the JSON property `linearBuckets`
171
+ # @return [Google::Apis::FileV1::LinearBuckets]
172
+ attr_accessor :linear_buckets
173
+
174
+ # The maximum of the population of values. Ignored if `count` is zero.
175
+ # Corresponds to the JSON property `maximum`
176
+ # @return [Float]
177
+ attr_accessor :maximum
178
+
179
+ # The arithmetic mean of the samples in the distribution. If `count` is
180
+ # zero then this field must be zero.
181
+ # Corresponds to the JSON property `mean`
182
+ # @return [Float]
183
+ attr_accessor :mean
184
+
185
+ # The minimum of the population of values. Ignored if `count` is zero.
186
+ # Corresponds to the JSON property `minimum`
187
+ # @return [Float]
188
+ attr_accessor :minimum
189
+
190
+ # The sum of squared deviations from the mean:
191
+ # Sum[i=1..count]((x_i - mean)^2)
192
+ # where each x_i is a sample values. If `count` is zero then this field
193
+ # must be zero, otherwise validation of the request fails.
194
+ # Corresponds to the JSON property `sumOfSquaredDeviation`
195
+ # @return [Float]
196
+ attr_accessor :sum_of_squared_deviation
197
+
198
+ def initialize(**args)
199
+ update!(**args)
200
+ end
201
+
202
+ # Update properties of this object
203
+ def update!(**args)
204
+ @bucket_counts = args[:bucket_counts] if args.key?(:bucket_counts)
205
+ @count = args[:count] if args.key?(:count)
206
+ @exemplars = args[:exemplars] if args.key?(:exemplars)
207
+ @explicit_buckets = args[:explicit_buckets] if args.key?(:explicit_buckets)
208
+ @exponential_buckets = args[:exponential_buckets] if args.key?(:exponential_buckets)
209
+ @linear_buckets = args[:linear_buckets] if args.key?(:linear_buckets)
210
+ @maximum = args[:maximum] if args.key?(:maximum)
211
+ @mean = args[:mean] if args.key?(:mean)
212
+ @minimum = args[:minimum] if args.key?(:minimum)
213
+ @sum_of_squared_deviation = args[:sum_of_squared_deviation] if args.key?(:sum_of_squared_deviation)
214
+ end
215
+ end
216
+
38
217
  # A generic empty message that you can re-use to avoid defining duplicated
39
218
  # empty messages in your APIs. A typical example is to use it as the request
40
219
  # or the response type of an API method. For instance:
@@ -54,6 +233,118 @@ module Google
54
233
  end
55
234
  end
56
235
 
236
+ # Exemplars are example points that may be used to annotate aggregated
237
+ # distribution values. They are metadata that gives information about a
238
+ # particular value added to a Distribution bucket, such as a trace ID that
239
+ # was active when a value was added. They may contain further information,
240
+ # such as a example values and timestamps, origin, etc.
241
+ class Exemplar
242
+ include Google::Apis::Core::Hashable
243
+
244
+ # Contextual information about the example value. Examples are:
245
+ # Trace: type.googleapis.com/google.monitoring.v3.SpanContext
246
+ # Literal string: type.googleapis.com/google.protobuf.StringValue
247
+ # Labels dropped during aggregation:
248
+ # type.googleapis.com/google.monitoring.v3.DroppedLabels
249
+ # There may be only a single attachment of any given message type in a
250
+ # single exemplar, and this is enforced by the system.
251
+ # Corresponds to the JSON property `attachments`
252
+ # @return [Array<Hash<String,Object>>]
253
+ attr_accessor :attachments
254
+
255
+ # The observation (sampling) time of the above value.
256
+ # Corresponds to the JSON property `timestamp`
257
+ # @return [String]
258
+ attr_accessor :timestamp
259
+
260
+ # Value of the exemplar point. This value determines to which bucket the
261
+ # exemplar belongs.
262
+ # Corresponds to the JSON property `value`
263
+ # @return [Float]
264
+ attr_accessor :value
265
+
266
+ def initialize(**args)
267
+ update!(**args)
268
+ end
269
+
270
+ # Update properties of this object
271
+ def update!(**args)
272
+ @attachments = args[:attachments] if args.key?(:attachments)
273
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
274
+ @value = args[:value] if args.key?(:value)
275
+ end
276
+ end
277
+
278
+ # Describing buckets with arbitrary user-provided width.
279
+ class ExplicitBuckets
280
+ include Google::Apis::Core::Hashable
281
+
282
+ # 'bound' is a list of strictly increasing boundaries between
283
+ # buckets. Note that a list of length N-1 defines N buckets because
284
+ # of fenceposting. See comments on `bucket_options` for details.
285
+ # The i'th finite bucket covers the interval
286
+ # [bound[i-1], bound[i])
287
+ # where i ranges from 1 to bound_size() - 1. Note that there are no
288
+ # finite buckets at all if 'bound' only contains a single element; in
289
+ # that special case the single bound defines the boundary between the
290
+ # underflow and overflow buckets.
291
+ # bucket number lower bound upper bound
292
+ # i == 0 (underflow) -inf bound[i]
293
+ # 0 < i < bound_size() bound[i-1] bound[i]
294
+ # i == bound_size() (overflow) bound[i-1] +inf
295
+ # Corresponds to the JSON property `bounds`
296
+ # @return [Array<Float>]
297
+ attr_accessor :bounds
298
+
299
+ def initialize(**args)
300
+ update!(**args)
301
+ end
302
+
303
+ # Update properties of this object
304
+ def update!(**args)
305
+ @bounds = args[:bounds] if args.key?(:bounds)
306
+ end
307
+ end
308
+
309
+ # Describing buckets with exponentially growing width.
310
+ class ExponentialBuckets
311
+ include Google::Apis::Core::Hashable
312
+
313
+ # The i'th exponential bucket covers the interval
314
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
315
+ # where i ranges from 1 to num_finite_buckets inclusive.
316
+ # Must be larger than 1.0.
317
+ # Corresponds to the JSON property `growthFactor`
318
+ # @return [Float]
319
+ attr_accessor :growth_factor
320
+
321
+ # The number of finite buckets. With the underflow and overflow buckets,
322
+ # the total number of buckets is `num_finite_buckets` + 2.
323
+ # See comments on `bucket_options` for details.
324
+ # Corresponds to the JSON property `numFiniteBuckets`
325
+ # @return [Fixnum]
326
+ attr_accessor :num_finite_buckets
327
+
328
+ # The i'th exponential bucket covers the interval
329
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
330
+ # where i ranges from 1 to num_finite_buckets inclusive.
331
+ # Must be > 0.
332
+ # Corresponds to the JSON property `scale`
333
+ # @return [Float]
334
+ attr_accessor :scale
335
+
336
+ def initialize(**args)
337
+ update!(**args)
338
+ end
339
+
340
+ # Update properties of this object
341
+ def update!(**args)
342
+ @growth_factor = args[:growth_factor] if args.key?(:growth_factor)
343
+ @num_finite_buckets = args[:num_finite_buckets] if args.key?(:num_finite_buckets)
344
+ @scale = args[:scale] if args.key?(:scale)
345
+ end
346
+ end
347
+
57
348
  # File share configuration for the instance.
58
349
  class FileShareConfig
59
350
  include Google::Apis::Core::Hashable
@@ -80,6 +371,143 @@ module Google
80
371
  end
81
372
  end
82
373
 
374
+ # Represents information regarding an operation.
375
+ class GoogleApiServicecontrolV1Operation
376
+ include Google::Apis::Core::Hashable
377
+
378
+ # Identity of the consumer who is using the service.
379
+ # This field should be filled in for the operations initiated by a
380
+ # consumer, but not for service-initiated operations that are
381
+ # not related to a specific consumer.
382
+ # - This can be in one of the following formats:
383
+ # - project:PROJECT_ID,
384
+ # - project`_`number:PROJECT_NUMBER,
385
+ # - projects/PROJECT_ID or PROJECT_NUMBER,
386
+ # - folders/FOLDER_NUMBER,
387
+ # - organizations/ORGANIZATION_NUMBER,
388
+ # - api`_`key:API_KEY.
389
+ # Corresponds to the JSON property `consumerId`
390
+ # @return [String]
391
+ attr_accessor :consumer_id
392
+
393
+ # End time of the operation.
394
+ # Required when the operation is used in ServiceController.Report,
395
+ # but optional when the operation is used in ServiceController.Check.
396
+ # Corresponds to the JSON property `endTime`
397
+ # @return [String]
398
+ attr_accessor :end_time
399
+
400
+ # DO NOT USE. This is an experimental field.
401
+ # Corresponds to the JSON property `importance`
402
+ # @return [String]
403
+ attr_accessor :importance
404
+
405
+ # Labels describing the operation. Only the following labels are allowed:
406
+ # - Labels describing monitored resources as defined in
407
+ # the service configuration.
408
+ # - Default labels of metric values. When specified, labels defined in the
409
+ # metric value override these default.
410
+ # - The following labels defined by Google Cloud Platform:
411
+ # - `cloud.googleapis.com/location` describing the location where the
412
+ # operation happened,
413
+ # - `servicecontrol.googleapis.com/user_agent` describing the user agent
414
+ # of the API request,
415
+ # - `servicecontrol.googleapis.com/service_agent` describing the service
416
+ # used to handle the API request (e.g. ESP),
417
+ # - `servicecontrol.googleapis.com/platform` describing the platform
418
+ # where the API is served, such as App Engine, Compute Engine, or
419
+ # Kubernetes Engine.
420
+ # Corresponds to the JSON property `labels`
421
+ # @return [Hash<String,String>]
422
+ attr_accessor :labels
423
+
424
+ # Represents information to be logged.
425
+ # Corresponds to the JSON property `logEntries`
426
+ # @return [Array<Google::Apis::FileV1::LogEntry>]
427
+ attr_accessor :log_entries
428
+
429
+ # Represents information about this operation. Each MetricValueSet
430
+ # corresponds to a metric defined in the service configuration.
431
+ # The data type used in the MetricValueSet must agree with
432
+ # the data type specified in the metric definition.
433
+ # Within a single operation, it is not allowed to have more than one
434
+ # MetricValue instances that have the same metric names and identical
435
+ # label value combinations. If a request has such duplicated MetricValue
436
+ # instances, the entire request is rejected with
437
+ # an invalid argument error.
438
+ # Corresponds to the JSON property `metricValueSets`
439
+ # @return [Array<Google::Apis::FileV1::MetricValueSet>]
440
+ attr_accessor :metric_value_sets
441
+
442
+ # Identity of the operation. This must be unique within the scope of the
443
+ # service that generated the operation. If the service calls
444
+ # Check() and Report() on the same operation, the two calls should carry
445
+ # the same id.
446
+ # UUID version 4 is recommended, though not required.
447
+ # In scenarios where an operation is computed from existing information
448
+ # and an idempotent id is desirable for deduplication purpose, UUID version 5
449
+ # is recommended. See RFC 4122 for details.
450
+ # Corresponds to the JSON property `operationId`
451
+ # @return [String]
452
+ attr_accessor :operation_id
453
+
454
+ # Fully qualified name of the operation. Reserved for future use.
455
+ # Corresponds to the JSON property `operationName`
456
+ # @return [String]
457
+ attr_accessor :operation_name
458
+
459
+ # Represents the properties needed for quota operations.
460
+ # Corresponds to the JSON property `quotaProperties`
461
+ # @return [Google::Apis::FileV1::QuotaProperties]
462
+ attr_accessor :quota_properties
463
+
464
+ # The resources that are involved in the operation.
465
+ # The maximum supported number of entries in this field is 100.
466
+ # Corresponds to the JSON property `resources`
467
+ # @return [Array<Google::Apis::FileV1::ResourceInfo>]
468
+ attr_accessor :resources
469
+
470
+ # Required. Start time of the operation.
471
+ # Corresponds to the JSON property `startTime`
472
+ # @return [String]
473
+ attr_accessor :start_time
474
+
475
+ # Unimplemented. A list of Cloud Trace spans. The span names shall contain
476
+ # the id of the destination project which can be either the produce or the
477
+ # consumer project.
478
+ # Corresponds to the JSON property `traceSpans`
479
+ # @return [Array<Google::Apis::FileV1::TraceSpan>]
480
+ attr_accessor :trace_spans
481
+
482
+ # User defined labels for the resource that this operation is associated
483
+ # with. Only a combination of 1000 user labels per consumer project are
484
+ # allowed.
485
+ # Corresponds to the JSON property `userLabels`
486
+ # @return [Hash<String,String>]
487
+ attr_accessor :user_labels
488
+
489
+ def initialize(**args)
490
+ update!(**args)
491
+ end
492
+
493
+ # Update properties of this object
494
+ def update!(**args)
495
+ @consumer_id = args[:consumer_id] if args.key?(:consumer_id)
496
+ @end_time = args[:end_time] if args.key?(:end_time)
497
+ @importance = args[:importance] if args.key?(:importance)
498
+ @labels = args[:labels] if args.key?(:labels)
499
+ @log_entries = args[:log_entries] if args.key?(:log_entries)
500
+ @metric_value_sets = args[:metric_value_sets] if args.key?(:metric_value_sets)
501
+ @operation_id = args[:operation_id] if args.key?(:operation_id)
502
+ @operation_name = args[:operation_name] if args.key?(:operation_name)
503
+ @quota_properties = args[:quota_properties] if args.key?(:quota_properties)
504
+ @resources = args[:resources] if args.key?(:resources)
505
+ @start_time = args[:start_time] if args.key?(:start_time)
506
+ @trace_spans = args[:trace_spans] if args.key?(:trace_spans)
507
+ @user_labels = args[:user_labels] if args.key?(:user_labels)
508
+ end
509
+ end
510
+
83
511
  #
84
512
  class GoogleCloudSaasacceleratorManagementProvidersV1Instance
85
513
  include Google::Apis::Core::Hashable
@@ -446,6 +874,130 @@ module Google
446
874
  end
447
875
  end
448
876
 
877
+ # A common proto for logging HTTP requests. Only contains semantics
878
+ # defined by the HTTP specification. Product-specific logging
879
+ # information MUST be defined in a separate message.
880
+ class HttpRequest
881
+ include Google::Apis::Core::Hashable
882
+
883
+ # The number of HTTP response bytes inserted into cache. Set only when a
884
+ # cache fill was attempted.
885
+ # Corresponds to the JSON property `cacheFillBytes`
886
+ # @return [Fixnum]
887
+ attr_accessor :cache_fill_bytes
888
+
889
+ # Whether or not an entity was served from cache
890
+ # (with or without validation).
891
+ # Corresponds to the JSON property `cacheHit`
892
+ # @return [Boolean]
893
+ attr_accessor :cache_hit
894
+ alias_method :cache_hit?, :cache_hit
895
+
896
+ # Whether or not a cache lookup was attempted.
897
+ # Corresponds to the JSON property `cacheLookup`
898
+ # @return [Boolean]
899
+ attr_accessor :cache_lookup
900
+ alias_method :cache_lookup?, :cache_lookup
901
+
902
+ # Whether or not the response was validated with the origin server before
903
+ # being served from cache. This field is only meaningful if `cache_hit` is
904
+ # True.
905
+ # Corresponds to the JSON property `cacheValidatedWithOriginServer`
906
+ # @return [Boolean]
907
+ attr_accessor :cache_validated_with_origin_server
908
+ alias_method :cache_validated_with_origin_server?, :cache_validated_with_origin_server
909
+
910
+ # The request processing latency on the server, from the time the request was
911
+ # received until the response was sent.
912
+ # Corresponds to the JSON property `latency`
913
+ # @return [String]
914
+ attr_accessor :latency
915
+
916
+ # Protocol used for the request. Examples: "HTTP/1.1", "HTTP/2", "websocket"
917
+ # Corresponds to the JSON property `protocol`
918
+ # @return [String]
919
+ attr_accessor :protocol
920
+
921
+ # The referer URL of the request, as defined in
922
+ # [HTTP/1.1 Header Field
923
+ # Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).
924
+ # Corresponds to the JSON property `referer`
925
+ # @return [String]
926
+ attr_accessor :referer
927
+
928
+ # The IP address (IPv4 or IPv6) of the client that issued the HTTP
929
+ # request. Examples: `"192.168.1.1"`, `"FE80::0202:B3FF:FE1E:8329"`.
930
+ # Corresponds to the JSON property `remoteIp`
931
+ # @return [String]
932
+ attr_accessor :remote_ip
933
+
934
+ # The request method. Examples: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`.
935
+ # Corresponds to the JSON property `requestMethod`
936
+ # @return [String]
937
+ attr_accessor :request_method
938
+
939
+ # The size of the HTTP request message in bytes, including the request
940
+ # headers and the request body.
941
+ # Corresponds to the JSON property `requestSize`
942
+ # @return [Fixnum]
943
+ attr_accessor :request_size
944
+
945
+ # The scheme (http, https), the host name, the path, and the query
946
+ # portion of the URL that was requested.
947
+ # Example: `"http://example.com/some/info?color=red"`.
948
+ # Corresponds to the JSON property `requestUrl`
949
+ # @return [String]
950
+ attr_accessor :request_url
951
+
952
+ # The size of the HTTP response message sent back to the client, in bytes,
953
+ # including the response headers and the response body.
954
+ # Corresponds to the JSON property `responseSize`
955
+ # @return [Fixnum]
956
+ attr_accessor :response_size
957
+
958
+ # The IP address (IPv4 or IPv6) of the origin server that the request was
959
+ # sent to.
960
+ # Corresponds to the JSON property `serverIp`
961
+ # @return [String]
962
+ attr_accessor :server_ip
963
+
964
+ # The response code indicating the status of the response.
965
+ # Examples: 200, 404.
966
+ # Corresponds to the JSON property `status`
967
+ # @return [Fixnum]
968
+ attr_accessor :status
969
+
970
+ # The user agent sent by the client. Example:
971
+ # `"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET
972
+ # CLR 1.0.3705)"`.
973
+ # Corresponds to the JSON property `userAgent`
974
+ # @return [String]
975
+ attr_accessor :user_agent
976
+
977
+ def initialize(**args)
978
+ update!(**args)
979
+ end
980
+
981
+ # Update properties of this object
982
+ def update!(**args)
983
+ @cache_fill_bytes = args[:cache_fill_bytes] if args.key?(:cache_fill_bytes)
984
+ @cache_hit = args[:cache_hit] if args.key?(:cache_hit)
985
+ @cache_lookup = args[:cache_lookup] if args.key?(:cache_lookup)
986
+ @cache_validated_with_origin_server = args[:cache_validated_with_origin_server] if args.key?(:cache_validated_with_origin_server)
987
+ @latency = args[:latency] if args.key?(:latency)
988
+ @protocol = args[:protocol] if args.key?(:protocol)
989
+ @referer = args[:referer] if args.key?(:referer)
990
+ @remote_ip = args[:remote_ip] if args.key?(:remote_ip)
991
+ @request_method = args[:request_method] if args.key?(:request_method)
992
+ @request_size = args[:request_size] if args.key?(:request_size)
993
+ @request_url = args[:request_url] if args.key?(:request_url)
994
+ @response_size = args[:response_size] if args.key?(:response_size)
995
+ @server_ip = args[:server_ip] if args.key?(:server_ip)
996
+ @status = args[:status] if args.key?(:status)
997
+ @user_agent = args[:user_agent] if args.key?(:user_agent)
998
+ end
999
+ end
1000
+
449
1001
  # A Cloud Filestore instance.
450
1002
  class Instance
451
1003
  include Google::Apis::Core::Hashable
@@ -523,6 +1075,44 @@ module Google
523
1075
  end
524
1076
  end
525
1077
 
1078
+ # Describing buckets with constant width.
1079
+ class LinearBuckets
1080
+ include Google::Apis::Core::Hashable
1081
+
1082
+ # The number of finite buckets. With the underflow and overflow buckets,
1083
+ # the total number of buckets is `num_finite_buckets` + 2.
1084
+ # See comments on `bucket_options` for details.
1085
+ # Corresponds to the JSON property `numFiniteBuckets`
1086
+ # @return [Fixnum]
1087
+ attr_accessor :num_finite_buckets
1088
+
1089
+ # The i'th linear bucket covers the interval
1090
+ # [offset + (i-1) * width, offset + i * width)
1091
+ # where i ranges from 1 to num_finite_buckets, inclusive.
1092
+ # Corresponds to the JSON property `offset`
1093
+ # @return [Float]
1094
+ attr_accessor :offset
1095
+
1096
+ # The i'th linear bucket covers the interval
1097
+ # [offset + (i-1) * width, offset + i * width)
1098
+ # where i ranges from 1 to num_finite_buckets, inclusive.
1099
+ # Must be strictly positive.
1100
+ # Corresponds to the JSON property `width`
1101
+ # @return [Float]
1102
+ attr_accessor :width
1103
+
1104
+ def initialize(**args)
1105
+ update!(**args)
1106
+ end
1107
+
1108
+ # Update properties of this object
1109
+ def update!(**args)
1110
+ @num_finite_buckets = args[:num_finite_buckets] if args.key?(:num_finite_buckets)
1111
+ @offset = args[:offset] if args.key?(:offset)
1112
+ @width = args[:width] if args.key?(:width)
1113
+ end
1114
+ end
1115
+
526
1116
  # ListInstancesResponse is the result of ListInstancesRequest.
527
1117
  class ListInstancesResponse
528
1118
  include Google::Apis::Core::Hashable
@@ -656,6 +1246,333 @@ module Google
656
1246
  end
657
1247
  end
658
1248
 
1249
+ # An individual log entry.
1250
+ class LogEntry
1251
+ include Google::Apis::Core::Hashable
1252
+
1253
+ # A common proto for logging HTTP requests. Only contains semantics
1254
+ # defined by the HTTP specification. Product-specific logging
1255
+ # information MUST be defined in a separate message.
1256
+ # Corresponds to the JSON property `httpRequest`
1257
+ # @return [Google::Apis::FileV1::HttpRequest]
1258
+ attr_accessor :http_request
1259
+
1260
+ # A unique ID for the log entry used for deduplication. If omitted,
1261
+ # the implementation will generate one based on operation_id.
1262
+ # Corresponds to the JSON property `insertId`
1263
+ # @return [String]
1264
+ attr_accessor :insert_id
1265
+
1266
+ # A set of user-defined (key, value) data that provides additional
1267
+ # information about the log entry.
1268
+ # Corresponds to the JSON property `labels`
1269
+ # @return [Hash<String,String>]
1270
+ attr_accessor :labels
1271
+
1272
+ # Required. The log to which this log entry belongs. Examples: `"syslog"`,
1273
+ # `"book_log"`.
1274
+ # Corresponds to the JSON property `name`
1275
+ # @return [String]
1276
+ attr_accessor :name
1277
+
1278
+ # Additional information about a potentially long-running operation with which
1279
+ # a log entry is associated.
1280
+ # Corresponds to the JSON property `operation`
1281
+ # @return [Google::Apis::FileV1::LogEntryOperation]
1282
+ attr_accessor :operation
1283
+
1284
+ # The log entry payload, represented as a protocol buffer that is
1285
+ # expressed as a JSON object. The only accepted type currently is
1286
+ # AuditLog.
1287
+ # Corresponds to the JSON property `protoPayload`
1288
+ # @return [Hash<String,Object>]
1289
+ attr_accessor :proto_payload
1290
+
1291
+ # The severity of the log entry. The default value is
1292
+ # `LogSeverity.DEFAULT`.
1293
+ # Corresponds to the JSON property `severity`
1294
+ # @return [String]
1295
+ attr_accessor :severity
1296
+
1297
+ # Additional information about the source code location that produced the log
1298
+ # entry.
1299
+ # Corresponds to the JSON property `sourceLocation`
1300
+ # @return [Google::Apis::FileV1::LogEntrySourceLocation]
1301
+ attr_accessor :source_location
1302
+
1303
+ # The log entry payload, represented as a structure that
1304
+ # is expressed as a JSON object.
1305
+ # Corresponds to the JSON property `structPayload`
1306
+ # @return [Hash<String,Object>]
1307
+ attr_accessor :struct_payload
1308
+
1309
+ # The log entry payload, represented as a Unicode string (UTF-8).
1310
+ # Corresponds to the JSON property `textPayload`
1311
+ # @return [String]
1312
+ attr_accessor :text_payload
1313
+
1314
+ # The time the event described by the log entry occurred. If
1315
+ # omitted, defaults to operation start time.
1316
+ # Corresponds to the JSON property `timestamp`
1317
+ # @return [String]
1318
+ attr_accessor :timestamp
1319
+
1320
+ # Optional. Resource name of the trace associated with the log entry, if any.
1321
+ # If this field contains a relative resource name, you can assume the name is
1322
+ # relative to `//tracing.googleapis.com`. Example:
1323
+ # `projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824`
1324
+ # Corresponds to the JSON property `trace`
1325
+ # @return [String]
1326
+ attr_accessor :trace
1327
+
1328
+ def initialize(**args)
1329
+ update!(**args)
1330
+ end
1331
+
1332
+ # Update properties of this object
1333
+ def update!(**args)
1334
+ @http_request = args[:http_request] if args.key?(:http_request)
1335
+ @insert_id = args[:insert_id] if args.key?(:insert_id)
1336
+ @labels = args[:labels] if args.key?(:labels)
1337
+ @name = args[:name] if args.key?(:name)
1338
+ @operation = args[:operation] if args.key?(:operation)
1339
+ @proto_payload = args[:proto_payload] if args.key?(:proto_payload)
1340
+ @severity = args[:severity] if args.key?(:severity)
1341
+ @source_location = args[:source_location] if args.key?(:source_location)
1342
+ @struct_payload = args[:struct_payload] if args.key?(:struct_payload)
1343
+ @text_payload = args[:text_payload] if args.key?(:text_payload)
1344
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
1345
+ @trace = args[:trace] if args.key?(:trace)
1346
+ end
1347
+ end
1348
+
1349
+ # Additional information about a potentially long-running operation with which
1350
+ # a log entry is associated.
1351
+ class LogEntryOperation
1352
+ include Google::Apis::Core::Hashable
1353
+
1354
+ # Optional. Set this to True if this is the first log entry in the operation.
1355
+ # Corresponds to the JSON property `first`
1356
+ # @return [Boolean]
1357
+ attr_accessor :first
1358
+ alias_method :first?, :first
1359
+
1360
+ # Optional. An arbitrary operation identifier. Log entries with the
1361
+ # same identifier are assumed to be part of the same operation.
1362
+ # Corresponds to the JSON property `id`
1363
+ # @return [String]
1364
+ attr_accessor :id
1365
+
1366
+ # Optional. Set this to True if this is the last log entry in the operation.
1367
+ # Corresponds to the JSON property `last`
1368
+ # @return [Boolean]
1369
+ attr_accessor :last
1370
+ alias_method :last?, :last
1371
+
1372
+ # Optional. An arbitrary producer identifier. The combination of
1373
+ # `id` and `producer` must be globally unique. Examples for `producer`:
1374
+ # `"MyDivision.MyBigCompany.com"`, `"github.com/MyProject/MyApplication"`.
1375
+ # Corresponds to the JSON property `producer`
1376
+ # @return [String]
1377
+ attr_accessor :producer
1378
+
1379
+ def initialize(**args)
1380
+ update!(**args)
1381
+ end
1382
+
1383
+ # Update properties of this object
1384
+ def update!(**args)
1385
+ @first = args[:first] if args.key?(:first)
1386
+ @id = args[:id] if args.key?(:id)
1387
+ @last = args[:last] if args.key?(:last)
1388
+ @producer = args[:producer] if args.key?(:producer)
1389
+ end
1390
+ end
1391
+
1392
+ # Additional information about the source code location that produced the log
1393
+ # entry.
1394
+ class LogEntrySourceLocation
1395
+ include Google::Apis::Core::Hashable
1396
+
1397
+ # Optional. Source file name. Depending on the runtime environment, this
1398
+ # might be a simple name or a fully-qualified name.
1399
+ # Corresponds to the JSON property `file`
1400
+ # @return [String]
1401
+ attr_accessor :file
1402
+
1403
+ # Optional. Human-readable name of the function or method being invoked, with
1404
+ # optional context such as the class or package name. This information may be
1405
+ # used in contexts such as the logs viewer, where a file and line number are
1406
+ # less meaningful. The format can vary by language. For example:
1407
+ # `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function`
1408
+ # (Python).
1409
+ # Corresponds to the JSON property `function`
1410
+ # @return [String]
1411
+ attr_accessor :function
1412
+
1413
+ # Optional. Line within the source file. 1-based; 0 indicates no line number
1414
+ # available.
1415
+ # Corresponds to the JSON property `line`
1416
+ # @return [Fixnum]
1417
+ attr_accessor :line
1418
+
1419
+ def initialize(**args)
1420
+ update!(**args)
1421
+ end
1422
+
1423
+ # Update properties of this object
1424
+ def update!(**args)
1425
+ @file = args[:file] if args.key?(:file)
1426
+ @function = args[:function] if args.key?(:function)
1427
+ @line = args[:line] if args.key?(:line)
1428
+ end
1429
+ end
1430
+
1431
+ # Represents a single metric value.
1432
+ class MetricValue
1433
+ include Google::Apis::Core::Hashable
1434
+
1435
+ # A boolean value.
1436
+ # Corresponds to the JSON property `boolValue`
1437
+ # @return [Boolean]
1438
+ attr_accessor :bool_value
1439
+ alias_method :bool_value?, :bool_value
1440
+
1441
+ # Distribution represents a frequency distribution of double-valued sample
1442
+ # points. It contains the size of the population of sample points plus
1443
+ # additional optional information:
1444
+ # - the arithmetic mean of the samples
1445
+ # - the minimum and maximum of the samples
1446
+ # - the sum-squared-deviation of the samples, used to compute variance
1447
+ # - a histogram of the values of the sample points
1448
+ # Corresponds to the JSON property `distributionValue`
1449
+ # @return [Google::Apis::FileV1::Distribution]
1450
+ attr_accessor :distribution_value
1451
+
1452
+ # A double precision floating point value.
1453
+ # Corresponds to the JSON property `doubleValue`
1454
+ # @return [Float]
1455
+ attr_accessor :double_value
1456
+
1457
+ # The end of the time period over which this metric value's measurement
1458
+ # applies.
1459
+ # Corresponds to the JSON property `endTime`
1460
+ # @return [String]
1461
+ attr_accessor :end_time
1462
+
1463
+ # A signed 64-bit integer value.
1464
+ # Corresponds to the JSON property `int64Value`
1465
+ # @return [Fixnum]
1466
+ attr_accessor :int64_value
1467
+
1468
+ # The labels describing the metric value.
1469
+ # See comments on google.api.servicecontrol.v1.Operation.labels for
1470
+ # the overriding relationship.
1471
+ # Note that this map must not contain monitored resource labels.
1472
+ # Corresponds to the JSON property `labels`
1473
+ # @return [Hash<String,String>]
1474
+ attr_accessor :labels
1475
+
1476
+ # Represents an amount of money with its currency type.
1477
+ # Corresponds to the JSON property `moneyValue`
1478
+ # @return [Google::Apis::FileV1::Money]
1479
+ attr_accessor :money_value
1480
+
1481
+ # The start of the time period over which this metric value's measurement
1482
+ # applies. The time period has different semantics for different metric
1483
+ # types (cumulative, delta, and gauge). See the metric definition
1484
+ # documentation in the service configuration for details.
1485
+ # Corresponds to the JSON property `startTime`
1486
+ # @return [String]
1487
+ attr_accessor :start_time
1488
+
1489
+ # A text string value.
1490
+ # Corresponds to the JSON property `stringValue`
1491
+ # @return [String]
1492
+ attr_accessor :string_value
1493
+
1494
+ def initialize(**args)
1495
+ update!(**args)
1496
+ end
1497
+
1498
+ # Update properties of this object
1499
+ def update!(**args)
1500
+ @bool_value = args[:bool_value] if args.key?(:bool_value)
1501
+ @distribution_value = args[:distribution_value] if args.key?(:distribution_value)
1502
+ @double_value = args[:double_value] if args.key?(:double_value)
1503
+ @end_time = args[:end_time] if args.key?(:end_time)
1504
+ @int64_value = args[:int64_value] if args.key?(:int64_value)
1505
+ @labels = args[:labels] if args.key?(:labels)
1506
+ @money_value = args[:money_value] if args.key?(:money_value)
1507
+ @start_time = args[:start_time] if args.key?(:start_time)
1508
+ @string_value = args[:string_value] if args.key?(:string_value)
1509
+ end
1510
+ end
1511
+
1512
+ # Represents a set of metric values in the same metric.
1513
+ # Each metric value in the set should have a unique combination of start time,
1514
+ # end time, and label values.
1515
+ class MetricValueSet
1516
+ include Google::Apis::Core::Hashable
1517
+
1518
+ # The metric name defined in the service configuration.
1519
+ # Corresponds to the JSON property `metricName`
1520
+ # @return [String]
1521
+ attr_accessor :metric_name
1522
+
1523
+ # The values in this metric.
1524
+ # Corresponds to the JSON property `metricValues`
1525
+ # @return [Array<Google::Apis::FileV1::MetricValue>]
1526
+ attr_accessor :metric_values
1527
+
1528
+ def initialize(**args)
1529
+ update!(**args)
1530
+ end
1531
+
1532
+ # Update properties of this object
1533
+ def update!(**args)
1534
+ @metric_name = args[:metric_name] if args.key?(:metric_name)
1535
+ @metric_values = args[:metric_values] if args.key?(:metric_values)
1536
+ end
1537
+ end
1538
+
1539
+ # Represents an amount of money with its currency type.
1540
+ class Money
1541
+ include Google::Apis::Core::Hashable
1542
+
1543
+ # The 3-letter currency code defined in ISO 4217.
1544
+ # Corresponds to the JSON property `currencyCode`
1545
+ # @return [String]
1546
+ attr_accessor :currency_code
1547
+
1548
+ # Number of nano (10^-9) units of the amount.
1549
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
1550
+ # If `units` is positive, `nanos` must be positive or zero.
1551
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
1552
+ # If `units` is negative, `nanos` must be negative or zero.
1553
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
1554
+ # Corresponds to the JSON property `nanos`
1555
+ # @return [Fixnum]
1556
+ attr_accessor :nanos
1557
+
1558
+ # The whole units of the amount.
1559
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
1560
+ # Corresponds to the JSON property `units`
1561
+ # @return [Fixnum]
1562
+ attr_accessor :units
1563
+
1564
+ def initialize(**args)
1565
+ update!(**args)
1566
+ end
1567
+
1568
+ # Update properties of this object
1569
+ def update!(**args)
1570
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
1571
+ @nanos = args[:nanos] if args.key?(:nanos)
1572
+ @units = args[:units] if args.key?(:units)
1573
+ end
1574
+ end
1575
+
659
1576
  # Network configuration for the instance.
660
1577
  class NetworkConfig
661
1578
  include Google::Apis::Core::Hashable
@@ -828,6 +1745,108 @@ module Google
828
1745
  end
829
1746
  end
830
1747
 
1748
+ # Represents the properties needed for quota operations.
1749
+ class QuotaProperties
1750
+ include Google::Apis::Core::Hashable
1751
+
1752
+ # Quota mode for this operation.
1753
+ # Corresponds to the JSON property `quotaMode`
1754
+ # @return [String]
1755
+ attr_accessor :quota_mode
1756
+
1757
+ def initialize(**args)
1758
+ update!(**args)
1759
+ end
1760
+
1761
+ # Update properties of this object
1762
+ def update!(**args)
1763
+ @quota_mode = args[:quota_mode] if args.key?(:quota_mode)
1764
+ end
1765
+ end
1766
+
1767
+ # Request message for the Report method.
1768
+ class ReportRequest
1769
+ include Google::Apis::Core::Hashable
1770
+
1771
+ # Operations to be reported.
1772
+ # Typically the service should report one operation per request.
1773
+ # Putting multiple operations into a single request is allowed, but should
1774
+ # be used only when multiple operations are natually available at the time
1775
+ # of the report.
1776
+ # There is no limit on the number of operations in the same ReportRequest,
1777
+ # however the ReportRequest size should be no larger than 1MB. See
1778
+ # ReportResponse.report_errors for partial failure behavior.
1779
+ # Corresponds to the JSON property `operations`
1780
+ # @return [Array<Google::Apis::FileV1::GoogleApiServicecontrolV1Operation>]
1781
+ attr_accessor :operations
1782
+
1783
+ # Specifies which version of service config should be used to process the
1784
+ # request.
1785
+ # If unspecified or no matching version can be found, the
1786
+ # latest one will be used.
1787
+ # Corresponds to the JSON property `serviceConfigId`
1788
+ # @return [String]
1789
+ attr_accessor :service_config_id
1790
+
1791
+ # The service name as specified in its service configuration. For example,
1792
+ # `"pubsub.googleapis.com"`.
1793
+ # See
1794
+ # [google.api.Service](https://cloud.google.com/service-management/reference/rpc/
1795
+ # google.api#google.api.Service)
1796
+ # for the definition of a service name.
1797
+ # Corresponds to the JSON property `serviceName`
1798
+ # @return [String]
1799
+ attr_accessor :service_name
1800
+
1801
+ def initialize(**args)
1802
+ update!(**args)
1803
+ end
1804
+
1805
+ # Update properties of this object
1806
+ def update!(**args)
1807
+ @operations = args[:operations] if args.key?(:operations)
1808
+ @service_config_id = args[:service_config_id] if args.key?(:service_config_id)
1809
+ @service_name = args[:service_name] if args.key?(:service_name)
1810
+ end
1811
+ end
1812
+
1813
+ # Describes a resource associated with this operation.
1814
+ class ResourceInfo
1815
+ include Google::Apis::Core::Hashable
1816
+
1817
+ # The identifier of the parent of this resource instance.
1818
+ # Must be in one of the following formats:
1819
+ # - “projects/<project-id or project-number>”
1820
+ # - “folders/<folder-id>”
1821
+ # - “organizations/<organization-id>”
1822
+ # Corresponds to the JSON property `resourceContainer`
1823
+ # @return [String]
1824
+ attr_accessor :resource_container
1825
+
1826
+ # The location of the resource. If not empty, the resource will be checked
1827
+ # against location policy. The value must be a valid zone, region or
1828
+ # multiregion. For example: "europe-west4" or "northamerica-northeast1-a"
1829
+ # Corresponds to the JSON property `resourceLocation`
1830
+ # @return [String]
1831
+ attr_accessor :resource_location
1832
+
1833
+ # Name of the resource. This is used for auditing purposes.
1834
+ # Corresponds to the JSON property `resourceName`
1835
+ # @return [String]
1836
+ attr_accessor :resource_name
1837
+
1838
+ def initialize(**args)
1839
+ update!(**args)
1840
+ end
1841
+
1842
+ # Update properties of this object
1843
+ def update!(**args)
1844
+ @resource_container = args[:resource_container] if args.key?(:resource_container)
1845
+ @resource_location = args[:resource_location] if args.key?(:resource_location)
1846
+ @resource_name = args[:resource_name] if args.key?(:resource_name)
1847
+ end
1848
+ end
1849
+
831
1850
  # The `Status` type defines a logical error model that is suitable for
832
1851
  # different programming environments, including REST APIs and RPC APIs. It is
833
1852
  # used by [gRPC](https://github.com/grpc). Each `Status` message contains
@@ -866,6 +1885,143 @@ module Google
866
1885
  @message = args[:message] if args.key?(:message)
867
1886
  end
868
1887
  end
1888
+
1889
+ # A span represents a single operation within a trace. Spans can be
1890
+ # nested to form a trace tree. Often, a trace contains a root span
1891
+ # that describes the end-to-end latency, and one or more subspans for
1892
+ # its sub-operations. A trace can also contain multiple root spans,
1893
+ # or none at all. Spans do not need to be contiguous&mdash;there may be
1894
+ # gaps or overlaps between spans in a trace.
1895
+ class TraceSpan
1896
+ include Google::Apis::Core::Hashable
1897
+
1898
+ # A set of attributes, each in the format `[KEY]:[VALUE]`.
1899
+ # Corresponds to the JSON property `attributes`
1900
+ # @return [Google::Apis::FileV1::Attributes]
1901
+ attr_accessor :attributes
1902
+
1903
+ # An optional number of child spans that were generated while this span
1904
+ # was active. If set, allows implementation to detect missing child spans.
1905
+ # Corresponds to the JSON property `childSpanCount`
1906
+ # @return [Fixnum]
1907
+ attr_accessor :child_span_count
1908
+
1909
+ # Represents a string that might be shortened to a specified length.
1910
+ # Corresponds to the JSON property `displayName`
1911
+ # @return [Google::Apis::FileV1::TruncatableString]
1912
+ attr_accessor :display_name
1913
+
1914
+ # The end time of the span. On the client side, this is the time kept by
1915
+ # the local machine where the span execution ends. On the server side, this
1916
+ # is the time when the server application handler stops running.
1917
+ # Corresponds to the JSON property `endTime`
1918
+ # @return [String]
1919
+ attr_accessor :end_time
1920
+
1921
+ # The resource name of the span in the following format:
1922
+ # projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique
1923
+ # identifier for a trace within a project;
1924
+ # it is a 32-character hexadecimal encoding of a 16-byte array.
1925
+ # [SPAN_ID] is a unique identifier for a span within a trace; it
1926
+ # is a 16-character hexadecimal encoding of an 8-byte array.
1927
+ # Corresponds to the JSON property `name`
1928
+ # @return [String]
1929
+ attr_accessor :name
1930
+
1931
+ # The [SPAN_ID] of this span's parent span. If this is a root span,
1932
+ # then this field must be empty.
1933
+ # Corresponds to the JSON property `parentSpanId`
1934
+ # @return [String]
1935
+ attr_accessor :parent_span_id
1936
+
1937
+ # (Optional) Set this parameter to indicate whether this span is in
1938
+ # the same process as its parent. If you do not set this parameter,
1939
+ # Stackdriver Trace is unable to take advantage of this helpful
1940
+ # information.
1941
+ # Corresponds to the JSON property `sameProcessAsParentSpan`
1942
+ # @return [Boolean]
1943
+ attr_accessor :same_process_as_parent_span
1944
+ alias_method :same_process_as_parent_span?, :same_process_as_parent_span
1945
+
1946
+ # The [SPAN_ID] portion of the span's resource name.
1947
+ # Corresponds to the JSON property `spanId`
1948
+ # @return [String]
1949
+ attr_accessor :span_id
1950
+
1951
+ # Distinguishes between spans generated in a particular context. For example,
1952
+ # two spans with the same name may be distinguished using `CLIENT` (caller)
1953
+ # and `SERVER` (callee) to identify an RPC call.
1954
+ # Corresponds to the JSON property `spanKind`
1955
+ # @return [String]
1956
+ attr_accessor :span_kind
1957
+
1958
+ # The start time of the span. On the client side, this is the time kept by
1959
+ # the local machine where the span execution starts. On the server side, this
1960
+ # is the time when the server's application handler starts running.
1961
+ # Corresponds to the JSON property `startTime`
1962
+ # @return [String]
1963
+ attr_accessor :start_time
1964
+
1965
+ # The `Status` type defines a logical error model that is suitable for
1966
+ # different programming environments, including REST APIs and RPC APIs. It is
1967
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1968
+ # three pieces of data: error code, error message, and error details.
1969
+ # You can find out more about this error model and how to work with it in the
1970
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
1971
+ # Corresponds to the JSON property `status`
1972
+ # @return [Google::Apis::FileV1::Status]
1973
+ attr_accessor :status
1974
+
1975
+ def initialize(**args)
1976
+ update!(**args)
1977
+ end
1978
+
1979
+ # Update properties of this object
1980
+ def update!(**args)
1981
+ @attributes = args[:attributes] if args.key?(:attributes)
1982
+ @child_span_count = args[:child_span_count] if args.key?(:child_span_count)
1983
+ @display_name = args[:display_name] if args.key?(:display_name)
1984
+ @end_time = args[:end_time] if args.key?(:end_time)
1985
+ @name = args[:name] if args.key?(:name)
1986
+ @parent_span_id = args[:parent_span_id] if args.key?(:parent_span_id)
1987
+ @same_process_as_parent_span = args[:same_process_as_parent_span] if args.key?(:same_process_as_parent_span)
1988
+ @span_id = args[:span_id] if args.key?(:span_id)
1989
+ @span_kind = args[:span_kind] if args.key?(:span_kind)
1990
+ @start_time = args[:start_time] if args.key?(:start_time)
1991
+ @status = args[:status] if args.key?(:status)
1992
+ end
1993
+ end
1994
+
1995
+ # Represents a string that might be shortened to a specified length.
1996
+ class TruncatableString
1997
+ include Google::Apis::Core::Hashable
1998
+
1999
+ # The number of bytes removed from the original string. If this
2000
+ # value is 0, then the string was not shortened.
2001
+ # Corresponds to the JSON property `truncatedByteCount`
2002
+ # @return [Fixnum]
2003
+ attr_accessor :truncated_byte_count
2004
+
2005
+ # The shortened string. For example, if the original string is 500
2006
+ # bytes long and the limit of the string is 128 bytes, then
2007
+ # `value` contains the first 128 bytes of the 500-byte string.
2008
+ # Truncation always happens on a UTF8 character boundary. If there
2009
+ # are multi-byte characters in the string, then the length of the
2010
+ # shortened string might be less than the size limit.
2011
+ # Corresponds to the JSON property `value`
2012
+ # @return [String]
2013
+ attr_accessor :value
2014
+
2015
+ def initialize(**args)
2016
+ update!(**args)
2017
+ end
2018
+
2019
+ # Update properties of this object
2020
+ def update!(**args)
2021
+ @truncated_byte_count = args[:truncated_byte_count] if args.key?(:truncated_byte_count)
2022
+ @value = args[:value] if args.key?(:value)
2023
+ end
2024
+ end
869
2025
  end
870
2026
  end
871
2027
  end