google-cloud-service_usage-v1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +139 -0
  6. data/lib/google-cloud-service_usage-v1.rb +21 -0
  7. data/lib/google/api/serviceusage/v1/resources_pb.rb +57 -0
  8. data/lib/google/api/serviceusage/v1/serviceusage_pb.rb +86 -0
  9. data/lib/google/api/serviceusage/v1/serviceusage_services_pb.rb +80 -0
  10. data/lib/google/cloud/service_usage/v1.rb +38 -0
  11. data/lib/google/cloud/service_usage/v1/service_usage.rb +53 -0
  12. data/lib/google/cloud/service_usage/v1/service_usage/client.rb +850 -0
  13. data/lib/google/cloud/service_usage/v1/service_usage/credentials.rb +53 -0
  14. data/lib/google/cloud/service_usage/v1/service_usage/operations.rb +655 -0
  15. data/lib/google/cloud/service_usage/v1/version.rb +28 -0
  16. data/proto_docs/README.md +4 -0
  17. data/proto_docs/google/api/auth.rb +247 -0
  18. data/proto_docs/google/api/documentation.rb +170 -0
  19. data/proto_docs/google/api/endpoint.rb +70 -0
  20. data/proto_docs/google/api/label.rb +49 -0
  21. data/proto_docs/google/api/launch_stage.rb +71 -0
  22. data/proto_docs/google/api/monitored_resource.rb +138 -0
  23. data/proto_docs/google/api/monitoring.rb +110 -0
  24. data/proto_docs/google/api/quota.rb +207 -0
  25. data/proto_docs/google/api/resource.rb +283 -0
  26. data/proto_docs/google/api/serviceusage/v1/resources.rb +122 -0
  27. data/proto_docs/google/api/serviceusage/v1/serviceusage.rb +242 -0
  28. data/proto_docs/google/api/usage.rb +100 -0
  29. data/proto_docs/google/longrunning/operations.rb +164 -0
  30. data/proto_docs/google/protobuf/any.rb +141 -0
  31. data/proto_docs/google/protobuf/api.rb +194 -0
  32. data/proto_docs/google/protobuf/duration.rb +98 -0
  33. data/proto_docs/google/protobuf/empty.rb +36 -0
  34. data/proto_docs/google/protobuf/source_context.rb +33 -0
  35. data/proto_docs/google/protobuf/struct.rb +96 -0
  36. data/proto_docs/google/protobuf/type.rb +223 -0
  37. data/proto_docs/google/rpc/status.rb +46 -0
  38. metadata +229 -0
@@ -0,0 +1,28 @@
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 Cloud
22
+ module ServiceUsage
23
+ module V1
24
+ VERSION = "0.1.0"
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,4 @@
1
+ # Service Usage V1 Protocol Buffer Documentation
2
+
3
+ These files are for the YARD documentation of the generated protobuf files.
4
+ They are not intended to be required or loaded at runtime.
@@ -0,0 +1,247 @@
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
+ # `Authentication` defines the authentication configuration for API methods
23
+ # provided by an API service.
24
+ #
25
+ # Example:
26
+ #
27
+ # name: calendar.googleapis.com
28
+ # authentication:
29
+ # providers:
30
+ # - id: google_calendar_auth
31
+ # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
32
+ # issuer: https://securetoken.google.com
33
+ # rules:
34
+ # - selector: "*"
35
+ # requirements:
36
+ # provider_id: google_calendar_auth
37
+ # - selector: google.calendar.Delegate
38
+ # oauth:
39
+ # canonical_scopes: https://www.googleapis.com/auth/calendar.read
40
+ # @!attribute [rw] rules
41
+ # @return [::Array<::Google::Api::AuthenticationRule>]
42
+ # A list of authentication rules that apply to individual API methods.
43
+ #
44
+ # **NOTE:** All service configuration rules follow "last one wins" order.
45
+ # @!attribute [rw] providers
46
+ # @return [::Array<::Google::Api::AuthProvider>]
47
+ # Defines a set of authentication providers that a service supports.
48
+ class Authentication
49
+ include ::Google::Protobuf::MessageExts
50
+ extend ::Google::Protobuf::MessageExts::ClassMethods
51
+ end
52
+
53
+ # Authentication rules for the service.
54
+ #
55
+ # By default, if a method has any authentication requirements, every request
56
+ # must include a valid credential matching one of the requirements.
57
+ # It's an error to include more than one kind of credential in a single
58
+ # request.
59
+ #
60
+ # If a method doesn't have any auth requirements, request credentials will be
61
+ # ignored.
62
+ # @!attribute [rw] selector
63
+ # @return [::String]
64
+ # Selects the methods to which this rule applies.
65
+ #
66
+ # Refer to {::Google::Api::DocumentationRule#selector selector} for syntax details.
67
+ # @!attribute [rw] oauth
68
+ # @return [::Google::Api::OAuthRequirements]
69
+ # The requirements for OAuth credentials.
70
+ # @!attribute [rw] allow_without_credential
71
+ # @return [::Boolean]
72
+ # If true, the service accepts API keys without any other credential.
73
+ # This flag only applies to HTTP and gRPC requests.
74
+ # @!attribute [rw] requirements
75
+ # @return [::Array<::Google::Api::AuthRequirement>]
76
+ # Requirements for additional authentication providers.
77
+ class AuthenticationRule
78
+ include ::Google::Protobuf::MessageExts
79
+ extend ::Google::Protobuf::MessageExts::ClassMethods
80
+ end
81
+
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).
107
+ # @!attribute [rw] id
108
+ # @return [::String]
109
+ # The unique identifier of the auth provider. It will be referred to by
110
+ # `AuthRequirement.provider_id`.
111
+ #
112
+ # Example: "bookstore_auth".
113
+ # @!attribute [rw] issuer
114
+ # @return [::String]
115
+ # Identifies the principal that issued the JWT. See
116
+ # https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
117
+ # Usually a URL or an email address.
118
+ #
119
+ # Example: https://securetoken.google.com
120
+ # Example: 1234567-compute@developer.gserviceaccount.com
121
+ # @!attribute [rw] jwks_uri
122
+ # @return [::String]
123
+ # URL of the provider's public key set to validate signature of the JWT. See
124
+ # [OpenID
125
+ # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
126
+ # Optional if the key set document:
127
+ # - can be retrieved from
128
+ # [OpenID
129
+ # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html)
130
+ # of the issuer.
131
+ # - can be inferred from the email domain of the issuer (e.g. a Google
132
+ # service account).
133
+ #
134
+ # Example: https://www.googleapis.com/oauth2/v1/certs
135
+ # @!attribute [rw] audiences
136
+ # @return [::String]
137
+ # The list of JWT
138
+ # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
139
+ # that are allowed to access. A JWT containing any of these audiences will
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/
149
+ #
150
+ # Example:
151
+ #
152
+ # audiences: bookstore_android.apps.googleusercontent.com,
153
+ # bookstore_web.apps.googleusercontent.com
154
+ # @!attribute [rw] authorization_url
155
+ # @return [::String]
156
+ # Redirect URL if JWT token is required but not present or is expired.
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
177
+ class AuthProvider
178
+ include ::Google::Protobuf::MessageExts
179
+ extend ::Google::Protobuf::MessageExts::ClassMethods
180
+ end
181
+
182
+ # OAuth scopes are a way to define data and permissions on data. For example,
183
+ # there are scopes defined for "Read-only access to Google Calendar" and
184
+ # "Access to Cloud Platform". Users can consent to a scope for an application,
185
+ # giving it permission to access that data on their behalf.
186
+ #
187
+ # OAuth scope specifications should be fairly coarse grained; a user will need
188
+ # to see and understand the text description of what your scope means.
189
+ #
190
+ # In most cases: use one or at most two OAuth scopes for an entire family of
191
+ # products. If your product has multiple APIs, you should probably be sharing
192
+ # the OAuth scope across all of those APIs.
193
+ #
194
+ # When you need finer grained OAuth consent screens: talk with your product
195
+ # management about how developers will use them in practice.
196
+ #
197
+ # Please note that even though each of the canonical scopes is enough for a
198
+ # request to be accepted and passed to the backend, a request can still fail
199
+ # due to the backend requiring additional scopes or permissions.
200
+ # @!attribute [rw] canonical_scopes
201
+ # @return [::String]
202
+ # The list of publicly documented OAuth scopes that are allowed access. An
203
+ # OAuth token containing any of these scopes will be accepted.
204
+ #
205
+ # Example:
206
+ #
207
+ # canonical_scopes: https://www.googleapis.com/auth/calendar,
208
+ # https://www.googleapis.com/auth/calendar.read
209
+ class OAuthRequirements
210
+ include ::Google::Protobuf::MessageExts
211
+ extend ::Google::Protobuf::MessageExts::ClassMethods
212
+ end
213
+
214
+ # User-defined authentication requirements, including support for
215
+ # [JSON Web Token
216
+ # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
217
+ # @!attribute [rw] provider_id
218
+ # @return [::String]
219
+ # {::Google::Api::AuthProvider#id id} from authentication provider.
220
+ #
221
+ # Example:
222
+ #
223
+ # provider_id: bookstore_auth
224
+ # @!attribute [rw] audiences
225
+ # @return [::String]
226
+ # NOTE: This will be deprecated soon, once AuthProvider.audiences is
227
+ # implemented and accepted in all the runtime components.
228
+ #
229
+ # The list of JWT
230
+ # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
231
+ # that are allowed to access. A JWT containing any of these audiences will
232
+ # be accepted. When this setting is absent, only JWTs with audience
233
+ # "https://[Service_name][google.api.Service.name]/{::Google::Protobuf::Api#name API_name}"
234
+ # will be accepted. For example, if no audiences are in the setting,
235
+ # LibraryService API will only accept JWTs with the following audience
236
+ # "https://library-example.googleapis.com/google.example.library.v1.LibraryService".
237
+ #
238
+ # Example:
239
+ #
240
+ # audiences: bookstore_android.apps.googleusercontent.com,
241
+ # bookstore_web.apps.googleusercontent.com
242
+ class AuthRequirement
243
+ include ::Google::Protobuf::MessageExts
244
+ extend ::Google::Protobuf::MessageExts::ClassMethods
245
+ end
246
+ end
247
+ end
@@ -0,0 +1,170 @@
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
+ # `Documentation` provides the information for describing a service.
23
+ #
24
+ # Example:
25
+ # <pre><code>documentation:
26
+ # summary: >
27
+ # The Google Calendar API gives access
28
+ # to most calendar features.
29
+ # pages:
30
+ # - name: Overview
31
+ # content: &#40;== include google/foo/overview.md ==&#41;
32
+ # - name: Tutorial
33
+ # content: &#40;== include google/foo/tutorial.md ==&#41;
34
+ # subpages;
35
+ # - name: Java
36
+ # content: &#40;== include google/foo/tutorial_java.md ==&#41;
37
+ # rules:
38
+ # - selector: google.calendar.Calendar.Get
39
+ # description: >
40
+ # ...
41
+ # - selector: google.calendar.Calendar.Put
42
+ # description: >
43
+ # ...
44
+ # </code></pre>
45
+ # Documentation is provided in markdown syntax. In addition to
46
+ # standard markdown features, definition lists, tables and fenced
47
+ # code blocks are supported. Section headers can be provided and are
48
+ # interpreted relative to the section nesting of the context where
49
+ # a documentation fragment is embedded.
50
+ #
51
+ # Documentation from the IDL is merged with documentation defined
52
+ # via the config at normalization time, where documentation provided
53
+ # by config rules overrides IDL provided.
54
+ #
55
+ # A number of constructs specific to the API platform are supported
56
+ # in documentation text.
57
+ #
58
+ # In order to reference a proto element, the following
59
+ # notation can be used:
60
+ # <pre><code>&#91;fully.qualified.proto.name]&#91;]</code></pre>
61
+ # To override the display text used for the link, this can be used:
62
+ # <pre><code>&#91;display text]&#91;fully.qualified.proto.name]</code></pre>
63
+ # Text can be excluded from doc using the following notation:
64
+ # <pre><code>&#40;-- internal comment --&#41;</code></pre>
65
+ #
66
+ # A few directives are available in documentation. Note that
67
+ # directives must appear on a single line to be properly
68
+ # identified. The `include` directive includes a markdown file from
69
+ # an external source:
70
+ # <pre><code>&#40;== include path/to/file ==&#41;</code></pre>
71
+ # The `resource_for` directive marks a message to be the resource of
72
+ # a collection in REST view. If it is not specified, tools attempt
73
+ # to infer the resource from the operations in a collection:
74
+ # <pre><code>&#40;== resource_for v1.shelves.books ==&#41;</code></pre>
75
+ # The directive `suppress_warning` does not directly affect documentation
76
+ # and is documented together with service config validation.
77
+ # @!attribute [rw] summary
78
+ # @return [::String]
79
+ # A short summary of what the service does. Can only be provided by
80
+ # plain text.
81
+ # @!attribute [rw] pages
82
+ # @return [::Array<::Google::Api::Page>]
83
+ # The top level pages for the documentation set.
84
+ # @!attribute [rw] rules
85
+ # @return [::Array<::Google::Api::DocumentationRule>]
86
+ # A list of documentation rules that apply to individual API elements.
87
+ #
88
+ # **NOTE:** All service configuration rules follow "last one wins" order.
89
+ # @!attribute [rw] documentation_root_url
90
+ # @return [::String]
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.
98
+ # @!attribute [rw] overview
99
+ # @return [::String]
100
+ # Declares a single overview page. For example:
101
+ # <pre><code>documentation:
102
+ # summary: ...
103
+ # overview: &#40;== include overview.md ==&#41;
104
+ # </code></pre>
105
+ # This is a shortcut for the following declaration (using pages style):
106
+ # <pre><code>documentation:
107
+ # summary: ...
108
+ # pages:
109
+ # - name: Overview
110
+ # content: &#40;== include overview.md ==&#41;
111
+ # </code></pre>
112
+ # Note: you cannot specify both `overview` field and `pages` field.
113
+ class Documentation
114
+ include ::Google::Protobuf::MessageExts
115
+ extend ::Google::Protobuf::MessageExts::ClassMethods
116
+ end
117
+
118
+ # A documentation rule provides information about individual API elements.
119
+ # @!attribute [rw] selector
120
+ # @return [::String]
121
+ # The selector is a comma-separated list of patterns. Each pattern is a
122
+ # qualified name of the element which may end in "*", indicating a wildcard.
123
+ # Wildcards are only allowed at the end and for a whole component of the
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.
127
+ # @!attribute [rw] description
128
+ # @return [::String]
129
+ # Description of the selected API(s).
130
+ # @!attribute [rw] deprecation_description
131
+ # @return [::String]
132
+ # Deprecation description of the selected element(s). It can be provided if
133
+ # an element is marked as `deprecated`.
134
+ class DocumentationRule
135
+ include ::Google::Protobuf::MessageExts
136
+ extend ::Google::Protobuf::MessageExts::ClassMethods
137
+ end
138
+
139
+ # Represents a documentation page. A page can contain subpages to represent
140
+ # nested documentation set structure.
141
+ # @!attribute [rw] name
142
+ # @return [::String]
143
+ # The name of the page. It will be used as an identity of the page to
144
+ # generate URI of the page, text of the link to this page in navigation,
145
+ # etc. The full page name (start from the root page name to this page
146
+ # concatenated with `.`) can be used as reference to the page in your
147
+ # documentation. For example:
148
+ # <pre><code>pages:
149
+ # - name: Tutorial
150
+ # content: &#40;== include tutorial.md ==&#41;
151
+ # subpages:
152
+ # - name: Java
153
+ # content: &#40;== include tutorial_java.md ==&#41;
154
+ # </code></pre>
155
+ # You can reference `Java` page using Markdown reference link syntax:
156
+ # `[Java][Tutorial.Java]`.
157
+ # @!attribute [rw] content
158
+ # @return [::String]
159
+ # The Markdown content of the page. You can use <code>&#40;== include \\{path}
160
+ # ==&#41;</code> to include content from a Markdown file.
161
+ # @!attribute [rw] subpages
162
+ # @return [::Array<::Google::Api::Page>]
163
+ # Subpages of this page. The order of subpages specified here will be
164
+ # honored in the generated docset.
165
+ class Page
166
+ include ::Google::Protobuf::MessageExts
167
+ extend ::Google::Protobuf::MessageExts::ClassMethods
168
+ end
169
+ end
170
+ end