google-cloud-monitoring-dashboard-v1 0.1.1 → 0.2.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.
@@ -26,10 +26,10 @@ module Google
26
26
  # of pages in the Stackdriver web application.
27
27
  # @!attribute [rw] name
28
28
  # @return [::String]
29
- # The resource name of the dashboard.
29
+ # Immutable. The resource name of the dashboard.
30
30
  # @!attribute [rw] display_name
31
31
  # @return [::String]
32
- # The mutable, human-readable name.
32
+ # Required. The mutable, human-readable name.
33
33
  # @!attribute [rw] etag
34
34
  # @return [::String]
35
35
  # `etag` is used for optimistic concurrency control as a way to help
@@ -25,9 +25,11 @@ module Google
25
25
  # The `CreateDashboard` request.
26
26
  # @!attribute [rw] parent
27
27
  # @return [::String]
28
- # Required. The project on which to execute the request. The format is
29
- # `"projects/{project_id_or_number}"`. The \\{project_id_or_number} must match
30
- # the dashboard resource name.
28
+ # Required. The project on which to execute the request. The format is:
29
+ #
30
+ # projects/[PROJECT_ID_OR_NUMBER]
31
+ #
32
+ # The `[PROJECT_ID_OR_NUMBER]` must match the dashboard resource name.
31
33
  # @!attribute [rw] dashboard
32
34
  # @return [::Google::Cloud::Monitoring::Dashboard::V1::Dashboard]
33
35
  # Required. The initial dashboard specification.
@@ -39,8 +41,9 @@ module Google
39
41
  # The `ListDashboards` request.
40
42
  # @!attribute [rw] parent
41
43
  # @return [::String]
42
- # Required. The scope of the dashboards to list. A project scope must be
43
- # specified in the form of `"projects/{project_id_or_number}"`.
44
+ # Required. The scope of the dashboards to list. The format is:
45
+ #
46
+ # projects/[PROJECT_ID_OR_NUMBER]
44
47
  # @!attribute [rw] page_size
45
48
  # @return [::Integer]
46
49
  # A positive number that is the maximum number of results to return.
@@ -63,7 +66,7 @@ module Google
63
66
  # @return [::String]
64
67
  # If there are more results than have been returned, then this field is set
65
68
  # to a non-empty value. To see the additional results,
66
- # use that value as `pageToken` in the next call to this method.
69
+ # use that value as `page_token` in the next call to this method.
67
70
  class ListDashboardsResponse
68
71
  include ::Google::Protobuf::MessageExts
69
72
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -72,10 +75,11 @@ module Google
72
75
  # The `GetDashboard` request.
73
76
  # @!attribute [rw] name
74
77
  # @return [::String]
75
- # Required. The resource name of the Dashboard. The format is one of
76
- # `"dashboards/{dashboard_id}"` (for system dashboards) or
77
- # `"projects/{project_id_or_number}/dashboards/{dashboard_id}"`
78
- # (for custom dashboards).
78
+ # Required. The resource name of the Dashboard. The format is one of:
79
+ #
80
+ # - `dashboards/[DASHBOARD_ID]` (for system dashboards)
81
+ # - `projects/[PROJECT_ID_OR_NUMBER]/dashboards/[DASHBOARD_ID]`
82
+ # (for custom dashboards).
79
83
  class GetDashboardRequest
80
84
  include ::Google::Protobuf::MessageExts
81
85
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -84,8 +88,9 @@ module Google
84
88
  # The `DeleteDashboard` request.
85
89
  # @!attribute [rw] name
86
90
  # @return [::String]
87
- # Required. The resource name of the Dashboard. The format is
88
- # `"projects/{project_id_or_number}/dashboards/{dashboard_id}"`.
91
+ # Required. The resource name of the Dashboard. The format is:
92
+ #
93
+ # projects/[PROJECT_ID_OR_NUMBER]/dashboards/[DASHBOARD_ID]
89
94
  class DeleteDashboardRequest
90
95
  include ::Google::Protobuf::MessageExts
91
96
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -30,6 +30,9 @@ module Google
30
30
  # @!attribute [rw] time_series_filter_ratio
31
31
  # @return [::Google::Cloud::Monitoring::Dashboard::V1::TimeSeriesFilterRatio]
32
32
  # Parameters to fetch a ratio between two time series filters.
33
+ # @!attribute [rw] time_series_query_language
34
+ # @return [::String]
35
+ # A query used to fetch time series.
33
36
  # @!attribute [rw] unit_override
34
37
  # @return [::String]
35
38
  # The unit of data contained in fetched time series. If non-empty, this
@@ -48,19 +51,23 @@ module Google
48
51
  # method.
49
52
  # @!attribute [rw] filter
50
53
  # @return [::String]
51
- # Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the
52
- # metric types, resources, and projects to query.
54
+ # Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
55
+ # that identifies the metric types, resources, and projects to query.
53
56
  # @!attribute [rw] aggregation
54
57
  # @return [::Google::Cloud::Monitoring::Dashboard::V1::Aggregation]
55
58
  # By default, the raw time series data is returned.
56
59
  # Use this field to combine multiple time series for different views of the
57
60
  # data.
61
+ # @!attribute [rw] secondary_aggregation
62
+ # @return [::Google::Cloud::Monitoring::Dashboard::V1::Aggregation]
63
+ # Apply a second aggregation after `aggregation` is applied.
58
64
  # @!attribute [rw] pick_time_series_filter
59
65
  # @return [::Google::Cloud::Monitoring::Dashboard::V1::PickTimeSeriesFilter]
60
66
  # Ranking based time series filter.
61
67
  # @!attribute [rw] statistical_time_series_filter
62
68
  # @return [::Google::Cloud::Monitoring::Dashboard::V1::StatisticalTimeSeriesFilter]
63
69
  # Statistics based time series filter.
70
+ # Note: This field is deprecated and completely ignored by the API.
64
71
  class TimeSeriesFilter
65
72
  include ::Google::Protobuf::MessageExts
66
73
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -84,6 +91,7 @@ module Google
84
91
  # @!attribute [rw] statistical_time_series_filter
85
92
  # @return [::Google::Cloud::Monitoring::Dashboard::V1::StatisticalTimeSeriesFilter]
86
93
  # Statistics based time series filter.
94
+ # Note: This field is deprecated and completely ignored by the API.
87
95
  class TimeSeriesFilterRatio
88
96
  include ::Google::Protobuf::MessageExts
89
97
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -92,8 +100,9 @@ module Google
92
100
  # TimeSeriesFilterRatio.
93
101
  # @!attribute [rw] filter
94
102
  # @return [::String]
95
- # Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the
96
- # metric types, resources, and projects to query.
103
+ # Required. The [monitoring
104
+ # filter](https://cloud.google.com/monitoring/api/v3/filters) that
105
+ # identifies the metric types, resources, and projects to query.
97
106
  # @!attribute [rw] aggregation
98
107
  # @return [::Google::Cloud::Monitoring::Dashboard::V1::Aggregation]
99
108
  # By default, the raw time series data is returned.
@@ -26,7 +26,7 @@ module Google
26
26
  # one or more thresholds.
27
27
  # @!attribute [rw] time_series_query
28
28
  # @return [::Google::Cloud::Monitoring::Dashboard::V1::TimeSeriesQuery]
29
- # Fields for querying time series data from the
29
+ # Required. Fields for querying time series data from the
30
30
  # Stackdriver metrics API.
31
31
  # @!attribute [rw] gauge_view
32
32
  # @return [::Google::Cloud::Monitoring::Dashboard::V1::Scorecard::GaugeView]
@@ -97,7 +97,7 @@ module Google
97
97
  # timeseries.
98
98
  # @!attribute [rw] spark_chart_type
99
99
  # @return [::Google::Cloud::Monitoring::Dashboard::V1::SparkChartType]
100
- # The type of sparkchart to show in this chartView.
100
+ # Required. The type of sparkchart to show in this chartView.
101
101
  # @!attribute [rw] min_alignment_period
102
102
  # @return [::Google::Protobuf::Duration]
103
103
  # The lower bound on data point frequency in the chart implemented by
@@ -25,7 +25,7 @@ module Google
25
25
  # A chart that displays data on a 2D (X and Y axes) plane.
26
26
  # @!attribute [rw] data_sets
27
27
  # @return [::Array<::Google::Cloud::Monitoring::Dashboard::V1::XyChart::DataSet>]
28
- # The data displayed in this chart.
28
+ # Required. The data displayed in this chart.
29
29
  # @!attribute [rw] timeshift_duration
30
30
  # @return [::Google::Protobuf::Duration]
31
31
  # The duration used to display a comparison chart. A comparison chart
@@ -52,7 +52,7 @@ module Google
52
52
  # Groups a time series query definition with charting options.
53
53
  # @!attribute [rw] time_series_query
54
54
  # @return [::Google::Cloud::Monitoring::Dashboard::V1::TimeSeriesQuery]
55
- # Fields for querying time series data from the
55
+ # Required. Fields for querying time series data from the
56
56
  # Stackdriver metrics API.
57
57
  # @!attribute [rw] plot_type
58
58
  # @return [::Google::Cloud::Monitoring::Dashboard::V1::XyChart::DataSet::PlotType]
@@ -60,7 +60,7 @@ module Google
60
60
  # @!attribute [rw] legend_template
61
61
  # @return [::String]
62
62
  # A template string for naming `TimeSeries` in the resulting data set.
63
- # This should be a string with interpolations of the form $\\{label_name},
63
+ # This should be a string with interpolations of the form `${label_name}`,
64
64
  # which will resolve to the label's value.
65
65
  # @!attribute [rw] min_alignment_period
66
66
  # @return [::Google::Protobuf::Duration]
@@ -0,0 +1,138 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Protobuf
22
+ # `Any` contains an arbitrary serialized protocol buffer message along with a
23
+ # URL that describes the type of the serialized message.
24
+ #
25
+ # Protobuf library provides support to pack/unpack Any values in the form
26
+ # of utility functions or additional generated methods of the Any type.
27
+ #
28
+ # Example 1: Pack and unpack a message in C++.
29
+ #
30
+ # Foo foo = ...;
31
+ # Any any;
32
+ # any.PackFrom(foo);
33
+ # ...
34
+ # if (any.UnpackTo(&foo)) {
35
+ # ...
36
+ # }
37
+ #
38
+ # Example 2: Pack and unpack a message in Java.
39
+ #
40
+ # Foo foo = ...;
41
+ # Any any = Any.pack(foo);
42
+ # ...
43
+ # if (any.is(Foo.class)) {
44
+ # foo = any.unpack(Foo.class);
45
+ # }
46
+ #
47
+ # Example 3: Pack and unpack a message in Python.
48
+ #
49
+ # foo = Foo(...)
50
+ # any = Any()
51
+ # any.Pack(foo)
52
+ # ...
53
+ # if any.Is(Foo.DESCRIPTOR):
54
+ # any.Unpack(foo)
55
+ # ...
56
+ #
57
+ # Example 4: Pack and unpack a message in Go
58
+ #
59
+ # foo := &pb.Foo{...}
60
+ # any, err := ptypes.MarshalAny(foo)
61
+ # ...
62
+ # foo := &pb.Foo{}
63
+ # if err := ptypes.UnmarshalAny(any, foo); err != nil {
64
+ # ...
65
+ # }
66
+ #
67
+ # The pack methods provided by protobuf library will by default use
68
+ # 'type.googleapis.com/full.type.name' as the type URL and the unpack
69
+ # methods only use the fully qualified type name after the last '/'
70
+ # in the type URL, for example "foo.bar.com/x/y.z" will yield type
71
+ # name "y.z".
72
+ #
73
+ #
74
+ # JSON
75
+ # ====
76
+ # The JSON representation of an `Any` value uses the regular
77
+ # representation of the deserialized, embedded message, with an
78
+ # additional field `@type` which contains the type URL. Example:
79
+ #
80
+ # package google.profile;
81
+ # message Person {
82
+ # string first_name = 1;
83
+ # string last_name = 2;
84
+ # }
85
+ #
86
+ # {
87
+ # "@type": "type.googleapis.com/google.profile.Person",
88
+ # "firstName": <string>,
89
+ # "lastName": <string>
90
+ # }
91
+ #
92
+ # If the embedded message type is well-known and has a custom JSON
93
+ # representation, that representation will be embedded adding a field
94
+ # `value` which holds the custom JSON in addition to the `@type`
95
+ # field. Example (for message [google.protobuf.Duration][]):
96
+ #
97
+ # {
98
+ # "@type": "type.googleapis.com/google.protobuf.Duration",
99
+ # "value": "1.212s"
100
+ # }
101
+ # @!attribute [rw] type_url
102
+ # @return [::String]
103
+ # A URL/resource name that uniquely identifies the type of the serialized
104
+ # protocol buffer message. This string must contain at least
105
+ # one "/" character. The last segment of the URL's path must represent
106
+ # the fully qualified name of the type (as in
107
+ # `path/google.protobuf.Duration`). The name should be in a canonical form
108
+ # (e.g., leading "." is not accepted).
109
+ #
110
+ # In practice, teams usually precompile into the binary all types that they
111
+ # expect it to use in the context of Any. However, for URLs which use the
112
+ # scheme `http`, `https`, or no scheme, one can optionally set up a type
113
+ # server that maps type URLs to message definitions as follows:
114
+ #
115
+ # * If no scheme is provided, `https` is assumed.
116
+ # * An HTTP GET on the URL must yield a [google.protobuf.Type][]
117
+ # value in binary format, or produce an error.
118
+ # * Applications are allowed to cache lookup results based on the
119
+ # URL, or have them precompiled into a binary to avoid any
120
+ # lookup. Therefore, binary compatibility needs to be preserved
121
+ # on changes to types. (Use versioned type names to manage
122
+ # breaking changes.)
123
+ #
124
+ # Note: this functionality is not currently available in the official
125
+ # protobuf release, and it is not used for type URLs beginning with
126
+ # type.googleapis.com.
127
+ #
128
+ # Schemes other than `http`, `https` (or the empty scheme) might be
129
+ # used with implementation specific semantics.
130
+ # @!attribute [rw] value
131
+ # @return [::String]
132
+ # Must be a valid serialized protocol buffer of the above specified type.
133
+ class Any
134
+ include ::Google::Protobuf::MessageExts
135
+ extend ::Google::Protobuf::MessageExts::ClassMethods
136
+ end
137
+ end
138
+ end
@@ -0,0 +1,120 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Protobuf
22
+ # A Timestamp represents a point in time independent of any time zone or local
23
+ # calendar, encoded as a count of seconds and fractions of seconds at
24
+ # nanosecond resolution. The count is relative to an epoch at UTC midnight on
25
+ # January 1, 1970, in the proleptic Gregorian calendar which extends the
26
+ # Gregorian calendar backwards to year one.
27
+ #
28
+ # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
29
+ # second table is needed for interpretation, using a [24-hour linear
30
+ # smear](https://developers.google.com/time/smear).
31
+ #
32
+ # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
33
+ # restricting to that range, we ensure that we can convert to and from [RFC
34
+ # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
35
+ #
36
+ # # Examples
37
+ #
38
+ # Example 1: Compute Timestamp from POSIX `time()`.
39
+ #
40
+ # Timestamp timestamp;
41
+ # timestamp.set_seconds(time(NULL));
42
+ # timestamp.set_nanos(0);
43
+ #
44
+ # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
45
+ #
46
+ # struct timeval tv;
47
+ # gettimeofday(&tv, NULL);
48
+ #
49
+ # Timestamp timestamp;
50
+ # timestamp.set_seconds(tv.tv_sec);
51
+ # timestamp.set_nanos(tv.tv_usec * 1000);
52
+ #
53
+ # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
54
+ #
55
+ # FILETIME ft;
56
+ # GetSystemTimeAsFileTime(&ft);
57
+ # UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
58
+ #
59
+ # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
60
+ # // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
61
+ # Timestamp timestamp;
62
+ # timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
63
+ # timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
64
+ #
65
+ # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
66
+ #
67
+ # long millis = System.currentTimeMillis();
68
+ #
69
+ # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
70
+ # .setNanos((int) ((millis % 1000) * 1000000)).build();
71
+ #
72
+ #
73
+ # Example 5: Compute Timestamp from current time in Python.
74
+ #
75
+ # timestamp = Timestamp()
76
+ # timestamp.GetCurrentTime()
77
+ #
78
+ # # JSON Mapping
79
+ #
80
+ # In JSON format, the Timestamp type is encoded as a string in the
81
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
82
+ # format is "\\{year}-\\{month}-\\{day}T\\{hour}:\\{min}:\\{sec}[.\\{frac_sec}]Z"
83
+ # where \\{year} is always expressed using four digits while \\{month}, \\{day},
84
+ # \\{hour}, \\{min}, and \\{sec} are zero-padded to two digits each. The fractional
85
+ # seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
86
+ # are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
87
+ # is required. A proto3 JSON serializer should always use UTC (as indicated by
88
+ # "Z") when printing the Timestamp type and a proto3 JSON parser should be
89
+ # able to accept both UTC and other timezones (as indicated by an offset).
90
+ #
91
+ # For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
92
+ # 01:30 UTC on January 15, 2017.
93
+ #
94
+ # In JavaScript, one can convert a Date object to this format using the
95
+ # standard
96
+ # [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
97
+ # method. In Python, a standard `datetime.datetime` object can be converted
98
+ # to this format using
99
+ # [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
100
+ # the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
101
+ # the Joda Time's [`ISODateTimeFormat.dateTime()`](
102
+ # http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D
103
+ # ) to obtain a formatter capable of generating timestamps in this format.
104
+ # @!attribute [rw] seconds
105
+ # @return [::Integer]
106
+ # Represents seconds of UTC time since Unix epoch
107
+ # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
108
+ # 9999-12-31T23:59:59Z inclusive.
109
+ # @!attribute [rw] nanos
110
+ # @return [::Integer]
111
+ # Non-negative fractions of a second at nanosecond resolution. Negative
112
+ # second values with fractions must still have non-negative nanos values
113
+ # that count forward in time. Must be from 0 to 999,999,999
114
+ # inclusive.
115
+ class Timestamp
116
+ include ::Google::Protobuf::MessageExts
117
+ extend ::Google::Protobuf::MessageExts::ClassMethods
118
+ end
119
+ end
120
+ end
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.1.1
4
+ version: 0.2.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: 2020-06-08 00:00:00.000000000 Z
11
+ date: 2020-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -167,6 +167,7 @@ files:
167
167
  - lib/google/cloud/monitoring/dashboard/v1/dashboards_service.rb
168
168
  - lib/google/cloud/monitoring/dashboard/v1/dashboards_service/client.rb
169
169
  - lib/google/cloud/monitoring/dashboard/v1/dashboards_service/credentials.rb
170
+ - lib/google/cloud/monitoring/dashboard/v1/dashboards_service/paths.rb
170
171
  - lib/google/cloud/monitoring/dashboard/v1/version.rb
171
172
  - lib/google/monitoring/dashboard/v1/common_pb.rb
172
173
  - lib/google/monitoring/dashboard/v1/dashboard_pb.rb
@@ -181,6 +182,7 @@ files:
181
182
  - lib/google/monitoring/dashboard/v1/widget_pb.rb
182
183
  - lib/google/monitoring/dashboard/v1/xychart_pb.rb
183
184
  - proto_docs/README.md
185
+ - proto_docs/google/api/distribution.rb
184
186
  - proto_docs/google/api/field_behavior.rb
185
187
  - proto_docs/google/api/resource.rb
186
188
  - proto_docs/google/monitoring/dashboard/v1/common.rb
@@ -192,9 +194,11 @@ files:
192
194
  - proto_docs/google/monitoring/dashboard/v1/text.rb
193
195
  - proto_docs/google/monitoring/dashboard/v1/widget.rb
194
196
  - proto_docs/google/monitoring/dashboard/v1/xychart.rb
197
+ - proto_docs/google/protobuf/any.rb
195
198
  - proto_docs/google/protobuf/duration.rb
196
199
  - proto_docs/google/protobuf/empty.rb
197
200
  - proto_docs/google/protobuf/field_mask.rb
201
+ - proto_docs/google/protobuf/timestamp.rb
198
202
  homepage: https://github.com/googleapis/google-cloud-ruby
199
203
  licenses:
200
204
  - Apache-2.0