google-apis-run_v2 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.yardopts +13 -0
- data/CHANGELOG.md +7 -0
- data/LICENSE.md +202 -0
- data/OVERVIEW.md +96 -0
- data/lib/google/apis/run_v2/classes.rb +1823 -0
- data/lib/google/apis/run_v2/gem_version.rb +28 -0
- data/lib/google/apis/run_v2/representations.rb +638 -0
- data/lib/google/apis/run_v2/service.rb +601 -0
- data/lib/google/apis/run_v2.rb +38 -0
- data/lib/google-apis-run_v2.rb +15 -0
- metadata +82 -0
@@ -0,0 +1,1823 @@
|
|
1
|
+
# Copyright 2020 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require 'date'
|
16
|
+
require 'google/apis/core/base_service'
|
17
|
+
require 'google/apis/core/json_representation'
|
18
|
+
require 'google/apis/core/hashable'
|
19
|
+
require 'google/apis/errors'
|
20
|
+
|
21
|
+
module Google
|
22
|
+
module Apis
|
23
|
+
module RunV2
|
24
|
+
|
25
|
+
# Settings for Binary Authorization feature.
|
26
|
+
class GoogleCloudRunOpV2BinaryAuthorization
|
27
|
+
include Google::Apis::Core::Hashable
|
28
|
+
|
29
|
+
# If present, indicates to use Breakglass using this justification. If
|
30
|
+
# use_default is False, then it must be empty. For more information on
|
31
|
+
# breakglass, see https://cloud.google.com/binary-authorization/docs/using-
|
32
|
+
# breakglass
|
33
|
+
# Corresponds to the JSON property `breakglassJustification`
|
34
|
+
# @return [String]
|
35
|
+
attr_accessor :breakglass_justification
|
36
|
+
|
37
|
+
# If True, indicates to use the default project's binary authorization policy.
|
38
|
+
# If False, binary authorization will be disabled.
|
39
|
+
# Corresponds to the JSON property `useDefault`
|
40
|
+
# @return [Boolean]
|
41
|
+
attr_accessor :use_default
|
42
|
+
alias_method :use_default?, :use_default
|
43
|
+
|
44
|
+
def initialize(**args)
|
45
|
+
update!(**args)
|
46
|
+
end
|
47
|
+
|
48
|
+
# Update properties of this object
|
49
|
+
def update!(**args)
|
50
|
+
@breakglass_justification = args[:breakglass_justification] if args.key?(:breakglass_justification)
|
51
|
+
@use_default = args[:use_default] if args.key?(:use_default)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
# Represents a specific Cloud SQL instance.
|
56
|
+
class GoogleCloudRunOpV2CloudSqlInstance
|
57
|
+
include Google::Apis::Core::Hashable
|
58
|
+
|
59
|
+
# The Cloud SQL instance connection names, as can be found in https://console.
|
60
|
+
# cloud.google.com/sql/instances. Visit https://cloud.google.com/sql/docs/mysql/
|
61
|
+
# connect-run for more information on how to connect Cloud SQL and Cloud Run.
|
62
|
+
# Format: `project`:`location`:`instance`
|
63
|
+
# Corresponds to the JSON property `connections`
|
64
|
+
# @return [Array<String>]
|
65
|
+
attr_accessor :connections
|
66
|
+
|
67
|
+
def initialize(**args)
|
68
|
+
update!(**args)
|
69
|
+
end
|
70
|
+
|
71
|
+
# Update properties of this object
|
72
|
+
def update!(**args)
|
73
|
+
@connections = args[:connections] if args.key?(:connections)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
# Defines a status condition for a resource.
|
78
|
+
class GoogleCloudRunOpV2Condition
|
79
|
+
include Google::Apis::Core::Hashable
|
80
|
+
|
81
|
+
# A reason for the domain mapping condition.
|
82
|
+
# Corresponds to the JSON property `domainMappingReason`
|
83
|
+
# @return [String]
|
84
|
+
attr_accessor :domain_mapping_reason
|
85
|
+
|
86
|
+
# A reason for the execution condition.
|
87
|
+
# Corresponds to the JSON property `executionReason`
|
88
|
+
# @return [String]
|
89
|
+
attr_accessor :execution_reason
|
90
|
+
|
91
|
+
# A reason for the internal condition.
|
92
|
+
# Corresponds to the JSON property `internalReason`
|
93
|
+
# @return [String]
|
94
|
+
attr_accessor :internal_reason
|
95
|
+
|
96
|
+
# Last time the condition transitioned from one status to another.
|
97
|
+
# Corresponds to the JSON property `lastTransitionTime`
|
98
|
+
# @return [String]
|
99
|
+
attr_accessor :last_transition_time
|
100
|
+
|
101
|
+
# Human readable message indicating details about the current status.
|
102
|
+
# Corresponds to the JSON property `message`
|
103
|
+
# @return [String]
|
104
|
+
attr_accessor :message
|
105
|
+
|
106
|
+
# A common (service-level) reason for this condition.
|
107
|
+
# Corresponds to the JSON property `reason`
|
108
|
+
# @return [String]
|
109
|
+
attr_accessor :reason
|
110
|
+
|
111
|
+
# A reason for the revision condition.
|
112
|
+
# Corresponds to the JSON property `revisionReason`
|
113
|
+
# @return [String]
|
114
|
+
attr_accessor :revision_reason
|
115
|
+
|
116
|
+
# How to interpret failures of this condition, one of Error, Warning, Info
|
117
|
+
# Corresponds to the JSON property `severity`
|
118
|
+
# @return [String]
|
119
|
+
attr_accessor :severity
|
120
|
+
|
121
|
+
# State of the condition.
|
122
|
+
# Corresponds to the JSON property `state`
|
123
|
+
# @return [String]
|
124
|
+
attr_accessor :state
|
125
|
+
|
126
|
+
# type is used to communicate the status of the reconciliation process. See also:
|
127
|
+
# https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-
|
128
|
+
# conditions-and-reporting Types common to all resources include: * "Ready":
|
129
|
+
# True when the Resource is ready.
|
130
|
+
# Corresponds to the JSON property `type`
|
131
|
+
# @return [String]
|
132
|
+
attr_accessor :type
|
133
|
+
|
134
|
+
def initialize(**args)
|
135
|
+
update!(**args)
|
136
|
+
end
|
137
|
+
|
138
|
+
# Update properties of this object
|
139
|
+
def update!(**args)
|
140
|
+
@domain_mapping_reason = args[:domain_mapping_reason] if args.key?(:domain_mapping_reason)
|
141
|
+
@execution_reason = args[:execution_reason] if args.key?(:execution_reason)
|
142
|
+
@internal_reason = args[:internal_reason] if args.key?(:internal_reason)
|
143
|
+
@last_transition_time = args[:last_transition_time] if args.key?(:last_transition_time)
|
144
|
+
@message = args[:message] if args.key?(:message)
|
145
|
+
@reason = args[:reason] if args.key?(:reason)
|
146
|
+
@revision_reason = args[:revision_reason] if args.key?(:revision_reason)
|
147
|
+
@severity = args[:severity] if args.key?(:severity)
|
148
|
+
@state = args[:state] if args.key?(:state)
|
149
|
+
@type = args[:type] if args.key?(:type)
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
153
|
+
# A single application container. This specifies both the container to run, the
|
154
|
+
# command to run in the container and the arguments to supply to it. Note that
|
155
|
+
# additional arguments may be supplied by the system to the container at runtime.
|
156
|
+
class GoogleCloudRunOpV2Container
|
157
|
+
include Google::Apis::Core::Hashable
|
158
|
+
|
159
|
+
# Arguments to the entrypoint. The docker image's CMD is used if this is not
|
160
|
+
# provided. Variable references $(VAR_NAME) are expanded using the container's
|
161
|
+
# environment. If a variable cannot be resolved, the reference in the input
|
162
|
+
# string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $
|
163
|
+
# $, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of
|
164
|
+
# whether the variable exists or not. More info: https://kubernetes.io/docs/
|
165
|
+
# tasks/inject-data-application/define-command-argument-container/#running-a-
|
166
|
+
# command-in-a-shell
|
167
|
+
# Corresponds to the JSON property `args`
|
168
|
+
# @return [Array<String>]
|
169
|
+
attr_accessor :args
|
170
|
+
|
171
|
+
# Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT
|
172
|
+
# is used if this is not provided. Variable references $(VAR_NAME) are expanded
|
173
|
+
# using the container's environment. If a variable cannot be resolved, the
|
174
|
+
# reference in the input string will be unchanged. The $(VAR_NAME) syntax can be
|
175
|
+
# escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be
|
176
|
+
# expanded, regardless of whether the variable exists or not. More info: https://
|
177
|
+
# kubernetes.io/docs/tasks/inject-data-application/define-command-argument-
|
178
|
+
# container/#running-a-command-in-a-shell
|
179
|
+
# Corresponds to the JSON property `command`
|
180
|
+
# @return [Array<String>]
|
181
|
+
attr_accessor :command
|
182
|
+
|
183
|
+
# List of environment variables to set in the container.
|
184
|
+
# Corresponds to the JSON property `env`
|
185
|
+
# @return [Array<Google::Apis::RunV2::GoogleCloudRunOpV2EnvVar>]
|
186
|
+
attr_accessor :env
|
187
|
+
|
188
|
+
# Required. URL of the Container image in Google Container Registry or Docker
|
189
|
+
# More info: https://kubernetes.io/docs/concepts/containers/images
|
190
|
+
# Corresponds to the JSON property `image`
|
191
|
+
# @return [String]
|
192
|
+
attr_accessor :image
|
193
|
+
|
194
|
+
# Name of the container specified as a DNS_LABEL.
|
195
|
+
# Corresponds to the JSON property `name`
|
196
|
+
# @return [String]
|
197
|
+
attr_accessor :name
|
198
|
+
|
199
|
+
# List of ports to expose from the container. Only a single port can be
|
200
|
+
# specified. The specified ports must be listening on all interfaces (0.0.0.0)
|
201
|
+
# within the container to be accessible. If omitted, a port number will be
|
202
|
+
# chosen and passed to the container through the PORT environment variable for
|
203
|
+
# the container to listen on.
|
204
|
+
# Corresponds to the JSON property `ports`
|
205
|
+
# @return [Array<Google::Apis::RunV2::GoogleCloudRunOpV2ContainerPort>]
|
206
|
+
attr_accessor :ports
|
207
|
+
|
208
|
+
# ResourceRequirements describes the compute resource requirements.
|
209
|
+
# Corresponds to the JSON property `resources`
|
210
|
+
# @return [Google::Apis::RunV2::GoogleCloudRunOpV2ResourceRequirements]
|
211
|
+
attr_accessor :resources
|
212
|
+
|
213
|
+
# Volume to mount into the container's filesystem.
|
214
|
+
# Corresponds to the JSON property `volumeMounts`
|
215
|
+
# @return [Array<Google::Apis::RunV2::GoogleCloudRunOpV2VolumeMount>]
|
216
|
+
attr_accessor :volume_mounts
|
217
|
+
|
218
|
+
def initialize(**args)
|
219
|
+
update!(**args)
|
220
|
+
end
|
221
|
+
|
222
|
+
# Update properties of this object
|
223
|
+
def update!(**args)
|
224
|
+
@args = args[:args] if args.key?(:args)
|
225
|
+
@command = args[:command] if args.key?(:command)
|
226
|
+
@env = args[:env] if args.key?(:env)
|
227
|
+
@image = args[:image] if args.key?(:image)
|
228
|
+
@name = args[:name] if args.key?(:name)
|
229
|
+
@ports = args[:ports] if args.key?(:ports)
|
230
|
+
@resources = args[:resources] if args.key?(:resources)
|
231
|
+
@volume_mounts = args[:volume_mounts] if args.key?(:volume_mounts)
|
232
|
+
end
|
233
|
+
end
|
234
|
+
|
235
|
+
# ContainerPort represents a network port in a single container.
|
236
|
+
class GoogleCloudRunOpV2ContainerPort
|
237
|
+
include Google::Apis::Core::Hashable
|
238
|
+
|
239
|
+
# Port number the container listens on. This must be a valid TCP port number, 0 <
|
240
|
+
# container_port < 65536.
|
241
|
+
# Corresponds to the JSON property `containerPort`
|
242
|
+
# @return [Fixnum]
|
243
|
+
attr_accessor :container_port
|
244
|
+
|
245
|
+
# If specified, used to specify which protocol to use. Allowed values are "http1"
|
246
|
+
# and "h2c".
|
247
|
+
# Corresponds to the JSON property `name`
|
248
|
+
# @return [String]
|
249
|
+
attr_accessor :name
|
250
|
+
|
251
|
+
def initialize(**args)
|
252
|
+
update!(**args)
|
253
|
+
end
|
254
|
+
|
255
|
+
# Update properties of this object
|
256
|
+
def update!(**args)
|
257
|
+
@container_port = args[:container_port] if args.key?(:container_port)
|
258
|
+
@name = args[:name] if args.key?(:name)
|
259
|
+
end
|
260
|
+
end
|
261
|
+
|
262
|
+
# ContainerStatus holds the information of container name and image digest value.
|
263
|
+
class GoogleCloudRunOpV2ContainerStatus
|
264
|
+
include Google::Apis::Core::Hashable
|
265
|
+
|
266
|
+
# ImageDigest holds the resolved digest for the image specified, regardless of
|
267
|
+
# whether a tag or digest was originally specified in the Container object.
|
268
|
+
# Corresponds to the JSON property `imageDigest`
|
269
|
+
# @return [String]
|
270
|
+
attr_accessor :image_digest
|
271
|
+
|
272
|
+
# The name of the container, if specified.
|
273
|
+
# Corresponds to the JSON property `name`
|
274
|
+
# @return [String]
|
275
|
+
attr_accessor :name
|
276
|
+
|
277
|
+
def initialize(**args)
|
278
|
+
update!(**args)
|
279
|
+
end
|
280
|
+
|
281
|
+
# Update properties of this object
|
282
|
+
def update!(**args)
|
283
|
+
@image_digest = args[:image_digest] if args.key?(:image_digest)
|
284
|
+
@name = args[:name] if args.key?(:name)
|
285
|
+
end
|
286
|
+
end
|
287
|
+
|
288
|
+
# EnvVar represents an environment variable present in a Container.
|
289
|
+
class GoogleCloudRunOpV2EnvVar
|
290
|
+
include Google::Apis::Core::Hashable
|
291
|
+
|
292
|
+
# Required. Name of the environment variable. Must be a C_IDENTIFIER, and mnay
|
293
|
+
# not exceed 32768 characters.
|
294
|
+
# Corresponds to the JSON property `name`
|
295
|
+
# @return [String]
|
296
|
+
attr_accessor :name
|
297
|
+
|
298
|
+
# Variable references $(VAR_NAME) are expanded using the previous defined
|
299
|
+
# environment variables in the container and any route environment variables. If
|
300
|
+
# a variable cannot be resolved, the reference in the input string will be
|
301
|
+
# unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(
|
302
|
+
# VAR_NAME). Escaped references will never be expanded, regardless of whether
|
303
|
+
# the variable exists or not. Defaults to "", and the maximum length is 32768
|
304
|
+
# bytes.
|
305
|
+
# Corresponds to the JSON property `value`
|
306
|
+
# @return [String]
|
307
|
+
attr_accessor :value
|
308
|
+
|
309
|
+
# EnvVarSource represents a source for the value of an EnvVar.
|
310
|
+
# Corresponds to the JSON property `valueSource`
|
311
|
+
# @return [Google::Apis::RunV2::GoogleCloudRunOpV2EnvVarSource]
|
312
|
+
attr_accessor :value_source
|
313
|
+
|
314
|
+
def initialize(**args)
|
315
|
+
update!(**args)
|
316
|
+
end
|
317
|
+
|
318
|
+
# Update properties of this object
|
319
|
+
def update!(**args)
|
320
|
+
@name = args[:name] if args.key?(:name)
|
321
|
+
@value = args[:value] if args.key?(:value)
|
322
|
+
@value_source = args[:value_source] if args.key?(:value_source)
|
323
|
+
end
|
324
|
+
end
|
325
|
+
|
326
|
+
# EnvVarSource represents a source for the value of an EnvVar.
|
327
|
+
class GoogleCloudRunOpV2EnvVarSource
|
328
|
+
include Google::Apis::Core::Hashable
|
329
|
+
|
330
|
+
# SecretEnvVarSource represents a source for the value of an EnvVar.
|
331
|
+
# Corresponds to the JSON property `secretKeyRef`
|
332
|
+
# @return [Google::Apis::RunV2::GoogleCloudRunOpV2SecretKeySelector]
|
333
|
+
attr_accessor :secret_key_ref
|
334
|
+
|
335
|
+
def initialize(**args)
|
336
|
+
update!(**args)
|
337
|
+
end
|
338
|
+
|
339
|
+
# Update properties of this object
|
340
|
+
def update!(**args)
|
341
|
+
@secret_key_ref = args[:secret_key_ref] if args.key?(:secret_key_ref)
|
342
|
+
end
|
343
|
+
end
|
344
|
+
|
345
|
+
# Response message containing a list of Revisions.
|
346
|
+
class GoogleCloudRunOpV2ListRevisionsResponse
|
347
|
+
include Google::Apis::Core::Hashable
|
348
|
+
|
349
|
+
# A token indicating there are more items than page_size. Use it in the next
|
350
|
+
# ListRevisions request to continue.
|
351
|
+
# Corresponds to the JSON property `nextPageToken`
|
352
|
+
# @return [String]
|
353
|
+
attr_accessor :next_page_token
|
354
|
+
|
355
|
+
# The resulting list of Revisions.
|
356
|
+
# Corresponds to the JSON property `revisions`
|
357
|
+
# @return [Array<Google::Apis::RunV2::GoogleCloudRunOpV2Revision>]
|
358
|
+
attr_accessor :revisions
|
359
|
+
|
360
|
+
def initialize(**args)
|
361
|
+
update!(**args)
|
362
|
+
end
|
363
|
+
|
364
|
+
# Update properties of this object
|
365
|
+
def update!(**args)
|
366
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
367
|
+
@revisions = args[:revisions] if args.key?(:revisions)
|
368
|
+
end
|
369
|
+
end
|
370
|
+
|
371
|
+
# Response message containing a list of Services.
|
372
|
+
class GoogleCloudRunOpV2ListServicesResponse
|
373
|
+
include Google::Apis::Core::Hashable
|
374
|
+
|
375
|
+
# A token indicating there are more items than page_size. Use it in the next
|
376
|
+
# ListServices request to continue.
|
377
|
+
# Corresponds to the JSON property `nextPageToken`
|
378
|
+
# @return [String]
|
379
|
+
attr_accessor :next_page_token
|
380
|
+
|
381
|
+
# The resulting list of Services.
|
382
|
+
# Corresponds to the JSON property `services`
|
383
|
+
# @return [Array<Google::Apis::RunV2::GoogleCloudRunOpV2Service>]
|
384
|
+
attr_accessor :services
|
385
|
+
|
386
|
+
def initialize(**args)
|
387
|
+
update!(**args)
|
388
|
+
end
|
389
|
+
|
390
|
+
# Update properties of this object
|
391
|
+
def update!(**args)
|
392
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
393
|
+
@services = args[:services] if args.key?(:services)
|
394
|
+
end
|
395
|
+
end
|
396
|
+
|
397
|
+
# ResourceRequirements describes the compute resource requirements.
|
398
|
+
class GoogleCloudRunOpV2ResourceRequirements
|
399
|
+
include Google::Apis::Core::Hashable
|
400
|
+
|
401
|
+
# Determines whether CPU should be throttled or not outside of requests.
|
402
|
+
# Corresponds to the JSON property `cpuIdle`
|
403
|
+
# @return [Boolean]
|
404
|
+
attr_accessor :cpu_idle
|
405
|
+
alias_method :cpu_idle?, :cpu_idle
|
406
|
+
|
407
|
+
# Only memory and CPU are supported. Note: The only supported values for CPU are
|
408
|
+
# '1', '2', and '4'. Setting 4 CPU requires at least 2Gi of memory. The values
|
409
|
+
# of the map is string form of the 'quantity' k8s type: https://github.com/
|
410
|
+
# kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/
|
411
|
+
# resource/quantity.go
|
412
|
+
# Corresponds to the JSON property `limits`
|
413
|
+
# @return [Hash<String,String>]
|
414
|
+
attr_accessor :limits
|
415
|
+
|
416
|
+
def initialize(**args)
|
417
|
+
update!(**args)
|
418
|
+
end
|
419
|
+
|
420
|
+
# Update properties of this object
|
421
|
+
def update!(**args)
|
422
|
+
@cpu_idle = args[:cpu_idle] if args.key?(:cpu_idle)
|
423
|
+
@limits = args[:limits] if args.key?(:limits)
|
424
|
+
end
|
425
|
+
end
|
426
|
+
|
427
|
+
# A Revision is an immutable snapshot of code and configuration. A Revision
|
428
|
+
# references a container image. Revisions are only created by updates to its
|
429
|
+
# parent Service.
|
430
|
+
class GoogleCloudRunOpV2Revision
|
431
|
+
include Google::Apis::Core::Hashable
|
432
|
+
|
433
|
+
# KRM-style annotations for the resource.
|
434
|
+
# Corresponds to the JSON property `annotations`
|
435
|
+
# @return [Hash<String,String>]
|
436
|
+
attr_accessor :annotations
|
437
|
+
|
438
|
+
# Output only. The Condition of this Revision, containing its readiness status,
|
439
|
+
# and detailed error information in case it did not reach a serving state.
|
440
|
+
# Corresponds to the JSON property `conditions`
|
441
|
+
# @return [Array<Google::Apis::RunV2::GoogleCloudRunOpV2Condition>]
|
442
|
+
attr_accessor :conditions
|
443
|
+
|
444
|
+
# Indicates whether Confidential Cloud Run is enabled in this Revision.
|
445
|
+
# Corresponds to the JSON property `confidential`
|
446
|
+
# @return [Boolean]
|
447
|
+
attr_accessor :confidential
|
448
|
+
alias_method :confidential?, :confidential
|
449
|
+
|
450
|
+
# Sets the maximum number of requests that each serving instance can receive.
|
451
|
+
# Corresponds to the JSON property `containerConcurrency`
|
452
|
+
# @return [Fixnum]
|
453
|
+
attr_accessor :container_concurrency
|
454
|
+
|
455
|
+
# Output only. Status information for each of the containers specified.
|
456
|
+
# Corresponds to the JSON property `containerStatuses`
|
457
|
+
# @return [Array<Google::Apis::RunV2::GoogleCloudRunOpV2ContainerStatus>]
|
458
|
+
attr_accessor :container_statuses
|
459
|
+
|
460
|
+
# Holds the single container that defines the unit of execution for this
|
461
|
+
# Revision.
|
462
|
+
# Corresponds to the JSON property `containers`
|
463
|
+
# @return [Array<Google::Apis::RunV2::GoogleCloudRunOpV2Container>]
|
464
|
+
attr_accessor :containers
|
465
|
+
|
466
|
+
# Output only. The creation time.
|
467
|
+
# Corresponds to the JSON property `createTime`
|
468
|
+
# @return [String]
|
469
|
+
attr_accessor :create_time
|
470
|
+
|
471
|
+
# Output only. For a deleted resource, the deletion time. It is only populated
|
472
|
+
# as a response to a Delete request.
|
473
|
+
# Corresponds to the JSON property `deleteTime`
|
474
|
+
# @return [String]
|
475
|
+
attr_accessor :delete_time
|
476
|
+
|
477
|
+
# A reference to a customer managed encryption key (CMEK) to use to encrypt this
|
478
|
+
# container image. For more information, go to https://cloud.google.com/run/docs/
|
479
|
+
# securing/using-cmek
|
480
|
+
# Corresponds to the JSON property `encryptionKey`
|
481
|
+
# @return [String]
|
482
|
+
attr_accessor :encryption_key
|
483
|
+
|
484
|
+
# Output only. A system-generated fingerprint for this version of the resource.
|
485
|
+
# May be used to detect modification conflict during updates.
|
486
|
+
# Corresponds to the JSON property `etag`
|
487
|
+
# @return [String]
|
488
|
+
attr_accessor :etag
|
489
|
+
|
490
|
+
# The execution environment being used to host this Revision.
|
491
|
+
# Corresponds to the JSON property `executionEnvironment`
|
492
|
+
# @return [String]
|
493
|
+
attr_accessor :execution_environment
|
494
|
+
|
495
|
+
# Output only. For a deleted resource, the time after which it will be
|
496
|
+
# permamently deleted. It is only populated as a response to a Delete request.
|
497
|
+
# Corresponds to the JSON property `expireTime`
|
498
|
+
# @return [String]
|
499
|
+
attr_accessor :expire_time
|
500
|
+
|
501
|
+
# Output only. A number that monotonically increases every time the user
|
502
|
+
# modifies the desired state.
|
503
|
+
# Corresponds to the JSON property `generation`
|
504
|
+
# @return [Fixnum]
|
505
|
+
attr_accessor :generation
|
506
|
+
|
507
|
+
# KRM-style labels for the resource. User-provided labels are shared with Google'
|
508
|
+
# s billing system, so they can be used to filter, or break down billing charges
|
509
|
+
# by team, component, environment, state, etc. For more information, visit https:
|
510
|
+
# //cloud.google.com/resource-manager/docs/creating-managing-labels or https://
|
511
|
+
# cloud.google.com/run/docs/configuring/labels Cloud Run will populate some
|
512
|
+
# labels with 'run.googleapis.com' or 'serving.knative.dev' namespaces. Those
|
513
|
+
# labels are read-only, and user changes will not be preserved.
|
514
|
+
# Corresponds to the JSON property `labels`
|
515
|
+
# @return [Hash<String,String>]
|
516
|
+
attr_accessor :labels
|
517
|
+
|
518
|
+
# Set the launch stage to a preview stage on write to allow use of preview
|
519
|
+
# features in that stage. On read, describes whether the resource uses preview
|
520
|
+
# features. Launch Stages are defined at [Google Cloud Platform Launch Stages](
|
521
|
+
# http://cloud.google.com/terms/launch-stages).
|
522
|
+
# Corresponds to the JSON property `launchStage`
|
523
|
+
# @return [String]
|
524
|
+
attr_accessor :launch_stage
|
525
|
+
|
526
|
+
# Output only. The Google Console URI to obtain logs for the Revision.
|
527
|
+
# Corresponds to the JSON property `logUri`
|
528
|
+
# @return [String]
|
529
|
+
attr_accessor :log_uri
|
530
|
+
|
531
|
+
# Output only. The unique name of this Revision.
|
532
|
+
# Corresponds to the JSON property `name`
|
533
|
+
# @return [String]
|
534
|
+
attr_accessor :name
|
535
|
+
|
536
|
+
# Output only. The generation of this Revision currently serving traffic. See
|
537
|
+
# comments in `reconciling` for additional information on reconciliation process
|
538
|
+
# in Cloud Run.
|
539
|
+
# Corresponds to the JSON property `observedGeneration`
|
540
|
+
# @return [Fixnum]
|
541
|
+
attr_accessor :observed_generation
|
542
|
+
|
543
|
+
# Output only. Indicates whether the resource's reconciliation is still in
|
544
|
+
# progress. See comments in `Service.reconciling` for additional information on
|
545
|
+
# reconciliation process in Cloud Run.
|
546
|
+
# Corresponds to the JSON property `reconciling`
|
547
|
+
# @return [Boolean]
|
548
|
+
attr_accessor :reconciling
|
549
|
+
alias_method :reconciling?, :reconciling
|
550
|
+
|
551
|
+
# Settings for revision-level scaling settings.
|
552
|
+
# Corresponds to the JSON property `scaling`
|
553
|
+
# @return [Google::Apis::RunV2::GoogleCloudRunOpV2RevisionScaling]
|
554
|
+
attr_accessor :scaling
|
555
|
+
|
556
|
+
# Output only. The name of the parent service.
|
557
|
+
# Corresponds to the JSON property `service`
|
558
|
+
# @return [String]
|
559
|
+
attr_accessor :service
|
560
|
+
|
561
|
+
# Email address of the IAM service account associated with the revision of the
|
562
|
+
# service. The service account represents the identity of the running revision,
|
563
|
+
# and determines what permissions the revision has.
|
564
|
+
# Corresponds to the JSON property `serviceAccount`
|
565
|
+
# @return [String]
|
566
|
+
attr_accessor :service_account
|
567
|
+
|
568
|
+
# Max allowed time for an instance to respond to a request.
|
569
|
+
# Corresponds to the JSON property `timeout`
|
570
|
+
# @return [String]
|
571
|
+
attr_accessor :timeout
|
572
|
+
|
573
|
+
# Output only. Server assigned unique identifier for the Revision. The value is
|
574
|
+
# a UUID4 string and guaranteed to remain unchanged until the resource is
|
575
|
+
# deleted.
|
576
|
+
# Corresponds to the JSON property `uid`
|
577
|
+
# @return [String]
|
578
|
+
attr_accessor :uid
|
579
|
+
|
580
|
+
# Output only. The last-modified time.
|
581
|
+
# Corresponds to the JSON property `updateTime`
|
582
|
+
# @return [String]
|
583
|
+
attr_accessor :update_time
|
584
|
+
|
585
|
+
# A list of Volumes to make available to containers.
|
586
|
+
# Corresponds to the JSON property `volumes`
|
587
|
+
# @return [Array<Google::Apis::RunV2::GoogleCloudRunOpV2Volume>]
|
588
|
+
attr_accessor :volumes
|
589
|
+
|
590
|
+
# VPC Access settings. For more information on creating a VPC Connector, visit
|
591
|
+
# https://cloud.google.com/vpc/docs/configure-serverless-vpc-access For
|
592
|
+
# information on how to configure Cloud Run with an existing VPC Connector,
|
593
|
+
# visit https://cloud.google.com/run/docs/configuring/connecting-vpc
|
594
|
+
# Corresponds to the JSON property `vpcAccess`
|
595
|
+
# @return [Google::Apis::RunV2::GoogleCloudRunOpV2VpcAccess]
|
596
|
+
attr_accessor :vpc_access
|
597
|
+
|
598
|
+
def initialize(**args)
|
599
|
+
update!(**args)
|
600
|
+
end
|
601
|
+
|
602
|
+
# Update properties of this object
|
603
|
+
def update!(**args)
|
604
|
+
@annotations = args[:annotations] if args.key?(:annotations)
|
605
|
+
@conditions = args[:conditions] if args.key?(:conditions)
|
606
|
+
@confidential = args[:confidential] if args.key?(:confidential)
|
607
|
+
@container_concurrency = args[:container_concurrency] if args.key?(:container_concurrency)
|
608
|
+
@container_statuses = args[:container_statuses] if args.key?(:container_statuses)
|
609
|
+
@containers = args[:containers] if args.key?(:containers)
|
610
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
611
|
+
@delete_time = args[:delete_time] if args.key?(:delete_time)
|
612
|
+
@encryption_key = args[:encryption_key] if args.key?(:encryption_key)
|
613
|
+
@etag = args[:etag] if args.key?(:etag)
|
614
|
+
@execution_environment = args[:execution_environment] if args.key?(:execution_environment)
|
615
|
+
@expire_time = args[:expire_time] if args.key?(:expire_time)
|
616
|
+
@generation = args[:generation] if args.key?(:generation)
|
617
|
+
@labels = args[:labels] if args.key?(:labels)
|
618
|
+
@launch_stage = args[:launch_stage] if args.key?(:launch_stage)
|
619
|
+
@log_uri = args[:log_uri] if args.key?(:log_uri)
|
620
|
+
@name = args[:name] if args.key?(:name)
|
621
|
+
@observed_generation = args[:observed_generation] if args.key?(:observed_generation)
|
622
|
+
@reconciling = args[:reconciling] if args.key?(:reconciling)
|
623
|
+
@scaling = args[:scaling] if args.key?(:scaling)
|
624
|
+
@service = args[:service] if args.key?(:service)
|
625
|
+
@service_account = args[:service_account] if args.key?(:service_account)
|
626
|
+
@timeout = args[:timeout] if args.key?(:timeout)
|
627
|
+
@uid = args[:uid] if args.key?(:uid)
|
628
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
629
|
+
@volumes = args[:volumes] if args.key?(:volumes)
|
630
|
+
@vpc_access = args[:vpc_access] if args.key?(:vpc_access)
|
631
|
+
end
|
632
|
+
end
|
633
|
+
|
634
|
+
# Settings for revision-level scaling settings.
|
635
|
+
class GoogleCloudRunOpV2RevisionScaling
|
636
|
+
include Google::Apis::Core::Hashable
|
637
|
+
|
638
|
+
# Maximum number of serving instances that this resource should have.
|
639
|
+
# Corresponds to the JSON property `maxInstanceCount`
|
640
|
+
# @return [Fixnum]
|
641
|
+
attr_accessor :max_instance_count
|
642
|
+
|
643
|
+
# Minimum number of serving instances that this resource should have.
|
644
|
+
# Corresponds to the JSON property `minInstanceCount`
|
645
|
+
# @return [Fixnum]
|
646
|
+
attr_accessor :min_instance_count
|
647
|
+
|
648
|
+
def initialize(**args)
|
649
|
+
update!(**args)
|
650
|
+
end
|
651
|
+
|
652
|
+
# Update properties of this object
|
653
|
+
def update!(**args)
|
654
|
+
@max_instance_count = args[:max_instance_count] if args.key?(:max_instance_count)
|
655
|
+
@min_instance_count = args[:min_instance_count] if args.key?(:min_instance_count)
|
656
|
+
end
|
657
|
+
end
|
658
|
+
|
659
|
+
# RevisionTemplate describes the data a revision should have when created from a
|
660
|
+
# template.
|
661
|
+
class GoogleCloudRunOpV2RevisionTemplate
|
662
|
+
include Google::Apis::Core::Hashable
|
663
|
+
|
664
|
+
# KRM-style annotations for the resource.
|
665
|
+
# Corresponds to the JSON property `annotations`
|
666
|
+
# @return [Hash<String,String>]
|
667
|
+
attr_accessor :annotations
|
668
|
+
|
669
|
+
# Enables Confidential Cloud Run in Revisions created using this template.
|
670
|
+
# Corresponds to the JSON property `confidential`
|
671
|
+
# @return [Boolean]
|
672
|
+
attr_accessor :confidential
|
673
|
+
alias_method :confidential?, :confidential
|
674
|
+
|
675
|
+
# Sets the maximum number of requests that each serving instance can receive.
|
676
|
+
# Corresponds to the JSON property `containerConcurrency`
|
677
|
+
# @return [Fixnum]
|
678
|
+
attr_accessor :container_concurrency
|
679
|
+
|
680
|
+
# Holds the single container that defines the unit of execution for this
|
681
|
+
# Revision.
|
682
|
+
# Corresponds to the JSON property `containers`
|
683
|
+
# @return [Array<Google::Apis::RunV2::GoogleCloudRunOpV2Container>]
|
684
|
+
attr_accessor :containers
|
685
|
+
|
686
|
+
# A reference to a customer managed encryption key (CMEK) to use to encrypt this
|
687
|
+
# container image. For more information, go to https://cloud.google.com/run/docs/
|
688
|
+
# securing/using-cmek
|
689
|
+
# Corresponds to the JSON property `encryptionKey`
|
690
|
+
# @return [String]
|
691
|
+
attr_accessor :encryption_key
|
692
|
+
|
693
|
+
# The sandbox environment to host this Revision.
|
694
|
+
# Corresponds to the JSON property `executionEnvironment`
|
695
|
+
# @return [String]
|
696
|
+
attr_accessor :execution_environment
|
697
|
+
|
698
|
+
# KRM-style labels for the resource.
|
699
|
+
# Corresponds to the JSON property `labels`
|
700
|
+
# @return [Hash<String,String>]
|
701
|
+
attr_accessor :labels
|
702
|
+
|
703
|
+
# The unique name for the revision. If this field is omitted, it will be
|
704
|
+
# automatically generated based on the Service name.
|
705
|
+
# Corresponds to the JSON property `revision`
|
706
|
+
# @return [String]
|
707
|
+
attr_accessor :revision
|
708
|
+
|
709
|
+
# Settings for revision-level scaling settings.
|
710
|
+
# Corresponds to the JSON property `scaling`
|
711
|
+
# @return [Google::Apis::RunV2::GoogleCloudRunOpV2RevisionScaling]
|
712
|
+
attr_accessor :scaling
|
713
|
+
|
714
|
+
# Email address of the IAM service account associated with the revision of the
|
715
|
+
# service. The service account represents the identity of the running revision,
|
716
|
+
# and determines what permissions the revision has. If not provided, the
|
717
|
+
# revision will use the project's default service account.
|
718
|
+
# Corresponds to the JSON property `serviceAccount`
|
719
|
+
# @return [String]
|
720
|
+
attr_accessor :service_account
|
721
|
+
|
722
|
+
# Max allowed time for an instance to respond to a request.
|
723
|
+
# Corresponds to the JSON property `timeout`
|
724
|
+
# @return [String]
|
725
|
+
attr_accessor :timeout
|
726
|
+
|
727
|
+
# A list of Volumes to make available to containers.
|
728
|
+
# Corresponds to the JSON property `volumes`
|
729
|
+
# @return [Array<Google::Apis::RunV2::GoogleCloudRunOpV2Volume>]
|
730
|
+
attr_accessor :volumes
|
731
|
+
|
732
|
+
# VPC Access settings. For more information on creating a VPC Connector, visit
|
733
|
+
# https://cloud.google.com/vpc/docs/configure-serverless-vpc-access For
|
734
|
+
# information on how to configure Cloud Run with an existing VPC Connector,
|
735
|
+
# visit https://cloud.google.com/run/docs/configuring/connecting-vpc
|
736
|
+
# Corresponds to the JSON property `vpcAccess`
|
737
|
+
# @return [Google::Apis::RunV2::GoogleCloudRunOpV2VpcAccess]
|
738
|
+
attr_accessor :vpc_access
|
739
|
+
|
740
|
+
def initialize(**args)
|
741
|
+
update!(**args)
|
742
|
+
end
|
743
|
+
|
744
|
+
# Update properties of this object
|
745
|
+
def update!(**args)
|
746
|
+
@annotations = args[:annotations] if args.key?(:annotations)
|
747
|
+
@confidential = args[:confidential] if args.key?(:confidential)
|
748
|
+
@container_concurrency = args[:container_concurrency] if args.key?(:container_concurrency)
|
749
|
+
@containers = args[:containers] if args.key?(:containers)
|
750
|
+
@encryption_key = args[:encryption_key] if args.key?(:encryption_key)
|
751
|
+
@execution_environment = args[:execution_environment] if args.key?(:execution_environment)
|
752
|
+
@labels = args[:labels] if args.key?(:labels)
|
753
|
+
@revision = args[:revision] if args.key?(:revision)
|
754
|
+
@scaling = args[:scaling] if args.key?(:scaling)
|
755
|
+
@service_account = args[:service_account] if args.key?(:service_account)
|
756
|
+
@timeout = args[:timeout] if args.key?(:timeout)
|
757
|
+
@volumes = args[:volumes] if args.key?(:volumes)
|
758
|
+
@vpc_access = args[:vpc_access] if args.key?(:vpc_access)
|
759
|
+
end
|
760
|
+
end
|
761
|
+
|
762
|
+
# SecretEnvVarSource represents a source for the value of an EnvVar.
|
763
|
+
class GoogleCloudRunOpV2SecretKeySelector
|
764
|
+
include Google::Apis::Core::Hashable
|
765
|
+
|
766
|
+
# Required. The name of the secret in Cloud Secret Manager. Format: `secret_name`
|
767
|
+
# if the secret is in the same project. projects/`project`/secrets/`secret_name`
|
768
|
+
# if the secret is in a different project.
|
769
|
+
# Corresponds to the JSON property `secret`
|
770
|
+
# @return [String]
|
771
|
+
attr_accessor :secret
|
772
|
+
|
773
|
+
# The Cloud Secret Manager secret version. Can be 'latest' for the latest value
|
774
|
+
# or an integer for a specific version.
|
775
|
+
# Corresponds to the JSON property `version`
|
776
|
+
# @return [String]
|
777
|
+
attr_accessor :version
|
778
|
+
|
779
|
+
def initialize(**args)
|
780
|
+
update!(**args)
|
781
|
+
end
|
782
|
+
|
783
|
+
# Update properties of this object
|
784
|
+
def update!(**args)
|
785
|
+
@secret = args[:secret] if args.key?(:secret)
|
786
|
+
@version = args[:version] if args.key?(:version)
|
787
|
+
end
|
788
|
+
end
|
789
|
+
|
790
|
+
# The secret's value will be presented as the content of a file whose name is
|
791
|
+
# defined in the item path. If no items are defined, the name of the file is the
|
792
|
+
# secret.
|
793
|
+
class GoogleCloudRunOpV2SecretVolumeSource
|
794
|
+
include Google::Apis::Core::Hashable
|
795
|
+
|
796
|
+
# Integer representation of mode bits to use on created files by default. Must
|
797
|
+
# be a value between 0000 and 0777 (octal), defaulting to 0644. Directories
|
798
|
+
# within the path are not affected by this setting. Notes * Internally, a umask
|
799
|
+
# of 0222 will be applied to any non-zero value. * This is an integer
|
800
|
+
# representation of the mode bits. So, the octal integer value should look
|
801
|
+
# exactly as the chmod numeric notation with a leading zero. Some examples: for
|
802
|
+
# chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=
|
803
|
+
# r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set
|
804
|
+
# to 0755 (octal) or 493 (base-10). * This might be in conflict with other
|
805
|
+
# options that affect the file mode, like fsGroup, and the result can be other
|
806
|
+
# mode bits set. This might be in conflict with other options that affect the
|
807
|
+
# file mode, like fsGroup, and as a result, other mode bits could be set.
|
808
|
+
# Corresponds to the JSON property `defaultMode`
|
809
|
+
# @return [Fixnum]
|
810
|
+
attr_accessor :default_mode
|
811
|
+
|
812
|
+
# If unspecified, the volume will expose a file whose name is the secret,
|
813
|
+
# relative to VolumeMount.mount_path. If specified, the key will be used as the
|
814
|
+
# version to fetch from Cloud Secret Manager and the path will be the name of
|
815
|
+
# the file exposed in the volume. When items are defined, they must specify a
|
816
|
+
# path and a version.
|
817
|
+
# Corresponds to the JSON property `items`
|
818
|
+
# @return [Array<Google::Apis::RunV2::GoogleCloudRunOpV2VersionToPath>]
|
819
|
+
attr_accessor :items
|
820
|
+
|
821
|
+
# Required. The name of the secret in Cloud Secret Manager. Format: `secret` if
|
822
|
+
# the secret is in the same project. projects/`project`/secrets/`secret` if the
|
823
|
+
# secret is in a different project.
|
824
|
+
# Corresponds to the JSON property `secret`
|
825
|
+
# @return [String]
|
826
|
+
attr_accessor :secret
|
827
|
+
|
828
|
+
def initialize(**args)
|
829
|
+
update!(**args)
|
830
|
+
end
|
831
|
+
|
832
|
+
# Update properties of this object
|
833
|
+
def update!(**args)
|
834
|
+
@default_mode = args[:default_mode] if args.key?(:default_mode)
|
835
|
+
@items = args[:items] if args.key?(:items)
|
836
|
+
@secret = args[:secret] if args.key?(:secret)
|
837
|
+
end
|
838
|
+
end
|
839
|
+
|
840
|
+
# Service acts as a top-level container that manages a set of configurations and
|
841
|
+
# revision templates which implement a network service. Service exists to
|
842
|
+
# provide a singular abstraction which can be access controlled, reasoned about,
|
843
|
+
# and which encapsulates software lifecycle decisions such as rollout policy and
|
844
|
+
# team resource ownership.
|
845
|
+
class GoogleCloudRunOpV2Service
|
846
|
+
include Google::Apis::Core::Hashable
|
847
|
+
|
848
|
+
# Unstructured key value map that may be set by external tools to store and
|
849
|
+
# arbitrary metadata. They are not queryable and should be preserved when
|
850
|
+
# modifying objects. Cloud Run will populate some annotations using 'run.
|
851
|
+
# googleapis.com' or 'serving.knative.dev' namespaces. This field follows
|
852
|
+
# Kubernetes annotations' namespacing, limits, and rules. More info: http://
|
853
|
+
# kubernetes.io/docs/user-guide/annotations
|
854
|
+
# Corresponds to the JSON property `annotations`
|
855
|
+
# @return [Hash<String,String>]
|
856
|
+
attr_accessor :annotations
|
857
|
+
|
858
|
+
# Settings for Binary Authorization feature.
|
859
|
+
# Corresponds to the JSON property `binaryAuthorization`
|
860
|
+
# @return [Google::Apis::RunV2::GoogleCloudRunOpV2BinaryAuthorization]
|
861
|
+
attr_accessor :binary_authorization
|
862
|
+
|
863
|
+
# Arbitrary identifier for the API client.
|
864
|
+
# Corresponds to the JSON property `client`
|
865
|
+
# @return [String]
|
866
|
+
attr_accessor :client
|
867
|
+
|
868
|
+
# Arbitrary version identifier for the API client.
|
869
|
+
# Corresponds to the JSON property `clientVersion`
|
870
|
+
# @return [String]
|
871
|
+
attr_accessor :client_version
|
872
|
+
|
873
|
+
# Output only. The Conditions of all other associated sub-resources. They
|
874
|
+
# contain additional diagnostics information in case the Service does not reach
|
875
|
+
# its Serving state. See comments in `reconciling` for additional information on
|
876
|
+
# reconciliation process in Cloud Run.
|
877
|
+
# Corresponds to the JSON property `conditions`
|
878
|
+
# @return [Array<Google::Apis::RunV2::GoogleCloudRunOpV2Condition>]
|
879
|
+
attr_accessor :conditions
|
880
|
+
|
881
|
+
# Output only. The creation time.
|
882
|
+
# Corresponds to the JSON property `createTime`
|
883
|
+
# @return [String]
|
884
|
+
attr_accessor :create_time
|
885
|
+
|
886
|
+
# Output only. Email address of the authenticated creator.
|
887
|
+
# Corresponds to the JSON property `creator`
|
888
|
+
# @return [String]
|
889
|
+
attr_accessor :creator
|
890
|
+
|
891
|
+
# Output only. The deletion time.
|
892
|
+
# Corresponds to the JSON property `deleteTime`
|
893
|
+
# @return [String]
|
894
|
+
attr_accessor :delete_time
|
895
|
+
|
896
|
+
# User-provided description of the Service.
|
897
|
+
# Corresponds to the JSON property `description`
|
898
|
+
# @return [String]
|
899
|
+
attr_accessor :description
|
900
|
+
|
901
|
+
# Output only. A system-generated fingerprint for this version of the resource.
|
902
|
+
# May be used to detect modification conflict during updates.
|
903
|
+
# Corresponds to the JSON property `etag`
|
904
|
+
# @return [String]
|
905
|
+
attr_accessor :etag
|
906
|
+
|
907
|
+
# Output only. For a deleted resource, the time after which it will be
|
908
|
+
# permamently deleted.
|
909
|
+
# Corresponds to the JSON property `expireTime`
|
910
|
+
# @return [String]
|
911
|
+
attr_accessor :expire_time
|
912
|
+
|
913
|
+
# Output only. A number that monotonically increases every time the user
|
914
|
+
# modifies the desired state.
|
915
|
+
# Corresponds to the JSON property `generation`
|
916
|
+
# @return [Fixnum]
|
917
|
+
attr_accessor :generation
|
918
|
+
|
919
|
+
# Provides the ingress settings for this Service. On output, returns the
|
920
|
+
# currently observed ingress settings, or INGRESS_TRAFFIC_UNSPECIFIED if no
|
921
|
+
# revision is active.
|
922
|
+
# Corresponds to the JSON property `ingress`
|
923
|
+
# @return [String]
|
924
|
+
attr_accessor :ingress
|
925
|
+
|
926
|
+
# Map of string keys and values that can be used to organize and categorize
|
927
|
+
# objects. User-provided labels are shared with Google's billing system, so they
|
928
|
+
# can be used to filter, or break down billing charges by team, component,
|
929
|
+
# environment, state, etc. For more information, visit https://cloud.google.com/
|
930
|
+
# resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/
|
931
|
+
# docs/configuring/labels Cloud Run will populate some labels with 'run.
|
932
|
+
# googleapis.com' or 'serving.knative.dev' namespaces. Those labels are read-
|
933
|
+
# only, and user changes will not be preserved.
|
934
|
+
# Corresponds to the JSON property `labels`
|
935
|
+
# @return [Hash<String,String>]
|
936
|
+
attr_accessor :labels
|
937
|
+
|
938
|
+
# Output only. Email address of the last authenticated modifier.
|
939
|
+
# Corresponds to the JSON property `lastModifier`
|
940
|
+
# @return [String]
|
941
|
+
attr_accessor :last_modifier
|
942
|
+
|
943
|
+
# Output only. Name of the last created revision. See comments in `reconciling`
|
944
|
+
# for additional information on reconciliation process in Cloud Run.
|
945
|
+
# Corresponds to the JSON property `latestCreatedRevision`
|
946
|
+
# @return [String]
|
947
|
+
attr_accessor :latest_created_revision
|
948
|
+
|
949
|
+
# Output only. Name of the latest revision that is serving traffic. See comments
|
950
|
+
# in `reconciling` for additional information on reconciliation process in Cloud
|
951
|
+
# Run.
|
952
|
+
# Corresponds to the JSON property `latestReadyRevision`
|
953
|
+
# @return [String]
|
954
|
+
attr_accessor :latest_ready_revision
|
955
|
+
|
956
|
+
# The launch stage as defined by [Google Cloud Platform Launch Stages](http://
|
957
|
+
# cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and
|
958
|
+
# `GA`. If no value is specified, GA is assumed.
|
959
|
+
# Corresponds to the JSON property `launchStage`
|
960
|
+
# @return [String]
|
961
|
+
attr_accessor :launch_stage
|
962
|
+
|
963
|
+
# The fully qualified name of this Service. In CreateServiceRequest, this field
|
964
|
+
# is ignored, and instead composed from CreateServiceRequest.parent and
|
965
|
+
# CreateServiceRequest.service_id. Format: projects/`project`/locations/`
|
966
|
+
# location`/services/`service_id`
|
967
|
+
# Corresponds to the JSON property `name`
|
968
|
+
# @return [String]
|
969
|
+
attr_accessor :name
|
970
|
+
|
971
|
+
# Output only. The generation of this Service currently serving traffic. See
|
972
|
+
# comments in `reconciling` for additional information on reconciliation process
|
973
|
+
# in Cloud Run.
|
974
|
+
# Corresponds to the JSON property `observedGeneration`
|
975
|
+
# @return [Fixnum]
|
976
|
+
attr_accessor :observed_generation
|
977
|
+
|
978
|
+
# Output only. Returns true if the Service is currently being acted upon by the
|
979
|
+
# system to bring it into the desired state. When a new Service is created, or
|
980
|
+
# an existing one is updated, Cloud Run will asynchronously perform all
|
981
|
+
# necessary steps to bring the Service to the desired serving state. This
|
982
|
+
# process is called reconciliation. While reconciliation is in process, `
|
983
|
+
# observed_generation`, `latest_ready_revison`, `traffic_statuses`, and `uri`
|
984
|
+
# will have transient values that might mismatch the intended state: Once
|
985
|
+
# reconciliation is over (and this field is false), there are two possible
|
986
|
+
# outcomes: reconciliation succeeded and the serving state matches the Service,
|
987
|
+
# or there was an error, and reconciliation failed. This state can be found in `
|
988
|
+
# terminal_condition.state`. If reconciliation succeeded, the following fields
|
989
|
+
# will match: `traffic` and `traffic_statuses`, `observed_generation` and `
|
990
|
+
# generation`, `latest_ready_revision` and `latest_created_revision`. If
|
991
|
+
# reconciliation failed, `traffic_statuses`, `observed_generation`, and `
|
992
|
+
# latest_ready_revision` will have the state of the last serving revision, or
|
993
|
+
# empty for newly created Services. Additional information on the failure can be
|
994
|
+
# found in `terminal_condition` and `conditions`.
|
995
|
+
# Corresponds to the JSON property `reconciling`
|
996
|
+
# @return [Boolean]
|
997
|
+
attr_accessor :reconciling
|
998
|
+
alias_method :reconciling?, :reconciling
|
999
|
+
|
1000
|
+
# RevisionTemplate describes the data a revision should have when created from a
|
1001
|
+
# template.
|
1002
|
+
# Corresponds to the JSON property `template`
|
1003
|
+
# @return [Google::Apis::RunV2::GoogleCloudRunOpV2RevisionTemplate]
|
1004
|
+
attr_accessor :template
|
1005
|
+
|
1006
|
+
# Defines a status condition for a resource.
|
1007
|
+
# Corresponds to the JSON property `terminalCondition`
|
1008
|
+
# @return [Google::Apis::RunV2::GoogleCloudRunOpV2Condition]
|
1009
|
+
attr_accessor :terminal_condition
|
1010
|
+
|
1011
|
+
# Specifies how to distribute traffic over a collection of Revisions belonging
|
1012
|
+
# to the Service. If traffic is empty or not provided, defaults to 100% traffic
|
1013
|
+
# to the latest `Ready` Revision.
|
1014
|
+
# Corresponds to the JSON property `traffic`
|
1015
|
+
# @return [Array<Google::Apis::RunV2::GoogleCloudRunOpV2TrafficTarget>]
|
1016
|
+
attr_accessor :traffic
|
1017
|
+
|
1018
|
+
# Output only. Detailed status information for corresponding traffic targets.
|
1019
|
+
# See comments in `reconciling` for additional information on reconciliation
|
1020
|
+
# process in Cloud Run.
|
1021
|
+
# Corresponds to the JSON property `trafficStatuses`
|
1022
|
+
# @return [Array<Google::Apis::RunV2::GoogleCloudRunOpV2TrafficTargetStatus>]
|
1023
|
+
attr_accessor :traffic_statuses
|
1024
|
+
|
1025
|
+
# Output only. Server assigned unique identifier for the trigger. The value is a
|
1026
|
+
# UUID4 string and guaranteed to remain unchanged until the resource is deleted.
|
1027
|
+
# Corresponds to the JSON property `uid`
|
1028
|
+
# @return [String]
|
1029
|
+
attr_accessor :uid
|
1030
|
+
|
1031
|
+
# Output only. The last-modified time.
|
1032
|
+
# Corresponds to the JSON property `updateTime`
|
1033
|
+
# @return [String]
|
1034
|
+
attr_accessor :update_time
|
1035
|
+
|
1036
|
+
# Output only. The main URI in which this Service is serving traffic.
|
1037
|
+
# Corresponds to the JSON property `uri`
|
1038
|
+
# @return [String]
|
1039
|
+
attr_accessor :uri
|
1040
|
+
|
1041
|
+
def initialize(**args)
|
1042
|
+
update!(**args)
|
1043
|
+
end
|
1044
|
+
|
1045
|
+
# Update properties of this object
|
1046
|
+
def update!(**args)
|
1047
|
+
@annotations = args[:annotations] if args.key?(:annotations)
|
1048
|
+
@binary_authorization = args[:binary_authorization] if args.key?(:binary_authorization)
|
1049
|
+
@client = args[:client] if args.key?(:client)
|
1050
|
+
@client_version = args[:client_version] if args.key?(:client_version)
|
1051
|
+
@conditions = args[:conditions] if args.key?(:conditions)
|
1052
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
1053
|
+
@creator = args[:creator] if args.key?(:creator)
|
1054
|
+
@delete_time = args[:delete_time] if args.key?(:delete_time)
|
1055
|
+
@description = args[:description] if args.key?(:description)
|
1056
|
+
@etag = args[:etag] if args.key?(:etag)
|
1057
|
+
@expire_time = args[:expire_time] if args.key?(:expire_time)
|
1058
|
+
@generation = args[:generation] if args.key?(:generation)
|
1059
|
+
@ingress = args[:ingress] if args.key?(:ingress)
|
1060
|
+
@labels = args[:labels] if args.key?(:labels)
|
1061
|
+
@last_modifier = args[:last_modifier] if args.key?(:last_modifier)
|
1062
|
+
@latest_created_revision = args[:latest_created_revision] if args.key?(:latest_created_revision)
|
1063
|
+
@latest_ready_revision = args[:latest_ready_revision] if args.key?(:latest_ready_revision)
|
1064
|
+
@launch_stage = args[:launch_stage] if args.key?(:launch_stage)
|
1065
|
+
@name = args[:name] if args.key?(:name)
|
1066
|
+
@observed_generation = args[:observed_generation] if args.key?(:observed_generation)
|
1067
|
+
@reconciling = args[:reconciling] if args.key?(:reconciling)
|
1068
|
+
@template = args[:template] if args.key?(:template)
|
1069
|
+
@terminal_condition = args[:terminal_condition] if args.key?(:terminal_condition)
|
1070
|
+
@traffic = args[:traffic] if args.key?(:traffic)
|
1071
|
+
@traffic_statuses = args[:traffic_statuses] if args.key?(:traffic_statuses)
|
1072
|
+
@uid = args[:uid] if args.key?(:uid)
|
1073
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
1074
|
+
@uri = args[:uri] if args.key?(:uri)
|
1075
|
+
end
|
1076
|
+
end
|
1077
|
+
|
1078
|
+
# Holds a single traffic routing entry for the Service. Allocations can be done
|
1079
|
+
# to a specific Revision name, or pointing to the latest Ready Revision.
|
1080
|
+
class GoogleCloudRunOpV2TrafficTarget
|
1081
|
+
include Google::Apis::Core::Hashable
|
1082
|
+
|
1083
|
+
# Specifies percent of the traffic to this Revision. This defaults to zero if
|
1084
|
+
# unspecified. Cloud Run currently requires 100 percent for a single
|
1085
|
+
# TrafficTarget entry.
|
1086
|
+
# Corresponds to the JSON property `percent`
|
1087
|
+
# @return [Fixnum]
|
1088
|
+
attr_accessor :percent
|
1089
|
+
|
1090
|
+
# Revision to which to send this portion of traffic, if traffic allocation is by
|
1091
|
+
# revision.
|
1092
|
+
# Corresponds to the JSON property `revision`
|
1093
|
+
# @return [String]
|
1094
|
+
attr_accessor :revision
|
1095
|
+
|
1096
|
+
# Indicates a string to be part of the URI to exclusively reference this target.
|
1097
|
+
# Corresponds to the JSON property `tag`
|
1098
|
+
# @return [String]
|
1099
|
+
attr_accessor :tag
|
1100
|
+
|
1101
|
+
# The allocation type for this traffic target.
|
1102
|
+
# Corresponds to the JSON property `type`
|
1103
|
+
# @return [String]
|
1104
|
+
attr_accessor :type
|
1105
|
+
|
1106
|
+
def initialize(**args)
|
1107
|
+
update!(**args)
|
1108
|
+
end
|
1109
|
+
|
1110
|
+
# Update properties of this object
|
1111
|
+
def update!(**args)
|
1112
|
+
@percent = args[:percent] if args.key?(:percent)
|
1113
|
+
@revision = args[:revision] if args.key?(:revision)
|
1114
|
+
@tag = args[:tag] if args.key?(:tag)
|
1115
|
+
@type = args[:type] if args.key?(:type)
|
1116
|
+
end
|
1117
|
+
end
|
1118
|
+
|
1119
|
+
# Represents the observed state of a single `TrafficTarget` entry.
|
1120
|
+
class GoogleCloudRunOpV2TrafficTargetStatus
|
1121
|
+
include Google::Apis::Core::Hashable
|
1122
|
+
|
1123
|
+
# Specifies percent of the traffic to this Revision.
|
1124
|
+
# Corresponds to the JSON property `percent`
|
1125
|
+
# @return [Fixnum]
|
1126
|
+
attr_accessor :percent
|
1127
|
+
|
1128
|
+
# Revision to which this traffic is sent.
|
1129
|
+
# Corresponds to the JSON property `revision`
|
1130
|
+
# @return [String]
|
1131
|
+
attr_accessor :revision
|
1132
|
+
|
1133
|
+
# Indicates the string used in the URI to exclusively reference this target.
|
1134
|
+
# Corresponds to the JSON property `tag`
|
1135
|
+
# @return [String]
|
1136
|
+
attr_accessor :tag
|
1137
|
+
|
1138
|
+
# The allocation type for this traffic target.
|
1139
|
+
# Corresponds to the JSON property `type`
|
1140
|
+
# @return [String]
|
1141
|
+
attr_accessor :type
|
1142
|
+
|
1143
|
+
# Displays the target URI.
|
1144
|
+
# Corresponds to the JSON property `uri`
|
1145
|
+
# @return [String]
|
1146
|
+
attr_accessor :uri
|
1147
|
+
|
1148
|
+
def initialize(**args)
|
1149
|
+
update!(**args)
|
1150
|
+
end
|
1151
|
+
|
1152
|
+
# Update properties of this object
|
1153
|
+
def update!(**args)
|
1154
|
+
@percent = args[:percent] if args.key?(:percent)
|
1155
|
+
@revision = args[:revision] if args.key?(:revision)
|
1156
|
+
@tag = args[:tag] if args.key?(:tag)
|
1157
|
+
@type = args[:type] if args.key?(:type)
|
1158
|
+
@uri = args[:uri] if args.key?(:uri)
|
1159
|
+
end
|
1160
|
+
end
|
1161
|
+
|
1162
|
+
# VersionToPath maps a specific version of a secret to a relative file to mount
|
1163
|
+
# to, relative to VolumeMount's mount_path.
|
1164
|
+
class GoogleCloudRunOpV2VersionToPath
|
1165
|
+
include Google::Apis::Core::Hashable
|
1166
|
+
|
1167
|
+
# Integer octal mode bits to use on this file, must be a value between 01 and
|
1168
|
+
# 0777 (octal). If 0 or not set, the Volume's default mode will be used. Notes *
|
1169
|
+
# Internally, a umask of 0222 will be applied to any non-zero value. * This is
|
1170
|
+
# an integer representation of the mode bits. So, the octal integer value should
|
1171
|
+
# look exactly as the chmod numeric notation with a leading zero. Some examples:
|
1172
|
+
# for chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=
|
1173
|
+
# rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx),
|
1174
|
+
# set to 0755 (octal) or 493 (base-10). * This might be in conflict with other
|
1175
|
+
# options that affect the file mode, like fsGroup, and the result can be other
|
1176
|
+
# mode bits set.
|
1177
|
+
# Corresponds to the JSON property `mode`
|
1178
|
+
# @return [Fixnum]
|
1179
|
+
attr_accessor :mode
|
1180
|
+
|
1181
|
+
# Required. The relative path of the secret in the container.
|
1182
|
+
# Corresponds to the JSON property `path`
|
1183
|
+
# @return [String]
|
1184
|
+
attr_accessor :path
|
1185
|
+
|
1186
|
+
# The Cloud Secret Manager secret version. Can be 'latest' for the latest value
|
1187
|
+
# or an integer for a specific version.
|
1188
|
+
# Corresponds to the JSON property `version`
|
1189
|
+
# @return [String]
|
1190
|
+
attr_accessor :version
|
1191
|
+
|
1192
|
+
def initialize(**args)
|
1193
|
+
update!(**args)
|
1194
|
+
end
|
1195
|
+
|
1196
|
+
# Update properties of this object
|
1197
|
+
def update!(**args)
|
1198
|
+
@mode = args[:mode] if args.key?(:mode)
|
1199
|
+
@path = args[:path] if args.key?(:path)
|
1200
|
+
@version = args[:version] if args.key?(:version)
|
1201
|
+
end
|
1202
|
+
end
|
1203
|
+
|
1204
|
+
# Volume represents a named volume in a container.
|
1205
|
+
class GoogleCloudRunOpV2Volume
|
1206
|
+
include Google::Apis::Core::Hashable
|
1207
|
+
|
1208
|
+
# Represents a specific Cloud SQL instance.
|
1209
|
+
# Corresponds to the JSON property `cloudSqlInstance`
|
1210
|
+
# @return [Google::Apis::RunV2::GoogleCloudRunOpV2CloudSqlInstance]
|
1211
|
+
attr_accessor :cloud_sql_instance
|
1212
|
+
|
1213
|
+
# Required. Volume's name.
|
1214
|
+
# Corresponds to the JSON property `name`
|
1215
|
+
# @return [String]
|
1216
|
+
attr_accessor :name
|
1217
|
+
|
1218
|
+
# The secret's value will be presented as the content of a file whose name is
|
1219
|
+
# defined in the item path. If no items are defined, the name of the file is the
|
1220
|
+
# secret.
|
1221
|
+
# Corresponds to the JSON property `secret`
|
1222
|
+
# @return [Google::Apis::RunV2::GoogleCloudRunOpV2SecretVolumeSource]
|
1223
|
+
attr_accessor :secret
|
1224
|
+
|
1225
|
+
def initialize(**args)
|
1226
|
+
update!(**args)
|
1227
|
+
end
|
1228
|
+
|
1229
|
+
# Update properties of this object
|
1230
|
+
def update!(**args)
|
1231
|
+
@cloud_sql_instance = args[:cloud_sql_instance] if args.key?(:cloud_sql_instance)
|
1232
|
+
@name = args[:name] if args.key?(:name)
|
1233
|
+
@secret = args[:secret] if args.key?(:secret)
|
1234
|
+
end
|
1235
|
+
end
|
1236
|
+
|
1237
|
+
# VolumeMount describes a mounting of a Volume within a container.
|
1238
|
+
class GoogleCloudRunOpV2VolumeMount
|
1239
|
+
include Google::Apis::Core::Hashable
|
1240
|
+
|
1241
|
+
# Required. Path within the container at which the volume should be mounted.
|
1242
|
+
# Must not contain ':'. For Cloud SQL volumes, it can be left empty, or must
|
1243
|
+
# otherwise be `/cloudsql`. All instances defined in the Volume will be
|
1244
|
+
# available as `/cloudsql/[instance]`. For more information on Cloud SQL volumes,
|
1245
|
+
# visit https://cloud.google.com/sql/docs/mysql/connect-run
|
1246
|
+
# Corresponds to the JSON property `mountPath`
|
1247
|
+
# @return [String]
|
1248
|
+
attr_accessor :mount_path
|
1249
|
+
|
1250
|
+
# Required. This must match the Name of a Volume.
|
1251
|
+
# Corresponds to the JSON property `name`
|
1252
|
+
# @return [String]
|
1253
|
+
attr_accessor :name
|
1254
|
+
|
1255
|
+
def initialize(**args)
|
1256
|
+
update!(**args)
|
1257
|
+
end
|
1258
|
+
|
1259
|
+
# Update properties of this object
|
1260
|
+
def update!(**args)
|
1261
|
+
@mount_path = args[:mount_path] if args.key?(:mount_path)
|
1262
|
+
@name = args[:name] if args.key?(:name)
|
1263
|
+
end
|
1264
|
+
end
|
1265
|
+
|
1266
|
+
# VPC Access settings. For more information on creating a VPC Connector, visit
|
1267
|
+
# https://cloud.google.com/vpc/docs/configure-serverless-vpc-access For
|
1268
|
+
# information on how to configure Cloud Run with an existing VPC Connector,
|
1269
|
+
# visit https://cloud.google.com/run/docs/configuring/connecting-vpc
|
1270
|
+
class GoogleCloudRunOpV2VpcAccess
|
1271
|
+
include Google::Apis::Core::Hashable
|
1272
|
+
|
1273
|
+
# VPC Access connector name. Format: projects/`project`/locations/`location`/
|
1274
|
+
# connectors/`connector`
|
1275
|
+
# Corresponds to the JSON property `connector`
|
1276
|
+
# @return [String]
|
1277
|
+
attr_accessor :connector
|
1278
|
+
|
1279
|
+
# Traffic VPC egress settings.
|
1280
|
+
# Corresponds to the JSON property `egress`
|
1281
|
+
# @return [String]
|
1282
|
+
attr_accessor :egress
|
1283
|
+
|
1284
|
+
def initialize(**args)
|
1285
|
+
update!(**args)
|
1286
|
+
end
|
1287
|
+
|
1288
|
+
# Update properties of this object
|
1289
|
+
def update!(**args)
|
1290
|
+
@connector = args[:connector] if args.key?(:connector)
|
1291
|
+
@egress = args[:egress] if args.key?(:egress)
|
1292
|
+
end
|
1293
|
+
end
|
1294
|
+
|
1295
|
+
# Specifies the audit configuration for a service. The configuration determines
|
1296
|
+
# which permission types are logged, and what identities, if any, are exempted
|
1297
|
+
# from logging. An AuditConfig must have one or more AuditLogConfigs. If there
|
1298
|
+
# are AuditConfigs for both `allServices` and a specific service, the union of
|
1299
|
+
# the two AuditConfigs is used for that service: the log_types specified in each
|
1300
|
+
# AuditConfig are enabled, and the exempted_members in each AuditLogConfig are
|
1301
|
+
# exempted. Example Policy with multiple AuditConfigs: ` "audit_configs": [ ` "
|
1302
|
+
# service": "allServices", "audit_log_configs": [ ` "log_type": "DATA_READ", "
|
1303
|
+
# exempted_members": [ "user:jose@example.com" ] `, ` "log_type": "DATA_WRITE" `,
|
1304
|
+
# ` "log_type": "ADMIN_READ" ` ] `, ` "service": "sampleservice.googleapis.com",
|
1305
|
+
# "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE"
|
1306
|
+
# , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice,
|
1307
|
+
# this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also
|
1308
|
+
# exempts jose@example.com from DATA_READ logging, and aliya@example.com from
|
1309
|
+
# DATA_WRITE logging.
|
1310
|
+
class GoogleIamV1AuditConfig
|
1311
|
+
include Google::Apis::Core::Hashable
|
1312
|
+
|
1313
|
+
# The configuration for logging of each type of permission.
|
1314
|
+
# Corresponds to the JSON property `auditLogConfigs`
|
1315
|
+
# @return [Array<Google::Apis::RunV2::GoogleIamV1AuditLogConfig>]
|
1316
|
+
attr_accessor :audit_log_configs
|
1317
|
+
|
1318
|
+
# Specifies a service that will be enabled for audit logging. For example, `
|
1319
|
+
# storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special
|
1320
|
+
# value that covers all services.
|
1321
|
+
# Corresponds to the JSON property `service`
|
1322
|
+
# @return [String]
|
1323
|
+
attr_accessor :service
|
1324
|
+
|
1325
|
+
def initialize(**args)
|
1326
|
+
update!(**args)
|
1327
|
+
end
|
1328
|
+
|
1329
|
+
# Update properties of this object
|
1330
|
+
def update!(**args)
|
1331
|
+
@audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
|
1332
|
+
@service = args[:service] if args.key?(:service)
|
1333
|
+
end
|
1334
|
+
end
|
1335
|
+
|
1336
|
+
# Provides the configuration for logging a type of permissions. Example: ` "
|
1337
|
+
# audit_log_configs": [ ` "log_type": "DATA_READ", "exempted_members": [ "user:
|
1338
|
+
# jose@example.com" ] `, ` "log_type": "DATA_WRITE" ` ] ` This enables '
|
1339
|
+
# DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from
|
1340
|
+
# DATA_READ logging.
|
1341
|
+
class GoogleIamV1AuditLogConfig
|
1342
|
+
include Google::Apis::Core::Hashable
|
1343
|
+
|
1344
|
+
# Specifies the identities that do not cause logging for this type of permission.
|
1345
|
+
# Follows the same format of Binding.members.
|
1346
|
+
# Corresponds to the JSON property `exemptedMembers`
|
1347
|
+
# @return [Array<String>]
|
1348
|
+
attr_accessor :exempted_members
|
1349
|
+
|
1350
|
+
# The log type that this config enables.
|
1351
|
+
# Corresponds to the JSON property `logType`
|
1352
|
+
# @return [String]
|
1353
|
+
attr_accessor :log_type
|
1354
|
+
|
1355
|
+
def initialize(**args)
|
1356
|
+
update!(**args)
|
1357
|
+
end
|
1358
|
+
|
1359
|
+
# Update properties of this object
|
1360
|
+
def update!(**args)
|
1361
|
+
@exempted_members = args[:exempted_members] if args.key?(:exempted_members)
|
1362
|
+
@log_type = args[:log_type] if args.key?(:log_type)
|
1363
|
+
end
|
1364
|
+
end
|
1365
|
+
|
1366
|
+
# Associates `members`, or principals, with a `role`.
|
1367
|
+
class GoogleIamV1Binding
|
1368
|
+
include Google::Apis::Core::Hashable
|
1369
|
+
|
1370
|
+
# Represents a textual expression in the Common Expression Language (CEL) syntax.
|
1371
|
+
# CEL is a C-like expression language. The syntax and semantics of CEL are
|
1372
|
+
# documented at https://github.com/google/cel-spec. Example (Comparison): title:
|
1373
|
+
# "Summary size limit" description: "Determines if a summary is less than 100
|
1374
|
+
# chars" expression: "document.summary.size() < 100" Example (Equality): title: "
|
1375
|
+
# Requestor is owner" description: "Determines if requestor is the document
|
1376
|
+
# owner" expression: "document.owner == request.auth.claims.email" Example (
|
1377
|
+
# Logic): title: "Public documents" description: "Determine whether the document
|
1378
|
+
# should be publicly visible" expression: "document.type != 'private' &&
|
1379
|
+
# document.type != 'internal'" Example (Data Manipulation): title: "Notification
|
1380
|
+
# string" description: "Create a notification string with a timestamp."
|
1381
|
+
# expression: "'New message received at ' + string(document.create_time)" The
|
1382
|
+
# exact variables and functions that may be referenced within an expression are
|
1383
|
+
# determined by the service that evaluates it. See the service documentation for
|
1384
|
+
# additional information.
|
1385
|
+
# Corresponds to the JSON property `condition`
|
1386
|
+
# @return [Google::Apis::RunV2::GoogleTypeExpr]
|
1387
|
+
attr_accessor :condition
|
1388
|
+
|
1389
|
+
# Specifies the principals requesting access for a Cloud Platform resource. `
|
1390
|
+
# members` can have the following values: * `allUsers`: A special identifier
|
1391
|
+
# that represents anyone who is on the internet; with or without a Google
|
1392
|
+
# account. * `allAuthenticatedUsers`: A special identifier that represents
|
1393
|
+
# anyone who is authenticated with a Google account or a service account. * `
|
1394
|
+
# user:`emailid``: An email address that represents a specific Google account.
|
1395
|
+
# For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
|
1396
|
+
# address that represents a service account. For example, `my-other-app@appspot.
|
1397
|
+
# gserviceaccount.com`. * `group:`emailid``: An email address that represents a
|
1398
|
+
# Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid=
|
1399
|
+
# `uniqueid``: An email address (plus unique identifier) representing a user
|
1400
|
+
# that has been recently deleted. For example, `alice@example.com?uid=
|
1401
|
+
# 123456789012345678901`. If the user is recovered, this value reverts to `user:`
|
1402
|
+
# emailid`` and the recovered user retains the role in the binding. * `deleted:
|
1403
|
+
# serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique
|
1404
|
+
# identifier) representing a service account that has been recently deleted. For
|
1405
|
+
# example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
|
1406
|
+
# If the service account is undeleted, this value reverts to `serviceAccount:`
|
1407
|
+
# emailid`` and the undeleted service account retains the role in the binding. *
|
1408
|
+
# `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
|
1409
|
+
# identifier) representing a Google group that has been recently deleted. For
|
1410
|
+
# example, `admins@example.com?uid=123456789012345678901`. If the group is
|
1411
|
+
# recovered, this value reverts to `group:`emailid`` and the recovered group
|
1412
|
+
# retains the role in the binding. * `domain:`domain``: The G Suite domain (
|
1413
|
+
# primary) that represents all the users of that domain. For example, `google.
|
1414
|
+
# com` or `example.com`.
|
1415
|
+
# Corresponds to the JSON property `members`
|
1416
|
+
# @return [Array<String>]
|
1417
|
+
attr_accessor :members
|
1418
|
+
|
1419
|
+
# Role that is assigned to the list of `members`, or principals. For example, `
|
1420
|
+
# roles/viewer`, `roles/editor`, or `roles/owner`.
|
1421
|
+
# Corresponds to the JSON property `role`
|
1422
|
+
# @return [String]
|
1423
|
+
attr_accessor :role
|
1424
|
+
|
1425
|
+
def initialize(**args)
|
1426
|
+
update!(**args)
|
1427
|
+
end
|
1428
|
+
|
1429
|
+
# Update properties of this object
|
1430
|
+
def update!(**args)
|
1431
|
+
@condition = args[:condition] if args.key?(:condition)
|
1432
|
+
@members = args[:members] if args.key?(:members)
|
1433
|
+
@role = args[:role] if args.key?(:role)
|
1434
|
+
end
|
1435
|
+
end
|
1436
|
+
|
1437
|
+
# An Identity and Access Management (IAM) policy, which specifies access
|
1438
|
+
# controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
|
1439
|
+
# A `binding` binds one or more `members`, or principals, to a single `role`.
|
1440
|
+
# Principals can be user accounts, service accounts, Google groups, and domains (
|
1441
|
+
# such as G Suite). A `role` is a named list of permissions; each `role` can be
|
1442
|
+
# an IAM predefined role or a user-created custom role. For some types of Google
|
1443
|
+
# Cloud resources, a `binding` can also specify a `condition`, which is a
|
1444
|
+
# logical expression that allows access to a resource only if the expression
|
1445
|
+
# evaluates to `true`. A condition can add constraints based on attributes of
|
1446
|
+
# the request, the resource, or both. To learn which resources support
|
1447
|
+
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
1448
|
+
# google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
|
1449
|
+
# bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
|
1450
|
+
# "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
|
1451
|
+
# serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
|
1452
|
+
# roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
|
1453
|
+
# ], "condition": ` "title": "expirable access", "description": "Does not grant
|
1454
|
+
# access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
1455
|
+
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
1456
|
+
# bindings: - members: - user:mike@example.com - group:admins@example.com -
|
1457
|
+
# domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
1458
|
+
# role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
|
1459
|
+
# com role: roles/resourcemanager.organizationViewer condition: title: expirable
|
1460
|
+
# access description: Does not grant access after Sep 2020 expression: request.
|
1461
|
+
# time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
1462
|
+
# a description of IAM and its features, see the [IAM documentation](https://
|
1463
|
+
# cloud.google.com/iam/docs/).
|
1464
|
+
class GoogleIamV1Policy
|
1465
|
+
include Google::Apis::Core::Hashable
|
1466
|
+
|
1467
|
+
# Specifies cloud audit logging configuration for this policy.
|
1468
|
+
# Corresponds to the JSON property `auditConfigs`
|
1469
|
+
# @return [Array<Google::Apis::RunV2::GoogleIamV1AuditConfig>]
|
1470
|
+
attr_accessor :audit_configs
|
1471
|
+
|
1472
|
+
# Associates a list of `members`, or principals, with a `role`. Optionally, may
|
1473
|
+
# specify a `condition` that determines how and when the `bindings` are applied.
|
1474
|
+
# Each of the `bindings` must contain at least one principal. The `bindings` in
|
1475
|
+
# a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
|
1476
|
+
# can be Google groups. Each occurrence of a principal counts towards these
|
1477
|
+
# limits. For example, if the `bindings` grant 50 different roles to `user:alice@
|
1478
|
+
# example.com`, and not to any other principal, then you can add another 1,450
|
1479
|
+
# principals to the `bindings` in the `Policy`.
|
1480
|
+
# Corresponds to the JSON property `bindings`
|
1481
|
+
# @return [Array<Google::Apis::RunV2::GoogleIamV1Binding>]
|
1482
|
+
attr_accessor :bindings
|
1483
|
+
|
1484
|
+
# `etag` is used for optimistic concurrency control as a way to help prevent
|
1485
|
+
# simultaneous updates of a policy from overwriting each other. It is strongly
|
1486
|
+
# suggested that systems make use of the `etag` in the read-modify-write cycle
|
1487
|
+
# to perform policy updates in order to avoid race conditions: An `etag` is
|
1488
|
+
# returned in the response to `getIamPolicy`, and systems are expected to put
|
1489
|
+
# that etag in the request to `setIamPolicy` to ensure that their change will be
|
1490
|
+
# applied to the same version of the policy. **Important:** If you use IAM
|
1491
|
+
# Conditions, you must include the `etag` field whenever you call `setIamPolicy`.
|
1492
|
+
# If you omit this field, then IAM allows you to overwrite a version `3` policy
|
1493
|
+
# with a version `1` policy, and all of the conditions in the version `3` policy
|
1494
|
+
# are lost.
|
1495
|
+
# Corresponds to the JSON property `etag`
|
1496
|
+
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
1497
|
+
# @return [String]
|
1498
|
+
attr_accessor :etag
|
1499
|
+
|
1500
|
+
# Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
|
1501
|
+
# Requests that specify an invalid value are rejected. Any operation that
|
1502
|
+
# affects conditional role bindings must specify version `3`. This requirement
|
1503
|
+
# applies to the following operations: * Getting a policy that includes a
|
1504
|
+
# conditional role binding * Adding a conditional role binding to a policy *
|
1505
|
+
# Changing a conditional role binding in a policy * Removing any role binding,
|
1506
|
+
# with or without a condition, from a policy that includes conditions **
|
1507
|
+
# Important:** If you use IAM Conditions, you must include the `etag` field
|
1508
|
+
# whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
|
1509
|
+
# to overwrite a version `3` policy with a version `1` policy, and all of the
|
1510
|
+
# conditions in the version `3` policy are lost. If a policy does not include
|
1511
|
+
# any conditions, operations on that policy may specify any valid version or
|
1512
|
+
# leave the field unset. To learn which resources support conditions in their
|
1513
|
+
# IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/
|
1514
|
+
# conditions/resource-policies).
|
1515
|
+
# Corresponds to the JSON property `version`
|
1516
|
+
# @return [Fixnum]
|
1517
|
+
attr_accessor :version
|
1518
|
+
|
1519
|
+
def initialize(**args)
|
1520
|
+
update!(**args)
|
1521
|
+
end
|
1522
|
+
|
1523
|
+
# Update properties of this object
|
1524
|
+
def update!(**args)
|
1525
|
+
@audit_configs = args[:audit_configs] if args.key?(:audit_configs)
|
1526
|
+
@bindings = args[:bindings] if args.key?(:bindings)
|
1527
|
+
@etag = args[:etag] if args.key?(:etag)
|
1528
|
+
@version = args[:version] if args.key?(:version)
|
1529
|
+
end
|
1530
|
+
end
|
1531
|
+
|
1532
|
+
# Request message for `SetIamPolicy` method.
|
1533
|
+
class GoogleIamV1SetIamPolicyRequest
|
1534
|
+
include Google::Apis::Core::Hashable
|
1535
|
+
|
1536
|
+
# An Identity and Access Management (IAM) policy, which specifies access
|
1537
|
+
# controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
|
1538
|
+
# A `binding` binds one or more `members`, or principals, to a single `role`.
|
1539
|
+
# Principals can be user accounts, service accounts, Google groups, and domains (
|
1540
|
+
# such as G Suite). A `role` is a named list of permissions; each `role` can be
|
1541
|
+
# an IAM predefined role or a user-created custom role. For some types of Google
|
1542
|
+
# Cloud resources, a `binding` can also specify a `condition`, which is a
|
1543
|
+
# logical expression that allows access to a resource only if the expression
|
1544
|
+
# evaluates to `true`. A condition can add constraints based on attributes of
|
1545
|
+
# the request, the resource, or both. To learn which resources support
|
1546
|
+
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
1547
|
+
# google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
|
1548
|
+
# bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
|
1549
|
+
# "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
|
1550
|
+
# serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
|
1551
|
+
# roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
|
1552
|
+
# ], "condition": ` "title": "expirable access", "description": "Does not grant
|
1553
|
+
# access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
1554
|
+
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
1555
|
+
# bindings: - members: - user:mike@example.com - group:admins@example.com -
|
1556
|
+
# domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
1557
|
+
# role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
|
1558
|
+
# com role: roles/resourcemanager.organizationViewer condition: title: expirable
|
1559
|
+
# access description: Does not grant access after Sep 2020 expression: request.
|
1560
|
+
# time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
1561
|
+
# a description of IAM and its features, see the [IAM documentation](https://
|
1562
|
+
# cloud.google.com/iam/docs/).
|
1563
|
+
# Corresponds to the JSON property `policy`
|
1564
|
+
# @return [Google::Apis::RunV2::GoogleIamV1Policy]
|
1565
|
+
attr_accessor :policy
|
1566
|
+
|
1567
|
+
# OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
|
1568
|
+
# the fields in the mask will be modified. If no mask is provided, the following
|
1569
|
+
# default mask is used: `paths: "bindings, etag"`
|
1570
|
+
# Corresponds to the JSON property `updateMask`
|
1571
|
+
# @return [String]
|
1572
|
+
attr_accessor :update_mask
|
1573
|
+
|
1574
|
+
def initialize(**args)
|
1575
|
+
update!(**args)
|
1576
|
+
end
|
1577
|
+
|
1578
|
+
# Update properties of this object
|
1579
|
+
def update!(**args)
|
1580
|
+
@policy = args[:policy] if args.key?(:policy)
|
1581
|
+
@update_mask = args[:update_mask] if args.key?(:update_mask)
|
1582
|
+
end
|
1583
|
+
end
|
1584
|
+
|
1585
|
+
# Request message for `TestIamPermissions` method.
|
1586
|
+
class GoogleIamV1TestIamPermissionsRequest
|
1587
|
+
include Google::Apis::Core::Hashable
|
1588
|
+
|
1589
|
+
# The set of permissions to check for the `resource`. Permissions with wildcards
|
1590
|
+
# (such as '*' or 'storage.*') are not allowed. For more information see [IAM
|
1591
|
+
# Overview](https://cloud.google.com/iam/docs/overview#permissions).
|
1592
|
+
# Corresponds to the JSON property `permissions`
|
1593
|
+
# @return [Array<String>]
|
1594
|
+
attr_accessor :permissions
|
1595
|
+
|
1596
|
+
def initialize(**args)
|
1597
|
+
update!(**args)
|
1598
|
+
end
|
1599
|
+
|
1600
|
+
# Update properties of this object
|
1601
|
+
def update!(**args)
|
1602
|
+
@permissions = args[:permissions] if args.key?(:permissions)
|
1603
|
+
end
|
1604
|
+
end
|
1605
|
+
|
1606
|
+
# Response message for `TestIamPermissions` method.
|
1607
|
+
class GoogleIamV1TestIamPermissionsResponse
|
1608
|
+
include Google::Apis::Core::Hashable
|
1609
|
+
|
1610
|
+
# A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
|
1611
|
+
# Corresponds to the JSON property `permissions`
|
1612
|
+
# @return [Array<String>]
|
1613
|
+
attr_accessor :permissions
|
1614
|
+
|
1615
|
+
def initialize(**args)
|
1616
|
+
update!(**args)
|
1617
|
+
end
|
1618
|
+
|
1619
|
+
# Update properties of this object
|
1620
|
+
def update!(**args)
|
1621
|
+
@permissions = args[:permissions] if args.key?(:permissions)
|
1622
|
+
end
|
1623
|
+
end
|
1624
|
+
|
1625
|
+
# The response message for Operations.ListOperations.
|
1626
|
+
class GoogleLongrunningListOperationsResponse
|
1627
|
+
include Google::Apis::Core::Hashable
|
1628
|
+
|
1629
|
+
# The standard List next-page token.
|
1630
|
+
# Corresponds to the JSON property `nextPageToken`
|
1631
|
+
# @return [String]
|
1632
|
+
attr_accessor :next_page_token
|
1633
|
+
|
1634
|
+
# A list of operations that matches the specified filter in the request.
|
1635
|
+
# Corresponds to the JSON property `operations`
|
1636
|
+
# @return [Array<Google::Apis::RunV2::GoogleLongrunningOperation>]
|
1637
|
+
attr_accessor :operations
|
1638
|
+
|
1639
|
+
def initialize(**args)
|
1640
|
+
update!(**args)
|
1641
|
+
end
|
1642
|
+
|
1643
|
+
# Update properties of this object
|
1644
|
+
def update!(**args)
|
1645
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1646
|
+
@operations = args[:operations] if args.key?(:operations)
|
1647
|
+
end
|
1648
|
+
end
|
1649
|
+
|
1650
|
+
# This resource represents a long-running operation that is the result of a
|
1651
|
+
# network API call.
|
1652
|
+
class GoogleLongrunningOperation
|
1653
|
+
include Google::Apis::Core::Hashable
|
1654
|
+
|
1655
|
+
# If the value is `false`, it means the operation is still in progress. If `true`
|
1656
|
+
# , the operation is completed, and either `error` or `response` is available.
|
1657
|
+
# Corresponds to the JSON property `done`
|
1658
|
+
# @return [Boolean]
|
1659
|
+
attr_accessor :done
|
1660
|
+
alias_method :done?, :done
|
1661
|
+
|
1662
|
+
# The `Status` type defines a logical error model that is suitable for different
|
1663
|
+
# programming environments, including REST APIs and RPC APIs. It is used by [
|
1664
|
+
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
1665
|
+
# data: error code, error message, and error details. You can find out more
|
1666
|
+
# about this error model and how to work with it in the [API Design Guide](https:
|
1667
|
+
# //cloud.google.com/apis/design/errors).
|
1668
|
+
# Corresponds to the JSON property `error`
|
1669
|
+
# @return [Google::Apis::RunV2::GoogleRpcStatus]
|
1670
|
+
attr_accessor :error
|
1671
|
+
|
1672
|
+
# Service-specific metadata associated with the operation. It typically contains
|
1673
|
+
# progress information and common metadata such as create time. Some services
|
1674
|
+
# might not provide such metadata. Any method that returns a long-running
|
1675
|
+
# operation should document the metadata type, if any.
|
1676
|
+
# Corresponds to the JSON property `metadata`
|
1677
|
+
# @return [Hash<String,Object>]
|
1678
|
+
attr_accessor :metadata
|
1679
|
+
|
1680
|
+
# The server-assigned name, which is only unique within the same service that
|
1681
|
+
# originally returns it. If you use the default HTTP mapping, the `name` should
|
1682
|
+
# be a resource name ending with `operations/`unique_id``.
|
1683
|
+
# Corresponds to the JSON property `name`
|
1684
|
+
# @return [String]
|
1685
|
+
attr_accessor :name
|
1686
|
+
|
1687
|
+
# The normal response of the operation in case of success. If the original
|
1688
|
+
# method returns no data on success, such as `Delete`, the response is `google.
|
1689
|
+
# protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
|
1690
|
+
# the response should be the resource. For other methods, the response should
|
1691
|
+
# have the type `XxxResponse`, where `Xxx` is the original method name. For
|
1692
|
+
# example, if the original method name is `TakeSnapshot()`, the inferred
|
1693
|
+
# response type is `TakeSnapshotResponse`.
|
1694
|
+
# Corresponds to the JSON property `response`
|
1695
|
+
# @return [Hash<String,Object>]
|
1696
|
+
attr_accessor :response
|
1697
|
+
|
1698
|
+
def initialize(**args)
|
1699
|
+
update!(**args)
|
1700
|
+
end
|
1701
|
+
|
1702
|
+
# Update properties of this object
|
1703
|
+
def update!(**args)
|
1704
|
+
@done = args[:done] if args.key?(:done)
|
1705
|
+
@error = args[:error] if args.key?(:error)
|
1706
|
+
@metadata = args[:metadata] if args.key?(:metadata)
|
1707
|
+
@name = args[:name] if args.key?(:name)
|
1708
|
+
@response = args[:response] if args.key?(:response)
|
1709
|
+
end
|
1710
|
+
end
|
1711
|
+
|
1712
|
+
# A generic empty message that you can re-use to avoid defining duplicated empty
|
1713
|
+
# messages in your APIs. A typical example is to use it as the request or the
|
1714
|
+
# response type of an API method. For instance: service Foo ` rpc Bar(google.
|
1715
|
+
# protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
|
1716
|
+
# `Empty` is empty JSON object ````.
|
1717
|
+
class GoogleProtobufEmpty
|
1718
|
+
include Google::Apis::Core::Hashable
|
1719
|
+
|
1720
|
+
def initialize(**args)
|
1721
|
+
update!(**args)
|
1722
|
+
end
|
1723
|
+
|
1724
|
+
# Update properties of this object
|
1725
|
+
def update!(**args)
|
1726
|
+
end
|
1727
|
+
end
|
1728
|
+
|
1729
|
+
# The `Status` type defines a logical error model that is suitable for different
|
1730
|
+
# programming environments, including REST APIs and RPC APIs. It is used by [
|
1731
|
+
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
1732
|
+
# data: error code, error message, and error details. You can find out more
|
1733
|
+
# about this error model and how to work with it in the [API Design Guide](https:
|
1734
|
+
# //cloud.google.com/apis/design/errors).
|
1735
|
+
class GoogleRpcStatus
|
1736
|
+
include Google::Apis::Core::Hashable
|
1737
|
+
|
1738
|
+
# The status code, which should be an enum value of google.rpc.Code.
|
1739
|
+
# Corresponds to the JSON property `code`
|
1740
|
+
# @return [Fixnum]
|
1741
|
+
attr_accessor :code
|
1742
|
+
|
1743
|
+
# A list of messages that carry the error details. There is a common set of
|
1744
|
+
# message types for APIs to use.
|
1745
|
+
# Corresponds to the JSON property `details`
|
1746
|
+
# @return [Array<Hash<String,Object>>]
|
1747
|
+
attr_accessor :details
|
1748
|
+
|
1749
|
+
# A developer-facing error message, which should be in English. Any user-facing
|
1750
|
+
# error message should be localized and sent in the google.rpc.Status.details
|
1751
|
+
# field, or localized by the client.
|
1752
|
+
# Corresponds to the JSON property `message`
|
1753
|
+
# @return [String]
|
1754
|
+
attr_accessor :message
|
1755
|
+
|
1756
|
+
def initialize(**args)
|
1757
|
+
update!(**args)
|
1758
|
+
end
|
1759
|
+
|
1760
|
+
# Update properties of this object
|
1761
|
+
def update!(**args)
|
1762
|
+
@code = args[:code] if args.key?(:code)
|
1763
|
+
@details = args[:details] if args.key?(:details)
|
1764
|
+
@message = args[:message] if args.key?(:message)
|
1765
|
+
end
|
1766
|
+
end
|
1767
|
+
|
1768
|
+
# Represents a textual expression in the Common Expression Language (CEL) syntax.
|
1769
|
+
# CEL is a C-like expression language. The syntax and semantics of CEL are
|
1770
|
+
# documented at https://github.com/google/cel-spec. Example (Comparison): title:
|
1771
|
+
# "Summary size limit" description: "Determines if a summary is less than 100
|
1772
|
+
# chars" expression: "document.summary.size() < 100" Example (Equality): title: "
|
1773
|
+
# Requestor is owner" description: "Determines if requestor is the document
|
1774
|
+
# owner" expression: "document.owner == request.auth.claims.email" Example (
|
1775
|
+
# Logic): title: "Public documents" description: "Determine whether the document
|
1776
|
+
# should be publicly visible" expression: "document.type != 'private' &&
|
1777
|
+
# document.type != 'internal'" Example (Data Manipulation): title: "Notification
|
1778
|
+
# string" description: "Create a notification string with a timestamp."
|
1779
|
+
# expression: "'New message received at ' + string(document.create_time)" The
|
1780
|
+
# exact variables and functions that may be referenced within an expression are
|
1781
|
+
# determined by the service that evaluates it. See the service documentation for
|
1782
|
+
# additional information.
|
1783
|
+
class GoogleTypeExpr
|
1784
|
+
include Google::Apis::Core::Hashable
|
1785
|
+
|
1786
|
+
# Optional. Description of the expression. This is a longer text which describes
|
1787
|
+
# the expression, e.g. when hovered over it in a UI.
|
1788
|
+
# Corresponds to the JSON property `description`
|
1789
|
+
# @return [String]
|
1790
|
+
attr_accessor :description
|
1791
|
+
|
1792
|
+
# Textual representation of an expression in Common Expression Language syntax.
|
1793
|
+
# Corresponds to the JSON property `expression`
|
1794
|
+
# @return [String]
|
1795
|
+
attr_accessor :expression
|
1796
|
+
|
1797
|
+
# Optional. String indicating the location of the expression for error reporting,
|
1798
|
+
# e.g. a file name and a position in the file.
|
1799
|
+
# Corresponds to the JSON property `location`
|
1800
|
+
# @return [String]
|
1801
|
+
attr_accessor :location
|
1802
|
+
|
1803
|
+
# Optional. Title for the expression, i.e. a short string describing its purpose.
|
1804
|
+
# This can be used e.g. in UIs which allow to enter the expression.
|
1805
|
+
# Corresponds to the JSON property `title`
|
1806
|
+
# @return [String]
|
1807
|
+
attr_accessor :title
|
1808
|
+
|
1809
|
+
def initialize(**args)
|
1810
|
+
update!(**args)
|
1811
|
+
end
|
1812
|
+
|
1813
|
+
# Update properties of this object
|
1814
|
+
def update!(**args)
|
1815
|
+
@description = args[:description] if args.key?(:description)
|
1816
|
+
@expression = args[:expression] if args.key?(:expression)
|
1817
|
+
@location = args[:location] if args.key?(:location)
|
1818
|
+
@title = args[:title] if args.key?(:title)
|
1819
|
+
end
|
1820
|
+
end
|
1821
|
+
end
|
1822
|
+
end
|
1823
|
+
end
|