google-cloud-service_usage-v1 0.1.0

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