google-api-client 0.35.0 → 0.36.0

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 (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