google-cloud-service_management-v1 0.3.2 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7306075531d44e8358f0c03b0b9390c61d1409b39888d5bde21f755859b30f77
4
- data.tar.gz: 9a29ecd54533e71dd540c9f64d90a3c3d056b505a9b3c9ace3038592dd544076
3
+ metadata.gz: faa6c83fb44c47cab7383ee4dbdab273ca6ebc9f063bdf65f7fb4de00b58d97f
4
+ data.tar.gz: bd0e7ee461809f43e833cd4f2924dd6874d9164a4c3276cb8f5c2474bf764bf1
5
5
  SHA512:
6
- metadata.gz: 380636b6dd08932958e911cdd7cdee42d9cf11311cf23694f4d8375cfdaa799c0a7d2f1cf2b3693de02eacb5eeea57bf154e4b6ff84a1794c790a29ba63e1aa4
7
- data.tar.gz: b98e03ff9014001a463d8f61fb6729749a26d54a906fe5ad14bc06232088a740dab1cc51a2003859a9230b3c9c3359d718da6537c39c73a26ab6319e7d8e3970
6
+ metadata.gz: 669ab7105ca677b89db972b83b7cd3be7dc20f227be23570c6a051ecdd1015d253f3dcc6b2da00fc80617c707635c1e15b27133fa24fde6188aca73e293dcc31
7
+ data.tar.gz: c937965c156a805b8f1b4849f77b0027c8f7705b3f22918e262942e6d1d291785596492616f66d550376de2f658e496c0ac49e0c483e574fbb3f2392c26e0692
data/AUTHENTICATION.md CHANGED
@@ -66,11 +66,11 @@ The environment variables that google-cloud-service_management-v1
66
66
  checks for credentials are configured on the service Credentials class (such as
67
67
  {::Google::Cloud::ServiceManagement::V1::ServiceManager::Credentials}):
68
68
 
69
- 1. `SERVICE_MANAGEMENT_CREDENTIALS` - Path to JSON file, or JSON contents
70
- 2. `SERVICE_MANAGEMENT_KEYFILE` - Path to JSON file, or JSON contents
71
- 3. `GOOGLE_CLOUD_CREDENTIALS` - Path to JSON file, or JSON contents
72
- 4. `GOOGLE_CLOUD_KEYFILE` - Path to JSON file, or JSON contents
73
- 5. `GOOGLE_APPLICATION_CREDENTIALS` - Path to JSON file
69
+ * `SERVICE_MANAGEMENT_CREDENTIALS` - Path to JSON file, or JSON contents
70
+ * `SERVICE_MANAGEMENT_KEYFILE` - Path to JSON file, or JSON contents
71
+ * `GOOGLE_CLOUD_CREDENTIALS` - Path to JSON file, or JSON contents
72
+ * `GOOGLE_CLOUD_KEYFILE` - Path to JSON file, or JSON contents
73
+ * `GOOGLE_APPLICATION_CREDENTIALS` - Path to JSON file
74
74
 
75
75
  ```ruby
76
76
  require "google/cloud/service_management/v1"
@@ -82,8 +82,8 @@ client = ::Google::Cloud::ServiceManagement::V1::ServiceManager::Client.new
82
82
 
83
83
  ### Configuration
84
84
 
85
- The **Credentials JSON** can be configured instead of placing them in
86
- environment variables. Either on an individual client initialization:
85
+ The path to the **Credentials JSON** file can be configured instead of storing
86
+ it in an environment variable. Either on an individual client initialization:
87
87
 
88
88
  ```ruby
89
89
  require "google/cloud/service_management/v1"
@@ -93,7 +93,7 @@ client = ::Google::Cloud::ServiceManagement::V1::ServiceManager::Client.new do |
93
93
  end
94
94
  ```
95
95
 
96
- Or configured globally for all clients:
96
+ Or globally for all clients:
97
97
 
98
98
  ```ruby
99
99
  require "google/cloud/service_management/v1"
data/README.md CHANGED
@@ -33,7 +33,7 @@ In order to use this library, you first need to go through the following steps:
33
33
  require "google/cloud/service_management/v1"
34
34
 
35
35
  client = ::Google::Cloud::ServiceManagement::V1::ServiceManager::Client.new
36
- request = my_create_request
36
+ request = ::Google::Cloud::ServiceManagement::V1::ListServicesRequest.new # (request fields as keyword arguments...)
37
37
  response = client.list_services request
38
38
  ```
39
39
 
@@ -27,7 +27,7 @@ module Google
27
27
  # [Google Service Management API](https://cloud.google.com/service-management/overview)
28
28
  class Service
29
29
 
30
- include ::GRPC::GenericService
30
+ include GRPC::GenericService
31
31
 
32
32
  self.marshal_class_method = :encode
33
33
  self.unmarshal_class_method = :decode
@@ -131,7 +131,7 @@ module Google
131
131
  !@config.endpoint.split(".").first.include?("-")
132
132
  credentials ||= Credentials.default scope: @config.scope,
133
133
  enable_self_signed_jwt: enable_self_signed_jwt
134
- if credentials.is_a?(String) || credentials.is_a?(Hash)
134
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
135
135
  credentials = Credentials.new credentials, scope: @config.scope
136
136
  end
137
137
  @quota_project_id = @config.quota_project
@@ -82,7 +82,7 @@ module Google
82
82
  # Create credentials
83
83
  credentials = @config.credentials
84
84
  credentials ||= Credentials.default scope: @config.scope
85
- if credentials.is_a?(String) || credentials.is_a?(Hash)
85
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
86
86
  credentials = Credentials.new credentials, scope: @config.scope
87
87
  end
88
88
  @quota_project_id = @config.quota_project
@@ -396,9 +396,9 @@ module Google
396
396
  end
397
397
 
398
398
  ##
399
- # Waits for the specified long-running operation until it is done or reaches
400
- # at most a specified timeout, returning the latest state. If the operation
401
- # is already done, the latest state is immediately returned. If the timeout
399
+ # Waits until the specified long-running operation is done or reaches at most
400
+ # a specified timeout, returning the latest state. If the operation is
401
+ # already done, the latest state is immediately returned. If the timeout
402
402
  # specified is greater than the default HTTP/RPC timeout, the HTTP/RPC
403
403
  # timeout is used. If the server does not support this method, it returns
404
404
  # `google.rpc.Code.UNIMPLEMENTED`.
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module ServiceManagement
23
23
  module V1
24
- VERSION = "0.3.2"
24
+ VERSION = "0.3.3"
25
25
  end
26
26
  end
27
27
  end
@@ -19,9 +19,10 @@
19
19
 
20
20
  module Google
21
21
  module Api
22
- # `Authentication` defines the authentication configuration for an API.
22
+ # `Authentication` defines the authentication configuration for API methods
23
+ # provided by an API service.
23
24
  #
24
- # Example for an API targeted for external use:
25
+ # Example:
25
26
  #
26
27
  # name: calendar.googleapis.com
27
28
  # authentication:
@@ -33,6 +34,9 @@ module Google
33
34
  # - selector: "*"
34
35
  # requirements:
35
36
  # provider_id: google_calendar_auth
37
+ # - selector: google.calendar.Delegate
38
+ # oauth:
39
+ # canonical_scopes: https://www.googleapis.com/auth/calendar.read
36
40
  # @!attribute [rw] rules
37
41
  # @return [::Array<::Google::Api::AuthenticationRule>]
38
42
  # A list of authentication rules that apply to individual API methods.
@@ -66,6 +70,7 @@ module Google
66
70
  # @!attribute [rw] allow_without_credential
67
71
  # @return [::Boolean]
68
72
  # If true, the service accepts API keys without any other credential.
73
+ # This flag only applies to HTTP and gRPC requests.
69
74
  # @!attribute [rw] requirements
70
75
  # @return [::Array<::Google::Api::AuthRequirement>]
71
76
  # Requirements for additional authentication providers.
@@ -74,8 +79,31 @@ module Google
74
79
  extend ::Google::Protobuf::MessageExts::ClassMethods
75
80
  end
76
81
 
77
- # Configuration for an anthentication provider, including support for
78
- # [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
82
+ # Specifies a location to extract JWT from an API request.
83
+ # @!attribute [rw] header
84
+ # @return [::String]
85
+ # Specifies HTTP header name to extract JWT token.
86
+ # @!attribute [rw] query
87
+ # @return [::String]
88
+ # Specifies URL query parameter name to extract JWT token.
89
+ # @!attribute [rw] value_prefix
90
+ # @return [::String]
91
+ # The value prefix. The value format is "value_prefix\\{token}"
92
+ # Only applies to "in" header type. Must be empty for "in" query type.
93
+ # If not empty, the header value has to match (case sensitive) this prefix.
94
+ # If not matched, JWT will not be extracted. If matched, JWT will be
95
+ # extracted after the prefix is removed.
96
+ #
97
+ # For example, for "Authorization: Bearer \\{JWT}",
98
+ # value_prefix="Bearer " with a space at the end.
99
+ class JwtLocation
100
+ include ::Google::Protobuf::MessageExts
101
+ extend ::Google::Protobuf::MessageExts::ClassMethods
102
+ end
103
+
104
+ # Configuration for an authentication provider, including support for
105
+ # [JSON Web Token
106
+ # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
79
107
  # @!attribute [rw] id
80
108
  # @return [::String]
81
109
  # The unique identifier of the auth provider. It will be referred to by
@@ -93,12 +121,15 @@ module Google
93
121
  # @!attribute [rw] jwks_uri
94
122
  # @return [::String]
95
123
  # URL of the provider's public key set to validate signature of the JWT. See
96
- # [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
124
+ # [OpenID
125
+ # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
97
126
  # Optional if the key set document:
98
127
  # - can be retrieved from
99
- # [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html
128
+ # [OpenID
129
+ # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html)
100
130
  # of the issuer.
101
- # - can be inferred from the email domain of the issuer (e.g. a Google service account).
131
+ # - can be inferred from the email domain of the issuer (e.g. a Google
132
+ # service account).
102
133
  #
103
134
  # Example: https://www.googleapis.com/oauth2/v1/certs
104
135
  # @!attribute [rw] audiences
@@ -106,11 +137,15 @@ module Google
106
137
  # The list of JWT
107
138
  # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
108
139
  # that are allowed to access. A JWT containing any of these audiences will
109
- # be accepted. When this setting is absent, only JWTs with audience
110
- # "https://{::Google::Api::Service#name Service_name}/{::Google::Protobuf::Api#name API_name}"
111
- # will be accepted. For example, if no audiences are in the setting,
112
- # LibraryService API will only accept JWTs with the following audience
113
- # "https://library-example.googleapis.com/google.example.library.v1.LibraryService".
140
+ # be accepted. When this setting is absent, JWTs with audiences:
141
+ # - "https://[service.name]/[google.protobuf.Api.name]"
142
+ # - "https://[service.name]/"
143
+ # will be accepted.
144
+ # For example, if no audiences are in the setting, LibraryService API will
145
+ # accept JWTs with the following audiences:
146
+ # -
147
+ # https://library-example.googleapis.com/google.example.library.v1.LibraryService
148
+ # - https://library-example.googleapis.com/
114
149
  #
115
150
  # Example:
116
151
  #
@@ -118,8 +153,27 @@ module Google
118
153
  # bookstore_web.apps.googleusercontent.com
119
154
  # @!attribute [rw] authorization_url
120
155
  # @return [::String]
121
- # Redirect URL if JWT token is required but no present or is expired.
156
+ # Redirect URL if JWT token is required but not present or is expired.
122
157
  # Implement authorizationUrl of securityDefinitions in OpenAPI spec.
158
+ # @!attribute [rw] jwt_locations
159
+ # @return [::Array<::Google::Api::JwtLocation>]
160
+ # Defines the locations to extract the JWT.
161
+ #
162
+ # JWT locations can be either from HTTP headers or URL query parameters.
163
+ # The rule is that the first match wins. The checking order is: checking
164
+ # all headers first, then URL query parameters.
165
+ #
166
+ # If not specified, default to use following 3 locations:
167
+ # 1) Authorization: Bearer
168
+ # 2) x-goog-iap-jwt-assertion
169
+ # 3) access_token query parameter
170
+ #
171
+ # Default locations can be specified as followings:
172
+ # jwt_locations:
173
+ # - header: Authorization
174
+ # value_prefix: "Bearer "
175
+ # - header: x-goog-iap-jwt-assertion
176
+ # - query: access_token
123
177
  class AuthProvider
124
178
  include ::Google::Protobuf::MessageExts
125
179
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -158,7 +212,8 @@ module Google
158
212
  end
159
213
 
160
214
  # User-defined authentication requirements, including support for
161
- # [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
215
+ # [JSON Web Token
216
+ # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
162
217
  # @!attribute [rw] provider_id
163
218
  # @return [::String]
164
219
  # {::Google::Api::AuthProvider#id id} from authentication provider.
@@ -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. The default
45
- # deadline for gRPC is infinite (no deadline) and HTTP requests is 5 seconds.
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/branch
33
+ # - type: library.googleapis.com/billing_branch
29
34
  # labels:
30
- # - key: /city
31
- # description: The city where the library branch is located in.
32
- # - key: /name
33
- # description: The name of the branch.
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/branch
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.CreateBook"].restriction
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". To
119
- # specify a default for all applicable elements, the whole pattern "*"
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 an
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>&#40;== include \\{path} ==&#41;</code>
154
- # to include content from a Markdown file.
159
+ # The Markdown content of the page. You can use <code>&#40;== include \\{path}
160
+ # ==&#41;</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 APIs.
23
- # A service may expose any number of endpoints, and all endpoints share the
24
- # same service configuration, such as quota configuration and monitoring
25
- # configuration.
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 Endpoint](https://cloud.google.com/apis/design/glossary).
55
- # It should be either a valid IPv4 address or a fully-qualified domain name.
56
- # For example, "8.8.8.8" or "myservice.appspot.com".
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
@@ -57,9 +57,15 @@ module Google
57
57
 
58
58
  # Denotes that a (repeated) field is an unordered list.
59
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
60
+ # in any arbitrary order, rather than the order the user originally
61
61
  # provided. Additionally, the list's order may or may not be stable.
62
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
63
69
  end
64
70
  end
65
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. All user-defined custom metric types have the DNS name
32
- # `custom.googleapis.com`. Metric types should use a natural hierarchical
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 unit in which the metric value is reported. It is only applicable
56
- # if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The
57
- # supported units are a subset of [The Unified Code for Units of
58
- # Measure](http://unitsofmeasure.org/ucum.html) standard:
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**3)
72
- # * `M` mega (10**6)
73
- # * `G` giga (10**9)
74
- # * `T` tera (10**12)
75
- # * `P` peta (10**15)
76
- # * `E` exa (10**18)
77
- # * `Z` zetta (10**21)
78
- # * `Y` yotta (10**24)
79
- # * `m` milli (10**-3)
80
- # * `u` micro (10**-6)
81
- # * `n` nano (10**-9)
82
- # * `p` pico (10**-12)
83
- # * `f` femto (10**-15)
84
- # * `a` atto (10**-18)
85
- # * `z` zepto (10**-21)
86
- # * `y` yocto (10**-24)
87
- # * `Ki` kibi (2**10)
88
- # * `Mi` mebi (2**20)
89
- # * `Gi` gibi (2**30)
90
- # * `Ti` tebi (2**40)
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, e.g. `1/s`).
97
- # * `.` multiplication (as an infix operator, e.g. `GBy.d`)
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` and is
113
- # equivalent to `1` if it is used alone. For examples,
114
- # `{requests}/s == 1/s`, `By{transmitted}/s == By/s`.
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 '\\{' or '}'.
117
- # * `1` represents dimensionless value 1, such as in `1/s`.
118
- # * `%` represents dimensionless value 1/100, and annotates values giving
119
- # a percentage.
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
@@ -40,7 +40,6 @@ module Google
40
40
  # @return [::String]
41
41
  # Required. The monitored resource type. For example, the type
42
42
  # `"cloudsql_database"` represents databases in Google Cloud SQL.
43
- # The maximum length of this value is 256 characters.
44
43
  # @!attribute [rw] display_name
45
44
  # @return [::String]
46
45
  # Optional. A concise name for the monitored resource type that might be
@@ -56,6 +55,9 @@ module Google
56
55
  # Required. A set of labels used to describe instances of this monitored
57
56
  # resource type. For example, an individual Google Cloud SQL database is
58
57
  # identified by values for the labels `"database_id"` and `"zone"`.
58
+ # @!attribute [rw] launch_stage
59
+ # @return [::Google::Api::LaunchStage]
60
+ # Optional. The launch stage of the monitored resource definition.
59
61
  class MonitoredResourceDescriptor
60
62
  include ::Google::Protobuf::MessageExts
61
63
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -101,15 +103,14 @@ module Google
101
103
  # Auxiliary metadata for a {::Google::Api::MonitoredResource MonitoredResource} object.
102
104
  # {::Google::Api::MonitoredResource MonitoredResource} objects contain the minimum set of information to
103
105
  # uniquely identify a monitored resource instance. There is some other useful
104
- # auxiliary metadata. Google Stackdriver Monitoring & Logging uses an ingestion
105
- # pipeline to extract metadata for cloud resources of all types , and stores
106
+ # auxiliary metadata. Monitoring and Logging use an ingestion
107
+ # pipeline to extract metadata for cloud resources of all types, and store
106
108
  # the metadata in this message.
107
109
  # @!attribute [rw] system_labels
108
110
  # @return [::Google::Protobuf::Struct]
109
111
  # Output only. Values for predefined system metadata labels.
110
- # System labels are a kind of metadata extracted by Google Stackdriver.
111
- # Stackdriver determines what system labels are useful and how to obtain
112
- # their values. Some examples: "machine_image", "vpc", "subnet_id",
112
+ # System labels are a kind of metadata extracted by Google, including
113
+ # "machine_image", "vpc", "subnet_id",
113
114
  # "security_group", "name", etc.
114
115
  # System label values can be only strings, Boolean values, or a list of
115
116
  # strings. For example:
@@ -25,49 +25,68 @@ module Google
25
25
  # for monitoring. In the example, a monitored resource and two metrics are
26
26
  # defined. The `library.googleapis.com/book/returned_count` metric is sent
27
27
  # to both producer and consumer projects, whereas the
28
- # `library.googleapis.com/book/overdue_count` metric is only sent to the
28
+ # `library.googleapis.com/book/num_overdue` metric is only sent to the
29
29
  # consumer project.
30
30
  #
31
31
  # monitored_resources:
32
- # - type: library.googleapis.com/branch
32
+ # - type: library.googleapis.com/Branch
33
+ # display_name: "Library Branch"
34
+ # description: "A branch of a library."
35
+ # launch_stage: GA
33
36
  # labels:
34
- # - key: /city
35
- # description: The city where the library branch is located in.
36
- # - key: /name
37
- # description: The name of the branch.
37
+ # - key: resource_container
38
+ # description: "The Cloud container (ie. project id) for the Branch."
39
+ # - key: location
40
+ # description: "The location of the library branch."
41
+ # - key: branch_id
42
+ # description: "The id of the branch."
38
43
  # metrics:
39
44
  # - name: library.googleapis.com/book/returned_count
45
+ # display_name: "Books Returned"
46
+ # description: "The count of books that have been returned."
47
+ # launch_stage: GA
40
48
  # metric_kind: DELTA
41
49
  # value_type: INT64
50
+ # unit: "1"
42
51
  # labels:
43
- # - key: /customer_id
44
- # - name: library.googleapis.com/book/overdue_count
52
+ # - key: customer_id
53
+ # description: "The id of the customer."
54
+ # - name: library.googleapis.com/book/num_overdue
55
+ # display_name: "Books Overdue"
56
+ # description: "The current number of overdue books."
57
+ # launch_stage: GA
45
58
  # metric_kind: GAUGE
46
59
  # value_type: INT64
60
+ # unit: "1"
47
61
  # labels:
48
- # - key: /customer_id
62
+ # - key: customer_id
63
+ # description: "The id of the customer."
49
64
  # monitoring:
50
65
  # producer_destinations:
51
- # - monitored_resource: library.googleapis.com/branch
66
+ # - monitored_resource: library.googleapis.com/Branch
52
67
  # metrics:
53
68
  # - library.googleapis.com/book/returned_count
54
69
  # consumer_destinations:
55
- # - monitored_resource: library.googleapis.com/branch
70
+ # - monitored_resource: library.googleapis.com/Branch
56
71
  # metrics:
57
72
  # - library.googleapis.com/book/returned_count
58
- # - library.googleapis.com/book/overdue_count
73
+ # - library.googleapis.com/book/num_overdue
59
74
  # @!attribute [rw] producer_destinations
60
75
  # @return [::Array<::Google::Api::Monitoring::MonitoringDestination>]
61
76
  # Monitoring configurations for sending metrics to the producer project.
62
- # There can be multiple producer destinations, each one must have a
63
- # different monitored resource type. A metric can be used in at most
64
- # one producer destination.
77
+ # There can be multiple producer destinations. A monitored resource type may
78
+ # appear in multiple monitoring destinations if different aggregations are
79
+ # needed for different sets of metrics associated with that monitored
80
+ # resource type. A monitored resource and metric pair may only be used once
81
+ # in the Monitoring configuration.
65
82
  # @!attribute [rw] consumer_destinations
66
83
  # @return [::Array<::Google::Api::Monitoring::MonitoringDestination>]
67
84
  # Monitoring configurations for sending metrics to the consumer project.
68
- # There can be multiple consumer destinations, each one must have a
69
- # different monitored resource type. A metric can be used in at most
70
- # one consumer destination.
85
+ # There can be multiple consumer destinations. A monitored resource type may
86
+ # appear in multiple monitoring destinations if different aggregations are
87
+ # needed for different sets of metrics associated with that monitored
88
+ # resource type. A monitored resource and metric pair may only be used once
89
+ # in the Monitoring configuration.
71
90
  class Monitoring
72
91
  include ::Google::Protobuf::MessageExts
73
92
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -80,8 +99,8 @@ module Google
80
99
  # {::Google::Api::Service#monitored_resources Service.monitored_resources} section.
81
100
  # @!attribute [rw] metrics
82
101
  # @return [::Array<::String>]
83
- # Names of the metrics to report to this monitoring destination.
84
- # Each name must be defined in {::Google::Api::Service#metrics Service.metrics} section.
102
+ # Types of the metrics to report to this monitoring destination.
103
+ # Each type must be defined in {::Google::Api::Service#metrics Service.metrics} section.
85
104
  class MonitoringDestination
86
105
  include ::Google::Protobuf::MessageExts
87
106
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -22,7 +22,7 @@ module Google
22
22
  # Quota configuration helps to achieve fairness and budgeting in service
23
23
  # usage.
24
24
  #
25
- # The quota configuration works this way:
25
+ # The metric based quota configuration works this way:
26
26
  # - The service configuration defines a set of metrics.
27
27
  # - For API calls, the quota.metric_rules maps methods to metrics with
28
28
  # corresponding costs.
@@ -40,6 +40,7 @@ module Google
40
40
  # values:
41
41
  # STANDARD: 10000
42
42
  #
43
+ #
43
44
  # # The metric rules bind all methods to the read_calls metric,
44
45
  # # except for the UpdateBook and DeleteBook methods. These two methods
45
46
  # # are mapped to the write_calls metric, with the UpdateBook method
@@ -70,24 +71,17 @@ module Google
70
71
  # @!attribute [rw] limits
71
72
  # @return [::Array<::Google::Api::QuotaLimit>]
72
73
  # List of `QuotaLimit` definitions for the service.
73
- #
74
- # Used by metric-based quotas only.
75
74
  # @!attribute [rw] metric_rules
76
75
  # @return [::Array<::Google::Api::MetricRule>]
77
76
  # List of `MetricRule` definitions, each one mapping a selected method to one
78
77
  # or more metrics.
79
- #
80
- # Used by metric-based quotas only.
81
78
  class Quota
82
79
  include ::Google::Protobuf::MessageExts
83
80
  extend ::Google::Protobuf::MessageExts::ClassMethods
84
81
  end
85
82
 
86
83
  # Bind API methods to metrics. Binding a method to a metric causes that
87
- # metric's configured quota, billing, and monitoring behaviors to apply to the
88
- # method call.
89
- #
90
- # Used by metric-based quotas only.
84
+ # metric's configured quota behaviors to apply to the method call.
91
85
  # @!attribute [rw] selector
92
86
  # @return [::String]
93
87
  # Selects the methods to which this rule applies.
@@ -120,24 +114,12 @@ module Google
120
114
  # type combination defined within a `QuotaGroup`.
121
115
  # @!attribute [rw] name
122
116
  # @return [::String]
123
- # Name of the quota limit. The name is used to refer to the limit when
124
- # overriding the default limit on per-consumer basis.
117
+ # Name of the quota limit.
125
118
  #
126
- # For group-based quota limits, the name must be unique within the quota
127
- # group. If a name is not provided, it will be generated from the limit_by
128
- # and duration fields.
129
- #
130
- # For metric-based quota limits, the name must be provided, and it must be
131
- # unique within the service. The name can only include alphanumeric
132
- # characters as well as '-'.
119
+ # The name must be provided, and it must be unique within the service. The
120
+ # name can only include alphanumeric characters as well as '-'.
133
121
  #
134
122
  # The maximum length of the limit name is 64 characters.
135
- #
136
- # The name of a limit is used as a unique identifier for this limit.
137
- # Therefore, once a limit has been put into use, its name should be
138
- # immutable. You can use the display_name field to provide a user-friendly
139
- # name for the limit. The display name can be evolved over time without
140
- # affecting the identity of the limit.
141
123
  # @!attribute [rw] description
142
124
  # @return [::String]
143
125
  # Optional. User-visible, extended description for this quota limit.
@@ -178,10 +160,7 @@ module Google
178
160
  # Used by group-based quotas only.
179
161
  # @!attribute [rw] duration
180
162
  # @return [::String]
181
- # Duration of this limit in textual notation. Example: "100s", "24h", "1d".
182
- # For duration longer than a day, only multiple of days is supported. We
183
- # support only "100s" and "1d" for now. Additional support will be added in
184
- # the future. "0" indicates indefinite duration.
163
+ # Duration of this limit in textual notation. Must be "100s" or "1d".
185
164
  #
186
165
  # Used by group-based quotas only.
187
166
  # @!attribute [rw] metric
@@ -189,75 +168,22 @@ module Google
189
168
  # The name of the metric this quota limit applies to. The quota limits with
190
169
  # the same metric will be checked together during runtime. The metric must be
191
170
  # defined within the service config.
192
- #
193
- # Used by metric-based quotas only.
194
171
  # @!attribute [rw] unit
195
172
  # @return [::String]
196
173
  # Specify the unit of the quota limit. It uses the same syntax as
197
174
  # [Metric.unit][]. The supported unit kinds are determined by the quota
198
175
  # backend system.
199
176
  #
200
- # The [Google Service Control](https://cloud.google.com/service-control)
201
- # supports the following unit components:
202
- # * One of the time intevals:
203
- # * "/min" for quota every minute.
204
- # * "/d" for quota every 24 hours, starting 00:00 US Pacific Time.
205
- # * Otherwise the quota won't be reset by time, such as storage limit.
206
- # * One and only one of the granted containers:
207
- # * "/\\{organization}" quota for an organization.
208
- # * "/\\{project}" quota for a project.
209
- # * "/\\{folder}" quota for a folder.
210
- # * "/\\{resource}" quota for a universal resource.
211
- # * Zero or more quota segmentation dimension. Not all combos are valid.
212
- # * "/\\{region}" quota for every region. Not to be used with time intervals.
213
- # * Otherwise the resources granted on the target is not segmented.
214
- # * "/\\{zone}" quota for every zone. Not to be used with time intervals.
215
- # * Otherwise the resources granted on the target is not segmented.
216
- # * "/\\{resource}" quota for a resource associated with a project or org.
217
- #
218
177
  # Here are some examples:
219
178
  # * "1/min/\\{project}" for quota per minute per project.
220
- # * "1/min/\\{user}" for quota per minute per user.
221
- # * "1/min/\\{organization}" for quota per minute per organization.
222
179
  #
223
180
  # Note: the order of unit components is insignificant.
224
181
  # The "1" at the beginning is required to follow the metric unit syntax.
225
- #
226
- # Used by metric-based quotas only.
227
182
  # @!attribute [rw] values
228
183
  # @return [::Google::Protobuf::Map{::String => ::Integer}]
229
- # Tiered limit values. Also allows for regional or zone overrides for these
230
- # values if "/\\{region}" or "/\\{zone}" is specified in the unit field.
231
- #
232
- # Currently supported tiers from low to high:
233
- # VERY_LOW, LOW, STANDARD, HIGH, VERY_HIGH
234
- #
235
- # To apply different limit values for users according to their tiers, specify
236
- # the values for the tiers you want to differentiate. For example:
237
- # \\{LOW:100, STANDARD:500, HIGH:1000, VERY_HIGH:5000}
238
- #
239
- # The limit value for each tier is optional except for the tier STANDARD.
240
- # The limit value for an unspecified tier falls to the value of its next
241
- # tier towards tier STANDARD. For the above example, the limit value for tier
242
- # STANDARD is 500.
243
- #
244
- # To apply the same limit value for all users, just specify limit value for
245
- # tier STANDARD. For example: \\{STANDARD:500}.
246
- #
247
- # To apply a regional overide for a tier, add a map entry with key
248
- # "<TIER>/<region>", where <region> is a region name. Similarly, for a zone
249
- # override, add a map entry with key "<TIER>/\\{zone}".
250
- # Further, a wildcard can be used at the end of a zone name in order to
251
- # specify zone level overrides. For example:
252
- # LOW: 10, STANDARD: 50, HIGH: 100,
253
- # LOW/us-central1: 20, STANDARD/us-central1: 60, HIGH/us-central1: 200,
254
- # LOW/us-central1-*: 10, STANDARD/us-central1-*: 20, HIGH/us-central1-*: 80
255
- #
256
- # The regional overrides tier set for each region must be the same as
257
- # the tier set for default limit values. Same rule applies for zone overrides
258
- # tier as well.
259
- #
260
- # Used by metric-based quotas only.
184
+ # Tiered limit values. You must specify this as a key:value pair, with an
185
+ # integer value that is the maximum number of requests allowed for the
186
+ # specified unit. Currently only STANDARD is supported.
261
187
  # @!attribute [rw] display_name
262
188
  # @return [::String]
263
189
  # User-visible display name for this limit.
@@ -28,7 +28,6 @@ module Google
28
28
  # Example:
29
29
  #
30
30
  # type: google.api.Service
31
- # config_version: 3
32
31
  # name: calendar.googleapis.com
33
32
  # title: Google Calendar API
34
33
  # apis:
@@ -42,27 +41,24 @@ module Google
42
41
  # - selector: "*"
43
42
  # requirements:
44
43
  # provider_id: google_calendar_auth
45
- # @!attribute [rw] config_version
46
- # @return [::Google::Protobuf::UInt32Value]
47
- # The semantic version of the service configuration. The config version
48
- # affects the interpretation of the service configuration. For example,
49
- # certain features are enabled by default for certain config versions.
50
- # The latest config version is `3`.
51
44
  # @!attribute [rw] name
52
45
  # @return [::String]
53
- # The DNS address at which this service is available,
54
- # e.g. `calendar.googleapis.com`.
55
- # @!attribute [rw] id
56
- # @return [::String]
57
- # A unique ID for a specific instance of this message, typically assigned
58
- # by the client for tracking purpose. If empty, the server may choose to
59
- # generate one instead.
46
+ # The service name, which is a DNS-like logical identifier for the
47
+ # service, such as `calendar.googleapis.com`. The service name
48
+ # typically goes through DNS verification to make sure the owner
49
+ # of the service also owns the DNS name.
60
50
  # @!attribute [rw] title
61
51
  # @return [::String]
62
52
  # The product title for this service.
63
53
  # @!attribute [rw] producer_project_id
64
54
  # @return [::String]
65
55
  # The Google project that owns this service.
56
+ # @!attribute [rw] id
57
+ # @return [::String]
58
+ # A unique ID for a specific instance of this message, typically assigned
59
+ # by the client for tracking purpose. Must be no longer than 63 characters
60
+ # and only lower case letters, digits, '.', '_' and '-' are allowed. If
61
+ # empty, the server may choose to generate one instead.
66
62
  # @!attribute [rw] apis
67
63
  # @return [::Array<::Google::Protobuf::Api>]
68
64
  # A list of API interfaces exported by this service. Only the `name` field
@@ -143,6 +139,12 @@ module Google
143
139
  # @!attribute [rw] source_info
144
140
  # @return [::Google::Api::SourceInfo]
145
141
  # Output only. The source information for this configuration if available.
142
+ # @!attribute [rw] config_version
143
+ # @return [::Google::Protobuf::UInt32Value]
144
+ # Obsolete. Do not use.
145
+ #
146
+ # This field has no semantic meaning. The service config compiler always
147
+ # sets this field to `3`.
146
148
  class Service
147
149
  include ::Google::Protobuf::MessageExts
148
150
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -25,6 +25,12 @@ module Google
25
25
  # Requirements that must be satisfied before a consumer project can use the
26
26
  # service. Each requirement is of the form <service.name>/<requirement-id>;
27
27
  # for example 'serviceusage.googleapis.com/billing-enabled'.
28
+ #
29
+ # For Google APIs, a Terms of Service requirement must be included here.
30
+ # Google Cloud APIs must include "serviceusage.googleapis.com/tos/cloud".
31
+ # Other Google APIs should include
32
+ # "serviceusage.googleapis.com/tos/universal". Additional ToS can be
33
+ # included based on the business needs.
28
34
  # @!attribute [rw] rules
29
35
  # @return [::Array<::Google::Api::UsageRule>]
30
36
  # A list of usage rules that apply to individual API methods.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-service_management-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-17 00:00:00.000000000 Z
11
+ date: 2021-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -191,6 +191,7 @@ files:
191
191
  - proto_docs/google/api/endpoint.rb
192
192
  - proto_docs/google/api/field_behavior.rb
193
193
  - proto_docs/google/api/label.rb
194
+ - proto_docs/google/api/launch_stage.rb
194
195
  - proto_docs/google/api/log.rb
195
196
  - proto_docs/google/api/logging.rb
196
197
  - proto_docs/google/api/metric.rb