google-api-client 0.35.0 → 0.36.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  4. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +5 -1
  5. data/generated/google/apis/cloudasset_v1.rb +1 -1
  6. data/generated/google/apis/cloudasset_v1/classes.rb +75 -41
  7. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  8. data/generated/google/apis/cloudasset_v1beta1/classes.rb +75 -41
  9. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +1 -1
  10. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +75 -41
  11. data/generated/google/apis/container_v1.rb +1 -1
  12. data/generated/google/apis/container_v1/classes.rb +203 -78
  13. data/generated/google/apis/container_v1/representations.rb +49 -0
  14. data/generated/google/apis/container_v1/service.rb +119 -119
  15. data/generated/google/apis/container_v1beta1.rb +1 -1
  16. data/generated/google/apis/container_v1beta1/classes.rb +32 -0
  17. data/generated/google/apis/container_v1beta1/representations.rb +16 -0
  18. data/generated/google/apis/dataproc_v1.rb +1 -1
  19. data/generated/google/apis/dataproc_v1/classes.rb +44 -7
  20. data/generated/google/apis/dataproc_v1/representations.rb +17 -0
  21. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  22. data/generated/google/apis/dataproc_v1beta2/classes.rb +7 -7
  23. data/generated/google/apis/dataproc_v1beta2/service.rb +12 -12
  24. data/generated/google/apis/dlp_v2.rb +1 -1
  25. data/generated/google/apis/dlp_v2/classes.rb +4 -4
  26. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  27. data/generated/google/apis/firebase_v1beta1/classes.rb +15 -0
  28. data/generated/google/apis/firebase_v1beta1/representations.rb +2 -0
  29. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  30. data/generated/google/apis/healthcare_v1beta1/service.rb +20 -23
  31. data/generated/google/apis/ml_v1.rb +1 -1
  32. data/generated/google/apis/ml_v1/classes.rb +75 -41
  33. data/generated/google/apis/monitoring_v1.rb +13 -1
  34. data/generated/google/apis/monitoring_v1/classes.rb +893 -0
  35. data/generated/google/apis/monitoring_v1/representations.rb +405 -0
  36. data/generated/google/apis/monitoring_v1/service.rb +182 -0
  37. data/generated/google/apis/monitoring_v3.rb +1 -1
  38. data/generated/google/apis/monitoring_v3/classes.rb +29 -41
  39. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  40. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +168 -92
  41. data/generated/google/apis/policytroubleshooter_v1beta/service.rb +2 -3
  42. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  43. data/generated/google/apis/remotebuildexecution_v1/classes.rb +56 -0
  44. data/generated/google/apis/remotebuildexecution_v1/representations.rb +31 -0
  45. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  46. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +56 -0
  47. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +31 -0
  48. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  49. data/generated/google/apis/remotebuildexecution_v2/classes.rb +56 -0
  50. data/generated/google/apis/remotebuildexecution_v2/representations.rb +31 -0
  51. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  52. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +75 -41
  53. data/generated/google/apis/securitycenter_v1.rb +1 -1
  54. data/generated/google/apis/securitycenter_v1/classes.rb +75 -41
  55. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  56. data/generated/google/apis/securitycenter_v1beta1/classes.rb +75 -41
  57. data/generated/google/apis/servicebroker_v1.rb +1 -1
  58. data/generated/google/apis/servicebroker_v1/classes.rb +75 -41
  59. data/generated/google/apis/servicebroker_v1alpha1.rb +1 -1
  60. data/generated/google/apis/servicebroker_v1alpha1/classes.rb +75 -41
  61. data/generated/google/apis/servicebroker_v1beta1.rb +1 -1
  62. data/generated/google/apis/servicebroker_v1beta1/classes.rb +75 -41
  63. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  64. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +29 -41
  65. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  66. data/generated/google/apis/servicemanagement_v1/classes.rb +104 -82
  67. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  68. data/generated/google/apis/servicenetworking_v1/classes.rb +51 -41
  69. data/generated/google/apis/servicenetworking_v1/representations.rb +13 -0
  70. data/generated/google/apis/servicenetworking_v1/service.rb +35 -0
  71. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  72. data/generated/google/apis/servicenetworking_v1beta/classes.rb +29 -41
  73. data/generated/google/apis/serviceusage_v1.rb +1 -1
  74. data/generated/google/apis/serviceusage_v1/classes.rb +29 -41
  75. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  76. data/generated/google/apis/serviceusage_v1beta1/classes.rb +29 -41
  77. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  78. data/generated/google/apis/streetviewpublish_v1/classes.rb +1 -1
  79. data/lib/google/apis/version.rb +1 -1
  80. metadata +3 -7
  81. data/generated/google/apis/cloudbuild_v1alpha1.rb +0 -34
  82. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +0 -1174
  83. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +0 -435
  84. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +0 -226
@@ -420,7 +420,9 @@ module Google
420
420
  class Location
421
421
  # @private
422
422
  class Representation < Google::Apis::Core::JsonRepresentation
423
+ collection :features, as: 'features'
423
424
  property :location_id, as: 'locationId'
425
+ property :type, as: 'type'
424
426
  end
425
427
  end
426
428
 
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/healthcare
26
26
  module HealthcareV1beta1
27
27
  VERSION = 'V1beta1'
28
- REVISION = '20191114'
28
+ REVISION = '20191121'
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'
@@ -2198,16 +2198,16 @@ module Google
2198
2198
  # Name of the `Patient` resource for which the information is required.
2199
2199
  # @param [Fixnum] _count
2200
2200
  # Maximum number of resources in a page. Defaults to 100.
2201
- # @param [String] end_
2202
- # The response includes records prior to the end date. If no end date is
2203
- # provided, all records subsequent to the start date are in scope.
2204
- # @param [String] page_token
2201
+ # @param [String] _page_token
2205
2202
  # Used to retrieve the next or previous page of results
2206
2203
  # when using pagination. Value should be set to the value of page_token set
2207
2204
  # in next or previous page links' urls. Next and previous page are returned
2208
2205
  # in the response bundle's links field, where `link.relation` is "previous"
2209
2206
  # or "next".
2210
2207
  # Omit `page_token` if no previous request has been made.
2208
+ # @param [String] end_
2209
+ # The response includes records prior to the end date. If no end date is
2210
+ # provided, all records subsequent to the start date are in scope.
2211
2211
  # @param [String] start
2212
2212
  # The response includes records subsequent to the start date. If no start
2213
2213
  # date is provided, all records prior to the end date are in scope.
@@ -2228,14 +2228,14 @@ module Google
2228
2228
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2229
2229
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2230
2230
  # @raise [Google::Apis::AuthorizationError] Authorization is required
2231
- def patient_project_location_dataset_fhir_store_fhir_everything(name, _count: nil, end_: nil, page_token: nil, start: nil, fields: nil, quota_user: nil, options: nil, &block)
2231
+ def patient_project_location_dataset_fhir_store_fhir_everything(name, _count: nil, _page_token: nil, end_: nil, start: nil, fields: nil, quota_user: nil, options: nil, &block)
2232
2232
  command = make_simple_command(:get, 'v1beta1/{+name}/$everything', options)
2233
2233
  command.response_representation = Google::Apis::HealthcareV1beta1::HttpBody::Representation
2234
2234
  command.response_class = Google::Apis::HealthcareV1beta1::HttpBody
2235
2235
  command.params['name'] = name unless name.nil?
2236
2236
  command.query['_count'] = _count unless _count.nil?
2237
+ command.query['_page_token'] = _page_token unless _page_token.nil?
2237
2238
  command.query['end'] = end_ unless end_.nil?
2238
- command.query['pageToken'] = page_token unless page_token.nil?
2239
2239
  command.query['start'] = start unless start.nil?
2240
2240
  command.query['fields'] = fields unless fields.nil?
2241
2241
  command.query['quotaUser'] = quota_user unless quota_user.nil?
@@ -2636,14 +2636,7 @@ module Google
2636
2636
  # GCP error might be returned instead.
2637
2637
  # @param [String] name
2638
2638
  # The name of the resource to retrieve.
2639
- # @param [String] _page_token
2640
- # Used to retrieve the first, previous, next, or last page of resource
2641
- # versions when using pagination. Value should be set to the value of
2642
- # `_page_token` set in next or previous page links' URLs. Next and previous
2643
- # page are returned in the response bundle's links field, where
2644
- # `link.relation` is "previous" or "next".
2645
- # Omit `_page_token` if no previous request has been made.
2646
- # @param [String] at
2639
+ # @param [String] _at
2647
2640
  # Only include resource versions that were current at some point during the
2648
2641
  # time period specified in the date time value. The date parameter format is
2649
2642
  # yyyy-mm-ddThh:mm:ss[Z|(+|-)hh:mm]
@@ -2652,11 +2645,16 @@ module Google
2652
2645
  # * An entire month: `_at=2019-01`
2653
2646
  # * A specific day: `_at=2019-01-20`
2654
2647
  # * A specific second: `_at=2018-12-31T23:59:58Z`
2655
- # @param [Fixnum] count
2648
+ # @param [Fixnum] _count
2656
2649
  # The maximum number of search results on a page. Defaults to 1000.
2657
- # @param [String] page
2658
- # DEPRECATED! Use `_page_token`.
2659
- # @param [String] since
2650
+ # @param [String] _page_token
2651
+ # Used to retrieve the first, previous, next, or last page of resource
2652
+ # versions when using pagination. Value should be set to the value of
2653
+ # `_page_token` set in next or previous page links' URLs. Next and previous
2654
+ # page are returned in the response bundle's links field, where
2655
+ # `link.relation` is "previous" or "next".
2656
+ # Omit `_page_token` if no previous request has been made.
2657
+ # @param [String] _since
2660
2658
  # Only include resource versions that were created at or after the given
2661
2659
  # instant in time. The instant in time uses the format
2662
2660
  # YYYY-MM-DDThh:mm:ss.sss+zz:zz (for example 2015-02-07T13:28:17.239+02:00 or
@@ -2679,16 +2677,15 @@ module Google
2679
2677
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2680
2678
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2681
2679
  # @raise [Google::Apis::AuthorizationError] Authorization is required
2682
- def history_project_location_dataset_fhir_store_fhir(name, _page_token: nil, at: nil, count: nil, page: nil, since: nil, fields: nil, quota_user: nil, options: nil, &block)
2680
+ def history_project_location_dataset_fhir_store_fhir(name, _at: nil, _count: nil, _page_token: nil, _since: nil, fields: nil, quota_user: nil, options: nil, &block)
2683
2681
  command = make_simple_command(:get, 'v1beta1/{+name}/_history', options)
2684
2682
  command.response_representation = Google::Apis::HealthcareV1beta1::HttpBody::Representation
2685
2683
  command.response_class = Google::Apis::HealthcareV1beta1::HttpBody
2686
2684
  command.params['name'] = name unless name.nil?
2685
+ command.query['_at'] = _at unless _at.nil?
2686
+ command.query['_count'] = _count unless _count.nil?
2687
2687
  command.query['_page_token'] = _page_token unless _page_token.nil?
2688
- command.query['at'] = at unless at.nil?
2689
- command.query['count'] = count unless count.nil?
2690
- command.query['page'] = page unless page.nil?
2691
- command.query['since'] = since unless since.nil?
2688
+ command.query['_since'] = _since unless _since.nil?
2692
2689
  command.query['fields'] = fields unless fields.nil?
2693
2690
  command.query['quotaUser'] = quota_user unless quota_user.nil?
2694
2691
  execute_or_queue_command(command, &block)
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/ml/
26
26
  module MlV1
27
27
  VERSION = 'V1'
28
- REVISION = '20191112'
28
+ REVISION = '20191122'
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'
@@ -2135,6 +2135,23 @@ module Google
2135
2135
  # account. For example, `my-other-app@appspot.gserviceaccount.com`.
2136
2136
  # * `group:`emailid``: An email address that represents a Google group.
2137
2137
  # For example, `admins@example.com`.
2138
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
2139
+ # identifier) representing a user that has been recently deleted. For
2140
+ # example,`alice@example.com?uid=123456789012345678901`. If the user is
2141
+ # recovered, this value reverts to `user:`emailid`` and the recovered user
2142
+ # retains the role in the binding.
2143
+ # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus
2144
+ # unique identifier) representing a service account that has been recently
2145
+ # deleted. For example,
2146
+ # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
2147
+ # If the service account is undeleted, this value reverts to
2148
+ # `serviceAccount:`emailid`` and the undeleted service account retains the
2149
+ # role in the binding.
2150
+ # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
2151
+ # identifier) representing a Google group that has been recently
2152
+ # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
2153
+ # the group is recovered, this value reverts to `group:`emailid`` and the
2154
+ # recovered group retains the role in the binding.
2138
2155
  # * `domain:`domain``: The G Suite domain (primary) that represents all the
2139
2156
  # users of that domain. For example, `google.com` or `example.com`.
2140
2157
  # Corresponds to the JSON property `members`
@@ -2159,16 +2176,18 @@ module Google
2159
2176
  end
2160
2177
  end
2161
2178
 
2162
- # Defines an Identity and Access Management (IAM) policy. It is used to
2163
- # specify access control policies for Cloud Platform resources.
2179
+ # An Identity and Access Management (IAM) policy, which specifies access
2180
+ # controls for Google Cloud resources.
2164
2181
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more
2165
2182
  # `members` to a single `role`. Members can be user accounts, service accounts,
2166
2183
  # Google groups, and domains (such as G Suite). A `role` is a named list of
2167
- # permissions (defined by IAM or configured by users). A `binding` can
2168
- # optionally specify a `condition`, which is a logic expression that further
2169
- # constrains the role binding based on attributes about the request and/or
2170
- # target resource.
2171
- # **JSON Example**
2184
+ # permissions; each `role` can be an IAM predefined role or a user-created
2185
+ # custom role.
2186
+ # Optionally, a `binding` can specify a `condition`, which is a logical
2187
+ # expression that allows access to a resource only if the expression evaluates
2188
+ # to `true`. A condition can add constraints based on attributes of the
2189
+ # request, the resource, or both.
2190
+ # **JSON example:**
2172
2191
  # `
2173
2192
  # "bindings": [
2174
2193
  # `
@@ -2186,13 +2205,15 @@ module Google
2186
2205
  # "condition": `
2187
2206
  # "title": "expirable access",
2188
2207
  # "description": "Does not grant access after Sep 2020",
2189
- # "expression": "request.time <
2190
- # timestamp('2020-10-01T00:00:00.000Z')",
2208
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
2209
+ # ",
2191
2210
  # `
2192
2211
  # `
2193
- # ]
2212
+ # ],
2213
+ # "etag": "BwWWja0YfJA=",
2214
+ # "version": 3
2194
2215
  # `
2195
- # **YAML Example**
2216
+ # **YAML example:**
2196
2217
  # bindings:
2197
2218
  # - members:
2198
2219
  # - user:mike@example.com
@@ -2207,8 +2228,10 @@ module Google
2207
2228
  # title: expirable access
2208
2229
  # description: Does not grant access after Sep 2020
2209
2230
  # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
2231
+ # - etag: BwWWja0YfJA=
2232
+ # - version: 3
2210
2233
  # For a description of IAM and its features, see the
2211
- # [IAM developer's guide](https://cloud.google.com/iam/docs).
2234
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
2212
2235
  class GoogleIamV1Policy
2213
2236
  include Google::Apis::Core::Hashable
2214
2237
 
@@ -2217,9 +2240,9 @@ module Google
2217
2240
  # @return [Array<Google::Apis::MlV1::GoogleIamV1AuditConfig>]
2218
2241
  attr_accessor :audit_configs
2219
2242
 
2220
- # Associates a list of `members` to a `role`. Optionally may specify a
2221
- # `condition` that determines when binding is in effect.
2222
- # `bindings` with no members will result in an error.
2243
+ # Associates a list of `members` to a `role`. Optionally, may specify a
2244
+ # `condition` that determines how and when the `bindings` are applied. Each
2245
+ # of the `bindings` must contain at least one member.
2223
2246
  # Corresponds to the JSON property `bindings`
2224
2247
  # @return [Array<Google::Apis::MlV1::GoogleIamV1Binding>]
2225
2248
  attr_accessor :bindings
@@ -2231,26 +2254,31 @@ module Google
2231
2254
  # conditions: An `etag` is returned in the response to `getIamPolicy`, and
2232
2255
  # systems are expected to put that etag in the request to `setIamPolicy` to
2233
2256
  # ensure that their change will be applied to the same version of the policy.
2234
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
2235
- # policy is overwritten. Due to blind-set semantics of an etag-less policy,
2236
- # 'setIamPolicy' will not fail even if the incoming policy version does not
2237
- # meet the requirements for modifying the stored policy.
2257
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
2258
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
2259
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
2260
+ # the conditions in the version `3` policy are lost.
2238
2261
  # Corresponds to the JSON property `etag`
2239
2262
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
2240
2263
  # @return [String]
2241
2264
  attr_accessor :etag
2242
2265
 
2243
2266
  # Specifies the format of the policy.
2244
- # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
2245
- # rejected.
2246
- # Operations affecting conditional bindings must specify version 3. This can
2247
- # be either setting a conditional policy, modifying a conditional binding,
2248
- # or removing a binding (conditional or unconditional) from the stored
2249
- # conditional policy.
2250
- # Operations on non-conditional policies may specify any valid value or
2251
- # leave the field unset.
2252
- # If no etag is provided in the call to `setIamPolicy`, version compliance
2253
- # checks against the stored policy is skipped.
2267
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
2268
+ # are rejected.
2269
+ # Any operation that affects conditional role bindings must specify version
2270
+ # `3`. This requirement applies to the following operations:
2271
+ # * Getting a policy that includes a conditional role binding
2272
+ # * Adding a conditional role binding to a policy
2273
+ # * Changing a conditional role binding in a policy
2274
+ # * Removing any role binding, with or without a condition, from a policy
2275
+ # that includes conditions
2276
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
2277
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
2278
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
2279
+ # the conditions in the version `3` policy are lost.
2280
+ # If a policy does not include any conditions, operations on that policy may
2281
+ # specify any valid version or leave the field unset.
2254
2282
  # Corresponds to the JSON property `version`
2255
2283
  # @return [Fixnum]
2256
2284
  attr_accessor :version
@@ -2272,16 +2300,18 @@ module Google
2272
2300
  class GoogleIamV1SetIamPolicyRequest
2273
2301
  include Google::Apis::Core::Hashable
2274
2302
 
2275
- # Defines an Identity and Access Management (IAM) policy. It is used to
2276
- # specify access control policies for Cloud Platform resources.
2303
+ # An Identity and Access Management (IAM) policy, which specifies access
2304
+ # controls for Google Cloud resources.
2277
2305
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more
2278
2306
  # `members` to a single `role`. Members can be user accounts, service accounts,
2279
2307
  # Google groups, and domains (such as G Suite). A `role` is a named list of
2280
- # permissions (defined by IAM or configured by users). A `binding` can
2281
- # optionally specify a `condition`, which is a logic expression that further
2282
- # constrains the role binding based on attributes about the request and/or
2283
- # target resource.
2284
- # **JSON Example**
2308
+ # permissions; each `role` can be an IAM predefined role or a user-created
2309
+ # custom role.
2310
+ # Optionally, a `binding` can specify a `condition`, which is a logical
2311
+ # expression that allows access to a resource only if the expression evaluates
2312
+ # to `true`. A condition can add constraints based on attributes of the
2313
+ # request, the resource, or both.
2314
+ # **JSON example:**
2285
2315
  # `
2286
2316
  # "bindings": [
2287
2317
  # `
@@ -2299,13 +2329,15 @@ module Google
2299
2329
  # "condition": `
2300
2330
  # "title": "expirable access",
2301
2331
  # "description": "Does not grant access after Sep 2020",
2302
- # "expression": "request.time <
2303
- # timestamp('2020-10-01T00:00:00.000Z')",
2332
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
2333
+ # ",
2304
2334
  # `
2305
2335
  # `
2306
- # ]
2336
+ # ],
2337
+ # "etag": "BwWWja0YfJA=",
2338
+ # "version": 3
2307
2339
  # `
2308
- # **YAML Example**
2340
+ # **YAML example:**
2309
2341
  # bindings:
2310
2342
  # - members:
2311
2343
  # - user:mike@example.com
@@ -2320,8 +2352,10 @@ module Google
2320
2352
  # title: expirable access
2321
2353
  # description: Does not grant access after Sep 2020
2322
2354
  # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
2355
+ # - etag: BwWWja0YfJA=
2356
+ # - version: 3
2323
2357
  # For a description of IAM and its features, see the
2324
- # [IAM developer's guide](https://cloud.google.com/iam/docs).
2358
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
2325
2359
  # Corresponds to the JSON property `policy`
2326
2360
  # @return [Google::Apis::MlV1::GoogleIamV1Policy]
2327
2361
  attr_accessor :policy
@@ -30,7 +30,19 @@ module Google
30
30
  # @see https://cloud.google.com/monitoring/api/
31
31
  module MonitoringV1
32
32
  VERSION = 'V1'
33
- REVISION = '20191005'
33
+ REVISION = '20191202'
34
+
35
+ # View and manage your data across Google Cloud Platform services
36
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
37
+
38
+ # View and write monitoring data for all of your Google and third-party Cloud and API projects
39
+ AUTH_MONITORING = 'https://www.googleapis.com/auth/monitoring'
40
+
41
+ # View monitoring data for all of your Google Cloud and third-party projects
42
+ AUTH_MONITORING_READ = 'https://www.googleapis.com/auth/monitoring.read'
43
+
44
+ # Publish metric data to your Google Cloud projects
45
+ AUTH_MONITORING_WRITE = 'https://www.googleapis.com/auth/monitoring.write'
34
46
  end
35
47
  end
36
48
  end
@@ -22,6 +22,266 @@ module Google
22
22
  module Apis
23
23
  module MonitoringV1
24
24
 
25
+ # Describes how to combine multiple time series to provide different views of
26
+ # the data. Aggregation consists of an alignment step on individual time series (
27
+ # alignment_period and per_series_aligner) followed by an optional reduction
28
+ # step of the data across the aligned time series (cross_series_reducer and
29
+ # group_by_fields). For more details, see Aggregation.
30
+ class Aggregation
31
+ include Google::Apis::Core::Hashable
32
+
33
+ # The alignment period for per-time series alignment. If present,
34
+ # alignmentPeriod must be at least 60 seconds. After per-time series alignment,
35
+ # each time series will contain data points only on the period boundaries. If
36
+ # perSeriesAligner is not specified or equals ALIGN_NONE, then this field is
37
+ # ignored. If perSeriesAligner is specified and does not equal ALIGN_NONE, then
38
+ # this field must be defined; otherwise an error is returned.
39
+ # Corresponds to the JSON property `alignmentPeriod`
40
+ # @return [String]
41
+ attr_accessor :alignment_period
42
+
43
+ # The approach to be used to combine time series. Not all reducer functions may
44
+ # be applied to all time series, depending on the metric type and the value type
45
+ # of the original time series. Reduction may change the metric type of value
46
+ # type of the time series.Time series data must be aligned in order to perform
47
+ # cross-time series reduction. If crossSeriesReducer is specified, then
48
+ # perSeriesAligner must be specified and not equal ALIGN_NONE and
49
+ # alignmentPeriod must be specified; otherwise, an error is returned.
50
+ # Corresponds to the JSON property `crossSeriesReducer`
51
+ # @return [String]
52
+ attr_accessor :cross_series_reducer
53
+
54
+ # The set of fields to preserve when crossSeriesReducer is specified. The
55
+ # groupByFields determine how the time series are partitioned into subsets prior
56
+ # to applying the aggregation function. Each subset contains time series that
57
+ # have the same value for each of the grouping fields. Each individual time
58
+ # series is a member of exactly one subset. The crossSeriesReducer is applied to
59
+ # each subset of time series. It is not possible to reduce across different
60
+ # resource types, so this field implicitly contains resource.type. Fields not
61
+ # specified in groupByFields are aggregated away. If groupByFields is not
62
+ # specified and all the time series have the same resource type, then the time
63
+ # series are aggregated into a single output time series. If crossSeriesReducer
64
+ # is not defined, this field is ignored.
65
+ # Corresponds to the JSON property `groupByFields`
66
+ # @return [Array<String>]
67
+ attr_accessor :group_by_fields
68
+
69
+ # The approach to be used to align individual time series. Not all alignment
70
+ # functions may be applied to all time series, depending on the metric type and
71
+ # value type of the original time series. Alignment may change the metric type
72
+ # or the value type of the time series.Time series data must be aligned in order
73
+ # to perform cross-time series reduction. If crossSeriesReducer is specified,
74
+ # then perSeriesAligner must be specified and not equal ALIGN_NONE and
75
+ # alignmentPeriod must be specified; otherwise, an error is returned.
76
+ # Corresponds to the JSON property `perSeriesAligner`
77
+ # @return [String]
78
+ attr_accessor :per_series_aligner
79
+
80
+ def initialize(**args)
81
+ update!(**args)
82
+ end
83
+
84
+ # Update properties of this object
85
+ def update!(**args)
86
+ @alignment_period = args[:alignment_period] if args.key?(:alignment_period)
87
+ @cross_series_reducer = args[:cross_series_reducer] if args.key?(:cross_series_reducer)
88
+ @group_by_fields = args[:group_by_fields] if args.key?(:group_by_fields)
89
+ @per_series_aligner = args[:per_series_aligner] if args.key?(:per_series_aligner)
90
+ end
91
+ end
92
+
93
+ # A chart axis.
94
+ class Axis
95
+ include Google::Apis::Core::Hashable
96
+
97
+ # The label of the axis.
98
+ # Corresponds to the JSON property `label`
99
+ # @return [String]
100
+ attr_accessor :label
101
+
102
+ # The axis scale. By default, a linear scale is used.
103
+ # Corresponds to the JSON property `scale`
104
+ # @return [String]
105
+ attr_accessor :scale
106
+
107
+ def initialize(**args)
108
+ update!(**args)
109
+ end
110
+
111
+ # Update properties of this object
112
+ def update!(**args)
113
+ @label = args[:label] if args.key?(:label)
114
+ @scale = args[:scale] if args.key?(:scale)
115
+ end
116
+ end
117
+
118
+ # Options to control visual rendering of a chart.
119
+ class ChartOptions
120
+ include Google::Apis::Core::Hashable
121
+
122
+ # The chart mode.
123
+ # Corresponds to the JSON property `mode`
124
+ # @return [String]
125
+ attr_accessor :mode
126
+
127
+ def initialize(**args)
128
+ update!(**args)
129
+ end
130
+
131
+ # Update properties of this object
132
+ def update!(**args)
133
+ @mode = args[:mode] if args.key?(:mode)
134
+ end
135
+ end
136
+
137
+ # Defines the layout properties and content for a column.
138
+ class Column
139
+ include Google::Apis::Core::Hashable
140
+
141
+ # The relative weight of this column. The column weight is used to adjust the
142
+ # height of rows on the screen (relative to peers). If omitted, a value of 1 is
143
+ # used.
144
+ # Corresponds to the JSON property `weight`
145
+ # @return [Fixnum]
146
+ attr_accessor :weight
147
+
148
+ # The display widgets arranged vertically in this column.
149
+ # Corresponds to the JSON property `widgets`
150
+ # @return [Array<Google::Apis::MonitoringV1::Widget>]
151
+ attr_accessor :widgets
152
+
153
+ def initialize(**args)
154
+ update!(**args)
155
+ end
156
+
157
+ # Update properties of this object
158
+ def update!(**args)
159
+ @weight = args[:weight] if args.key?(:weight)
160
+ @widgets = args[:widgets] if args.key?(:widgets)
161
+ end
162
+ end
163
+
164
+ # A simplified layout that divides the available space into vertical columns and
165
+ # arranges a set of widgets vertically in each column.
166
+ class ColumnLayout
167
+ include Google::Apis::Core::Hashable
168
+
169
+ # The columns of content to display.
170
+ # Corresponds to the JSON property `columns`
171
+ # @return [Array<Google::Apis::MonitoringV1::Column>]
172
+ attr_accessor :columns
173
+
174
+ def initialize(**args)
175
+ update!(**args)
176
+ end
177
+
178
+ # Update properties of this object
179
+ def update!(**args)
180
+ @columns = args[:columns] if args.key?(:columns)
181
+ end
182
+ end
183
+
184
+ # A Google Stackdriver dashboard. Dashboards define the content and layout of
185
+ # pages in the Stackdriver web application.
186
+ class Dashboard
187
+ include Google::Apis::Core::Hashable
188
+
189
+ # A simplified layout that divides the available space into vertical columns and
190
+ # arranges a set of widgets vertically in each column.
191
+ # Corresponds to the JSON property `columnLayout`
192
+ # @return [Google::Apis::MonitoringV1::ColumnLayout]
193
+ attr_accessor :column_layout
194
+
195
+ # The mutable, human-readable name.
196
+ # Corresponds to the JSON property `displayName`
197
+ # @return [String]
198
+ attr_accessor :display_name
199
+
200
+ # etag is used for optimistic concurrency control as a way to help prevent
201
+ # simultaneous updates of a policy from overwriting each other. An etag is
202
+ # returned in the response to GetDashboard, and users are expected to put that
203
+ # etag in the request to UpdateDashboard to ensure that their change will be
204
+ # applied to the same version of the Dashboard configuration. The field should
205
+ # not be passed during dashboard creation.
206
+ # Corresponds to the JSON property `etag`
207
+ # @return [String]
208
+ attr_accessor :etag
209
+
210
+ # A basic layout divides the available space into vertical columns of equal
211
+ # width and arranges a list of widgets using a row-first strategy.
212
+ # Corresponds to the JSON property `gridLayout`
213
+ # @return [Google::Apis::MonitoringV1::GridLayout]
214
+ attr_accessor :grid_layout
215
+
216
+ # The resource name of the dashboard.
217
+ # Corresponds to the JSON property `name`
218
+ # @return [String]
219
+ attr_accessor :name
220
+
221
+ # A simplified layout that divides the available space into rows and arranges a
222
+ # set of widgets horizontally in each row.
223
+ # Corresponds to the JSON property `rowLayout`
224
+ # @return [Google::Apis::MonitoringV1::RowLayout]
225
+ attr_accessor :row_layout
226
+
227
+ def initialize(**args)
228
+ update!(**args)
229
+ end
230
+
231
+ # Update properties of this object
232
+ def update!(**args)
233
+ @column_layout = args[:column_layout] if args.key?(:column_layout)
234
+ @display_name = args[:display_name] if args.key?(:display_name)
235
+ @etag = args[:etag] if args.key?(:etag)
236
+ @grid_layout = args[:grid_layout] if args.key?(:grid_layout)
237
+ @name = args[:name] if args.key?(:name)
238
+ @row_layout = args[:row_layout] if args.key?(:row_layout)
239
+ end
240
+ end
241
+
242
+ # Groups a time series query definition with charting options.
243
+ class DataSet
244
+ include Google::Apis::Core::Hashable
245
+
246
+ # A template string for naming TimeSeries in the resulting data set. This should
247
+ # be a string with interpolations of the form $`label_name`, which will resolve
248
+ # to the label's value.
249
+ # Corresponds to the JSON property `legendTemplate`
250
+ # @return [String]
251
+ attr_accessor :legend_template
252
+
253
+ # Optional. The lower bound on data point frequency for this data set
254
+ # implemented by specifying the minimum alignment period to use in a time series
255
+ # query. For example, if the data is published once every 10 minutes it would
256
+ # not make sense to fetch and align data at one minute intervals.
257
+ # Corresponds to the JSON property `minAlignmentPeriod`
258
+ # @return [String]
259
+ attr_accessor :min_alignment_period
260
+
261
+ # How this data should be plotted on the chart.
262
+ # Corresponds to the JSON property `plotType`
263
+ # @return [String]
264
+ attr_accessor :plot_type
265
+
266
+ # TimeSeriesQuery collects the set of supported methods for querying time series
267
+ # data from the Stackdriver metrics API.
268
+ # Corresponds to the JSON property `timeSeriesQuery`
269
+ # @return [Google::Apis::MonitoringV1::TimeSeriesQuery]
270
+ attr_accessor :time_series_query
271
+
272
+ def initialize(**args)
273
+ update!(**args)
274
+ end
275
+
276
+ # Update properties of this object
277
+ def update!(**args)
278
+ @legend_template = args[:legend_template] if args.key?(:legend_template)
279
+ @min_alignment_period = args[:min_alignment_period] if args.key?(:min_alignment_period)
280
+ @plot_type = args[:plot_type] if args.key?(:plot_type)
281
+ @time_series_query = args[:time_series_query] if args.key?(:time_series_query)
282
+ end
283
+ end
284
+
25
285
  # A set of (label, value) pairs which were dropped during aggregation, attached
26
286
  # to google.api.Distribution.Exemplars in google.api.Distribution values during
27
287
  # aggregation.These values are used in combination with the label values that
@@ -51,6 +311,25 @@ module Google
51
311
  end
52
312
  end
53
313
 
314
+ # A generic empty message that you can re-use to avoid defining duplicated empty
315
+ # messages in your APIs. A typical example is to use it as the request or the
316
+ # response type of an API method. For instance:
317
+ # service Foo `
318
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
319
+ # `
320
+ # The JSON representation for Empty is empty JSON object ``.
321
+ class Empty
322
+ include Google::Apis::Core::Hashable
323
+
324
+ def initialize(**args)
325
+ update!(**args)
326
+ end
327
+
328
+ # Update properties of this object
329
+ def update!(**args)
330
+ end
331
+ end
332
+
54
333
  # A single field of a message type.
55
334
  class Field
56
335
  include Google::Apis::Core::Hashable
@@ -127,6 +406,89 @@ module Google
127
406
  end
128
407
  end
129
408
 
409
+ # A gauge chart shows where the current value sits within a pre-defined range.
410
+ # The upper and lower bounds should define the possible range of values for the
411
+ # scorecard's query (inclusive).
412
+ class GaugeView
413
+ include Google::Apis::Core::Hashable
414
+
415
+ # The lower bound for this gauge chart. The value of the chart should always be
416
+ # greater than or equal to this.
417
+ # Corresponds to the JSON property `lowerBound`
418
+ # @return [Float]
419
+ attr_accessor :lower_bound
420
+
421
+ # The upper bound for this gauge chart. The value of the chart should always be
422
+ # less than or equal to this.
423
+ # Corresponds to the JSON property `upperBound`
424
+ # @return [Float]
425
+ attr_accessor :upper_bound
426
+
427
+ def initialize(**args)
428
+ update!(**args)
429
+ end
430
+
431
+ # Update properties of this object
432
+ def update!(**args)
433
+ @lower_bound = args[:lower_bound] if args.key?(:lower_bound)
434
+ @upper_bound = args[:upper_bound] if args.key?(:upper_bound)
435
+ end
436
+ end
437
+
438
+ # A basic layout divides the available space into vertical columns of equal
439
+ # width and arranges a list of widgets using a row-first strategy.
440
+ class GridLayout
441
+ include Google::Apis::Core::Hashable
442
+
443
+ # The number of columns into which the view's width is divided. If omitted or
444
+ # set to zero, a system default will be used.
445
+ # Corresponds to the JSON property `columns`
446
+ # @return [Fixnum]
447
+ attr_accessor :columns
448
+
449
+ # The informational elements that are arranged into the columns row-first.
450
+ # Corresponds to the JSON property `widgets`
451
+ # @return [Array<Google::Apis::MonitoringV1::Widget>]
452
+ attr_accessor :widgets
453
+
454
+ def initialize(**args)
455
+ update!(**args)
456
+ end
457
+
458
+ # Update properties of this object
459
+ def update!(**args)
460
+ @columns = args[:columns] if args.key?(:columns)
461
+ @widgets = args[:widgets] if args.key?(:widgets)
462
+ end
463
+ end
464
+
465
+ # The ListDashboards request.
466
+ class ListDashboardsResponse
467
+ include Google::Apis::Core::Hashable
468
+
469
+ # The list of requested dashboards.
470
+ # Corresponds to the JSON property `dashboards`
471
+ # @return [Array<Google::Apis::MonitoringV1::Dashboard>]
472
+ attr_accessor :dashboards
473
+
474
+ # If there are more results than have been returned, then this field is set to a
475
+ # non-empty value. To see the additional results, use that value as pageToken in
476
+ # the next call to this method.
477
+ # Corresponds to the JSON property `nextPageToken`
478
+ # @return [String]
479
+ attr_accessor :next_page_token
480
+
481
+ def initialize(**args)
482
+ update!(**args)
483
+ end
484
+
485
+ # Update properties of this object
486
+ def update!(**args)
487
+ @dashboards = args[:dashboards] if args.key?(:dashboards)
488
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
489
+ end
490
+ end
491
+
130
492
  # A protocol buffer option, which can be attached to a message, field,
131
493
  # enumeration, etc.
132
494
  class Option
@@ -159,6 +521,174 @@ module Google
159
521
  end
160
522
  end
161
523
 
524
+ # Describes a ranking-based time series filter. Each input time series is ranked
525
+ # with an aligner. The filter lets through up to num_time_series time series,
526
+ # selecting them based on the relative ranking.
527
+ class PickTimeSeriesFilter
528
+ include Google::Apis::Core::Hashable
529
+
530
+ # How to use the ranking to select time series that pass through the filter.
531
+ # Corresponds to the JSON property `direction`
532
+ # @return [String]
533
+ attr_accessor :direction
534
+
535
+ # How many time series to return.
536
+ # Corresponds to the JSON property `numTimeSeries`
537
+ # @return [Fixnum]
538
+ attr_accessor :num_time_series
539
+
540
+ # rankingMethod is applied to each time series independently to produce the
541
+ # value which will be used to compare the time series to other time series.
542
+ # Corresponds to the JSON property `rankingMethod`
543
+ # @return [String]
544
+ attr_accessor :ranking_method
545
+
546
+ def initialize(**args)
547
+ update!(**args)
548
+ end
549
+
550
+ # Update properties of this object
551
+ def update!(**args)
552
+ @direction = args[:direction] if args.key?(:direction)
553
+ @num_time_series = args[:num_time_series] if args.key?(:num_time_series)
554
+ @ranking_method = args[:ranking_method] if args.key?(:ranking_method)
555
+ end
556
+ end
557
+
558
+ # Describes a query to build the numerator or denominator of a
559
+ # TimeSeriesFilterRatio.
560
+ class RatioPart
561
+ include Google::Apis::Core::Hashable
562
+
563
+ # Describes how to combine multiple time series to provide different views of
564
+ # the data. Aggregation consists of an alignment step on individual time series (
565
+ # alignment_period and per_series_aligner) followed by an optional reduction
566
+ # step of the data across the aligned time series (cross_series_reducer and
567
+ # group_by_fields). For more details, see Aggregation.
568
+ # Corresponds to the JSON property `aggregation`
569
+ # @return [Google::Apis::MonitoringV1::Aggregation]
570
+ attr_accessor :aggregation
571
+
572
+ # Required. The monitoring filter that identifies the metric types, resources,
573
+ # and projects to query.
574
+ # Corresponds to the JSON property `filter`
575
+ # @return [String]
576
+ attr_accessor :filter
577
+
578
+ def initialize(**args)
579
+ update!(**args)
580
+ end
581
+
582
+ # Update properties of this object
583
+ def update!(**args)
584
+ @aggregation = args[:aggregation] if args.key?(:aggregation)
585
+ @filter = args[:filter] if args.key?(:filter)
586
+ end
587
+ end
588
+
589
+ # Defines the layout properties and content for a row.
590
+ class Row
591
+ include Google::Apis::Core::Hashable
592
+
593
+ # The relative weight of this row. The row weight is used to adjust the height
594
+ # of rows on the screen (relative to peers). If omitted, a value of 1 is used.
595
+ # Corresponds to the JSON property `weight`
596
+ # @return [Fixnum]
597
+ attr_accessor :weight
598
+
599
+ # The display widgets arranged horizontally in this row.
600
+ # Corresponds to the JSON property `widgets`
601
+ # @return [Array<Google::Apis::MonitoringV1::Widget>]
602
+ attr_accessor :widgets
603
+
604
+ def initialize(**args)
605
+ update!(**args)
606
+ end
607
+
608
+ # Update properties of this object
609
+ def update!(**args)
610
+ @weight = args[:weight] if args.key?(:weight)
611
+ @widgets = args[:widgets] if args.key?(:widgets)
612
+ end
613
+ end
614
+
615
+ # A simplified layout that divides the available space into rows and arranges a
616
+ # set of widgets horizontally in each row.
617
+ class RowLayout
618
+ include Google::Apis::Core::Hashable
619
+
620
+ # The rows of content to display.
621
+ # Corresponds to the JSON property `rows`
622
+ # @return [Array<Google::Apis::MonitoringV1::Row>]
623
+ attr_accessor :rows
624
+
625
+ def initialize(**args)
626
+ update!(**args)
627
+ end
628
+
629
+ # Update properties of this object
630
+ def update!(**args)
631
+ @rows = args[:rows] if args.key?(:rows)
632
+ end
633
+ end
634
+
635
+ # A widget showing the latest value of a metric, and how this value relates to
636
+ # one or more thresholds.
637
+ class Scorecard
638
+ include Google::Apis::Core::Hashable
639
+
640
+ # A gauge chart shows where the current value sits within a pre-defined range.
641
+ # The upper and lower bounds should define the possible range of values for the
642
+ # scorecard's query (inclusive).
643
+ # Corresponds to the JSON property `gaugeView`
644
+ # @return [Google::Apis::MonitoringV1::GaugeView]
645
+ attr_accessor :gauge_view
646
+
647
+ # A sparkChart is a small chart suitable for inclusion in a table-cell or inline
648
+ # in text. This message contains the configuration for a sparkChart to show up
649
+ # on a Scorecard, showing recent trends of the scorecard's timeseries.
650
+ # Corresponds to the JSON property `sparkChartView`
651
+ # @return [Google::Apis::MonitoringV1::SparkChartView]
652
+ attr_accessor :spark_chart_view
653
+
654
+ # The thresholds used to determine the state of the scorecard given the time
655
+ # series' current value. For an actual value x, the scorecard is in a danger
656
+ # state if x is less than or equal to a danger threshold that triggers below, or
657
+ # greater than or equal to a danger threshold that triggers above. Similarly, if
658
+ # x is above/below a warning threshold that triggers above/below, then the
659
+ # scorecard is in a warning state - unless x also puts it in a danger state. (
660
+ # Danger trumps warning.)As an example, consider a scorecard with the following
661
+ # four thresholds: ` value: 90, category: 'DANGER', trigger: 'ABOVE', `, `
662
+ # value: 70, category: 'WARNING', trigger: 'ABOVE', `, ` value: 10, category:
663
+ # 'DANGER', trigger: 'BELOW', `, ` value: 20, category: 'WARNING', trigger:
664
+ # 'BELOW', `Then: values less than or equal to 10 would put the scorecard in a
665
+ # DANGER state, values greater than 10 but less than or equal to 20 a WARNING
666
+ # state, values strictly between 20 and 70 an OK state, values greater than or
667
+ # equal to 70 but less than 90 a WARNING state, and values greater than or equal
668
+ # to 90 a DANGER state.
669
+ # Corresponds to the JSON property `thresholds`
670
+ # @return [Array<Google::Apis::MonitoringV1::Threshold>]
671
+ attr_accessor :thresholds
672
+
673
+ # TimeSeriesQuery collects the set of supported methods for querying time series
674
+ # data from the Stackdriver metrics API.
675
+ # Corresponds to the JSON property `timeSeriesQuery`
676
+ # @return [Google::Apis::MonitoringV1::TimeSeriesQuery]
677
+ attr_accessor :time_series_query
678
+
679
+ def initialize(**args)
680
+ update!(**args)
681
+ end
682
+
683
+ # Update properties of this object
684
+ def update!(**args)
685
+ @gauge_view = args[:gauge_view] if args.key?(:gauge_view)
686
+ @spark_chart_view = args[:spark_chart_view] if args.key?(:spark_chart_view)
687
+ @thresholds = args[:thresholds] if args.key?(:thresholds)
688
+ @time_series_query = args[:time_series_query] if args.key?(:time_series_query)
689
+ end
690
+ end
691
+
162
692
  # SourceContext represents information about the source of a protobuf element,
163
693
  # like the file in which it is defined.
164
694
  class SourceContext
@@ -206,6 +736,266 @@ module Google
206
736
  end
207
737
  end
208
738
 
739
+ # A sparkChart is a small chart suitable for inclusion in a table-cell or inline
740
+ # in text. This message contains the configuration for a sparkChart to show up
741
+ # on a Scorecard, showing recent trends of the scorecard's timeseries.
742
+ class SparkChartView
743
+ include Google::Apis::Core::Hashable
744
+
745
+ # The lower bound on data point frequency in the chart implemented by specifying
746
+ # the minimum alignment period to use in a time series query. For example, if
747
+ # the data is published once every 10 minutes it would not make sense to fetch
748
+ # and align data at one minute intervals. This field is optional and exists only
749
+ # as a hint.
750
+ # Corresponds to the JSON property `minAlignmentPeriod`
751
+ # @return [String]
752
+ attr_accessor :min_alignment_period
753
+
754
+ # The type of sparkchart to show in this chartView.
755
+ # Corresponds to the JSON property `sparkChartType`
756
+ # @return [String]
757
+ attr_accessor :spark_chart_type
758
+
759
+ def initialize(**args)
760
+ update!(**args)
761
+ end
762
+
763
+ # Update properties of this object
764
+ def update!(**args)
765
+ @min_alignment_period = args[:min_alignment_period] if args.key?(:min_alignment_period)
766
+ @spark_chart_type = args[:spark_chart_type] if args.key?(:spark_chart_type)
767
+ end
768
+ end
769
+
770
+ # A filter that ranks streams based on their statistical relation to other
771
+ # streams in a request.
772
+ class StatisticalTimeSeriesFilter
773
+ include Google::Apis::Core::Hashable
774
+
775
+ # How many time series to output.
776
+ # Corresponds to the JSON property `numTimeSeries`
777
+ # @return [Fixnum]
778
+ attr_accessor :num_time_series
779
+
780
+ # rankingMethod is applied to a set of time series, and then the produced value
781
+ # for each individual time series is used to compare a given time series to
782
+ # others. These are methods that cannot be applied stream-by-stream, but rather
783
+ # require the full context of a request to evaluate time series.
784
+ # Corresponds to the JSON property `rankingMethod`
785
+ # @return [String]
786
+ attr_accessor :ranking_method
787
+
788
+ def initialize(**args)
789
+ update!(**args)
790
+ end
791
+
792
+ # Update properties of this object
793
+ def update!(**args)
794
+ @num_time_series = args[:num_time_series] if args.key?(:num_time_series)
795
+ @ranking_method = args[:ranking_method] if args.key?(:ranking_method)
796
+ end
797
+ end
798
+
799
+ # A widget that displays textual content.
800
+ class Text
801
+ include Google::Apis::Core::Hashable
802
+
803
+ # The text content to be displayed.
804
+ # Corresponds to the JSON property `content`
805
+ # @return [String]
806
+ attr_accessor :content
807
+
808
+ # How the text content is formatted.
809
+ # Corresponds to the JSON property `format`
810
+ # @return [String]
811
+ attr_accessor :format
812
+
813
+ def initialize(**args)
814
+ update!(**args)
815
+ end
816
+
817
+ # Update properties of this object
818
+ def update!(**args)
819
+ @content = args[:content] if args.key?(:content)
820
+ @format = args[:format] if args.key?(:format)
821
+ end
822
+ end
823
+
824
+ # Defines a threshold for categorizing time series values.
825
+ class Threshold
826
+ include Google::Apis::Core::Hashable
827
+
828
+ # The state color for this threshold. Color is not allowed in a XyChart.
829
+ # Corresponds to the JSON property `color`
830
+ # @return [String]
831
+ attr_accessor :color
832
+
833
+ # The direction for the current threshold. Direction is not allowed in a XyChart.
834
+ # Corresponds to the JSON property `direction`
835
+ # @return [String]
836
+ attr_accessor :direction
837
+
838
+ # A label for the threshold.
839
+ # Corresponds to the JSON property `label`
840
+ # @return [String]
841
+ attr_accessor :label
842
+
843
+ # The value of the threshold. The value should be defined in the native scale of
844
+ # the metric.
845
+ # Corresponds to the JSON property `value`
846
+ # @return [Float]
847
+ attr_accessor :value
848
+
849
+ def initialize(**args)
850
+ update!(**args)
851
+ end
852
+
853
+ # Update properties of this object
854
+ def update!(**args)
855
+ @color = args[:color] if args.key?(:color)
856
+ @direction = args[:direction] if args.key?(:direction)
857
+ @label = args[:label] if args.key?(:label)
858
+ @value = args[:value] if args.key?(:value)
859
+ end
860
+ end
861
+
862
+ # A filter that defines a subset of time series data that is displayed in a
863
+ # widget. Time series data is fetched using the ListTimeSeries method.
864
+ class TimeSeriesFilter
865
+ include Google::Apis::Core::Hashable
866
+
867
+ # Describes how to combine multiple time series to provide different views of
868
+ # the data. Aggregation consists of an alignment step on individual time series (
869
+ # alignment_period and per_series_aligner) followed by an optional reduction
870
+ # step of the data across the aligned time series (cross_series_reducer and
871
+ # group_by_fields). For more details, see Aggregation.
872
+ # Corresponds to the JSON property `aggregation`
873
+ # @return [Google::Apis::MonitoringV1::Aggregation]
874
+ attr_accessor :aggregation
875
+
876
+ # Required. The monitoring filter that identifies the metric types, resources,
877
+ # and projects to query.
878
+ # Corresponds to the JSON property `filter`
879
+ # @return [String]
880
+ attr_accessor :filter
881
+
882
+ # Describes a ranking-based time series filter. Each input time series is ranked
883
+ # with an aligner. The filter lets through up to num_time_series time series,
884
+ # selecting them based on the relative ranking.
885
+ # Corresponds to the JSON property `pickTimeSeriesFilter`
886
+ # @return [Google::Apis::MonitoringV1::PickTimeSeriesFilter]
887
+ attr_accessor :pick_time_series_filter
888
+
889
+ # A filter that ranks streams based on their statistical relation to other
890
+ # streams in a request.
891
+ # Corresponds to the JSON property `statisticalTimeSeriesFilter`
892
+ # @return [Google::Apis::MonitoringV1::StatisticalTimeSeriesFilter]
893
+ attr_accessor :statistical_time_series_filter
894
+
895
+ def initialize(**args)
896
+ update!(**args)
897
+ end
898
+
899
+ # Update properties of this object
900
+ def update!(**args)
901
+ @aggregation = args[:aggregation] if args.key?(:aggregation)
902
+ @filter = args[:filter] if args.key?(:filter)
903
+ @pick_time_series_filter = args[:pick_time_series_filter] if args.key?(:pick_time_series_filter)
904
+ @statistical_time_series_filter = args[:statistical_time_series_filter] if args.key?(:statistical_time_series_filter)
905
+ end
906
+ end
907
+
908
+ # A pair of time series filters that define a ratio computation. The output time
909
+ # series is the pair-wise division of each aligned element from the numerator
910
+ # and denominator time series.
911
+ class TimeSeriesFilterRatio
912
+ include Google::Apis::Core::Hashable
913
+
914
+ # Describes a query to build the numerator or denominator of a
915
+ # TimeSeriesFilterRatio.
916
+ # Corresponds to the JSON property `denominator`
917
+ # @return [Google::Apis::MonitoringV1::RatioPart]
918
+ attr_accessor :denominator
919
+
920
+ # Describes a query to build the numerator or denominator of a
921
+ # TimeSeriesFilterRatio.
922
+ # Corresponds to the JSON property `numerator`
923
+ # @return [Google::Apis::MonitoringV1::RatioPart]
924
+ attr_accessor :numerator
925
+
926
+ # Describes a ranking-based time series filter. Each input time series is ranked
927
+ # with an aligner. The filter lets through up to num_time_series time series,
928
+ # selecting them based on the relative ranking.
929
+ # Corresponds to the JSON property `pickTimeSeriesFilter`
930
+ # @return [Google::Apis::MonitoringV1::PickTimeSeriesFilter]
931
+ attr_accessor :pick_time_series_filter
932
+
933
+ # Describes how to combine multiple time series to provide different views of
934
+ # the data. Aggregation consists of an alignment step on individual time series (
935
+ # alignment_period and per_series_aligner) followed by an optional reduction
936
+ # step of the data across the aligned time series (cross_series_reducer and
937
+ # group_by_fields). For more details, see Aggregation.
938
+ # Corresponds to the JSON property `secondaryAggregation`
939
+ # @return [Google::Apis::MonitoringV1::Aggregation]
940
+ attr_accessor :secondary_aggregation
941
+
942
+ # A filter that ranks streams based on their statistical relation to other
943
+ # streams in a request.
944
+ # Corresponds to the JSON property `statisticalTimeSeriesFilter`
945
+ # @return [Google::Apis::MonitoringV1::StatisticalTimeSeriesFilter]
946
+ attr_accessor :statistical_time_series_filter
947
+
948
+ def initialize(**args)
949
+ update!(**args)
950
+ end
951
+
952
+ # Update properties of this object
953
+ def update!(**args)
954
+ @denominator = args[:denominator] if args.key?(:denominator)
955
+ @numerator = args[:numerator] if args.key?(:numerator)
956
+ @pick_time_series_filter = args[:pick_time_series_filter] if args.key?(:pick_time_series_filter)
957
+ @secondary_aggregation = args[:secondary_aggregation] if args.key?(:secondary_aggregation)
958
+ @statistical_time_series_filter = args[:statistical_time_series_filter] if args.key?(:statistical_time_series_filter)
959
+ end
960
+ end
961
+
962
+ # TimeSeriesQuery collects the set of supported methods for querying time series
963
+ # data from the Stackdriver metrics API.
964
+ class TimeSeriesQuery
965
+ include Google::Apis::Core::Hashable
966
+
967
+ # A filter that defines a subset of time series data that is displayed in a
968
+ # widget. Time series data is fetched using the ListTimeSeries method.
969
+ # Corresponds to the JSON property `timeSeriesFilter`
970
+ # @return [Google::Apis::MonitoringV1::TimeSeriesFilter]
971
+ attr_accessor :time_series_filter
972
+
973
+ # A pair of time series filters that define a ratio computation. The output time
974
+ # series is the pair-wise division of each aligned element from the numerator
975
+ # and denominator time series.
976
+ # Corresponds to the JSON property `timeSeriesFilterRatio`
977
+ # @return [Google::Apis::MonitoringV1::TimeSeriesFilterRatio]
978
+ attr_accessor :time_series_filter_ratio
979
+
980
+ # The unit of data contained in fetched time series. If non-empty, this unit
981
+ # will override any unit that accompanies fetched data. The format is the same
982
+ # as the unit field in MetricDescriptor.
983
+ # Corresponds to the JSON property `unitOverride`
984
+ # @return [String]
985
+ attr_accessor :unit_override
986
+
987
+ def initialize(**args)
988
+ update!(**args)
989
+ end
990
+
991
+ # Update properties of this object
992
+ def update!(**args)
993
+ @time_series_filter = args[:time_series_filter] if args.key?(:time_series_filter)
994
+ @time_series_filter_ratio = args[:time_series_filter_ratio] if args.key?(:time_series_filter_ratio)
995
+ @unit_override = args[:unit_override] if args.key?(:unit_override)
996
+ end
997
+ end
998
+
209
999
  # A protocol buffer message type.
210
1000
  class Type
211
1001
  include Google::Apis::Core::Hashable
@@ -255,6 +1045,109 @@ module Google
255
1045
  @syntax = args[:syntax] if args.key?(:syntax)
256
1046
  end
257
1047
  end
1048
+
1049
+ # Widget contains a single dashboard component and configuration of how to
1050
+ # present the component in the dashboard.
1051
+ class Widget
1052
+ include Google::Apis::Core::Hashable
1053
+
1054
+ # A generic empty message that you can re-use to avoid defining duplicated empty
1055
+ # messages in your APIs. A typical example is to use it as the request or the
1056
+ # response type of an API method. For instance:
1057
+ # service Foo `
1058
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
1059
+ # `
1060
+ # The JSON representation for Empty is empty JSON object ``.
1061
+ # Corresponds to the JSON property `blank`
1062
+ # @return [Google::Apis::MonitoringV1::Empty]
1063
+ attr_accessor :blank
1064
+
1065
+ # A widget showing the latest value of a metric, and how this value relates to
1066
+ # one or more thresholds.
1067
+ # Corresponds to the JSON property `scorecard`
1068
+ # @return [Google::Apis::MonitoringV1::Scorecard]
1069
+ attr_accessor :scorecard
1070
+
1071
+ # A widget that displays textual content.
1072
+ # Corresponds to the JSON property `text`
1073
+ # @return [Google::Apis::MonitoringV1::Text]
1074
+ attr_accessor :text
1075
+
1076
+ # Optional. The title of the widget.
1077
+ # Corresponds to the JSON property `title`
1078
+ # @return [String]
1079
+ attr_accessor :title
1080
+
1081
+ # A chart that displays data on a 2D (X and Y axes) plane.
1082
+ # Corresponds to the JSON property `xyChart`
1083
+ # @return [Google::Apis::MonitoringV1::XyChart]
1084
+ attr_accessor :xy_chart
1085
+
1086
+ def initialize(**args)
1087
+ update!(**args)
1088
+ end
1089
+
1090
+ # Update properties of this object
1091
+ def update!(**args)
1092
+ @blank = args[:blank] if args.key?(:blank)
1093
+ @scorecard = args[:scorecard] if args.key?(:scorecard)
1094
+ @text = args[:text] if args.key?(:text)
1095
+ @title = args[:title] if args.key?(:title)
1096
+ @xy_chart = args[:xy_chart] if args.key?(:xy_chart)
1097
+ end
1098
+ end
1099
+
1100
+ # A chart that displays data on a 2D (X and Y axes) plane.
1101
+ class XyChart
1102
+ include Google::Apis::Core::Hashable
1103
+
1104
+ # Options to control visual rendering of a chart.
1105
+ # Corresponds to the JSON property `chartOptions`
1106
+ # @return [Google::Apis::MonitoringV1::ChartOptions]
1107
+ attr_accessor :chart_options
1108
+
1109
+ # The data displayed in this chart.
1110
+ # Corresponds to the JSON property `dataSets`
1111
+ # @return [Array<Google::Apis::MonitoringV1::DataSet>]
1112
+ attr_accessor :data_sets
1113
+
1114
+ # Threshold lines drawn horizontally across the chart.
1115
+ # Corresponds to the JSON property `thresholds`
1116
+ # @return [Array<Google::Apis::MonitoringV1::Threshold>]
1117
+ attr_accessor :thresholds
1118
+
1119
+ # The duration used to display a comparison chart. A comparison chart shows
1120
+ # values from two time periods simultaneously (e.g., week-over-week metrics).
1121
+ # The duration must be positive, and it can only be applied to charts with data
1122
+ # sets of LINE plot type.
1123
+ # Corresponds to the JSON property `timeshiftDuration`
1124
+ # @return [String]
1125
+ attr_accessor :timeshift_duration
1126
+
1127
+ # A chart axis.
1128
+ # Corresponds to the JSON property `xAxis`
1129
+ # @return [Google::Apis::MonitoringV1::Axis]
1130
+ attr_accessor :x_axis
1131
+
1132
+ # A chart axis.
1133
+ # Corresponds to the JSON property `yAxis`
1134
+ # @return [Google::Apis::MonitoringV1::Axis]
1135
+ attr_accessor :y_axis
1136
+
1137
+ def initialize(**args)
1138
+ update!(**args)
1139
+ end
1140
+
1141
+ # Update properties of this object
1142
+ def update!(**args)
1143
+ @chart_options = args[:chart_options] if args.key?(:chart_options)
1144
+ @data_sets = args[:data_sets] if args.key?(:data_sets)
1145
+ @thresholds = args[:thresholds] if args.key?(:thresholds)
1146
+ @timeshift_duration = args[:timeshift_duration] if args.key?(:timeshift_duration)
1147
+ @x_axis = args[:x_axis] if args.key?(:x_axis)
1148
+ @y_axis = args[:y_axis] if args.key?(:y_axis)
1149
+ end
1150
+ end
258
1151
  end
259
1152
  end
260
1153
  end