google-cloud-monitoring-dashboard-v1 0.2.0 → 0.3.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.
- checksums.yaml +4 -4
- data/README.md +68 -0
- data/lib/google/cloud/monitoring/dashboard/v1.rb +3 -0
- data/lib/google/cloud/monitoring/dashboard/v1/dashboards_service/client.rb +23 -3
- data/lib/google/cloud/monitoring/dashboard/v1/version.rb +1 -1
- data/lib/google/monitoring/dashboard/v1/dashboards_service_services_pb.rb +5 -5
- data/proto_docs/google/api/field_behavior.rb +6 -0
- data/proto_docs/google/api/resource.rb +50 -14
- data/proto_docs/google/protobuf/any.rb +5 -2
- data/proto_docs/google/protobuf/timestamp.rb +10 -1
- metadata +9 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d5b908f743ed4fe14126b7c127bc9cfa41a8052f66897b2e3d5b0b7e0f9d8350
|
4
|
+
data.tar.gz: 80b374a94e13df08238943eb7b9f7cbc347582040e63764b72104e89de7d06e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7fcb6a236969cab315bf0f81c822a417e63b5cd50a0818e29680afe9ee83b48a76038e8b369910c27f2a8d173383a9cd4e066358a442389b96c49878a0699f7
|
7
|
+
data.tar.gz: 54b057dd50e91752f230138316495d7d74d1ac678a07110ba408b2023143ce21e2cf5de5a8aa644d1018743b07d920c6161fbaecd5534f3125d2d3abd2065b78
|
data/README.md
CHANGED
@@ -6,6 +6,12 @@ Cloud Monitoring collects metrics, events, and metadata from Google Cloud, Amazo
|
|
6
6
|
|
7
7
|
https://github.com/googleapis/google-cloud-ruby
|
8
8
|
|
9
|
+
This gem is a _versioned_ client. It provides basic client classes for a
|
10
|
+
specific version of the Cloud Monitoring Dashboards V1 API. Most users should consider using
|
11
|
+
the main client gem,
|
12
|
+
[google-cloud-monitoring-dashboard](https://rubygems.org/gems/google-cloud-monitoring-dashboard).
|
13
|
+
See the section below titled *Which client should I use?* for more information.
|
14
|
+
|
9
15
|
## Installation
|
10
16
|
|
11
17
|
```
|
@@ -18,6 +24,7 @@ In order to use this library, you first need to go through the following steps:
|
|
18
24
|
|
19
25
|
1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
|
20
26
|
1. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
|
27
|
+
1. [Enable the API.](https://console.cloud.google.com/apis/library/monitoring.googleapis.com)
|
21
28
|
1. {file:AUTHENTICATION.md Set up authentication.}
|
22
29
|
|
23
30
|
## Quick Start
|
@@ -33,6 +40,9 @@ response = client.create_dashboard request
|
|
33
40
|
View the [Client Library Documentation](https://googleapis.dev/ruby/google-cloud-monitoring-dashboard-v1/latest)
|
34
41
|
for class and method documentation.
|
35
42
|
|
43
|
+
See also the [Product Documentation](https://cloud.google.com/monitoring)
|
44
|
+
for general usage information.
|
45
|
+
|
36
46
|
## Enabling Logging
|
37
47
|
|
38
48
|
To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
|
@@ -69,3 +79,61 @@ in security maintenance, and not end of life. Currently, this means Ruby 2.4
|
|
69
79
|
and later. Older versions of Ruby _may_ still work, but are unsupported and not
|
70
80
|
recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
|
71
81
|
about the Ruby support schedule.
|
82
|
+
|
83
|
+
## Which client should I use?
|
84
|
+
|
85
|
+
Most modern Ruby client libraries for Google APIs come in two flavors: the main
|
86
|
+
client library with a name such as `google-cloud-monitoring-dashboard`,
|
87
|
+
and lower-level _versioned_ client libraries with names such as
|
88
|
+
`google-cloud-monitoring-dashboard-v1`.
|
89
|
+
_In most cases, you should install the main client._
|
90
|
+
|
91
|
+
### What's the difference between the main client and a versioned client?
|
92
|
+
|
93
|
+
A _versioned client_ provides a basic set of data types and client classes for
|
94
|
+
a _single version_ of a specific service. (That is, for a service with multiple
|
95
|
+
versions, there might be a separate versioned client for each service version.)
|
96
|
+
Most versioned clients are written and maintained by a code generator.
|
97
|
+
|
98
|
+
The _main client_ is designed to provide you with the _recommended_ client
|
99
|
+
interfaces for the service. There will be only one main client for any given
|
100
|
+
service, even a service with multiple versions. The main client includes
|
101
|
+
factory methods for constructing the client objects we recommend for most
|
102
|
+
users. In some cases, those will be classes provided by an underlying versioned
|
103
|
+
client; in other cases, they will be handwritten higher-level client objects
|
104
|
+
with additional capabilities, convenience methods, or best practices built in.
|
105
|
+
Generally, the main client will default to a recommended service version,
|
106
|
+
although in some cases you can override this if you need to talk to a specific
|
107
|
+
service version.
|
108
|
+
|
109
|
+
### Why would I want to use the main client?
|
110
|
+
|
111
|
+
We recommend that most users install the main client gem for a service. You can
|
112
|
+
identify this gem as the one _without_ a version in its name, e.g.
|
113
|
+
`google-cloud-monitoring-dashboard`.
|
114
|
+
The main client is recommended because it will embody the best practices for
|
115
|
+
accessing the service, and may also provide more convenient interfaces or
|
116
|
+
tighter integration into frameworks and third-party libraries. In addition, the
|
117
|
+
documentation and samples published by Google will generally demonstrate use of
|
118
|
+
the main client.
|
119
|
+
|
120
|
+
### Why would I want to use a versioned client?
|
121
|
+
|
122
|
+
You can use a versioned client if you are content with a possibly lower-level
|
123
|
+
class interface, you explicitly want to avoid features provided by the main
|
124
|
+
client, or you want to access a specific service version not be covered by the
|
125
|
+
main client. You can identify versioned client gems because the service version
|
126
|
+
is part of the name, e.g. `google-cloud-monitoring-dashboard-v1`.
|
127
|
+
|
128
|
+
### What about the google-apis-<name> clients?
|
129
|
+
|
130
|
+
Client library gems with names that begin with `google-apis-` are based on an
|
131
|
+
older code generation technology. They talk to a REST/JSON backend (whereas
|
132
|
+
most modern clients talk to a [gRPC](https://grpc.io/) backend) and they may
|
133
|
+
not offer the same performance, features, and ease of use provided by more
|
134
|
+
modern clients.
|
135
|
+
|
136
|
+
The `google-apis-` clients have wide coverage across Google services, so you
|
137
|
+
might need to use one if there is no modern client available for the service.
|
138
|
+
However, if a modern client is available, we generally recommend it over the
|
139
|
+
older `google-apis-` clients.
|
@@ -67,6 +67,20 @@ module Google
|
|
67
67
|
end
|
68
68
|
default_config = Client::Configuration.new parent_config
|
69
69
|
|
70
|
+
default_config.timeout = 30.0
|
71
|
+
default_config.retry_policy = {
|
72
|
+
initial_delay: 1.0,
|
73
|
+
max_delay: 10.0,
|
74
|
+
multiplier: 1.3,
|
75
|
+
retry_codes: [14, 2]
|
76
|
+
}
|
77
|
+
|
78
|
+
default_config.rpcs.create_dashboard.timeout = 30.0
|
79
|
+
|
80
|
+
default_config.rpcs.delete_dashboard.timeout = 30.0
|
81
|
+
|
82
|
+
default_config.rpcs.update_dashboard.timeout = 30.0
|
83
|
+
|
70
84
|
default_config
|
71
85
|
end
|
72
86
|
yield @configure if block_given?
|
@@ -128,7 +142,13 @@ module Google
|
|
128
142
|
|
129
143
|
# Create credentials
|
130
144
|
credentials = @config.credentials
|
131
|
-
|
145
|
+
# Use self-signed JWT if the scope and endpoint are unchanged from default,
|
146
|
+
# but only if the default endpoint does not have a region prefix.
|
147
|
+
enable_self_signed_jwt = @config.scope == Client.configure.scope &&
|
148
|
+
@config.endpoint == Client.configure.endpoint &&
|
149
|
+
!@config.endpoint.split(".").first.include?("-")
|
150
|
+
credentials ||= Credentials.default scope: @config.scope,
|
151
|
+
enable_self_signed_jwt: enable_self_signed_jwt
|
132
152
|
if credentials.is_a?(String) || credentials.is_a?(Hash)
|
133
153
|
credentials = Credentials.new credentials, scope: @config.scope
|
134
154
|
end
|
@@ -603,7 +623,7 @@ module Google
|
|
603
623
|
|
604
624
|
config_attr :endpoint, "monitoring.googleapis.com", ::String
|
605
625
|
config_attr :credentials, nil do |value|
|
606
|
-
allowed = [::String, ::Hash, ::Proc, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
|
626
|
+
allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
|
607
627
|
allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
|
608
628
|
allowed.any? { |klass| klass === value }
|
609
629
|
end
|
@@ -643,7 +663,7 @@ module Google
|
|
643
663
|
# Each configuration object is of type `Gapic::Config::Method` and includes
|
644
664
|
# the following configuration fields:
|
645
665
|
#
|
646
|
-
# * `timeout` (*type:* `Numeric`) - The call timeout in
|
666
|
+
# * `timeout` (*type:* `Numeric`) - The call timeout in seconds
|
647
667
|
# * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
|
648
668
|
# * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
|
649
669
|
# include the following keys:
|
@@ -40,31 +40,31 @@ module Google
|
|
40
40
|
# This method requires the `monitoring.dashboards.create` permission
|
41
41
|
# on the specified project. For more information, see
|
42
42
|
# [Google Cloud IAM](https://cloud.google.com/iam).
|
43
|
-
rpc :CreateDashboard, Google::Cloud::Monitoring::Dashboard::V1::CreateDashboardRequest, Google::Cloud::Monitoring::Dashboard::V1::Dashboard
|
43
|
+
rpc :CreateDashboard, ::Google::Cloud::Monitoring::Dashboard::V1::CreateDashboardRequest, ::Google::Cloud::Monitoring::Dashboard::V1::Dashboard
|
44
44
|
# Lists the existing dashboards.
|
45
45
|
#
|
46
46
|
# This method requires the `monitoring.dashboards.list` permission
|
47
47
|
# on the specified project. For more information, see
|
48
48
|
# [Google Cloud IAM](https://cloud.google.com/iam).
|
49
|
-
rpc :ListDashboards, Google::Cloud::Monitoring::Dashboard::V1::ListDashboardsRequest, Google::Cloud::Monitoring::Dashboard::V1::ListDashboardsResponse
|
49
|
+
rpc :ListDashboards, ::Google::Cloud::Monitoring::Dashboard::V1::ListDashboardsRequest, ::Google::Cloud::Monitoring::Dashboard::V1::ListDashboardsResponse
|
50
50
|
# Fetches a specific dashboard.
|
51
51
|
#
|
52
52
|
# This method requires the `monitoring.dashboards.get` permission
|
53
53
|
# on the specified dashboard. For more information, see
|
54
54
|
# [Google Cloud IAM](https://cloud.google.com/iam).
|
55
|
-
rpc :GetDashboard, Google::Cloud::Monitoring::Dashboard::V1::GetDashboardRequest, Google::Cloud::Monitoring::Dashboard::V1::Dashboard
|
55
|
+
rpc :GetDashboard, ::Google::Cloud::Monitoring::Dashboard::V1::GetDashboardRequest, ::Google::Cloud::Monitoring::Dashboard::V1::Dashboard
|
56
56
|
# Deletes an existing custom dashboard.
|
57
57
|
#
|
58
58
|
# This method requires the `monitoring.dashboards.delete` permission
|
59
59
|
# on the specified dashboard. For more information, see
|
60
60
|
# [Google Cloud IAM](https://cloud.google.com/iam).
|
61
|
-
rpc :DeleteDashboard, Google::Cloud::Monitoring::Dashboard::V1::DeleteDashboardRequest, Google::Protobuf::Empty
|
61
|
+
rpc :DeleteDashboard, ::Google::Cloud::Monitoring::Dashboard::V1::DeleteDashboardRequest, ::Google::Protobuf::Empty
|
62
62
|
# Replaces an existing custom dashboard with a new definition.
|
63
63
|
#
|
64
64
|
# This method requires the `monitoring.dashboards.update` permission
|
65
65
|
# on the specified dashboard. For more information, see
|
66
66
|
# [Google Cloud IAM](https://cloud.google.com/iam).
|
67
|
-
rpc :UpdateDashboard, Google::Cloud::Monitoring::Dashboard::V1::UpdateDashboardRequest, Google::Cloud::Monitoring::Dashboard::V1::Dashboard
|
67
|
+
rpc :UpdateDashboard, ::Google::Cloud::Monitoring::Dashboard::V1::UpdateDashboardRequest, ::Google::Cloud::Monitoring::Dashboard::V1::Dashboard
|
68
68
|
end
|
69
69
|
|
70
70
|
Stub = Service.rpc_stub_class
|
@@ -54,6 +54,12 @@ module Google
|
|
54
54
|
# This indicates that the field may be set once in a request to create a
|
55
55
|
# resource, but may not be changed thereafter.
|
56
56
|
IMMUTABLE = 5
|
57
|
+
|
58
|
+
# Denotes that a (repeated) field is an unordered list.
|
59
|
+
# This indicates that the service may provide the elements of the list
|
60
|
+
# in any arbitrary order, rather than the order the user originally
|
61
|
+
# provided. Additionally, the list's order may or may not be stable.
|
62
|
+
UNORDERED_LIST = 6
|
57
63
|
end
|
58
64
|
end
|
59
65
|
end
|
@@ -43,12 +43,12 @@ module Google
|
|
43
43
|
#
|
44
44
|
# The ResourceDescriptor Yaml config will look like:
|
45
45
|
#
|
46
|
-
#
|
47
|
-
#
|
48
|
-
#
|
49
|
-
#
|
50
|
-
#
|
51
|
-
#
|
46
|
+
# resources:
|
47
|
+
# - type: "pubsub.googleapis.com/Topic"
|
48
|
+
# name_descriptor:
|
49
|
+
# - pattern: "projects/{project}/topics/{topic}"
|
50
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
51
|
+
# parent_name_extractor: "projects/{project}"
|
52
52
|
#
|
53
53
|
# Sometimes, resources have multiple patterns, typically because they can
|
54
54
|
# live under multiple parents.
|
@@ -183,15 +183,24 @@ module Google
|
|
183
183
|
# }
|
184
184
|
# @!attribute [rw] plural
|
185
185
|
# @return [::String]
|
186
|
-
# The plural name used in the resource name, such as
|
187
|
-
# the name of 'projects/\\{project}'
|
188
|
-
#
|
186
|
+
# The plural name used in the resource name and permission names, such as
|
187
|
+
# 'projects' for the resource name of 'projects/\\{project}' and the permission
|
188
|
+
# name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
|
189
|
+
# concept of the `plural` field in k8s CRD spec
|
189
190
|
# https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
|
191
|
+
#
|
192
|
+
# Note: The plural form is required even for singleton resources. See
|
193
|
+
# https://aip.dev/156
|
190
194
|
# @!attribute [rw] singular
|
191
195
|
# @return [::String]
|
192
196
|
# The same concept of the `singular` field in k8s CRD spec
|
193
197
|
# https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
|
194
198
|
# Such as "project" for the `resourcemanager.googleapis.com/Project` type.
|
199
|
+
# @!attribute [rw] style
|
200
|
+
# @return [::Array<::Google::Api::ResourceDescriptor::Style>]
|
201
|
+
# Style flag(s) for this resource.
|
202
|
+
# These indicate that a resource is expected to conform to a given
|
203
|
+
# style. See the specific style flags for additional information.
|
195
204
|
class ResourceDescriptor
|
196
205
|
include ::Google::Protobuf::MessageExts
|
197
206
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -211,6 +220,22 @@ module Google
|
|
211
220
|
# that from being necessary once there are multiple patterns.)
|
212
221
|
FUTURE_MULTI_PATTERN = 2
|
213
222
|
end
|
223
|
+
|
224
|
+
# A flag representing a specific style that a resource claims to conform to.
|
225
|
+
module Style
|
226
|
+
# The unspecified value. Do not use.
|
227
|
+
STYLE_UNSPECIFIED = 0
|
228
|
+
|
229
|
+
# This resource is intended to be "declarative-friendly".
|
230
|
+
#
|
231
|
+
# Declarative-friendly resources must be more strictly consistent, and
|
232
|
+
# setting this to true communicates to tools that this resource should
|
233
|
+
# adhere to declarative-friendly expectations.
|
234
|
+
#
|
235
|
+
# Note: This is used by the API linter (linter.aip.dev) to enable
|
236
|
+
# additional checks.
|
237
|
+
DECLARATIVE_FRIENDLY = 1
|
238
|
+
end
|
214
239
|
end
|
215
240
|
|
216
241
|
# Defines a proto annotation that describes a string field that refers to
|
@@ -226,6 +251,17 @@ module Google
|
|
226
251
|
# type: "pubsub.googleapis.com/Topic"
|
227
252
|
# }];
|
228
253
|
# }
|
254
|
+
#
|
255
|
+
# Occasionally, a field may reference an arbitrary resource. In this case,
|
256
|
+
# APIs use the special value * in their resource reference.
|
257
|
+
#
|
258
|
+
# Example:
|
259
|
+
#
|
260
|
+
# message GetIamPolicyRequest {
|
261
|
+
# string resource = 2 [(google.api.resource_reference) = {
|
262
|
+
# type: "*"
|
263
|
+
# }];
|
264
|
+
# }
|
229
265
|
# @!attribute [rw] child_type
|
230
266
|
# @return [::String]
|
231
267
|
# The resource type of a child collection that the annotated field
|
@@ -234,11 +270,11 @@ module Google
|
|
234
270
|
#
|
235
271
|
# Example:
|
236
272
|
#
|
237
|
-
#
|
238
|
-
#
|
239
|
-
#
|
240
|
-
#
|
241
|
-
#
|
273
|
+
# message ListLogEntriesRequest {
|
274
|
+
# string parent = 1 [(google.api.resource_reference) = {
|
275
|
+
# child_type: "logging.googleapis.com/LogEntry"
|
276
|
+
# };
|
277
|
+
# }
|
242
278
|
class ResourceReference
|
243
279
|
include ::Google::Protobuf::MessageExts
|
244
280
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -57,10 +57,13 @@ module Google
|
|
57
57
|
# Example 4: Pack and unpack a message in Go
|
58
58
|
#
|
59
59
|
# foo := &pb.Foo{...}
|
60
|
-
# any, err :=
|
60
|
+
# any, err := anypb.New(foo)
|
61
|
+
# if err != nil {
|
62
|
+
# ...
|
63
|
+
# }
|
61
64
|
# ...
|
62
65
|
# foo := &pb.Foo{}
|
63
|
-
# if err :=
|
66
|
+
# if err := any.UnmarshalTo(foo); err != nil {
|
64
67
|
# ...
|
65
68
|
# }
|
66
69
|
#
|
@@ -70,7 +70,16 @@ module Google
|
|
70
70
|
# .setNanos((int) ((millis % 1000) * 1000000)).build();
|
71
71
|
#
|
72
72
|
#
|
73
|
-
# Example 5: Compute Timestamp from
|
73
|
+
# Example 5: Compute Timestamp from Java `Instant.now()`.
|
74
|
+
#
|
75
|
+
# Instant now = Instant.now();
|
76
|
+
#
|
77
|
+
# Timestamp timestamp =
|
78
|
+
# Timestamp.newBuilder().setSeconds(now.getEpochSecond())
|
79
|
+
# .setNanos(now.getNano()).build();
|
80
|
+
#
|
81
|
+
#
|
82
|
+
# Example 6: Compute Timestamp from current time in Python.
|
74
83
|
#
|
75
84
|
# timestamp = Timestamp()
|
76
85
|
# timestamp.GetCurrentTime()
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-monitoring-dashboard-v1
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Google LLC
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gapic-common
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.3'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0.
|
26
|
+
version: '0.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: google-cloud-errors
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -152,7 +152,10 @@ dependencies:
|
|
152
152
|
version: '0.9'
|
153
153
|
description: Cloud Monitoring collects metrics, events, and metadata from Google Cloud,
|
154
154
|
Amazon Web Services (AWS), hosted uptime probes, and application instrumentation.
|
155
|
-
The Dashboards API manages arrangements of display widgets.
|
155
|
+
The Dashboards API manages arrangements of display widgets. Note that google-cloud-monitoring-dashboard-v1
|
156
|
+
is a version-specific client library. For most uses, we recommend installing the
|
157
|
+
main client library google-cloud-monitoring-dashboard instead. See the readme for
|
158
|
+
more details.
|
156
159
|
email: googleapis-packages@google.com
|
157
160
|
executables: []
|
158
161
|
extensions: []
|
@@ -218,7 +221,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
218
221
|
- !ruby/object:Gem::Version
|
219
222
|
version: '0'
|
220
223
|
requirements: []
|
221
|
-
rubygems_version: 3.
|
224
|
+
rubygems_version: 3.2.6
|
222
225
|
signing_key:
|
223
226
|
specification_version: 4
|
224
227
|
summary: API Client library for the Cloud Monitoring Dashboards V1 API
|