google-cloud-run-v2 0.1.0 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b9fef066dcea460ebd958be44137e4a0da79cbb3d9e3560883ae4398b458ae63
4
- data.tar.gz: 76f7bbf42dc7873ee653bc1cd6de022b637e211d6be50ad25b01859d14f8453e
3
+ metadata.gz: 3f922042aed3e6d1c2974ceae0aefd06983aeb9b7256496a441bb680e1e93125
4
+ data.tar.gz: b9f414ef50f5c00b006f5d1383e13de50a6eb61b542da39a761a34579b97d88b
5
5
  SHA512:
6
- metadata.gz: 1d30662820b429f8d84e4483564683a6795890411a9b1b12deba88a1408b3431306c3a082c23b052d750afa1067acb7143a7f23308306859fc0ad661b8fb4f20
7
- data.tar.gz: e0a4ee1d2f7e49182e3df622433da80d4b65ff7e4225c9084c1bf9b5de7db8c46836545cb48a76264832e06e68d83d913680fc357d134913f744e678ea9ea1b8
6
+ metadata.gz: e8401c45970f5198ab8a0e0af5e7c58199a90e383ab3320264ff7618adc1f1ce52bda56a781afc27b7a1a2df6ef42ac878b01deab43085cb712a14492b667366
7
+ data.tar.gz: d575ff9e6d390a7fe35c7cdcea0c5aeae731c0cb3a223b3a3ed04c44a868e8ac2dab41951385351d4e5304f62b816795c9189887f4cf8aaeca0824b02a86b29b
@@ -15,8 +15,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
15
15
  optional :severity, :enum, 5, "google.cloud.run.v2.Condition.Severity"
16
16
  oneof :reasons do
17
17
  optional :reason, :enum, 6, "google.cloud.run.v2.Condition.CommonReason"
18
- optional :internal_reason, :enum, 7, "google.cloud.run.v2.Condition.InternalReason"
19
- optional :domain_mapping_reason, :enum, 8, "google.cloud.run.v2.Condition.DomainMappingReason"
20
18
  optional :revision_reason, :enum, 9, "google.cloud.run.v2.Condition.RevisionReason"
21
19
  optional :execution_reason, :enum, 11, "google.cloud.run.v2.Condition.ExecutionReason"
22
20
  end
@@ -37,10 +35,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
37
35
  add_enum "google.cloud.run.v2.Condition.CommonReason" do
38
36
  value :COMMON_REASON_UNDEFINED, 0
39
37
  value :UNKNOWN, 1
40
- value :ROUTE_MISSING, 2
41
38
  value :REVISION_FAILED, 3
42
39
  value :PROGRESS_DEADLINE_EXCEEDED, 4
43
- value :BUILD_STEP_FAILED, 5
44
40
  value :CONTAINER_MISSING, 6
45
41
  value :CONTAINER_PERMISSION_DENIED, 7
46
42
  value :CONTAINER_IMAGE_UNAUTHORIZED, 8
@@ -51,25 +47,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
51
47
  value :WAITING_FOR_OPERATION, 13
52
48
  value :IMMEDIATE_RETRY, 14
53
49
  value :POSTPONED_RETRY, 15
54
- end
55
- add_enum "google.cloud.run.v2.Condition.InternalReason" do
56
- value :INTERNAL_REASON_UNDEFINED, 0
57
- value :CONFLICTING_REVISION_NAME, 1
58
- value :REVISION_MISSING, 2
59
- value :CONFIGURATION_MISSING, 3
60
- value :ASSIGNING_TRAFFIC, 4
61
- value :UPDATING_INGRESS_TRAFFIC_ALLOWED, 5
62
- value :REVISION_ORG_POLICY_VIOLATION, 6
63
- value :ENABLING_GCFV2_URI_SUPPORT, 7
64
- end
65
- add_enum "google.cloud.run.v2.Condition.DomainMappingReason" do
66
- value :DOMAIN_MAPPING_REASON_UNDEFINED, 0
67
- value :ROUTE_NOT_READY, 1
68
- value :PERMISSION_DENIED, 2
69
- value :CERTIFICATE_ALREADY_EXISTS, 3
70
- value :MAPPING_ALREADY_EXISTS, 4
71
- value :CERTIFICATE_PENDING, 5
72
- value :CERTIFICATE_FAILED, 6
50
+ value :INTERNAL, 16
73
51
  end
74
52
  add_enum "google.cloud.run.v2.Condition.RevisionReason" do
75
53
  value :REVISION_REASON_UNDEFINED, 0
@@ -101,8 +79,6 @@ module Google
101
79
  Condition::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.run.v2.Condition.State").enummodule
102
80
  Condition::Severity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.run.v2.Condition.Severity").enummodule
103
81
  Condition::CommonReason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.run.v2.Condition.CommonReason").enummodule
104
- Condition::InternalReason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.run.v2.Condition.InternalReason").enummodule
105
- Condition::DomainMappingReason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.run.v2.Condition.DomainMappingReason").enummodule
106
82
  Condition::RevisionReason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.run.v2.Condition.RevisionReason").enummodule
107
83
  Condition::ExecutionReason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.run.v2.Condition.ExecutionReason").enummodule
108
84
  end
@@ -62,7 +62,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
62
62
  optional :mode, :int32, 3
63
63
  end
64
64
  add_message "google.cloud.run.v2.CloudSqlInstance" do
65
- repeated :connections, :string, 1
65
+ repeated :instances, :string, 1
66
66
  end
67
67
  end
68
68
  end
@@ -8,6 +8,7 @@ require 'google/api/client_pb'
8
8
  require 'google/api/field_behavior_pb'
9
9
  require 'google/api/launch_stage_pb'
10
10
  require 'google/api/resource_pb'
11
+ require 'google/api/routing_pb'
11
12
  require 'google/cloud/run/v2/condition_pb'
12
13
  require 'google/cloud/run/v2/k8s.min_pb'
13
14
  require 'google/cloud/run/v2/vendor_settings_pb'
@@ -49,12 +50,11 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
49
50
  optional :service, :string, 11
50
51
  optional :scaling, :message, 12, "google.cloud.run.v2.RevisionScaling"
51
52
  optional :vpc_access, :message, 13, "google.cloud.run.v2.VpcAccess"
52
- optional :container_concurrency, :int32, 14
53
+ optional :max_instance_request_concurrency, :int32, 34
53
54
  optional :timeout, :message, 15, "google.protobuf.Duration"
54
55
  optional :service_account, :string, 16
55
56
  repeated :containers, :message, 17, "google.cloud.run.v2.Container"
56
57
  repeated :volumes, :message, 18, "google.cloud.run.v2.Volume"
57
- optional :confidential, :bool, 19
58
58
  optional :execution_environment, :enum, 20, "google.cloud.run.v2.ExecutionEnvironment"
59
59
  optional :encryption_key, :string, 21
60
60
  optional :reconciling, :bool, 30
@@ -16,14 +16,13 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
16
16
  map :annotations, :string, :string, 3
17
17
  optional :scaling, :message, 4, "google.cloud.run.v2.RevisionScaling"
18
18
  optional :vpc_access, :message, 6, "google.cloud.run.v2.VpcAccess"
19
- optional :container_concurrency, :int32, 7
20
19
  optional :timeout, :message, 8, "google.protobuf.Duration"
21
20
  optional :service_account, :string, 9
22
21
  repeated :containers, :message, 10, "google.cloud.run.v2.Container"
23
22
  repeated :volumes, :message, 11, "google.cloud.run.v2.Volume"
24
- optional :confidential, :bool, 12
25
23
  optional :execution_environment, :enum, 13, "google.cloud.run.v2.ExecutionEnvironment"
26
24
  optional :encryption_key, :string, 14
25
+ optional :max_instance_request_concurrency, :int32, 15
27
26
  end
28
27
  end
29
28
  end
@@ -222,10 +222,13 @@ module Google
222
222
 
223
223
  header_params = {}
224
224
  if request.name
225
- header_params["name"] = request.name
225
+ regex_match = %r{^projects/[^/]+/locations/(?<location>[^/]+)(?:/.*)?$}.match request.name
226
+ if regex_match
227
+ header_params["location"] = regex_match["location".to_s]
228
+ end
226
229
  end
227
230
 
228
- request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
231
+ request_params_header = URI.encode_www_form header_params
229
232
  metadata[:"x-goog-request-params"] ||= request_params_header
230
233
 
231
234
  options.apply_defaults timeout: @config.rpcs.get_revision.timeout,
@@ -323,10 +326,13 @@ module Google
323
326
 
324
327
  header_params = {}
325
328
  if request.parent
326
- header_params["parent"] = request.parent
329
+ regex_match = %r{^projects/[^/]+/locations/(?<location>[^/]+)(?:/.*)?$}.match request.parent
330
+ if regex_match
331
+ header_params["location"] = regex_match["location".to_s]
332
+ end
327
333
  end
328
334
 
329
- request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
335
+ request_params_header = URI.encode_www_form header_params
330
336
  metadata[:"x-goog-request-params"] ||= request_params_header
331
337
 
332
338
  options.apply_defaults timeout: @config.rpcs.list_revisions.timeout,
@@ -424,10 +430,13 @@ module Google
424
430
 
425
431
  header_params = {}
426
432
  if request.name
427
- header_params["name"] = request.name
433
+ regex_match = %r{^projects/[^/]+/locations/(?<location>[^/]+)(?:/.*)?$}.match request.name
434
+ if regex_match
435
+ header_params["location"] = regex_match["location".to_s]
436
+ end
428
437
  end
429
438
 
430
- request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
439
+ request_params_header = URI.encode_www_form header_params
431
440
  metadata[:"x-goog-request-params"] ||= request_params_header
432
441
 
433
442
  options.apply_defaults timeout: @config.rpcs.delete_revision.timeout,
@@ -8,6 +8,7 @@ require 'google/api/client_pb'
8
8
  require 'google/api/field_behavior_pb'
9
9
  require 'google/api/launch_stage_pb'
10
10
  require 'google/api/resource_pb'
11
+ require 'google/api/routing_pb'
11
12
  require 'google/cloud/run/v2/condition_pb'
12
13
  require 'google/cloud/run/v2/revision_template_pb'
13
14
  require 'google/cloud/run/v2/traffic_target_pb'
@@ -15,7 +16,6 @@ require 'google/cloud/run/v2/vendor_settings_pb'
15
16
  require 'google/iam/v1/iam_policy_pb'
16
17
  require 'google/iam/v1/policy_pb'
17
18
  require 'google/longrunning/operations_pb'
18
- require 'google/protobuf/field_mask_pb'
19
19
  require 'google/protobuf/timestamp_pb'
20
20
 
21
21
  Google::Protobuf::DescriptorPool.generated_pool.build do
@@ -28,7 +28,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
28
28
  end
29
29
  add_message "google.cloud.run.v2.UpdateServiceRequest" do
30
30
  optional :service, :message, 1, "google.cloud.run.v2.Service"
31
- optional :update_mask, :message, 2, "google.protobuf.FieldMask"
32
31
  optional :validate_only, :bool, 3
33
32
  optional :allow_missing, :bool, 4
34
33
  end
@@ -252,10 +252,13 @@ module Google
252
252
 
253
253
  header_params = {}
254
254
  if request.parent
255
- header_params["parent"] = request.parent
255
+ regex_match = %r{^projects/[^/]+/locations/(?<location>[^/]+)/?$}.match request.parent
256
+ if regex_match
257
+ header_params["location"] = regex_match["location".to_s]
258
+ end
256
259
  end
257
260
 
258
- request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
261
+ request_params_header = URI.encode_www_form header_params
259
262
  metadata[:"x-goog-request-params"] ||= request_params_header
260
263
 
261
264
  options.apply_defaults timeout: @config.rpcs.create_service.timeout,
@@ -339,10 +342,13 @@ module Google
339
342
 
340
343
  header_params = {}
341
344
  if request.name
342
- header_params["name"] = request.name
345
+ regex_match = %r{^projects/[^/]+/locations/(?<location>[^/]+)(?:/.*)?$}.match request.name
346
+ if regex_match
347
+ header_params["location"] = regex_match["location".to_s]
348
+ end
343
349
  end
344
350
 
345
- request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
351
+ request_params_header = URI.encode_www_form header_params
346
352
  metadata[:"x-goog-request-params"] ||= request_params_header
347
353
 
348
354
  options.apply_defaults timeout: @config.rpcs.get_service.timeout,
@@ -439,10 +445,13 @@ module Google
439
445
 
440
446
  header_params = {}
441
447
  if request.parent
442
- header_params["parent"] = request.parent
448
+ regex_match = %r{^projects/[^/]+/locations/(?<location>[^/]+)/?$}.match request.parent
449
+ if regex_match
450
+ header_params["location"] = regex_match["location".to_s]
451
+ end
443
452
  end
444
453
 
445
- request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
454
+ request_params_header = URI.encode_www_form header_params
446
455
  metadata[:"x-goog-request-params"] ||= request_params_header
447
456
 
448
457
  options.apply_defaults timeout: @config.rpcs.list_services.timeout,
@@ -475,15 +484,13 @@ module Google
475
484
  # @param options [::Gapic::CallOptions, ::Hash]
476
485
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
477
486
  #
478
- # @overload update_service(service: nil, update_mask: nil, validate_only: nil, allow_missing: nil)
487
+ # @overload update_service(service: nil, validate_only: nil, allow_missing: nil)
479
488
  # Pass arguments to `update_service` via keyword arguments. Note that at
480
489
  # least one keyword argument is required. To specify no parameters, or to keep all
481
490
  # the default parameter values, pass an empty Hash as a request object (see above).
482
491
  #
483
492
  # @param service [::Google::Cloud::Run::V2::Service, ::Hash]
484
493
  # Required. The Service to be updated.
485
- # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
486
- # The list of fields to be updated.
487
494
  # @param validate_only [::Boolean]
488
495
  # Indicates that the request should be validated and default values
489
496
  # populated, without persisting the request or updating any resources.
@@ -541,10 +548,13 @@ module Google
541
548
 
542
549
  header_params = {}
543
550
  if request.service&.name
544
- header_params["service.name"] = request.service.name
551
+ regex_match = %r{^projects/[^/]+/locations/(?<location>[^/]+)(?:/.*)?$}.match request.service.name
552
+ if regex_match
553
+ header_params["location"] = regex_match["location".to_s]
554
+ end
545
555
  end
546
556
 
547
- request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
557
+ request_params_header = URI.encode_www_form header_params
548
558
  metadata[:"x-goog-request-params"] ||= request_params_header
549
559
 
550
560
  options.apply_defaults timeout: @config.rpcs.update_service.timeout,
@@ -643,10 +653,13 @@ module Google
643
653
 
644
654
  header_params = {}
645
655
  if request.name
646
- header_params["name"] = request.name
656
+ regex_match = %r{^projects/[^/]+/locations/(?<location>[^/]+)(?:/.*)?$}.match request.name
657
+ if regex_match
658
+ header_params["location"] = regex_match["location".to_s]
659
+ end
647
660
  end
648
661
 
649
- request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
662
+ request_params_header = URI.encode_www_form header_params
650
663
  metadata[:"x-goog-request-params"] ||= request_params_header
651
664
 
652
665
  options.apply_defaults timeout: @config.rpcs.delete_service.timeout,
@@ -34,7 +34,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
34
34
  end
35
35
  add_enum "google.cloud.run.v2.ExecutionEnvironment" do
36
36
  value :EXECUTION_ENVIRONMENT_UNSPECIFIED, 0
37
- value :EXECUTION_ENVIRONMENT_DEFAULT, 1
37
+ value :EXECUTION_ENVIRONMENT_GEN1, 1
38
38
  value :EXECUTION_ENVIRONMENT_GEN2, 2
39
39
  end
40
40
  end
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Run
23
23
  module V2
24
- VERSION = "0.1.0"
24
+ VERSION = "0.2.0"
25
25
  end
26
26
  end
27
27
  end
@@ -0,0 +1,459 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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
+ # Specifies the routing information that should be sent along with the request
23
+ # in the form of routing header.
24
+ # **NOTE:** All service configuration rules follow the "last one wins" order.
25
+ #
26
+ # The examples below will apply to an RPC which has the following request type:
27
+ #
28
+ # Message Definition:
29
+ #
30
+ # message Request {
31
+ # // The name of the Table
32
+ # // Values can be of the following formats:
33
+ # // - `projects/<project>/tables/<table>`
34
+ # // - `projects/<project>/instances/<instance>/tables/<table>`
35
+ # // - `region/<region>/zones/<zone>/tables/<table>`
36
+ # string table_name = 1;
37
+ #
38
+ # // This value specifies routing for replication.
39
+ # // It can be in the following formats:
40
+ # // - `profiles/<profile_id>`
41
+ # // - a legacy `profile_id` that can be any string
42
+ # string app_profile_id = 2;
43
+ # }
44
+ #
45
+ # Example message:
46
+ #
47
+ # {
48
+ # table_name: projects/proj_foo/instances/instance_bar/table/table_baz,
49
+ # app_profile_id: profiles/prof_qux
50
+ # }
51
+ #
52
+ # The routing header consists of one or multiple key-value pairs. Every key
53
+ # and value must be percent-encoded, and joined together in the format of
54
+ # `key1=value1&key2=value2`.
55
+ # In the examples below I am skipping the percent-encoding for readablity.
56
+ #
57
+ # Example 1
58
+ #
59
+ # Extracting a field from the request to put into the routing header
60
+ # unchanged, with the key equal to the field name.
61
+ #
62
+ # annotation:
63
+ #
64
+ # option (google.api.routing) = {
65
+ # // Take the `app_profile_id`.
66
+ # routing_parameters {
67
+ # field: "app_profile_id"
68
+ # }
69
+ # };
70
+ #
71
+ # result:
72
+ #
73
+ # x-goog-request-params: app_profile_id=profiles/prof_qux
74
+ #
75
+ # Example 2
76
+ #
77
+ # Extracting a field from the request to put into the routing header
78
+ # unchanged, with the key different from the field name.
79
+ #
80
+ # annotation:
81
+ #
82
+ # option (google.api.routing) = {
83
+ # // Take the `app_profile_id`, but name it `routing_id` in the header.
84
+ # routing_parameters {
85
+ # field: "app_profile_id"
86
+ # path_template: "{routing_id=**}"
87
+ # }
88
+ # };
89
+ #
90
+ # result:
91
+ #
92
+ # x-goog-request-params: routing_id=profiles/prof_qux
93
+ #
94
+ # Example 3
95
+ #
96
+ # Extracting a field from the request to put into the routing
97
+ # header, while matching a path template syntax on the field's value.
98
+ #
99
+ # NB: it is more useful to send nothing than to send garbage for the purpose
100
+ # of dynamic routing, since garbage pollutes cache. Thus the matching.
101
+ #
102
+ # Sub-example 3a
103
+ #
104
+ # The field matches the template.
105
+ #
106
+ # annotation:
107
+ #
108
+ # option (google.api.routing) = {
109
+ # // Take the `table_name`, if it's well-formed (with project-based
110
+ # // syntax).
111
+ # routing_parameters {
112
+ # field: "table_name"
113
+ # path_template: "{table_name=projects/*/instances/*/**}"
114
+ # }
115
+ # };
116
+ #
117
+ # result:
118
+ #
119
+ # x-goog-request-params:
120
+ # table_name=projects/proj_foo/instances/instance_bar/table/table_baz
121
+ #
122
+ # Sub-example 3b
123
+ #
124
+ # The field does not match the template.
125
+ #
126
+ # annotation:
127
+ #
128
+ # option (google.api.routing) = {
129
+ # // Take the `table_name`, if it's well-formed (with region-based
130
+ # // syntax).
131
+ # routing_parameters {
132
+ # field: "table_name"
133
+ # path_template: "{table_name=regions/*/zones/*/**}"
134
+ # }
135
+ # };
136
+ #
137
+ # result:
138
+ #
139
+ # <no routing header will be sent>
140
+ #
141
+ # Sub-example 3c
142
+ #
143
+ # Multiple alternative conflictingly named path templates are
144
+ # specified. The one that matches is used to construct the header.
145
+ #
146
+ # annotation:
147
+ #
148
+ # option (google.api.routing) = {
149
+ # // Take the `table_name`, if it's well-formed, whether
150
+ # // using the region- or projects-based syntax.
151
+ #
152
+ # routing_parameters {
153
+ # field: "table_name"
154
+ # path_template: "{table_name=regions/*/zones/*/**}"
155
+ # }
156
+ # routing_parameters {
157
+ # field: "table_name"
158
+ # path_template: "{table_name=projects/*/instances/*/**}"
159
+ # }
160
+ # };
161
+ #
162
+ # result:
163
+ #
164
+ # x-goog-request-params:
165
+ # table_name=projects/proj_foo/instances/instance_bar/table/table_baz
166
+ #
167
+ # Example 4
168
+ #
169
+ # Extracting a single routing header key-value pair by matching a
170
+ # template syntax on (a part of) a single request field.
171
+ #
172
+ # annotation:
173
+ #
174
+ # option (google.api.routing) = {
175
+ # // Take just the project id from the `table_name` field.
176
+ # routing_parameters {
177
+ # field: "table_name"
178
+ # path_template: "{routing_id=projects/*}/**"
179
+ # }
180
+ # };
181
+ #
182
+ # result:
183
+ #
184
+ # x-goog-request-params: routing_id=projects/proj_foo
185
+ #
186
+ # Example 5
187
+ #
188
+ # Extracting a single routing header key-value pair by matching
189
+ # several conflictingly named path templates on (parts of) a single request
190
+ # field. The last template to match "wins" the conflict.
191
+ #
192
+ # annotation:
193
+ #
194
+ # option (google.api.routing) = {
195
+ # // If the `table_name` does not have instances information,
196
+ # // take just the project id for routing.
197
+ # // Otherwise take project + instance.
198
+ #
199
+ # routing_parameters {
200
+ # field: "table_name"
201
+ # path_template: "{routing_id=projects/*}/**"
202
+ # }
203
+ # routing_parameters {
204
+ # field: "table_name"
205
+ # path_template: "{routing_id=projects/*/instances/*}/**"
206
+ # }
207
+ # };
208
+ #
209
+ # result:
210
+ #
211
+ # x-goog-request-params:
212
+ # routing_id=projects/proj_foo/instances/instance_bar
213
+ #
214
+ # Example 6
215
+ #
216
+ # Extracting multiple routing header key-value pairs by matching
217
+ # several non-conflicting path templates on (parts of) a single request field.
218
+ #
219
+ # Sub-example 6a
220
+ #
221
+ # Make the templates strict, so that if the `table_name` does not
222
+ # have an instance information, nothing is sent.
223
+ #
224
+ # annotation:
225
+ #
226
+ # option (google.api.routing) = {
227
+ # // The routing code needs two keys instead of one composite
228
+ # // but works only for the tables with the "project-instance" name
229
+ # // syntax.
230
+ #
231
+ # routing_parameters {
232
+ # field: "table_name"
233
+ # path_template: "{project_id=projects/*}/instances/*/**"
234
+ # }
235
+ # routing_parameters {
236
+ # field: "table_name"
237
+ # path_template: "projects/*/{instance_id=instances/*}/**"
238
+ # }
239
+ # };
240
+ #
241
+ # result:
242
+ #
243
+ # x-goog-request-params:
244
+ # project_id=projects/proj_foo&instance_id=instances/instance_bar
245
+ #
246
+ # Sub-example 6b
247
+ #
248
+ # Make the templates loose, so that if the `table_name` does not
249
+ # have an instance information, just the project id part is sent.
250
+ #
251
+ # annotation:
252
+ #
253
+ # option (google.api.routing) = {
254
+ # // The routing code wants two keys instead of one composite
255
+ # // but will work with just the `project_id` for tables without
256
+ # // an instance in the `table_name`.
257
+ #
258
+ # routing_parameters {
259
+ # field: "table_name"
260
+ # path_template: "{project_id=projects/*}/**"
261
+ # }
262
+ # routing_parameters {
263
+ # field: "table_name"
264
+ # path_template: "projects/*/{instance_id=instances/*}/**"
265
+ # }
266
+ # };
267
+ #
268
+ # result (is the same as 6a for our example message because it has the instance
269
+ # information):
270
+ #
271
+ # x-goog-request-params:
272
+ # project_id=projects/proj_foo&instance_id=instances/instance_bar
273
+ #
274
+ # Example 7
275
+ #
276
+ # Extracting multiple routing header key-value pairs by matching
277
+ # several path templates on multiple request fields.
278
+ #
279
+ # NB: note that here there is no way to specify sending nothing if one of the
280
+ # fields does not match its template. E.g. if the `table_name` is in the wrong
281
+ # format, the `project_id` will not be sent, but the `routing_id` will be.
282
+ # The backend routing code has to be aware of that and be prepared to not
283
+ # receive a full complement of keys if it expects multiple.
284
+ #
285
+ # annotation:
286
+ #
287
+ # option (google.api.routing) = {
288
+ # // The routing needs both `project_id` and `routing_id`
289
+ # // (from the `app_profile_id` field) for routing.
290
+ #
291
+ # routing_parameters {
292
+ # field: "table_name"
293
+ # path_template: "{project_id=projects/*}/**"
294
+ # }
295
+ # routing_parameters {
296
+ # field: "app_profile_id"
297
+ # path_template: "{routing_id=**}"
298
+ # }
299
+ # };
300
+ #
301
+ # result:
302
+ #
303
+ # x-goog-request-params:
304
+ # project_id=projects/proj_foo&routing_id=profiles/prof_qux
305
+ #
306
+ # Example 8
307
+ #
308
+ # Extracting a single routing header key-value pair by matching
309
+ # several conflictingly named path templates on several request fields. The
310
+ # last template to match "wins" the conflict.
311
+ #
312
+ # annotation:
313
+ #
314
+ # option (google.api.routing) = {
315
+ # // The `routing_id` can be a project id or a region id depending on
316
+ # // the table name format, but only if the `app_profile_id` is not set.
317
+ # // If `app_profile_id` is set it should be used instead.
318
+ #
319
+ # routing_parameters {
320
+ # field: "table_name"
321
+ # path_template: "{routing_id=projects/*}/**"
322
+ # }
323
+ # routing_parameters {
324
+ # field: "table_name"
325
+ # path_template: "{routing_id=regions/*}/**"
326
+ # }
327
+ # routing_parameters {
328
+ # field: "app_profile_id"
329
+ # path_template: "{routing_id=**}"
330
+ # }
331
+ # };
332
+ #
333
+ # result:
334
+ #
335
+ # x-goog-request-params: routing_id=profiles/prof_qux
336
+ #
337
+ # Example 9
338
+ #
339
+ # Bringing it all together.
340
+ #
341
+ # annotation:
342
+ #
343
+ # option (google.api.routing) = {
344
+ # // For routing both `table_location` and a `routing_id` are needed.
345
+ # //
346
+ # // table_location can be either an instance id or a region+zone id.
347
+ # //
348
+ # // For `routing_id`, take the value of `app_profile_id`
349
+ # // - If it's in the format `profiles/<profile_id>`, send
350
+ # // just the `<profile_id>` part.
351
+ # // - If it's any other literal, send it as is.
352
+ # // If the `app_profile_id` is empty, and the `table_name` starts with
353
+ # // the project_id, send that instead.
354
+ #
355
+ # routing_parameters {
356
+ # field: "table_name"
357
+ # path_template: "projects/*/{table_location=instances/*}/tables/*"
358
+ # }
359
+ # routing_parameters {
360
+ # field: "table_name"
361
+ # path_template: "{table_location=regions/*/zones/*}/tables/*"
362
+ # }
363
+ # routing_parameters {
364
+ # field: "table_name"
365
+ # path_template: "{routing_id=projects/*}/**"
366
+ # }
367
+ # routing_parameters {
368
+ # field: "app_profile_id"
369
+ # path_template: "{routing_id=**}"
370
+ # }
371
+ # routing_parameters {
372
+ # field: "app_profile_id"
373
+ # path_template: "profiles/{routing_id=*}"
374
+ # }
375
+ # };
376
+ #
377
+ # result:
378
+ #
379
+ # x-goog-request-params:
380
+ # table_location=instances/instance_bar&routing_id=prof_qux
381
+ # @!attribute [rw] routing_parameters
382
+ # @return [::Array<::Google::Api::RoutingParameter>]
383
+ # A collection of Routing Parameter specifications.
384
+ # **NOTE:** If multiple Routing Parameters describe the same key
385
+ # (via the `path_template` field or via the `field` field when
386
+ # `path_template` is not provided), "last one wins" rule
387
+ # determines which Parameter gets used.
388
+ # See the examples for more details.
389
+ class RoutingRule
390
+ include ::Google::Protobuf::MessageExts
391
+ extend ::Google::Protobuf::MessageExts::ClassMethods
392
+ end
393
+
394
+ # A projection from an input message to the GRPC or REST header.
395
+ # @!attribute [rw] field
396
+ # @return [::String]
397
+ # A request field to extract the header key-value pair from.
398
+ # @!attribute [rw] path_template
399
+ # @return [::String]
400
+ # A pattern matching the key-value field. Optional.
401
+ # If not specified, the whole field specified in the `field` field will be
402
+ # taken as value, and its name used as key. If specified, it MUST contain
403
+ # exactly one named segment (along with any number of unnamed segments) The
404
+ # pattern will be matched over the field specified in the `field` field, then
405
+ # if the match is successful:
406
+ # - the name of the single named segment will be used as a header name,
407
+ # - the match value of the segment will be used as a header value;
408
+ # if the match is NOT successful, nothing will be sent.
409
+ #
410
+ # Example:
411
+ #
412
+ # -- This is a field in the request message
413
+ # | that the header value will be extracted from.
414
+ # |
415
+ # | -- This is the key name in the
416
+ # | | routing header.
417
+ # V |
418
+ # field: "table_name" v
419
+ # path_template: "projects/*/{table_location=instances/*}/tables/*"
420
+ # ^ ^
421
+ # | |
422
+ # In the {} brackets is the pattern that -- |
423
+ # specifies what to extract from the |
424
+ # field as a value to be sent. |
425
+ # |
426
+ # The string in the field must match the whole pattern --
427
+ # before brackets, inside brackets, after brackets.
428
+ #
429
+ # When looking at this specific example, we can see that:
430
+ # - A key-value pair with the key `table_location`
431
+ # and the value matching `instances/*` should be added
432
+ # to the x-goog-request-params routing header.
433
+ # - The value is extracted from the request message's `table_name` field
434
+ # if it matches the full pattern specified:
435
+ # `projects/*/instances/*/tables/*`.
436
+ #
437
+ # **NB:** If the `path_template` field is not provided, the key name is
438
+ # equal to the field name, and the whole field should be sent as a value.
439
+ # This makes the pattern for the field and the value functionally equivalent
440
+ # to `**`, and the configuration
441
+ #
442
+ # {
443
+ # field: "table_name"
444
+ # }
445
+ #
446
+ # is a functionally equivalent shorthand to:
447
+ #
448
+ # {
449
+ # field: "table_name"
450
+ # path_template: "{table_name=**}"
451
+ # }
452
+ #
453
+ # See Example 1 for more details.
454
+ class RoutingParameter
455
+ include ::Google::Protobuf::MessageExts
456
+ extend ::Google::Protobuf::MessageExts::ClassMethods
457
+ end
458
+ end
459
+ end
@@ -44,12 +44,6 @@ module Google
44
44
  # @!attribute [rw] reason
45
45
  # @return [::Google::Cloud::Run::V2::Condition::CommonReason]
46
46
  # A common (service-level) reason for this condition.
47
- # @!attribute [rw] internal_reason
48
- # @return [::Google::Cloud::Run::V2::Condition::InternalReason]
49
- # A reason for the internal condition.
50
- # @!attribute [rw] domain_mapping_reason
51
- # @return [::Google::Cloud::Run::V2::Condition::DomainMappingReason]
52
- # A reason for the domain mapping condition.
53
47
  # @!attribute [rw] revision_reason
54
48
  # @return [::Google::Cloud::Run::V2::Condition::RevisionReason]
55
49
  # A reason for the revision condition.
@@ -101,18 +95,12 @@ module Google
101
95
  # Reason unknown. Further details will be in message.
102
96
  UNKNOWN = 1
103
97
 
104
- # The internal route is missing.
105
- ROUTE_MISSING = 2
106
-
107
98
  # Revision creation process failed.
108
99
  REVISION_FAILED = 3
109
100
 
110
101
  # Timed out waiting for completion.
111
102
  PROGRESS_DEADLINE_EXCEEDED = 4
112
103
 
113
- # There was a build error.
114
- BUILD_STEP_FAILED = 5
115
-
116
104
  # The container image path is incorrect.
117
105
  CONTAINER_MISSING = 6
118
106
 
@@ -142,58 +130,9 @@ module Google
142
130
 
143
131
  # System will retry later; current attempt failed.
144
132
  POSTPONED_RETRY = 15
145
- end
146
-
147
- # Reasons applicable to internal resources not exposed to users. These will
148
- # surface in Service.conditions, and could be useful for further diagnosis.
149
- module InternalReason
150
- # Default value.
151
- INTERNAL_REASON_UNDEFINED = 0
152
-
153
- # The revision name provided conflicts with an existing one.
154
- CONFLICTING_REVISION_NAME = 1
155
-
156
- # Revision is missing; this is usually a transient reason.
157
- REVISION_MISSING = 2
158
-
159
- # Internal configuration is missing; this is usually a transient reason.
160
- CONFIGURATION_MISSING = 3
161
-
162
- # Assigning traffic; this is a transient reason.
163
- ASSIGNING_TRAFFIC = 4
164
-
165
- # Updating ingress traffic settings; this is a transient reason.
166
- UPDATING_INGRESS_TRAFFIC_ALLOWED = 5
167
-
168
- # The revision can't be created because it violates an org policy setting.
169
- REVISION_ORG_POLICY_VIOLATION = 6
170
-
171
- # Enabling GCFv2 URI support; this is a transient reason.
172
- ENABLING_GCFV2_URI_SUPPORT = 7
173
- end
174
-
175
- # Reasons specific to DomainMapping resource.
176
- module DomainMappingReason
177
- # Default value.
178
- DOMAIN_MAPPING_REASON_UNDEFINED = 0
179
-
180
- # Internal route is not yet ready.
181
- ROUTE_NOT_READY = 1
182
-
183
- # Insufficient permissions.
184
- PERMISSION_DENIED = 2
185
-
186
- # Certificate already exists.
187
- CERTIFICATE_ALREADY_EXISTS = 3
188
-
189
- # Mapping already exists.
190
- MAPPING_ALREADY_EXISTS = 4
191
-
192
- # Certificate issuance pending.
193
- CERTIFICATE_PENDING = 5
194
133
 
195
- # Certificate issuance failed.
196
- CERTIFICATE_FAILED = 6
134
+ # An internal error occurred. Further information may be in the message.
135
+ INTERNAL = 16
197
136
  end
198
137
 
199
138
  # Reasons specific to Revision resource.
@@ -31,8 +31,8 @@ module Google
31
31
  # Name of the container specified as a DNS_LABEL.
32
32
  # @!attribute [rw] image
33
33
  # @return [::String]
34
- # Required. URL of the Container image in Google Container Registry or Docker
35
- # More info: https://kubernetes.io/docs/concepts/containers/images
34
+ # Required. URL of the Container image in Google Container Registry or Google Artifact
35
+ # Registry. More info: https://kubernetes.io/docs/concepts/containers/images
36
36
  # @!attribute [rw] command
37
37
  # @return [::Array<::String>]
38
38
  # Entrypoint array. Not executed within a shell.
@@ -273,7 +273,7 @@ module Google
273
273
  end
274
274
 
275
275
  # Represents a specific Cloud SQL instance.
276
- # @!attribute [rw] connections
276
+ # @!attribute [rw] instances
277
277
  # @return [::Array<::String>]
278
278
  # The Cloud SQL instance connection names, as can be found in
279
279
  # https://console.cloud.google.com/sql/instances. Visit
@@ -147,7 +147,7 @@ module Google
147
147
  # @return [::Google::Cloud::Run::V2::VpcAccess]
148
148
  # VPC Access configuration for this Revision. For more information, visit
149
149
  # https://cloud.google.com/run/docs/configuring/connecting-vpc.
150
- # @!attribute [rw] container_concurrency
150
+ # @!attribute [rw] max_instance_request_concurrency
151
151
  # @return [::Integer]
152
152
  # Sets the maximum number of requests that each serving instance can receive.
153
153
  # @!attribute [rw] timeout
@@ -165,9 +165,6 @@ module Google
165
165
  # @!attribute [rw] volumes
166
166
  # @return [::Array<::Google::Cloud::Run::V2::Volume>]
167
167
  # A list of Volumes to make available to containers.
168
- # @!attribute [rw] confidential
169
- # @return [::Boolean]
170
- # Indicates whether Confidential Cloud Run is enabled in this Revision.
171
168
  # @!attribute [rw] execution_environment
172
169
  # @return [::Google::Cloud::Run::V2::ExecutionEnvironment]
173
170
  # The execution environment being used to host this Revision.
@@ -40,9 +40,6 @@ module Google
40
40
  # @return [::Google::Cloud::Run::V2::VpcAccess]
41
41
  # VPC Access configuration to use for this Revision. For more information,
42
42
  # visit https://cloud.google.com/run/docs/configuring/connecting-vpc.
43
- # @!attribute [rw] container_concurrency
44
- # @return [::Integer]
45
- # Sets the maximum number of requests that each serving instance can receive.
46
43
  # @!attribute [rw] timeout
47
44
  # @return [::Google::Protobuf::Duration]
48
45
  # Max allowed time for an instance to respond to a request.
@@ -59,9 +56,6 @@ module Google
59
56
  # @!attribute [rw] volumes
60
57
  # @return [::Array<::Google::Cloud::Run::V2::Volume>]
61
58
  # A list of Volumes to make available to containers.
62
- # @!attribute [rw] confidential
63
- # @return [::Boolean]
64
- # Enables Confidential Cloud Run in Revisions created using this template.
65
59
  # @!attribute [rw] execution_environment
66
60
  # @return [::Google::Cloud::Run::V2::ExecutionEnvironment]
67
61
  # The sandbox environment to host this Revision.
@@ -70,6 +64,9 @@ module Google
70
64
  # A reference to a customer managed encryption key (CMEK) to use to encrypt
71
65
  # this container image. For more information, go to
72
66
  # https://cloud.google.com/run/docs/securing/using-cmek
67
+ # @!attribute [rw] max_instance_request_concurrency
68
+ # @return [::Integer]
69
+ # Sets the maximum number of requests that each serving instance can receive.
73
70
  class RevisionTemplate
74
71
  include ::Google::Protobuf::MessageExts
75
72
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -46,9 +46,6 @@ module Google
46
46
  # @!attribute [rw] service
47
47
  # @return [::Google::Cloud::Run::V2::Service]
48
48
  # Required. The Service to be updated.
49
- # @!attribute [rw] update_mask
50
- # @return [::Google::Protobuf::FieldMask]
51
- # The list of fields to be updated.
52
49
  # @!attribute [rw] validate_only
53
50
  # @return [::Boolean]
54
51
  # Indicates that the request should be validated and default values
@@ -150,6 +147,8 @@ module Google
150
147
  # @return [::Integer]
151
148
  # Output only. A number that monotonically increases every time the user
152
149
  # modifies the desired state.
150
+ # Please note that unlike v1, this is an int64 value. As with most Google
151
+ # APIs, its JSON representation will be a `string` instead of an `integer`.
153
152
  # @!attribute [rw] labels
154
153
  # @return [::Google::Protobuf::Map{::String => ::String}]
155
154
  # Map of string keys and values that can be used to organize and categorize
@@ -222,6 +221,8 @@ module Google
222
221
  # Output only. The generation of this Service currently serving traffic. See comments in
223
222
  # `reconciling` for additional information on reconciliation process in Cloud
224
223
  # Run.
224
+ # Please note that unlike v1, this is an int64 value. As with most Google
225
+ # APIs, its JSON representation will be a `string` instead of an `integer`.
225
226
  # @!attribute [r] terminal_condition
226
227
  # @return [::Google::Cloud::Run::V2::Condition]
227
228
  # Output only. The Condition of this Service, containing its readiness status, and
@@ -97,8 +97,8 @@ module Google
97
97
  # Unspecified
98
98
  EXECUTION_ENVIRONMENT_UNSPECIFIED = 0
99
99
 
100
- # Uses the Google-default environment.
101
- EXECUTION_ENVIRONMENT_DEFAULT = 1
100
+ # Uses the First Generation environment.
101
+ EXECUTION_ENVIRONMENT_GEN1 = 1
102
102
 
103
103
  # Uses Second Generation environment.
104
104
  EXECUTION_ENVIRONMENT_GEN2 = 2
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-run-v2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-05 00:00:00.000000000 Z
11
+ date: 2022-05-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -209,6 +209,7 @@ files:
209
209
  - proto_docs/google/api/field_behavior.rb
210
210
  - proto_docs/google/api/launch_stage.rb
211
211
  - proto_docs/google/api/resource.rb
212
+ - proto_docs/google/api/routing.rb
212
213
  - proto_docs/google/cloud/run/v2/condition.rb
213
214
  - proto_docs/google/cloud/run/v2/k8s.min.rb
214
215
  - proto_docs/google/cloud/run/v2/revision.rb