google-cloud-service_management-v1 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
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