google-cloud-service_management-v1 0.1.1 → 0.3.3
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/AUTHENTICATION.md +8 -8
- data/LICENSE.md +188 -190
- data/README.md +67 -3
- data/lib/google/api/servicemanagement/v1/servicemanager_services_pb.rb +1 -1
- data/lib/google/cloud/service_management/v1/service_manager.rb +1 -1
- data/lib/google/cloud/service_management/v1/service_manager/client.rb +40 -34
- data/lib/google/cloud/service_management/v1/service_manager/operations.rb +95 -10
- data/lib/google/cloud/service_management/v1/version.rb +1 -1
- data/proto_docs/google/api/auth.rb +69 -14
- data/proto_docs/google/api/backend.rb +118 -2
- data/proto_docs/google/api/billing.rb +18 -7
- data/proto_docs/google/api/config_change.rb +1 -1
- data/proto_docs/google/api/context.rb +27 -0
- data/proto_docs/google/api/documentation.rb +13 -7
- data/proto_docs/google/api/endpoint.rb +10 -10
- data/proto_docs/google/api/field_behavior.rb +12 -0
- data/proto_docs/google/api/launch_stage.rb +71 -0
- data/proto_docs/google/api/metric.rb +109 -36
- data/proto_docs/google/api/monitored_resource.rb +7 -6
- data/proto_docs/google/api/monitoring.rb +39 -20
- data/proto_docs/google/api/quota.rb +10 -84
- data/proto_docs/google/api/service.rb +16 -14
- data/proto_docs/google/api/servicemanagement/v1/resources.rb +1 -1
- data/proto_docs/google/api/servicemanagement/v1/servicemanager.rb +11 -11
- data/proto_docs/google/api/usage.rb +6 -0
- data/proto_docs/google/longrunning/operations.rb +17 -3
- data/proto_docs/google/protobuf/any.rb +5 -2
- data/proto_docs/google/protobuf/api.rb +1 -1
- data/proto_docs/google/protobuf/duration.rb +98 -0
- data/proto_docs/google/protobuf/timestamp.rb +10 -1
- metadata +21 -10
@@ -39,17 +39,133 @@ module Google
|
|
39
39
|
# @!attribute [rw] address
|
40
40
|
# @return [::String]
|
41
41
|
# The address of the API backend.
|
42
|
+
#
|
43
|
+
# The scheme is used to determine the backend protocol and security.
|
44
|
+
# The following schemes are accepted:
|
45
|
+
#
|
46
|
+
# SCHEME PROTOCOL SECURITY
|
47
|
+
# http:// HTTP None
|
48
|
+
# https:// HTTP TLS
|
49
|
+
# grpc:// gRPC None
|
50
|
+
# grpcs:// gRPC TLS
|
51
|
+
#
|
52
|
+
# It is recommended to explicitly include a scheme. Leaving out the scheme
|
53
|
+
# may cause constrasting behaviors across platforms.
|
54
|
+
#
|
55
|
+
# If the port is unspecified, the default is:
|
56
|
+
# - 80 for schemes without TLS
|
57
|
+
# - 443 for schemes with TLS
|
58
|
+
#
|
59
|
+
# For HTTP backends, use {::Google::Api::BackendRule#protocol protocol}
|
60
|
+
# to specify the protocol version.
|
42
61
|
# @!attribute [rw] deadline
|
43
62
|
# @return [::Float]
|
44
|
-
# The number of seconds to wait for a response from a request.
|
45
|
-
#
|
63
|
+
# The number of seconds to wait for a response from a request. The default
|
64
|
+
# varies based on the request protocol and deployment environment.
|
46
65
|
# @!attribute [rw] min_deadline
|
47
66
|
# @return [::Float]
|
48
67
|
# Minimum deadline in seconds needed for this method. Calls having deadline
|
49
68
|
# value lower than this will be rejected.
|
69
|
+
# @!attribute [rw] operation_deadline
|
70
|
+
# @return [::Float]
|
71
|
+
# The number of seconds to wait for the completion of a long running
|
72
|
+
# operation. The default is no deadline.
|
73
|
+
# @!attribute [rw] path_translation
|
74
|
+
# @return [::Google::Api::BackendRule::PathTranslation]
|
75
|
+
# @!attribute [rw] jwt_audience
|
76
|
+
# @return [::String]
|
77
|
+
# The JWT audience is used when generating a JWT ID token for the backend.
|
78
|
+
# This ID token will be added in the HTTP "authorization" header, and sent
|
79
|
+
# to the backend.
|
80
|
+
# @!attribute [rw] disable_auth
|
81
|
+
# @return [::Boolean]
|
82
|
+
# When disable_auth is true, a JWT ID token won't be generated and the
|
83
|
+
# original "Authorization" HTTP header will be preserved. If the header is
|
84
|
+
# used to carry the original token and is expected by the backend, this
|
85
|
+
# field must be set to true to preserve the header.
|
86
|
+
# @!attribute [rw] protocol
|
87
|
+
# @return [::String]
|
88
|
+
# The protocol used for sending a request to the backend.
|
89
|
+
# The supported values are "http/1.1" and "h2".
|
90
|
+
#
|
91
|
+
# The default value is inferred from the scheme in the
|
92
|
+
# {::Google::Api::BackendRule#address address} field:
|
93
|
+
#
|
94
|
+
# SCHEME PROTOCOL
|
95
|
+
# http:// http/1.1
|
96
|
+
# https:// http/1.1
|
97
|
+
# grpc:// h2
|
98
|
+
# grpcs:// h2
|
99
|
+
#
|
100
|
+
# For secure HTTP backends (https://) that support HTTP/2, set this field
|
101
|
+
# to "h2" for improved performance.
|
102
|
+
#
|
103
|
+
# Configuring this field to non-default values is only supported for secure
|
104
|
+
# HTTP backends. This field will be ignored for all other backends.
|
105
|
+
#
|
106
|
+
# See
|
107
|
+
# https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids
|
108
|
+
# for more details on the supported values.
|
50
109
|
class BackendRule
|
51
110
|
include ::Google::Protobuf::MessageExts
|
52
111
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
112
|
+
|
113
|
+
# Path Translation specifies how to combine the backend address with the
|
114
|
+
# request path in order to produce the appropriate forwarding URL for the
|
115
|
+
# request.
|
116
|
+
#
|
117
|
+
# Path Translation is applicable only to HTTP-based backends. Backends which
|
118
|
+
# do not accept requests over HTTP/HTTPS should leave `path_translation`
|
119
|
+
# unspecified.
|
120
|
+
module PathTranslation
|
121
|
+
PATH_TRANSLATION_UNSPECIFIED = 0
|
122
|
+
|
123
|
+
# Use the backend address as-is, with no modification to the path. If the
|
124
|
+
# URL pattern contains variables, the variable names and values will be
|
125
|
+
# appended to the query string. If a query string parameter and a URL
|
126
|
+
# pattern variable have the same name, this may result in duplicate keys in
|
127
|
+
# the query string.
|
128
|
+
#
|
129
|
+
# # Examples
|
130
|
+
#
|
131
|
+
# Given the following operation config:
|
132
|
+
#
|
133
|
+
# Method path: /api/company/{cid}/user/{uid}
|
134
|
+
# Backend address: https://example.cloudfunctions.net/getUser
|
135
|
+
#
|
136
|
+
# Requests to the following request paths will call the backend at the
|
137
|
+
# translated path:
|
138
|
+
#
|
139
|
+
# Request path: /api/company/widgetworks/user/johndoe
|
140
|
+
# Translated:
|
141
|
+
# https://example.cloudfunctions.net/getUser?cid=widgetworks&uid=johndoe
|
142
|
+
#
|
143
|
+
# Request path: /api/company/widgetworks/user/johndoe?timezone=EST
|
144
|
+
# Translated:
|
145
|
+
# https://example.cloudfunctions.net/getUser?timezone=EST&cid=widgetworks&uid=johndoe
|
146
|
+
CONSTANT_ADDRESS = 1
|
147
|
+
|
148
|
+
# The request path will be appended to the backend address.
|
149
|
+
#
|
150
|
+
# # Examples
|
151
|
+
#
|
152
|
+
# Given the following operation config:
|
153
|
+
#
|
154
|
+
# Method path: /api/company/{cid}/user/{uid}
|
155
|
+
# Backend address: https://example.appspot.com
|
156
|
+
#
|
157
|
+
# Requests to the following request paths will call the backend at the
|
158
|
+
# translated path:
|
159
|
+
#
|
160
|
+
# Request path: /api/company/widgetworks/user/johndoe
|
161
|
+
# Translated:
|
162
|
+
# https://example.appspot.com/api/company/widgetworks/user/johndoe
|
163
|
+
#
|
164
|
+
# Request path: /api/company/widgetworks/user/johndoe?timezone=EST
|
165
|
+
# Translated:
|
166
|
+
# https://example.appspot.com/api/company/widgetworks/user/johndoe?timezone=EST
|
167
|
+
APPEND_PATH_TO_ADDRESS = 2
|
168
|
+
end
|
53
169
|
end
|
54
170
|
end
|
55
171
|
end
|
@@ -22,22 +22,33 @@ module Google
|
|
22
22
|
# Billing related configuration of the service.
|
23
23
|
#
|
24
24
|
# The following example shows how to configure monitored resources and metrics
|
25
|
-
# for billing
|
25
|
+
# for billing, `consumer_destinations` is the only supported destination and
|
26
|
+
# the monitored resources need at least one label key
|
27
|
+
# `cloud.googleapis.com/location` to indicate the location of the billing
|
28
|
+
# usage, using different monitored resources between monitoring and billing is
|
29
|
+
# recommended so they can be evolved independently:
|
30
|
+
#
|
26
31
|
#
|
27
32
|
# monitored_resources:
|
28
|
-
# - type: library.googleapis.com/
|
33
|
+
# - type: library.googleapis.com/billing_branch
|
29
34
|
# labels:
|
30
|
-
# - key: /
|
31
|
-
# description:
|
32
|
-
#
|
33
|
-
#
|
35
|
+
# - key: cloud.googleapis.com/location
|
36
|
+
# description: |
|
37
|
+
# Predefined label to support billing location restriction.
|
38
|
+
# - key: city
|
39
|
+
# description: |
|
40
|
+
# Custom label to define the city where the library branch is located
|
41
|
+
# in.
|
42
|
+
# - key: name
|
43
|
+
# description: Custom label to define the name of the library branch.
|
34
44
|
# metrics:
|
35
45
|
# - name: library.googleapis.com/book/borrowed_count
|
36
46
|
# metric_kind: DELTA
|
37
47
|
# value_type: INT64
|
48
|
+
# unit: "1"
|
38
49
|
# billing:
|
39
50
|
# consumer_destinations:
|
40
|
-
# - monitored_resource: library.googleapis.com/
|
51
|
+
# - monitored_resource: library.googleapis.com/billing_branch
|
41
52
|
# metrics:
|
42
53
|
# - library.googleapis.com/book/borrowed_count
|
43
54
|
# @!attribute [rw] consumer_destinations
|
@@ -33,7 +33,7 @@ module Google
|
|
33
33
|
# 'key' is used. If the field has no unique identifier, the numeric index
|
34
34
|
# is used.
|
35
35
|
# Examples:
|
36
|
-
# - visibility.rules[selector=="google.LibraryService.
|
36
|
+
# - visibility.rules[selector=="google.LibraryService.ListBooks"].restriction
|
37
37
|
# - quota.metric_rules[selector=="google"].metric_costs[key=="reads"].value
|
38
38
|
# - logging.producer_destinations[0]
|
39
39
|
# @!attribute [rw] old_value
|
@@ -36,6 +36,25 @@ module Google
|
|
36
36
|
#
|
37
37
|
# Available context types are defined in package
|
38
38
|
# `google.rpc.context`.
|
39
|
+
#
|
40
|
+
# This also provides mechanism to allowlist any protobuf message extension that
|
41
|
+
# can be sent in grpc metadata using “x-goog-ext-<extension_id>-bin” and
|
42
|
+
# “x-goog-ext-<extension_id>-jspb” format. For example, list any service
|
43
|
+
# specific protobuf types that can appear in grpc metadata as follows in your
|
44
|
+
# yaml file:
|
45
|
+
#
|
46
|
+
# Example:
|
47
|
+
#
|
48
|
+
# context:
|
49
|
+
# rules:
|
50
|
+
# - selector: "google.example.library.v1.LibraryService.CreateBook"
|
51
|
+
# allowed_request_extensions:
|
52
|
+
# - google.foo.v1.NewExtension
|
53
|
+
# allowed_response_extensions:
|
54
|
+
# - google.foo.v1.NewExtension
|
55
|
+
#
|
56
|
+
# You can also specify extension ID instead of fully qualified extension name
|
57
|
+
# here.
|
39
58
|
# @!attribute [rw] rules
|
40
59
|
# @return [::Array<::Google::Api::ContextRule>]
|
41
60
|
# A list of RPC context rules that apply to individual API methods.
|
@@ -59,6 +78,14 @@ module Google
|
|
59
78
|
# @!attribute [rw] provided
|
60
79
|
# @return [::Array<::String>]
|
61
80
|
# A list of full type names of provided contexts.
|
81
|
+
# @!attribute [rw] allowed_request_extensions
|
82
|
+
# @return [::Array<::String>]
|
83
|
+
# A list of full type names or extension IDs of extensions allowed in grpc
|
84
|
+
# side channel from client to backend.
|
85
|
+
# @!attribute [rw] allowed_response_extensions
|
86
|
+
# @return [::Array<::String>]
|
87
|
+
# A list of full type names or extension IDs of extensions allowed in grpc
|
88
|
+
# side channel from backend to client.
|
62
89
|
class ContextRule
|
63
90
|
include ::Google::Protobuf::MessageExts
|
64
91
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -89,6 +89,12 @@ module Google
|
|
89
89
|
# @!attribute [rw] documentation_root_url
|
90
90
|
# @return [::String]
|
91
91
|
# The URL to the root of documentation.
|
92
|
+
# @!attribute [rw] service_root_url
|
93
|
+
# @return [::String]
|
94
|
+
# Specifies the service root url if the default one (the service name
|
95
|
+
# from the yaml file) is not suitable. This can be seen in any fully
|
96
|
+
# specified service urls as well as sections that show a base that other
|
97
|
+
# urls are relative to.
|
92
98
|
# @!attribute [rw] overview
|
93
99
|
# @return [::String]
|
94
100
|
# Declares a single overview page. For example:
|
@@ -115,16 +121,16 @@ module Google
|
|
115
121
|
# The selector is a comma-separated list of patterns. Each pattern is a
|
116
122
|
# qualified name of the element which may end in "*", indicating a wildcard.
|
117
123
|
# Wildcards are only allowed at the end and for a whole component of the
|
118
|
-
# qualified name, i.e. "foo.*" is ok, but not "foo.b*" or "foo.*.bar".
|
119
|
-
#
|
120
|
-
# is used.
|
124
|
+
# qualified name, i.e. "foo.*" is ok, but not "foo.b*" or "foo.*.bar". A
|
125
|
+
# wildcard will match one or more components. To specify a default for all
|
126
|
+
# applicable elements, the whole pattern "*" is used.
|
121
127
|
# @!attribute [rw] description
|
122
128
|
# @return [::String]
|
123
129
|
# Description of the selected API(s).
|
124
130
|
# @!attribute [rw] deprecation_description
|
125
131
|
# @return [::String]
|
126
|
-
# Deprecation description of the selected element(s). It can be provided if
|
127
|
-
# element is marked as `deprecated`.
|
132
|
+
# Deprecation description of the selected element(s). It can be provided if
|
133
|
+
# an element is marked as `deprecated`.
|
128
134
|
class DocumentationRule
|
129
135
|
include ::Google::Protobuf::MessageExts
|
130
136
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -150,8 +156,8 @@ module Google
|
|
150
156
|
# `[Java][Tutorial.Java]`.
|
151
157
|
# @!attribute [rw] content
|
152
158
|
# @return [::String]
|
153
|
-
# The Markdown content of the page. You can use <code>(== include \\{path}
|
154
|
-
# to include content from a Markdown file.
|
159
|
+
# The Markdown content of the page. You can use <code>(== include \\{path}
|
160
|
+
# ==)</code> to include content from a Markdown file.
|
155
161
|
# @!attribute [rw] subpages
|
156
162
|
# @return [::Array<::Google::Api::Page>]
|
157
163
|
# Subpages of this page. The order of subpages specified here will be
|
@@ -19,10 +19,10 @@
|
|
19
19
|
|
20
20
|
module Google
|
21
21
|
module Api
|
22
|
-
# `Endpoint` describes a network endpoint that serves a set of
|
23
|
-
#
|
24
|
-
#
|
25
|
-
#
|
22
|
+
# `Endpoint` describes a network endpoint of a service that serves a set of
|
23
|
+
# APIs. It is commonly known as a service endpoint. A service may expose
|
24
|
+
# any number of service endpoints, and all service endpoints share the same
|
25
|
+
# service definition, such as quota limits and monitoring metrics.
|
26
26
|
#
|
27
27
|
# Example service configuration:
|
28
28
|
#
|
@@ -40,20 +40,20 @@ module Google
|
|
40
40
|
# The canonical name of this endpoint.
|
41
41
|
# @!attribute [rw] aliases
|
42
42
|
# @return [::Array<::String>]
|
43
|
+
# Unimplemented. Dot not use.
|
44
|
+
#
|
43
45
|
# DEPRECATED: This field is no longer supported. Instead of using aliases,
|
44
46
|
# please specify multiple {::Google::Api::Endpoint google.api.Endpoint} for each of the intended
|
45
47
|
# aliases.
|
46
48
|
#
|
47
49
|
# Additional names that this endpoint will be hosted on.
|
48
|
-
# @!attribute [rw] features
|
49
|
-
# @return [::Array<::String>]
|
50
|
-
# The list of features enabled on this endpoint.
|
51
50
|
# @!attribute [rw] target
|
52
51
|
# @return [::String]
|
53
52
|
# The specification of an Internet routable address of API frontend that will
|
54
|
-
# handle requests to this [API
|
55
|
-
# It should be
|
56
|
-
#
|
53
|
+
# handle requests to this [API
|
54
|
+
# Endpoint](https://cloud.google.com/apis/design/glossary). It should be
|
55
|
+
# either a valid IPv4 address or a fully-qualified domain name. For example,
|
56
|
+
# "8.8.8.8" or "myservice.appspot.com".
|
57
57
|
# @!attribute [rw] allow_cors
|
58
58
|
# @return [::Boolean]
|
59
59
|
# Allowing
|
@@ -54,6 +54,18 @@ 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
|
63
|
+
|
64
|
+
# Denotes that this field returns a non-empty default value if not set.
|
65
|
+
# This indicates that if the user provides the empty value in a request,
|
66
|
+
# a non-empty value will be returned. The user will not be aware of what
|
67
|
+
# non-empty value to expect.
|
68
|
+
NON_EMPTY_DEFAULT = 7
|
57
69
|
end
|
58
70
|
end
|
59
71
|
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2021 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 Api
|
22
|
+
# The launch stage as defined by [Google Cloud Platform
|
23
|
+
# Launch Stages](http://cloud.google.com/terms/launch-stages).
|
24
|
+
module LaunchStage
|
25
|
+
# Do not use this default value.
|
26
|
+
LAUNCH_STAGE_UNSPECIFIED = 0
|
27
|
+
|
28
|
+
# The feature is not yet implemented. Users can not use it.
|
29
|
+
UNIMPLEMENTED = 6
|
30
|
+
|
31
|
+
# Prelaunch features are hidden from users and are only visible internally.
|
32
|
+
PRELAUNCH = 7
|
33
|
+
|
34
|
+
# Early Access features are limited to a closed group of testers. To use
|
35
|
+
# these features, you must sign up in advance and sign a Trusted Tester
|
36
|
+
# agreement (which includes confidentiality provisions). These features may
|
37
|
+
# be unstable, changed in backward-incompatible ways, and are not
|
38
|
+
# guaranteed to be released.
|
39
|
+
EARLY_ACCESS = 1
|
40
|
+
|
41
|
+
# Alpha is a limited availability test for releases before they are cleared
|
42
|
+
# for widespread use. By Alpha, all significant design issues are resolved
|
43
|
+
# and we are in the process of verifying functionality. Alpha customers
|
44
|
+
# need to apply for access, agree to applicable terms, and have their
|
45
|
+
# projects allowlisted. Alpha releases don’t have to be feature complete,
|
46
|
+
# no SLAs are provided, and there are no technical support obligations, but
|
47
|
+
# they will be far enough along that customers can actually use them in
|
48
|
+
# test environments or for limited-use tests -- just like they would in
|
49
|
+
# normal production cases.
|
50
|
+
ALPHA = 2
|
51
|
+
|
52
|
+
# Beta is the point at which we are ready to open a release for any
|
53
|
+
# customer to use. There are no SLA or technical support obligations in a
|
54
|
+
# Beta release. Products will be complete from a feature perspective, but
|
55
|
+
# may have some open outstanding issues. Beta releases are suitable for
|
56
|
+
# limited production use cases.
|
57
|
+
BETA = 3
|
58
|
+
|
59
|
+
# GA features are open to all developers and are considered stable and
|
60
|
+
# fully qualified for production use.
|
61
|
+
GA = 4
|
62
|
+
|
63
|
+
# Deprecated features are scheduled to be shut down and removed. For more
|
64
|
+
# information, see the “Deprecation Policy” section of our [Terms of
|
65
|
+
# Service](https://cloud.google.com/terms/)
|
66
|
+
# and the [Google Cloud Platform Subject to the Deprecation
|
67
|
+
# Policy](https://cloud.google.com/terms/deprecation) documentation.
|
68
|
+
DEPRECATED = 5
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
@@ -28,11 +28,12 @@ module Google
|
|
28
28
|
# @!attribute [rw] type
|
29
29
|
# @return [::String]
|
30
30
|
# The metric type, including its DNS name prefix. The type is not
|
31
|
-
# URL-encoded.
|
32
|
-
# `custom.googleapis.com`.
|
33
|
-
# grouping. For example:
|
31
|
+
# URL-encoded. All user-defined metric types have the DNS name
|
32
|
+
# `custom.googleapis.com` or `external.googleapis.com`. Metric types should
|
33
|
+
# use a natural hierarchical grouping. For example:
|
34
34
|
#
|
35
35
|
# "custom.googleapis.com/invoice/paid/amount"
|
36
|
+
# "external.googleapis.com/prometheus/up"
|
36
37
|
# "appengine.googleapis.com/http/server/response_latencies"
|
37
38
|
# @!attribute [rw] labels
|
38
39
|
# @return [::Array<::Google::Api::LabelDescriptor>]
|
@@ -52,10 +53,28 @@ module Google
|
|
52
53
|
# Some combinations of `metric_kind` and `value_type` might not be supported.
|
53
54
|
# @!attribute [rw] unit
|
54
55
|
# @return [::String]
|
55
|
-
# The
|
56
|
-
# if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The
|
57
|
-
#
|
58
|
-
#
|
56
|
+
# The units in which the metric value is reported. It is only applicable
|
57
|
+
# if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`
|
58
|
+
# defines the representation of the stored metric values.
|
59
|
+
#
|
60
|
+
# Different systems might scale the values to be more easily displayed (so a
|
61
|
+
# value of `0.02kBy` _might_ be displayed as `20By`, and a value of
|
62
|
+
# `3523kBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is
|
63
|
+
# `kBy`, then the value of the metric is always in thousands of bytes, no
|
64
|
+
# matter how it might be displayed.
|
65
|
+
#
|
66
|
+
# If you want a custom metric to record the exact number of CPU-seconds used
|
67
|
+
# by a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is
|
68
|
+
# `s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005
|
69
|
+
# CPU-seconds, then the value is written as `12005`.
|
70
|
+
#
|
71
|
+
# Alternatively, if you want a custom metric to record data in a more
|
72
|
+
# granular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is
|
73
|
+
# `ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),
|
74
|
+
# or use `Kis{CPU}` and write `11.723` (which is `12005/1024`).
|
75
|
+
#
|
76
|
+
# The supported units are a subset of [The Unified Code for Units of
|
77
|
+
# Measure](https://unitsofmeasure.org/ucum.html) standard:
|
59
78
|
#
|
60
79
|
# **Basic units (UNIT)**
|
61
80
|
#
|
@@ -65,36 +84,44 @@ module Google
|
|
65
84
|
# * `min` minute
|
66
85
|
# * `h` hour
|
67
86
|
# * `d` day
|
87
|
+
# * `1` dimensionless
|
68
88
|
#
|
69
89
|
# **Prefixes (PREFIX)**
|
70
90
|
#
|
71
|
-
# * `k` kilo (10
|
72
|
-
# * `M` mega (10
|
73
|
-
# * `G` giga (10
|
74
|
-
# * `T` tera (10
|
75
|
-
# * `P` peta (10
|
76
|
-
# * `E` exa (10
|
77
|
-
# * `Z` zetta (10
|
78
|
-
# * `Y` yotta (10
|
79
|
-
#
|
80
|
-
# * `
|
81
|
-
# * `
|
82
|
-
# * `
|
83
|
-
# * `
|
84
|
-
# * `
|
85
|
-
# * `
|
86
|
-
# * `
|
87
|
-
# * `
|
88
|
-
#
|
89
|
-
# * `
|
90
|
-
# * `
|
91
|
+
# * `k` kilo (10^3)
|
92
|
+
# * `M` mega (10^6)
|
93
|
+
# * `G` giga (10^9)
|
94
|
+
# * `T` tera (10^12)
|
95
|
+
# * `P` peta (10^15)
|
96
|
+
# * `E` exa (10^18)
|
97
|
+
# * `Z` zetta (10^21)
|
98
|
+
# * `Y` yotta (10^24)
|
99
|
+
#
|
100
|
+
# * `m` milli (10^-3)
|
101
|
+
# * `u` micro (10^-6)
|
102
|
+
# * `n` nano (10^-9)
|
103
|
+
# * `p` pico (10^-12)
|
104
|
+
# * `f` femto (10^-15)
|
105
|
+
# * `a` atto (10^-18)
|
106
|
+
# * `z` zepto (10^-21)
|
107
|
+
# * `y` yocto (10^-24)
|
108
|
+
#
|
109
|
+
# * `Ki` kibi (2^10)
|
110
|
+
# * `Mi` mebi (2^20)
|
111
|
+
# * `Gi` gibi (2^30)
|
112
|
+
# * `Ti` tebi (2^40)
|
113
|
+
# * `Pi` pebi (2^50)
|
91
114
|
#
|
92
115
|
# **Grammar**
|
93
116
|
#
|
94
117
|
# The grammar also includes these connectors:
|
95
118
|
#
|
96
|
-
# * `/` division (as an infix operator
|
97
|
-
#
|
119
|
+
# * `/` division or ratio (as an infix operator). For examples,
|
120
|
+
# `kBy/{email}` or `MiBy/10ms` (although you should almost never
|
121
|
+
# have `/s` in a metric `unit`; rates should always be computed at
|
122
|
+
# query time from the underlying cumulative or delta value).
|
123
|
+
# * `.` multiplication or composition (as an infix operator). For
|
124
|
+
# examples, `GBy.d` or `k{watt}.h`.
|
98
125
|
#
|
99
126
|
# The grammar for a unit is as follows:
|
100
127
|
#
|
@@ -109,14 +136,25 @@ module Google
|
|
109
136
|
#
|
110
137
|
# Notes:
|
111
138
|
#
|
112
|
-
# * `Annotation` is just a comment if it follows a `UNIT
|
113
|
-
#
|
114
|
-
# `{
|
139
|
+
# * `Annotation` is just a comment if it follows a `UNIT`. If the annotation
|
140
|
+
# is used alone, then the unit is equivalent to `1`. For examples,
|
141
|
+
# `{request}/s == 1/s`, `By{transmitted}/s == By/s`.
|
115
142
|
# * `NAME` is a sequence of non-blank printable ASCII characters not
|
116
|
-
# containing
|
117
|
-
# * `1` represents
|
118
|
-
#
|
119
|
-
#
|
143
|
+
# containing `{` or `}`.
|
144
|
+
# * `1` represents a unitary [dimensionless
|
145
|
+
# unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such
|
146
|
+
# as in `1/s`. It is typically used when none of the basic units are
|
147
|
+
# appropriate. For example, "new users per day" can be represented as
|
148
|
+
# `1/d` or `{new-users}/d` (and a metric value `5` would mean "5 new
|
149
|
+
# users). Alternatively, "thousands of page views per day" would be
|
150
|
+
# represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric
|
151
|
+
# value of `5.3` would mean "5300 page views per day").
|
152
|
+
# * `%` represents dimensionless value of 1/100, and annotates values giving
|
153
|
+
# a percentage (so the metric values are typically in the range of 0..100,
|
154
|
+
# and a metric value `3` means "3 percent").
|
155
|
+
# * `10^2.%` indicates a metric contains a ratio, typically in the range
|
156
|
+
# 0..1, that will be multiplied by 100 and displayed as a percentage
|
157
|
+
# (so a metric value `0.03` means "3 percent").
|
120
158
|
# @!attribute [rw] description
|
121
159
|
# @return [::String]
|
122
160
|
# A detailed description of the metric, which can be used in documentation.
|
@@ -126,11 +164,46 @@ module Google
|
|
126
164
|
# Use sentence case without an ending period, for example "Request count".
|
127
165
|
# This field is optional but it is recommended to be set for any metrics
|
128
166
|
# associated with user-visible concepts, such as Quota.
|
167
|
+
# @!attribute [rw] metadata
|
168
|
+
# @return [::Google::Api::MetricDescriptor::MetricDescriptorMetadata]
|
169
|
+
# Optional. Metadata which can be used to guide usage of the metric.
|
170
|
+
# @!attribute [rw] launch_stage
|
171
|
+
# @return [::Google::Api::LaunchStage]
|
172
|
+
# Optional. The launch stage of the metric definition.
|
173
|
+
# @!attribute [rw] monitored_resource_types
|
174
|
+
# @return [::Array<::String>]
|
175
|
+
# Read-only. If present, then a [time
|
176
|
+
# series][google.monitoring.v3.TimeSeries], which is identified partially by
|
177
|
+
# a metric type and a {::Google::Api::MonitoredResourceDescriptor MonitoredResourceDescriptor}, that is associated
|
178
|
+
# with this metric type can only be associated with one of the monitored
|
179
|
+
# resource types listed here.
|
129
180
|
class MetricDescriptor
|
130
181
|
include ::Google::Protobuf::MessageExts
|
131
182
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
132
183
|
|
184
|
+
# Additional annotations that can be used to guide the usage of a metric.
|
185
|
+
# @!attribute [rw] launch_stage
|
186
|
+
# @return [::Google::Api::LaunchStage]
|
187
|
+
# Deprecated. Must use the {::Google::Api::MetricDescriptor#launch_stage MetricDescriptor.launch_stage} instead.
|
188
|
+
# @!attribute [rw] sample_period
|
189
|
+
# @return [::Google::Protobuf::Duration]
|
190
|
+
# The sampling period of metric data points. For metrics which are written
|
191
|
+
# periodically, consecutive data points are stored at this time interval,
|
192
|
+
# excluding data loss due to errors. Metrics with a higher granularity have
|
193
|
+
# a smaller sampling period.
|
194
|
+
# @!attribute [rw] ingest_delay
|
195
|
+
# @return [::Google::Protobuf::Duration]
|
196
|
+
# The delay of data points caused by ingestion. Data points older than this
|
197
|
+
# age are guaranteed to be ingested and available to be read, excluding
|
198
|
+
# data loss due to errors.
|
199
|
+
class MetricDescriptorMetadata
|
200
|
+
include ::Google::Protobuf::MessageExts
|
201
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
202
|
+
end
|
203
|
+
|
133
204
|
# The kind of measurement. It describes how the data is reported.
|
205
|
+
# For information on setting the start time and end time based on
|
206
|
+
# the MetricKind, see [TimeInterval][google.monitoring.v3.TimeInterval].
|
134
207
|
module MetricKind
|
135
208
|
# Do not use this default value.
|
136
209
|
METRIC_KIND_UNSPECIFIED = 0
|