googleapis-common-protos-types 1.7.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/lib/google/api/annotations_pb.rb +60 -2
  4. data/lib/google/api/auth_pb.rb +264 -34
  5. data/lib/google/api/backend_pb.rb +212 -23
  6. data/lib/google/api/billing_pb.rb +104 -8
  7. data/lib/google/api/client_pb.rb +422 -86
  8. data/lib/google/api/config_change_pb.rb +111 -17
  9. data/lib/google/api/consumer_pb.rb +109 -16
  10. data/lib/google/api/context_pb.rb +117 -11
  11. data/lib/google/api/control_pb.rb +71 -4
  12. data/lib/google/api/distribution_pb.rb +242 -39
  13. data/lib/google/api/documentation_pb.rb +195 -19
  14. data/lib/google/api/endpoint_pb.rb +100 -7
  15. data/lib/google/api/error_reason_pb.rb +597 -33
  16. data/lib/google/api/field_behavior_pb.rb +117 -11
  17. data/lib/google/api/http_pb.rb +406 -23
  18. data/lib/google/api/httpbody_pb.rb +109 -6
  19. data/lib/google/api/label_pb.rb +75 -11
  20. data/lib/google/api/launch_stage_pb.rb +99 -11
  21. data/lib/google/api/log_pb.rb +82 -7
  22. data/lib/google/api/logging_pb.rb +108 -9
  23. data/lib/google/api/metric_pb.rb +297 -38
  24. data/lib/google/api/monitored_resource_pb.rb +159 -17
  25. data/lib/google/api/monitoring_pb.rb +134 -9
  26. data/lib/google/api/policy_pb.rb +129 -0
  27. data/lib/google/api/quota_pb.rb +211 -21
  28. data/lib/google/api/resource_pb.rb +265 -23
  29. data/lib/google/api/routing_pb.rb +488 -8
  30. data/lib/google/api/service_pb.rb +239 -29
  31. data/lib/google/api/source_info_pb.rb +59 -4
  32. data/lib/google/api/system_parameter_pb.rb +123 -13
  33. data/lib/google/api/usage_pb.rb +123 -11
  34. data/lib/google/api/visibility_pb.rb +140 -8
  35. data/lib/google/logging/type/http_request_pb.rb +123 -18
  36. data/lib/google/logging/type/log_severity_pb.rb +98 -12
  37. data/lib/google/longrunning/operations_pb.rb +277 -37
  38. data/lib/google/rpc/code_pb.rb +213 -20
  39. data/lib/google/rpc/context/attribute_context_pb.rb +375 -66
  40. data/lib/google/rpc/context/audit_context_pb.rb +77 -8
  41. data/lib/google/rpc/error_details_pb.rb +313 -56
  42. data/lib/google/rpc/http_pb.rb +91 -17
  43. data/lib/google/rpc/status_pb.rb +77 -6
  44. data/lib/google/type/calendar_period_pb.rb +83 -11
  45. data/lib/google/type/color_pb.rb +202 -7
  46. data/lib/google/type/date_pb.rb +79 -6
  47. data/lib/google/type/datetime_pb.rb +132 -18
  48. data/lib/google/type/dayofweek_pb.rb +77 -11
  49. data/lib/google/type/decimal_pb.rb +122 -4
  50. data/lib/google/type/expr_pb.rb +100 -7
  51. data/lib/google/type/fraction_pb.rb +60 -5
  52. data/lib/google/type/interval_pb.rb +74 -5
  53. data/lib/google/type/latlng_pb.rb +64 -5
  54. data/lib/google/type/localized_text_pb.rb +63 -5
  55. data/lib/google/type/money_pb.rb +69 -6
  56. data/lib/google/type/month_pb.rb +92 -16
  57. data/lib/google/type/phone_number_pb.rb +140 -12
  58. data/lib/google/type/postal_address_pb.rb +161 -14
  59. data/lib/google/type/quaternion_pb.rb +121 -7
  60. data/lib/google/type/timeofday_pb.rb +71 -7
  61. data/lib/googleapis/common/protos/types/version.rb +1 -1
  62. metadata +5 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '048944e682d3d7a4a936656e92d314a428559d99666a027cabe020236491462a'
4
- data.tar.gz: 79dd8b90c4b118718fd6ba09dbf1a2d8f85dab3733094c06517b197aa011321a
3
+ metadata.gz: a674dd9ee526c7673bb2d6218b99e2f3c68d554dab8ac3d262c0ac6857132c02
4
+ data.tar.gz: f7547fee864ad786fddfad84652d199e7d467be17ca76f8b03dd757859213728
5
5
  SHA512:
6
- metadata.gz: 8cdcb32f1abb6a8e1b4a715e11236804499e78313a9db69033c66d12dd17e5ac583a61c16ec8efb439ea7a5acb0b6b324097a8c5ad9335a6a089e497326636aa
7
- data.tar.gz: 5befe9b3896d1b0a4b292c340742707f0409ecb71777034e0288a4cb93089857f2aad917d28aa5bb151a0fba8848ab9fde793664dd8620f1099ad7738feb184f
6
+ metadata.gz: bb32348a310992d10d738b22ff78fc62605c8eac67119e6916d7d0902631ae7d4d9b55ec4c84225597eba546eab72c431f2ef149b263c4333788358138df4ddf
7
+ data.tar.gz: 3e6e8196f86a317960602da14ee4c585e6715e2c00c40e27f940981b19791a3bc90c18026063eeac4088d6610b6afdd3d64500acc1d8fb4f8bcf0a5441ad8621
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Release History
2
2
 
3
+ ### 1.8.0 (2023-08-07)
4
+
5
+ #### Features
6
+
7
+ * Support for API method policies ([#175](https://github.com/googleapis/common-protos-ruby/issues/175))
8
+ * Updated generated protobuf output to use binary descriptors for better future compatibility ([#165](https://github.com/googleapis/common-protos-ruby/issues/165))
9
+
3
10
  ### 1.7.0 (2023-07-16)
4
11
 
5
12
  #### Features
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: google/api/annotations.proto
3
4
 
@@ -6,12 +7,69 @@ require 'google/protobuf'
6
7
  require 'google/api/http_pb'
7
8
  require 'google/protobuf/descriptor_pb'
8
9
 
9
- Google::Protobuf::DescriptorPool.generated_pool.build do
10
- add_file("google/api/annotations.proto", :syntax => :proto3) do
10
+
11
+ descriptor_data = "\n\x1cgoogle/api/annotations.proto\x12\ngoogle.api\x1a\x15google/api/http.proto\x1a google/protobuf/descriptor.proto:E\n\x04http\x12\x1e.google.protobuf.MethodOptions\x18\xb0\xca\xbc\" \x01(\x0b\x32\x14.google.api.HttpRuleBn\n\x0e\x63om.google.apiB\x10\x41nnotationsProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x04GAPIb\x06proto3"
12
+
13
+ pool = Google::Protobuf::DescriptorPool.generated_pool
14
+
15
+ begin
16
+ pool.add_serialized_file(descriptor_data)
17
+ rescue TypeError => e
18
+ # Compatibility code: will be removed in the next major version.
19
+ require 'google/protobuf/descriptor_pb'
20
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
21
+ parsed.clear_dependency
22
+ serialized = parsed.class.encode(parsed)
23
+ file = pool.add_serialized_file(serialized)
24
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
25
+ imports = [
26
+ ["google.api.HttpRule", "google/api/http.proto"],
27
+ ]
28
+ imports.each do |type_name, expected_filename|
29
+ import_file = pool.lookup(type_name).file_descriptor
30
+ if import_file.name != expected_filename
31
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
32
+ end
11
33
  end
34
+ warn "Each proto file must use a consistent fully-qualified name."
35
+ warn "This will become an error in the next major version."
12
36
  end
13
37
 
14
38
  module Google
15
39
  module Api
16
40
  end
17
41
  end
42
+
43
+ #### Source proto file: google/api/annotations.proto ####
44
+ #
45
+ # // Copyright 2015 Google LLC
46
+ # //
47
+ # // Licensed under the Apache License, Version 2.0 (the "License");
48
+ # // you may not use this file except in compliance with the License.
49
+ # // You may obtain a copy of the License at
50
+ # //
51
+ # // http://www.apache.org/licenses/LICENSE-2.0
52
+ # //
53
+ # // Unless required by applicable law or agreed to in writing, software
54
+ # // distributed under the License is distributed on an "AS IS" BASIS,
55
+ # // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
56
+ # // See the License for the specific language governing permissions and
57
+ # // limitations under the License.
58
+ #
59
+ # syntax = "proto3";
60
+ #
61
+ # package google.api;
62
+ #
63
+ # import "google/api/http.proto";
64
+ # import "google/protobuf/descriptor.proto";
65
+ #
66
+ # option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations";
67
+ # option java_multiple_files = true;
68
+ # option java_outer_classname = "AnnotationsProto";
69
+ # option java_package = "com.google.api";
70
+ # option objc_class_prefix = "GAPI";
71
+ #
72
+ # extend google.protobuf.MethodOptions {
73
+ # // See `HttpRule`.
74
+ # HttpRule http = 72295728;
75
+ # }
@@ -1,44 +1,34 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: google/api/auth.proto
3
4
 
4
5
  require 'google/protobuf'
5
6
 
6
- Google::Protobuf::DescriptorPool.generated_pool.build do
7
- add_file("google/api/auth.proto", :syntax => :proto3) do
8
- add_message "google.api.Authentication" do
9
- repeated :rules, :message, 3, "google.api.AuthenticationRule"
10
- repeated :providers, :message, 4, "google.api.AuthProvider"
11
- end
12
- add_message "google.api.AuthenticationRule" do
13
- optional :selector, :string, 1
14
- optional :oauth, :message, 2, "google.api.OAuthRequirements"
15
- optional :allow_without_credential, :bool, 5
16
- repeated :requirements, :message, 7, "google.api.AuthRequirement"
17
- end
18
- add_message "google.api.JwtLocation" do
19
- optional :value_prefix, :string, 3
20
- oneof :in do
21
- optional :header, :string, 1
22
- optional :query, :string, 2
23
- optional :cookie, :string, 4
24
- end
25
- end
26
- add_message "google.api.AuthProvider" do
27
- optional :id, :string, 1
28
- optional :issuer, :string, 2
29
- optional :jwks_uri, :string, 3
30
- optional :audiences, :string, 4
31
- optional :authorization_url, :string, 5
32
- repeated :jwt_locations, :message, 6, "google.api.JwtLocation"
33
- end
34
- add_message "google.api.OAuthRequirements" do
35
- optional :canonical_scopes, :string, 1
36
- end
37
- add_message "google.api.AuthRequirement" do
38
- optional :provider_id, :string, 1
39
- optional :audiences, :string, 2
7
+
8
+ descriptor_data = "\n\x15google/api/auth.proto\x12\ngoogle.api\"l\n\x0e\x41uthentication\x12-\n\x05rules\x18\x03 \x03(\x0b\x32\x1e.google.api.AuthenticationRule\x12+\n\tproviders\x18\x04 \x03(\x0b\x32\x18.google.api.AuthProvider\"\xa9\x01\n\x12\x41uthenticationRule\x12\x10\n\x08selector\x18\x01 \x01(\t\x12,\n\x05oauth\x18\x02 \x01(\x0b\x32\x1d.google.api.OAuthRequirements\x12 \n\x18\x61llow_without_credential\x18\x05 \x01(\x08\x12\x31\n\x0crequirements\x18\x07 \x03(\x0b\x32\x1b.google.api.AuthRequirement\"^\n\x0bJwtLocation\x12\x10\n\x06header\x18\x01 \x01(\tH\x00\x12\x0f\n\x05query\x18\x02 \x01(\tH\x00\x12\x10\n\x06\x63ookie\x18\x04 \x01(\tH\x00\x12\x14\n\x0cvalue_prefix\x18\x03 \x01(\tB\x04\n\x02in\"\x9a\x01\n\x0c\x41uthProvider\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06issuer\x18\x02 \x01(\t\x12\x10\n\x08jwks_uri\x18\x03 \x01(\t\x12\x11\n\taudiences\x18\x04 \x01(\t\x12\x19\n\x11\x61uthorization_url\x18\x05 \x01(\t\x12.\n\rjwt_locations\x18\x06 \x03(\x0b\x32\x17.google.api.JwtLocation\"-\n\x11OAuthRequirements\x12\x18\n\x10\x63\x61nonical_scopes\x18\x01 \x01(\t\"9\n\x0f\x41uthRequirement\x12\x13\n\x0bprovider_id\x18\x01 \x01(\t\x12\x11\n\taudiences\x18\x02 \x01(\tBk\n\x0e\x63om.google.apiB\tAuthProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\xa2\x02\x04GAPIb\x06proto3"
9
+
10
+ pool = Google::Protobuf::DescriptorPool.generated_pool
11
+
12
+ begin
13
+ pool.add_serialized_file(descriptor_data)
14
+ rescue TypeError => e
15
+ # Compatibility code: will be removed in the next major version.
16
+ require 'google/protobuf/descriptor_pb'
17
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
18
+ parsed.clear_dependency
19
+ serialized = parsed.class.encode(parsed)
20
+ file = pool.add_serialized_file(serialized)
21
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
22
+ imports = [
23
+ ]
24
+ imports.each do |type_name, expected_filename|
25
+ import_file = pool.lookup(type_name).file_descriptor
26
+ if import_file.name != expected_filename
27
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
40
28
  end
41
29
  end
30
+ warn "Each proto file must use a consistent fully-qualified name."
31
+ warn "This will become an error in the next major version."
42
32
  end
43
33
 
44
34
  module Google
@@ -51,3 +41,243 @@ module Google
51
41
  AuthRequirement = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.api.AuthRequirement").msgclass
52
42
  end
53
43
  end
44
+
45
+ #### Source proto file: google/api/auth.proto ####
46
+ #
47
+ # // Copyright 2023 Google LLC
48
+ # //
49
+ # // Licensed under the Apache License, Version 2.0 (the "License");
50
+ # // you may not use this file except in compliance with the License.
51
+ # // You may obtain a copy of the License at
52
+ # //
53
+ # // http://www.apache.org/licenses/LICENSE-2.0
54
+ # //
55
+ # // Unless required by applicable law or agreed to in writing, software
56
+ # // distributed under the License is distributed on an "AS IS" BASIS,
57
+ # // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
58
+ # // See the License for the specific language governing permissions and
59
+ # // limitations under the License.
60
+ #
61
+ # syntax = "proto3";
62
+ #
63
+ # package google.api;
64
+ #
65
+ # option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";
66
+ # option java_multiple_files = true;
67
+ # option java_outer_classname = "AuthProto";
68
+ # option java_package = "com.google.api";
69
+ # option objc_class_prefix = "GAPI";
70
+ #
71
+ # // `Authentication` defines the authentication configuration for API methods
72
+ # // provided by an API service.
73
+ # //
74
+ # // Example:
75
+ # //
76
+ # // name: calendar.googleapis.com
77
+ # // authentication:
78
+ # // providers:
79
+ # // - id: google_calendar_auth
80
+ # // jwks_uri: https://www.googleapis.com/oauth2/v1/certs
81
+ # // issuer: https://securetoken.google.com
82
+ # // rules:
83
+ # // - selector: "*"
84
+ # // requirements:
85
+ # // provider_id: google_calendar_auth
86
+ # // - selector: google.calendar.Delegate
87
+ # // oauth:
88
+ # // canonical_scopes: https://www.googleapis.com/auth/calendar.read
89
+ # message Authentication {
90
+ # // A list of authentication rules that apply to individual API methods.
91
+ # //
92
+ # // **NOTE:** All service configuration rules follow "last one wins" order.
93
+ # repeated AuthenticationRule rules = 3;
94
+ #
95
+ # // Defines a set of authentication providers that a service supports.
96
+ # repeated AuthProvider providers = 4;
97
+ # }
98
+ #
99
+ # // Authentication rules for the service.
100
+ # //
101
+ # // By default, if a method has any authentication requirements, every request
102
+ # // must include a valid credential matching one of the requirements.
103
+ # // It's an error to include more than one kind of credential in a single
104
+ # // request.
105
+ # //
106
+ # // If a method doesn't have any auth requirements, request credentials will be
107
+ # // ignored.
108
+ # message AuthenticationRule {
109
+ # // Selects the methods to which this rule applies.
110
+ # //
111
+ # // Refer to [selector][google.api.DocumentationRule.selector] for syntax
112
+ # // details.
113
+ # string selector = 1;
114
+ #
115
+ # // The requirements for OAuth credentials.
116
+ # OAuthRequirements oauth = 2;
117
+ #
118
+ # // If true, the service accepts API keys without any other credential.
119
+ # // This flag only applies to HTTP and gRPC requests.
120
+ # bool allow_without_credential = 5;
121
+ #
122
+ # // Requirements for additional authentication providers.
123
+ # repeated AuthRequirement requirements = 7;
124
+ # }
125
+ #
126
+ # // Specifies a location to extract JWT from an API request.
127
+ # message JwtLocation {
128
+ # oneof in {
129
+ # // Specifies HTTP header name to extract JWT token.
130
+ # string header = 1;
131
+ #
132
+ # // Specifies URL query parameter name to extract JWT token.
133
+ # string query = 2;
134
+ #
135
+ # // Specifies cookie name to extract JWT token.
136
+ # string cookie = 4;
137
+ # }
138
+ #
139
+ # // The value prefix. The value format is "value_prefix{token}"
140
+ # // Only applies to "in" header type. Must be empty for "in" query type.
141
+ # // If not empty, the header value has to match (case sensitive) this prefix.
142
+ # // If not matched, JWT will not be extracted. If matched, JWT will be
143
+ # // extracted after the prefix is removed.
144
+ # //
145
+ # // For example, for "Authorization: Bearer {JWT}",
146
+ # // value_prefix="Bearer " with a space at the end.
147
+ # string value_prefix = 3;
148
+ # }
149
+ #
150
+ # // Configuration for an authentication provider, including support for
151
+ # // [JSON Web Token
152
+ # // (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
153
+ # message AuthProvider {
154
+ # // The unique identifier of the auth provider. It will be referred to by
155
+ # // `AuthRequirement.provider_id`.
156
+ # //
157
+ # // Example: "bookstore_auth".
158
+ # string id = 1;
159
+ #
160
+ # // Identifies the principal that issued the JWT. See
161
+ # // https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
162
+ # // Usually a URL or an email address.
163
+ # //
164
+ # // Example: https://securetoken.google.com
165
+ # // Example: 1234567-compute@developer.gserviceaccount.com
166
+ # string issuer = 2;
167
+ #
168
+ # // URL of the provider's public key set to validate signature of the JWT. See
169
+ # // [OpenID
170
+ # // Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
171
+ # // Optional if the key set document:
172
+ # // - can be retrieved from
173
+ # // [OpenID
174
+ # // Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html)
175
+ # // of the issuer.
176
+ # // - can be inferred from the email domain of the issuer (e.g. a Google
177
+ # // service account).
178
+ # //
179
+ # // Example: https://www.googleapis.com/oauth2/v1/certs
180
+ # string jwks_uri = 3;
181
+ #
182
+ # // The list of JWT
183
+ # // [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
184
+ # // that are allowed to access. A JWT containing any of these audiences will
185
+ # // be accepted. When this setting is absent, JWTs with audiences:
186
+ # // - "https://[service.name]/[google.protobuf.Api.name]"
187
+ # // - "https://[service.name]/"
188
+ # // will be accepted.
189
+ # // For example, if no audiences are in the setting, LibraryService API will
190
+ # // accept JWTs with the following audiences:
191
+ # // -
192
+ # // https://library-example.googleapis.com/google.example.library.v1.LibraryService
193
+ # // - https://library-example.googleapis.com/
194
+ # //
195
+ # // Example:
196
+ # //
197
+ # // audiences: bookstore_android.apps.googleusercontent.com,
198
+ # // bookstore_web.apps.googleusercontent.com
199
+ # string audiences = 4;
200
+ #
201
+ # // Redirect URL if JWT token is required but not present or is expired.
202
+ # // Implement authorizationUrl of securityDefinitions in OpenAPI spec.
203
+ # string authorization_url = 5;
204
+ #
205
+ # // Defines the locations to extract the JWT. For now it is only used by the
206
+ # // Cloud Endpoints to store the OpenAPI extension [x-google-jwt-locations]
207
+ # // (https://cloud.google.com/endpoints/docs/openapi/openapi-extensions#x-google-jwt-locations)
208
+ # //
209
+ # // JWT locations can be one of HTTP headers, URL query parameters or
210
+ # // cookies. The rule is that the first match wins.
211
+ # //
212
+ # // If not specified, default to use following 3 locations:
213
+ # // 1) Authorization: Bearer
214
+ # // 2) x-goog-iap-jwt-assertion
215
+ # // 3) access_token query parameter
216
+ # //
217
+ # // Default locations can be specified as followings:
218
+ # // jwt_locations:
219
+ # // - header: Authorization
220
+ # // value_prefix: "Bearer "
221
+ # // - header: x-goog-iap-jwt-assertion
222
+ # // - query: access_token
223
+ # repeated JwtLocation jwt_locations = 6;
224
+ # }
225
+ #
226
+ # // OAuth scopes are a way to define data and permissions on data. For example,
227
+ # // there are scopes defined for "Read-only access to Google Calendar" and
228
+ # // "Access to Cloud Platform". Users can consent to a scope for an application,
229
+ # // giving it permission to access that data on their behalf.
230
+ # //
231
+ # // OAuth scope specifications should be fairly coarse grained; a user will need
232
+ # // to see and understand the text description of what your scope means.
233
+ # //
234
+ # // In most cases: use one or at most two OAuth scopes for an entire family of
235
+ # // products. If your product has multiple APIs, you should probably be sharing
236
+ # // the OAuth scope across all of those APIs.
237
+ # //
238
+ # // When you need finer grained OAuth consent screens: talk with your product
239
+ # // management about how developers will use them in practice.
240
+ # //
241
+ # // Please note that even though each of the canonical scopes is enough for a
242
+ # // request to be accepted and passed to the backend, a request can still fail
243
+ # // due to the backend requiring additional scopes or permissions.
244
+ # message OAuthRequirements {
245
+ # // The list of publicly documented OAuth scopes that are allowed access. An
246
+ # // OAuth token containing any of these scopes will be accepted.
247
+ # //
248
+ # // Example:
249
+ # //
250
+ # // canonical_scopes: https://www.googleapis.com/auth/calendar,
251
+ # // https://www.googleapis.com/auth/calendar.read
252
+ # string canonical_scopes = 1;
253
+ # }
254
+ #
255
+ # // User-defined authentication requirements, including support for
256
+ # // [JSON Web Token
257
+ # // (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
258
+ # message AuthRequirement {
259
+ # // [id][google.api.AuthProvider.id] from authentication provider.
260
+ # //
261
+ # // Example:
262
+ # //
263
+ # // provider_id: bookstore_auth
264
+ # string provider_id = 1;
265
+ #
266
+ # // NOTE: This will be deprecated soon, once AuthProvider.audiences is
267
+ # // implemented and accepted in all the runtime components.
268
+ # //
269
+ # // The list of JWT
270
+ # // [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
271
+ # // that are allowed to access. A JWT containing any of these audiences will
272
+ # // be accepted. When this setting is absent, only JWTs with audience
273
+ # // "https://[Service_name][google.api.Service.name]/[API_name][google.protobuf.Api.name]"
274
+ # // will be accepted. For example, if no audiences are in the setting,
275
+ # // LibraryService API will only accept JWTs with the following audience
276
+ # // "https://library-example.googleapis.com/google.example.library.v1.LibraryService".
277
+ # //
278
+ # // Example:
279
+ # //
280
+ # // audiences: bookstore_android.apps.googleusercontent.com,
281
+ # // bookstore_web.apps.googleusercontent.com
282
+ # string audiences = 2;
283
+ # }
@@ -1,33 +1,34 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: google/api/backend.proto
3
4
 
4
5
  require 'google/protobuf'
5
6
 
6
- Google::Protobuf::DescriptorPool.generated_pool.build do
7
- add_file("google/api/backend.proto", :syntax => :proto3) do
8
- add_message "google.api.Backend" do
9
- repeated :rules, :message, 1, "google.api.BackendRule"
10
- end
11
- add_message "google.api.BackendRule" do
12
- optional :selector, :string, 1
13
- optional :address, :string, 2
14
- optional :deadline, :double, 3
15
- optional :min_deadline, :double, 4
16
- optional :operation_deadline, :double, 5
17
- optional :path_translation, :enum, 6, "google.api.BackendRule.PathTranslation"
18
- optional :protocol, :string, 9
19
- map :overrides_by_request_protocol, :string, :message, 10, "google.api.BackendRule"
20
- oneof :authentication do
21
- optional :jwt_audience, :string, 7
22
- optional :disable_auth, :bool, 8
23
- end
24
- end
25
- add_enum "google.api.BackendRule.PathTranslation" do
26
- value :PATH_TRANSLATION_UNSPECIFIED, 0
27
- value :CONSTANT_ADDRESS, 1
28
- value :APPEND_PATH_TO_ADDRESS, 2
7
+
8
+ descriptor_data = "\n\x18google/api/backend.proto\x12\ngoogle.api\"1\n\x07\x42\x61\x63kend\x12&\n\x05rules\x18\x01 \x03(\x0b\x32\x17.google.api.BackendRule\"\xb2\x04\n\x0b\x42\x61\x63kendRule\x12\x10\n\x08selector\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\x12\x10\n\x08\x64\x65\x61\x64line\x18\x03 \x01(\x01\x12\x18\n\x0cmin_deadline\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x1a\n\x12operation_deadline\x18\x05 \x01(\x01\x12\x41\n\x10path_translation\x18\x06 \x01(\x0e\x32\'.google.api.BackendRule.PathTranslation\x12\x16\n\x0cjwt_audience\x18\x07 \x01(\tH\x00\x12\x16\n\x0c\x64isable_auth\x18\x08 \x01(\x08H\x00\x12\x10\n\x08protocol\x18\t \x01(\t\x12^\n\x1doverrides_by_request_protocol\x18\n \x03(\x0b\x32\x37.google.api.BackendRule.OverridesByRequestProtocolEntry\x1aZ\n\x1fOverridesByRequestProtocolEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.google.api.BackendRule:\x02\x38\x01\"e\n\x0fPathTranslation\x12 \n\x1cPATH_TRANSLATION_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43ONSTANT_ADDRESS\x10\x01\x12\x1a\n\x16\x41PPEND_PATH_TO_ADDRESS\x10\x02\x42\x10\n\x0e\x61uthenticationBn\n\x0e\x63om.google.apiB\x0c\x42\x61\x63kendProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\xa2\x02\x04GAPIb\x06proto3"
9
+
10
+ pool = Google::Protobuf::DescriptorPool.generated_pool
11
+
12
+ begin
13
+ pool.add_serialized_file(descriptor_data)
14
+ rescue TypeError => e
15
+ # Compatibility code: will be removed in the next major version.
16
+ require 'google/protobuf/descriptor_pb'
17
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
18
+ parsed.clear_dependency
19
+ serialized = parsed.class.encode(parsed)
20
+ file = pool.add_serialized_file(serialized)
21
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
22
+ imports = [
23
+ ]
24
+ imports.each do |type_name, expected_filename|
25
+ import_file = pool.lookup(type_name).file_descriptor
26
+ if import_file.name != expected_filename
27
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
29
28
  end
30
29
  end
30
+ warn "Each proto file must use a consistent fully-qualified name."
31
+ warn "This will become an error in the next major version."
31
32
  end
32
33
 
33
34
  module Google
@@ -37,3 +38,191 @@ module Google
37
38
  BackendRule::PathTranslation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.api.BackendRule.PathTranslation").enummodule
38
39
  end
39
40
  end
41
+
42
+ #### Source proto file: google/api/backend.proto ####
43
+ #
44
+ # // Copyright 2023 Google LLC
45
+ # //
46
+ # // Licensed under the Apache License, Version 2.0 (the "License");
47
+ # // you may not use this file except in compliance with the License.
48
+ # // You may obtain a copy of the License at
49
+ # //
50
+ # // http://www.apache.org/licenses/LICENSE-2.0
51
+ # //
52
+ # // Unless required by applicable law or agreed to in writing, software
53
+ # // distributed under the License is distributed on an "AS IS" BASIS,
54
+ # // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
55
+ # // See the License for the specific language governing permissions and
56
+ # // limitations under the License.
57
+ #
58
+ # syntax = "proto3";
59
+ #
60
+ # package google.api;
61
+ #
62
+ # option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";
63
+ # option java_multiple_files = true;
64
+ # option java_outer_classname = "BackendProto";
65
+ # option java_package = "com.google.api";
66
+ # option objc_class_prefix = "GAPI";
67
+ #
68
+ # // `Backend` defines the backend configuration for a service.
69
+ # message Backend {
70
+ # // A list of API backend rules that apply to individual API methods.
71
+ # //
72
+ # // **NOTE:** All service configuration rules follow "last one wins" order.
73
+ # repeated BackendRule rules = 1;
74
+ # }
75
+ #
76
+ # // A backend rule provides configuration for an individual API element.
77
+ # message BackendRule {
78
+ # // Path Translation specifies how to combine the backend address with the
79
+ # // request path in order to produce the appropriate forwarding URL for the
80
+ # // request.
81
+ # //
82
+ # // Path Translation is applicable only to HTTP-based backends. Backends which
83
+ # // do not accept requests over HTTP/HTTPS should leave `path_translation`
84
+ # // unspecified.
85
+ # enum PathTranslation {
86
+ # PATH_TRANSLATION_UNSPECIFIED = 0;
87
+ #
88
+ # // Use the backend address as-is, with no modification to the path. If the
89
+ # // URL pattern contains variables, the variable names and values will be
90
+ # // appended to the query string. If a query string parameter and a URL
91
+ # // pattern variable have the same name, this may result in duplicate keys in
92
+ # // the query string.
93
+ # //
94
+ # // # Examples
95
+ # //
96
+ # // Given the following operation config:
97
+ # //
98
+ # // Method path: /api/company/{cid}/user/{uid}
99
+ # // Backend address: https://example.cloudfunctions.net/getUser
100
+ # //
101
+ # // Requests to the following request paths will call the backend at the
102
+ # // translated path:
103
+ # //
104
+ # // Request path: /api/company/widgetworks/user/johndoe
105
+ # // Translated:
106
+ # // https://example.cloudfunctions.net/getUser?cid=widgetworks&uid=johndoe
107
+ # //
108
+ # // Request path: /api/company/widgetworks/user/johndoe?timezone=EST
109
+ # // Translated:
110
+ # // https://example.cloudfunctions.net/getUser?timezone=EST&cid=widgetworks&uid=johndoe
111
+ # CONSTANT_ADDRESS = 1;
112
+ #
113
+ # // The request path will be appended to the backend address.
114
+ # //
115
+ # // # Examples
116
+ # //
117
+ # // Given the following operation config:
118
+ # //
119
+ # // Method path: /api/company/{cid}/user/{uid}
120
+ # // Backend address: https://example.appspot.com
121
+ # //
122
+ # // Requests to the following request paths will call the backend at the
123
+ # // translated path:
124
+ # //
125
+ # // Request path: /api/company/widgetworks/user/johndoe
126
+ # // Translated:
127
+ # // https://example.appspot.com/api/company/widgetworks/user/johndoe
128
+ # //
129
+ # // Request path: /api/company/widgetworks/user/johndoe?timezone=EST
130
+ # // Translated:
131
+ # // https://example.appspot.com/api/company/widgetworks/user/johndoe?timezone=EST
132
+ # APPEND_PATH_TO_ADDRESS = 2;
133
+ # }
134
+ #
135
+ # // Selects the methods to which this rule applies.
136
+ # //
137
+ # // Refer to [selector][google.api.DocumentationRule.selector] for syntax
138
+ # // details.
139
+ # string selector = 1;
140
+ #
141
+ # // The address of the API backend.
142
+ # //
143
+ # // The scheme is used to determine the backend protocol and security.
144
+ # // The following schemes are accepted:
145
+ # //
146
+ # // SCHEME PROTOCOL SECURITY
147
+ # // http:// HTTP None
148
+ # // https:// HTTP TLS
149
+ # // grpc:// gRPC None
150
+ # // grpcs:// gRPC TLS
151
+ # //
152
+ # // It is recommended to explicitly include a scheme. Leaving out the scheme
153
+ # // may cause constrasting behaviors across platforms.
154
+ # //
155
+ # // If the port is unspecified, the default is:
156
+ # // - 80 for schemes without TLS
157
+ # // - 443 for schemes with TLS
158
+ # //
159
+ # // For HTTP backends, use [protocol][google.api.BackendRule.protocol]
160
+ # // to specify the protocol version.
161
+ # string address = 2;
162
+ #
163
+ # // The number of seconds to wait for a response from a request. The default
164
+ # // varies based on the request protocol and deployment environment.
165
+ # double deadline = 3;
166
+ #
167
+ # // Deprecated, do not use.
168
+ # double min_deadline = 4 [deprecated = true];
169
+ #
170
+ # // The number of seconds to wait for the completion of a long running
171
+ # // operation. The default is no deadline.
172
+ # double operation_deadline = 5;
173
+ #
174
+ # PathTranslation path_translation = 6;
175
+ #
176
+ # // Authentication settings used by the backend.
177
+ # //
178
+ # // These are typically used to provide service management functionality to
179
+ # // a backend served on a publicly-routable URL. The `authentication`
180
+ # // details should match the authentication behavior used by the backend.
181
+ # //
182
+ # // For example, specifying `jwt_audience` implies that the backend expects
183
+ # // authentication via a JWT.
184
+ # //
185
+ # // When authentication is unspecified, the resulting behavior is the same
186
+ # // as `disable_auth` set to `true`.
187
+ # //
188
+ # // Refer to https://developers.google.com/identity/protocols/OpenIDConnect for
189
+ # // JWT ID token.
190
+ # oneof authentication {
191
+ # // The JWT audience is used when generating a JWT ID token for the backend.
192
+ # // This ID token will be added in the HTTP "authorization" header, and sent
193
+ # // to the backend.
194
+ # string jwt_audience = 7;
195
+ #
196
+ # // When disable_auth is true, a JWT ID token won't be generated and the
197
+ # // original "Authorization" HTTP header will be preserved. If the header is
198
+ # // used to carry the original token and is expected by the backend, this
199
+ # // field must be set to true to preserve the header.
200
+ # bool disable_auth = 8;
201
+ # }
202
+ #
203
+ # // The protocol used for sending a request to the backend.
204
+ # // The supported values are "http/1.1" and "h2".
205
+ # //
206
+ # // The default value is inferred from the scheme in the
207
+ # // [address][google.api.BackendRule.address] field:
208
+ # //
209
+ # // SCHEME PROTOCOL
210
+ # // http:// http/1.1
211
+ # // https:// http/1.1
212
+ # // grpc:// h2
213
+ # // grpcs:// h2
214
+ # //
215
+ # // For secure HTTP backends (https://) that support HTTP/2, set this field
216
+ # // to "h2" for improved performance.
217
+ # //
218
+ # // Configuring this field to non-default values is only supported for secure
219
+ # // HTTP backends. This field will be ignored for all other backends.
220
+ # //
221
+ # // See
222
+ # // https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids
223
+ # // for more details on the supported values.
224
+ # string protocol = 9;
225
+ #
226
+ # // The map between request protocol and the backend address.
227
+ # map<string, BackendRule> overrides_by_request_protocol = 10;
228
+ # }