google-apis-cloudfunctions_v2 0.4.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -123,25 +123,28 @@ module Google
123
123
  # anyone who is authenticated with a Google account or a service account. * `
124
124
  # user:`emailid``: An email address that represents a specific Google account.
125
125
  # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
126
- # address that represents a service account. For example, `my-other-app@appspot.
127
- # gserviceaccount.com`. * `group:`emailid``: An email address that represents a
128
- # Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid=
129
- # `uniqueid``: An email address (plus unique identifier) representing a user
130
- # that has been recently deleted. For example, `alice@example.com?uid=
131
- # 123456789012345678901`. If the user is recovered, this value reverts to `user:`
132
- # emailid`` and the recovered user retains the role in the binding. * `deleted:
133
- # serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique
134
- # identifier) representing a service account that has been recently deleted. For
135
- # example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
136
- # If the service account is undeleted, this value reverts to `serviceAccount:`
137
- # emailid`` and the undeleted service account retains the role in the binding. *
138
- # `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
139
- # identifier) representing a Google group that has been recently deleted. For
140
- # example, `admins@example.com?uid=123456789012345678901`. If the group is
141
- # recovered, this value reverts to `group:`emailid`` and the recovered group
142
- # retains the role in the binding. * `domain:`domain``: The G Suite domain (
143
- # primary) that represents all the users of that domain. For example, `google.
144
- # com` or `example.com`.
126
+ # address that represents a Google service account. For example, `my-other-app@
127
+ # appspot.gserviceaccount.com`. * `serviceAccount:`projectid`.svc.id.goog[`
128
+ # namespace`/`kubernetes-sa`]`: An identifier for a [Kubernetes service account](
129
+ # https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-
130
+ # accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`
131
+ # . * `group:`emailid``: An email address that represents a Google group. For
132
+ # example, `admins@example.com`. * `deleted:user:`emailid`?uid=`uniqueid``: An
133
+ # email address (plus unique identifier) representing a user that has been
134
+ # recently deleted. For example, `alice@example.com?uid=123456789012345678901`.
135
+ # If the user is recovered, this value reverts to `user:`emailid`` and the
136
+ # recovered user retains the role in the binding. * `deleted:serviceAccount:`
137
+ # emailid`?uid=`uniqueid``: An email address (plus unique identifier)
138
+ # representing a service account that has been recently deleted. For example, `
139
+ # my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the
140
+ # service account is undeleted, this value reverts to `serviceAccount:`emailid``
141
+ # and the undeleted service account retains the role in the binding. * `deleted:
142
+ # group:`emailid`?uid=`uniqueid``: An email address (plus unique identifier)
143
+ # representing a Google group that has been recently deleted. For example, `
144
+ # admins@example.com?uid=123456789012345678901`. If the group is recovered, this
145
+ # value reverts to `group:`emailid`` and the recovered group retains the role in
146
+ # the binding. * `domain:`domain``: The G Suite domain (primary) that represents
147
+ # all the users of that domain. For example, `google.com` or `example.com`.
145
148
  # Corresponds to the JSON property `members`
146
149
  # @return [Array<String>]
147
150
  attr_accessor :members
@@ -164,6 +167,201 @@ module Google
164
167
  end
165
168
  end
166
169
 
170
+ # Describes the Build step of the function that builds a container from the
171
+ # given source.
172
+ class BuildConfig
173
+ include Google::Apis::Core::Hashable
174
+
175
+ # Output only. The Cloud Build name of the latest successful deployment of the
176
+ # function.
177
+ # Corresponds to the JSON property `build`
178
+ # @return [String]
179
+ attr_accessor :build
180
+
181
+ # Optional. User managed repository created in Artifact Registry optionally with
182
+ # a customer managed encryption key. This is the repository to which the
183
+ # function docker image will be pushed after it is built by Cloud Build. If
184
+ # unspecified, GCF will create and use a repository named 'gcf-artifacts' for
185
+ # every deployed region. It must match the pattern `projects/`project`/locations/
186
+ # `location`/repositories/`repository``. Cross-project repositories are not
187
+ # supported. Cross-location repositories are not supported. Repository format
188
+ # must be 'DOCKER'.
189
+ # Corresponds to the JSON property `dockerRepository`
190
+ # @return [String]
191
+ attr_accessor :docker_repository
192
+
193
+ # The name of the function (as defined in source code) that will be executed.
194
+ # Defaults to the resource name suffix, if not specified. For backward
195
+ # compatibility, if function with given name is not found, then the system will
196
+ # try to use function named "function". For Node.js this is name of a function
197
+ # exported by the module specified in `source_location`.
198
+ # Corresponds to the JSON property `entryPoint`
199
+ # @return [String]
200
+ attr_accessor :entry_point
201
+
202
+ # User-provided build-time environment variables for the function
203
+ # Corresponds to the JSON property `environmentVariables`
204
+ # @return [Hash<String,String>]
205
+ attr_accessor :environment_variables
206
+
207
+ # The runtime in which to run the function. Required when deploying a new
208
+ # function, optional when updating an existing function. For a complete list of
209
+ # possible choices, see the [`gcloud` command reference](https://cloud.google.
210
+ # com/sdk/gcloud/reference/functions/deploy#--runtime).
211
+ # Corresponds to the JSON property `runtime`
212
+ # @return [String]
213
+ attr_accessor :runtime
214
+
215
+ # The location of the function source code.
216
+ # Corresponds to the JSON property `source`
217
+ # @return [Google::Apis::CloudfunctionsV2::Source]
218
+ attr_accessor :source
219
+
220
+ # Provenance of the source. Ways to find the original source, or verify that
221
+ # some source was used for this build.
222
+ # Corresponds to the JSON property `sourceProvenance`
223
+ # @return [Google::Apis::CloudfunctionsV2::SourceProvenance]
224
+ attr_accessor :source_provenance
225
+
226
+ # Name of the Cloud Build Custom Worker Pool that should be used to build the
227
+ # function. The format of this field is `projects/`project`/locations/`region`/
228
+ # workerPools/`workerPool`` where `project` and `region` are the project id and
229
+ # region respectively where the worker pool is defined and `workerPool` is the
230
+ # short name of the worker pool. If the project id is not the same as the
231
+ # function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.
232
+ # gserviceaccount.com) must be granted the role Cloud Build Custom Workers
233
+ # Builder (roles/cloudbuild.customworkers.builder) in the project.
234
+ # Corresponds to the JSON property `workerPool`
235
+ # @return [String]
236
+ attr_accessor :worker_pool
237
+
238
+ def initialize(**args)
239
+ update!(**args)
240
+ end
241
+
242
+ # Update properties of this object
243
+ def update!(**args)
244
+ @build = args[:build] if args.key?(:build)
245
+ @docker_repository = args[:docker_repository] if args.key?(:docker_repository)
246
+ @entry_point = args[:entry_point] if args.key?(:entry_point)
247
+ @environment_variables = args[:environment_variables] if args.key?(:environment_variables)
248
+ @runtime = args[:runtime] if args.key?(:runtime)
249
+ @source = args[:source] if args.key?(:source)
250
+ @source_provenance = args[:source_provenance] if args.key?(:source_provenance)
251
+ @worker_pool = args[:worker_pool] if args.key?(:worker_pool)
252
+ end
253
+ end
254
+
255
+ # Filters events based on exact matches on the CloudEvents attributes.
256
+ class EventFilter
257
+ include Google::Apis::Core::Hashable
258
+
259
+ # Required. The name of a CloudEvents attribute.
260
+ # Corresponds to the JSON property `attribute`
261
+ # @return [String]
262
+ attr_accessor :attribute
263
+
264
+ # Optional. The operator used for matching the events with the value of the
265
+ # filter. If not specified, only events that have an exact key-value pair
266
+ # specified in the filter are matched. The only allowed value is `match-path-
267
+ # pattern`.
268
+ # Corresponds to the JSON property `operator`
269
+ # @return [String]
270
+ attr_accessor :operator
271
+
272
+ # Required. The value for the attribute.
273
+ # Corresponds to the JSON property `value`
274
+ # @return [String]
275
+ attr_accessor :value
276
+
277
+ def initialize(**args)
278
+ update!(**args)
279
+ end
280
+
281
+ # Update properties of this object
282
+ def update!(**args)
283
+ @attribute = args[:attribute] if args.key?(:attribute)
284
+ @operator = args[:operator] if args.key?(:operator)
285
+ @value = args[:value] if args.key?(:value)
286
+ end
287
+ end
288
+
289
+ # Describes EventTrigger, used to request events to be sent from another service.
290
+ class EventTrigger
291
+ include Google::Apis::Core::Hashable
292
+
293
+ # Optional. The name of the channel associated with the trigger in `projects/`
294
+ # project`/locations/`location`/channels/`channel`` format. You must provide a
295
+ # channel to receive events from Eventarc SaaS partners.
296
+ # Corresponds to the JSON property `channel`
297
+ # @return [String]
298
+ attr_accessor :channel
299
+
300
+ # Criteria used to filter events.
301
+ # Corresponds to the JSON property `eventFilters`
302
+ # @return [Array<Google::Apis::CloudfunctionsV2::EventFilter>]
303
+ attr_accessor :event_filters
304
+
305
+ # Required. The type of event to observe. For example: `google.cloud.audit.log.
306
+ # v1.written` or `google.cloud.pubsub.topic.v1.messagePublished`.
307
+ # Corresponds to the JSON property `eventType`
308
+ # @return [String]
309
+ attr_accessor :event_type
310
+
311
+ # Optional. The name of a Pub/Sub topic in the same project that will be used as
312
+ # the transport topic for the event delivery. Format: `projects/`project`/topics/
313
+ # `topic``. This is only valid for events of type `google.cloud.pubsub.topic.v1.
314
+ # messagePublished`. The topic provided here will not be deleted at function
315
+ # deletion.
316
+ # Corresponds to the JSON property `pubsubTopic`
317
+ # @return [String]
318
+ attr_accessor :pubsub_topic
319
+
320
+ # Optional. If unset, then defaults to ignoring failures (i.e. not retrying them)
321
+ # .
322
+ # Corresponds to the JSON property `retryPolicy`
323
+ # @return [String]
324
+ attr_accessor :retry_policy
325
+
326
+ # Optional. The email of the trigger's service account. The service account must
327
+ # have permission to invoke Cloud Run services, the permission is `run.routes.
328
+ # invoke`. If empty, defaults to the Compute Engine default service account: ``
329
+ # project_number`-compute@developer.gserviceaccount.com`.
330
+ # Corresponds to the JSON property `serviceAccountEmail`
331
+ # @return [String]
332
+ attr_accessor :service_account_email
333
+
334
+ # Output only. The resource name of the Eventarc trigger. The format of this
335
+ # field is `projects/`project`/locations/`region`/triggers/`trigger``.
336
+ # Corresponds to the JSON property `trigger`
337
+ # @return [String]
338
+ attr_accessor :trigger
339
+
340
+ # The region that the trigger will be in. The trigger will only receive events
341
+ # originating in this region. It can be the same region as the function, a
342
+ # different region or multi-region, or the global region. If not provided,
343
+ # defaults to the same region as the function.
344
+ # Corresponds to the JSON property `triggerRegion`
345
+ # @return [String]
346
+ attr_accessor :trigger_region
347
+
348
+ def initialize(**args)
349
+ update!(**args)
350
+ end
351
+
352
+ # Update properties of this object
353
+ def update!(**args)
354
+ @channel = args[:channel] if args.key?(:channel)
355
+ @event_filters = args[:event_filters] if args.key?(:event_filters)
356
+ @event_type = args[:event_type] if args.key?(:event_type)
357
+ @pubsub_topic = args[:pubsub_topic] if args.key?(:pubsub_topic)
358
+ @retry_policy = args[:retry_policy] if args.key?(:retry_policy)
359
+ @service_account_email = args[:service_account_email] if args.key?(:service_account_email)
360
+ @trigger = args[:trigger] if args.key?(:trigger)
361
+ @trigger_region = args[:trigger_region] if args.key?(:trigger_region)
362
+ end
363
+ end
364
+
167
365
  # Represents a textual expression in the Common Expression Language (CEL) syntax.
168
366
  # CEL is a C-like expression language. The syntax and semantics of CEL are
169
367
  # documented at https://github.com/google/cel-spec. Example (Comparison): title:
@@ -182,28 +380,329 @@ module Google
182
380
  class Expr
183
381
  include Google::Apis::Core::Hashable
184
382
 
185
- # Optional. Description of the expression. This is a longer text which describes
186
- # the expression, e.g. when hovered over it in a UI.
187
- # Corresponds to the JSON property `description`
188
- # @return [String]
189
- attr_accessor :description
190
-
191
- # Textual representation of an expression in Common Expression Language syntax.
192
- # Corresponds to the JSON property `expression`
383
+ # Optional. Description of the expression. This is a longer text which describes
384
+ # the expression, e.g. when hovered over it in a UI.
385
+ # Corresponds to the JSON property `description`
386
+ # @return [String]
387
+ attr_accessor :description
388
+
389
+ # Textual representation of an expression in Common Expression Language syntax.
390
+ # Corresponds to the JSON property `expression`
391
+ # @return [String]
392
+ attr_accessor :expression
393
+
394
+ # Optional. String indicating the location of the expression for error reporting,
395
+ # e.g. a file name and a position in the file.
396
+ # Corresponds to the JSON property `location`
397
+ # @return [String]
398
+ attr_accessor :location
399
+
400
+ # Optional. Title for the expression, i.e. a short string describing its purpose.
401
+ # This can be used e.g. in UIs which allow to enter the expression.
402
+ # Corresponds to the JSON property `title`
403
+ # @return [String]
404
+ attr_accessor :title
405
+
406
+ def initialize(**args)
407
+ update!(**args)
408
+ end
409
+
410
+ # Update properties of this object
411
+ def update!(**args)
412
+ @description = args[:description] if args.key?(:description)
413
+ @expression = args[:expression] if args.key?(:expression)
414
+ @location = args[:location] if args.key?(:location)
415
+ @title = args[:title] if args.key?(:title)
416
+ end
417
+ end
418
+
419
+ # Describes a Cloud Function that contains user computation executed in response
420
+ # to an event. It encapsulates function and trigger configurations.
421
+ class Function
422
+ include Google::Apis::Core::Hashable
423
+
424
+ # Describes the Build step of the function that builds a container from the
425
+ # given source.
426
+ # Corresponds to the JSON property `buildConfig`
427
+ # @return [Google::Apis::CloudfunctionsV2::BuildConfig]
428
+ attr_accessor :build_config
429
+
430
+ # User-provided description of a function.
431
+ # Corresponds to the JSON property `description`
432
+ # @return [String]
433
+ attr_accessor :description
434
+
435
+ # Describe whether the function is gen1 or gen2.
436
+ # Corresponds to the JSON property `environment`
437
+ # @return [String]
438
+ attr_accessor :environment
439
+
440
+ # Describes EventTrigger, used to request events to be sent from another service.
441
+ # Corresponds to the JSON property `eventTrigger`
442
+ # @return [Google::Apis::CloudfunctionsV2::EventTrigger]
443
+ attr_accessor :event_trigger
444
+
445
+ # Labels associated with this Cloud Function.
446
+ # Corresponds to the JSON property `labels`
447
+ # @return [Hash<String,String>]
448
+ attr_accessor :labels
449
+
450
+ # A user-defined name of the function. Function names must be unique globally
451
+ # and match pattern `projects/*/locations/*/functions/*`
452
+ # Corresponds to the JSON property `name`
453
+ # @return [String]
454
+ attr_accessor :name
455
+
456
+ # Describes the Service being deployed. Currently Supported : Cloud Run (fully
457
+ # managed).
458
+ # Corresponds to the JSON property `serviceConfig`
459
+ # @return [Google::Apis::CloudfunctionsV2::ServiceConfig]
460
+ attr_accessor :service_config
461
+
462
+ # Output only. State of the function.
463
+ # Corresponds to the JSON property `state`
464
+ # @return [String]
465
+ attr_accessor :state
466
+
467
+ # Output only. State Messages for this Cloud Function.
468
+ # Corresponds to the JSON property `stateMessages`
469
+ # @return [Array<Google::Apis::CloudfunctionsV2::GoogleCloudFunctionsV2StateMessage>]
470
+ attr_accessor :state_messages
471
+
472
+ # Output only. The last update timestamp of a Cloud Function.
473
+ # Corresponds to the JSON property `updateTime`
474
+ # @return [String]
475
+ attr_accessor :update_time
476
+
477
+ def initialize(**args)
478
+ update!(**args)
479
+ end
480
+
481
+ # Update properties of this object
482
+ def update!(**args)
483
+ @build_config = args[:build_config] if args.key?(:build_config)
484
+ @description = args[:description] if args.key?(:description)
485
+ @environment = args[:environment] if args.key?(:environment)
486
+ @event_trigger = args[:event_trigger] if args.key?(:event_trigger)
487
+ @labels = args[:labels] if args.key?(:labels)
488
+ @name = args[:name] if args.key?(:name)
489
+ @service_config = args[:service_config] if args.key?(:service_config)
490
+ @state = args[:state] if args.key?(:state)
491
+ @state_messages = args[:state_messages] if args.key?(:state_messages)
492
+ @update_time = args[:update_time] if args.key?(:update_time)
493
+ end
494
+ end
495
+
496
+ # Request of `GenerateDownloadUrl` method.
497
+ class GenerateDownloadUrlRequest
498
+ include Google::Apis::Core::Hashable
499
+
500
+ def initialize(**args)
501
+ update!(**args)
502
+ end
503
+
504
+ # Update properties of this object
505
+ def update!(**args)
506
+ end
507
+ end
508
+
509
+ # Response of `GenerateDownloadUrl` method.
510
+ class GenerateDownloadUrlResponse
511
+ include Google::Apis::Core::Hashable
512
+
513
+ # The generated Google Cloud Storage signed URL that should be used for function
514
+ # source code download.
515
+ # Corresponds to the JSON property `downloadUrl`
516
+ # @return [String]
517
+ attr_accessor :download_url
518
+
519
+ def initialize(**args)
520
+ update!(**args)
521
+ end
522
+
523
+ # Update properties of this object
524
+ def update!(**args)
525
+ @download_url = args[:download_url] if args.key?(:download_url)
526
+ end
527
+ end
528
+
529
+ # Request of `GenerateSourceUploadUrl` method.
530
+ class GenerateUploadUrlRequest
531
+ include Google::Apis::Core::Hashable
532
+
533
+ def initialize(**args)
534
+ update!(**args)
535
+ end
536
+
537
+ # Update properties of this object
538
+ def update!(**args)
539
+ end
540
+ end
541
+
542
+ # Response of `GenerateSourceUploadUrl` method.
543
+ class GenerateUploadUrlResponse
544
+ include Google::Apis::Core::Hashable
545
+
546
+ # Location of the source in an archive file in Google Cloud Storage.
547
+ # Corresponds to the JSON property `storageSource`
548
+ # @return [Google::Apis::CloudfunctionsV2::StorageSource]
549
+ attr_accessor :storage_source
550
+
551
+ # The generated Google Cloud Storage signed URL that should be used for a
552
+ # function source code upload. The uploaded file should be a zip archive which
553
+ # contains a function.
554
+ # Corresponds to the JSON property `uploadUrl`
555
+ # @return [String]
556
+ attr_accessor :upload_url
557
+
558
+ def initialize(**args)
559
+ update!(**args)
560
+ end
561
+
562
+ # Update properties of this object
563
+ def update!(**args)
564
+ @storage_source = args[:storage_source] if args.key?(:storage_source)
565
+ @upload_url = args[:upload_url] if args.key?(:upload_url)
566
+ end
567
+ end
568
+
569
+ # Represents the metadata of the long-running operation.
570
+ class GoogleCloudFunctionsV2OperationMetadata
571
+ include Google::Apis::Core::Hashable
572
+
573
+ # API version used to start the operation.
574
+ # Corresponds to the JSON property `apiVersion`
575
+ # @return [String]
576
+ attr_accessor :api_version
577
+
578
+ # Identifies whether the user has requested cancellation of the operation.
579
+ # Operations that have successfully been cancelled have Operation.error value
580
+ # with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.
581
+ # Corresponds to the JSON property `cancelRequested`
582
+ # @return [Boolean]
583
+ attr_accessor :cancel_requested
584
+ alias_method :cancel_requested?, :cancel_requested
585
+
586
+ # The time the operation was created.
587
+ # Corresponds to the JSON property `createTime`
588
+ # @return [String]
589
+ attr_accessor :create_time
590
+
591
+ # The time the operation finished running.
592
+ # Corresponds to the JSON property `endTime`
593
+ # @return [String]
594
+ attr_accessor :end_time
595
+
596
+ # The original request that started the operation.
597
+ # Corresponds to the JSON property `requestResource`
598
+ # @return [Hash<String,Object>]
599
+ attr_accessor :request_resource
600
+
601
+ # Mechanism for reporting in-progress stages
602
+ # Corresponds to the JSON property `stages`
603
+ # @return [Array<Google::Apis::CloudfunctionsV2::GoogleCloudFunctionsV2Stage>]
604
+ attr_accessor :stages
605
+
606
+ # Human-readable status of the operation, if any.
607
+ # Corresponds to the JSON property `statusDetail`
608
+ # @return [String]
609
+ attr_accessor :status_detail
610
+
611
+ # Server-defined resource path for the target of the operation.
612
+ # Corresponds to the JSON property `target`
613
+ # @return [String]
614
+ attr_accessor :target
615
+
616
+ # Name of the verb executed by the operation.
617
+ # Corresponds to the JSON property `verb`
618
+ # @return [String]
619
+ attr_accessor :verb
620
+
621
+ def initialize(**args)
622
+ update!(**args)
623
+ end
624
+
625
+ # Update properties of this object
626
+ def update!(**args)
627
+ @api_version = args[:api_version] if args.key?(:api_version)
628
+ @cancel_requested = args[:cancel_requested] if args.key?(:cancel_requested)
629
+ @create_time = args[:create_time] if args.key?(:create_time)
630
+ @end_time = args[:end_time] if args.key?(:end_time)
631
+ @request_resource = args[:request_resource] if args.key?(:request_resource)
632
+ @stages = args[:stages] if args.key?(:stages)
633
+ @status_detail = args[:status_detail] if args.key?(:status_detail)
634
+ @target = args[:target] if args.key?(:target)
635
+ @verb = args[:verb] if args.key?(:verb)
636
+ end
637
+ end
638
+
639
+ # Each Stage of the deployment process
640
+ class GoogleCloudFunctionsV2Stage
641
+ include Google::Apis::Core::Hashable
642
+
643
+ # Message describing the Stage
644
+ # Corresponds to the JSON property `message`
645
+ # @return [String]
646
+ attr_accessor :message
647
+
648
+ # Name of the Stage. This will be unique for each Stage.
649
+ # Corresponds to the JSON property `name`
650
+ # @return [String]
651
+ attr_accessor :name
652
+
653
+ # Resource of the Stage
654
+ # Corresponds to the JSON property `resource`
655
+ # @return [String]
656
+ attr_accessor :resource
657
+
658
+ # Link to the current Stage resource
659
+ # Corresponds to the JSON property `resourceUri`
660
+ # @return [String]
661
+ attr_accessor :resource_uri
662
+
663
+ # Current state of the Stage
664
+ # Corresponds to the JSON property `state`
665
+ # @return [String]
666
+ attr_accessor :state
667
+
668
+ # State messages from the current Stage.
669
+ # Corresponds to the JSON property `stateMessages`
670
+ # @return [Array<Google::Apis::CloudfunctionsV2::GoogleCloudFunctionsV2StateMessage>]
671
+ attr_accessor :state_messages
672
+
673
+ def initialize(**args)
674
+ update!(**args)
675
+ end
676
+
677
+ # Update properties of this object
678
+ def update!(**args)
679
+ @message = args[:message] if args.key?(:message)
680
+ @name = args[:name] if args.key?(:name)
681
+ @resource = args[:resource] if args.key?(:resource)
682
+ @resource_uri = args[:resource_uri] if args.key?(:resource_uri)
683
+ @state = args[:state] if args.key?(:state)
684
+ @state_messages = args[:state_messages] if args.key?(:state_messages)
685
+ end
686
+ end
687
+
688
+ # Informational messages about the state of the Cloud Function or Operation.
689
+ class GoogleCloudFunctionsV2StateMessage
690
+ include Google::Apis::Core::Hashable
691
+
692
+ # The message.
693
+ # Corresponds to the JSON property `message`
193
694
  # @return [String]
194
- attr_accessor :expression
695
+ attr_accessor :message
195
696
 
196
- # Optional. String indicating the location of the expression for error reporting,
197
- # e.g. a file name and a position in the file.
198
- # Corresponds to the JSON property `location`
697
+ # Severity of the state message.
698
+ # Corresponds to the JSON property `severity`
199
699
  # @return [String]
200
- attr_accessor :location
700
+ attr_accessor :severity
201
701
 
202
- # Optional. Title for the expression, i.e. a short string describing its purpose.
203
- # This can be used e.g. in UIs which allow to enter the expression.
204
- # Corresponds to the JSON property `title`
702
+ # One-word CamelCase type of the state message.
703
+ # Corresponds to the JSON property `type`
205
704
  # @return [String]
206
- attr_accessor :title
705
+ attr_accessor :type
207
706
 
208
707
  def initialize(**args)
209
708
  update!(**args)
@@ -211,10 +710,9 @@ module Google
211
710
 
212
711
  # Update properties of this object
213
712
  def update!(**args)
214
- @description = args[:description] if args.key?(:description)
215
- @expression = args[:expression] if args.key?(:expression)
216
- @location = args[:location] if args.key?(:location)
217
- @title = args[:title] if args.key?(:title)
713
+ @message = args[:message] if args.key?(:message)
714
+ @severity = args[:severity] if args.key?(:severity)
715
+ @type = args[:type] if args.key?(:type)
218
716
  end
219
717
  end
220
718
 
@@ -518,6 +1016,39 @@ module Google
518
1016
  end
519
1017
  end
520
1018
 
1019
+ # Response for the `ListFunctions` method.
1020
+ class ListFunctionsResponse
1021
+ include Google::Apis::Core::Hashable
1022
+
1023
+ # The functions that match the request.
1024
+ # Corresponds to the JSON property `functions`
1025
+ # @return [Array<Google::Apis::CloudfunctionsV2::Function>]
1026
+ attr_accessor :functions
1027
+
1028
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1029
+ # field is omitted, there are no subsequent pages.
1030
+ # Corresponds to the JSON property `nextPageToken`
1031
+ # @return [String]
1032
+ attr_accessor :next_page_token
1033
+
1034
+ # Locations that could not be reached. The response does not include any
1035
+ # functions from these locations.
1036
+ # Corresponds to the JSON property `unreachable`
1037
+ # @return [Array<String>]
1038
+ attr_accessor :unreachable
1039
+
1040
+ def initialize(**args)
1041
+ update!(**args)
1042
+ end
1043
+
1044
+ # Update properties of this object
1045
+ def update!(**args)
1046
+ @functions = args[:functions] if args.key?(:functions)
1047
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1048
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1049
+ end
1050
+ end
1051
+
521
1052
  # The response message for Locations.ListLocations.
522
1053
  class ListLocationsResponse
523
1054
  include Google::Apis::Core::Hashable
@@ -568,6 +1099,25 @@ module Google
568
1099
  end
569
1100
  end
570
1101
 
1102
+ # Response for the `ListRuntimes` method.
1103
+ class ListRuntimesResponse
1104
+ include Google::Apis::Core::Hashable
1105
+
1106
+ # The runtimes that match the request.
1107
+ # Corresponds to the JSON property `runtimes`
1108
+ # @return [Array<Google::Apis::CloudfunctionsV2::Runtime>]
1109
+ attr_accessor :runtimes
1110
+
1111
+ def initialize(**args)
1112
+ update!(**args)
1113
+ end
1114
+
1115
+ # Update properties of this object
1116
+ def update!(**args)
1117
+ @runtimes = args[:runtimes] if args.key?(:runtimes)
1118
+ end
1119
+ end
1120
+
571
1121
  # A resource that represents Google Cloud Platform location.
572
1122
  class Location
573
1123
  include Google::Apis::Core::Hashable
@@ -838,6 +1388,362 @@ module Google
838
1388
  end
839
1389
  end
840
1390
 
1391
+ # Location of the source in a Google Cloud Source Repository.
1392
+ class RepoSource
1393
+ include Google::Apis::Core::Hashable
1394
+
1395
+ # Regex matching branches to build. The syntax of the regular expressions
1396
+ # accepted is the syntax accepted by RE2 and described at https://github.com/
1397
+ # google/re2/wiki/Syntax
1398
+ # Corresponds to the JSON property `branchName`
1399
+ # @return [String]
1400
+ attr_accessor :branch_name
1401
+
1402
+ # Explicit commit SHA to build.
1403
+ # Corresponds to the JSON property `commitSha`
1404
+ # @return [String]
1405
+ attr_accessor :commit_sha
1406
+
1407
+ # Directory, relative to the source root, in which to run the build. This must
1408
+ # be a relative path. If a step's `dir` is specified and is an absolute path,
1409
+ # this value is ignored for that step's execution. eg. helloworld (no leading
1410
+ # slash allowed)
1411
+ # Corresponds to the JSON property `dir`
1412
+ # @return [String]
1413
+ attr_accessor :dir
1414
+
1415
+ # Only trigger a build if the revision regex does NOT match the revision regex.
1416
+ # Corresponds to the JSON property `invertRegex`
1417
+ # @return [Boolean]
1418
+ attr_accessor :invert_regex
1419
+ alias_method :invert_regex?, :invert_regex
1420
+
1421
+ # ID of the project that owns the Cloud Source Repository. If omitted, the
1422
+ # project ID requesting the build is assumed.
1423
+ # Corresponds to the JSON property `projectId`
1424
+ # @return [String]
1425
+ attr_accessor :project_id
1426
+
1427
+ # Name of the Cloud Source Repository.
1428
+ # Corresponds to the JSON property `repoName`
1429
+ # @return [String]
1430
+ attr_accessor :repo_name
1431
+
1432
+ # Regex matching tags to build. The syntax of the regular expressions accepted
1433
+ # is the syntax accepted by RE2 and described at https://github.com/google/re2/
1434
+ # wiki/Syntax
1435
+ # Corresponds to the JSON property `tagName`
1436
+ # @return [String]
1437
+ attr_accessor :tag_name
1438
+
1439
+ def initialize(**args)
1440
+ update!(**args)
1441
+ end
1442
+
1443
+ # Update properties of this object
1444
+ def update!(**args)
1445
+ @branch_name = args[:branch_name] if args.key?(:branch_name)
1446
+ @commit_sha = args[:commit_sha] if args.key?(:commit_sha)
1447
+ @dir = args[:dir] if args.key?(:dir)
1448
+ @invert_regex = args[:invert_regex] if args.key?(:invert_regex)
1449
+ @project_id = args[:project_id] if args.key?(:project_id)
1450
+ @repo_name = args[:repo_name] if args.key?(:repo_name)
1451
+ @tag_name = args[:tag_name] if args.key?(:tag_name)
1452
+ end
1453
+ end
1454
+
1455
+ # Describes a runtime and any special information (e.g., deprecation status)
1456
+ # related to it.
1457
+ class Runtime
1458
+ include Google::Apis::Core::Hashable
1459
+
1460
+ # The user facing name, eg 'Go 1.13', 'Node.js 12', etc.
1461
+ # Corresponds to the JSON property `displayName`
1462
+ # @return [String]
1463
+ attr_accessor :display_name
1464
+
1465
+ # The environment for the runtime.
1466
+ # Corresponds to the JSON property `environment`
1467
+ # @return [String]
1468
+ attr_accessor :environment
1469
+
1470
+ # The name of the runtime, e.g., 'go113', 'nodejs12', etc.
1471
+ # Corresponds to the JSON property `name`
1472
+ # @return [String]
1473
+ attr_accessor :name
1474
+
1475
+ # The stage of life this runtime is in, e.g., BETA, GA, etc.
1476
+ # Corresponds to the JSON property `stage`
1477
+ # @return [String]
1478
+ attr_accessor :stage
1479
+
1480
+ # Warning messages, e.g., a deprecation warning.
1481
+ # Corresponds to the JSON property `warnings`
1482
+ # @return [Array<String>]
1483
+ attr_accessor :warnings
1484
+
1485
+ def initialize(**args)
1486
+ update!(**args)
1487
+ end
1488
+
1489
+ # Update properties of this object
1490
+ def update!(**args)
1491
+ @display_name = args[:display_name] if args.key?(:display_name)
1492
+ @environment = args[:environment] if args.key?(:environment)
1493
+ @name = args[:name] if args.key?(:name)
1494
+ @stage = args[:stage] if args.key?(:stage)
1495
+ @warnings = args[:warnings] if args.key?(:warnings)
1496
+ end
1497
+ end
1498
+
1499
+ # Configuration for a secret environment variable. It has the information
1500
+ # necessary to fetch the secret value from secret manager and expose it as an
1501
+ # environment variable.
1502
+ class SecretEnvVar
1503
+ include Google::Apis::Core::Hashable
1504
+
1505
+ # Name of the environment variable.
1506
+ # Corresponds to the JSON property `key`
1507
+ # @return [String]
1508
+ attr_accessor :key
1509
+
1510
+ # Project identifier (preferably project number but can also be the project ID)
1511
+ # of the project that contains the secret. If not set, it is assumed that the
1512
+ # secret is in the same project as the function.
1513
+ # Corresponds to the JSON property `projectId`
1514
+ # @return [String]
1515
+ attr_accessor :project_id
1516
+
1517
+ # Name of the secret in secret manager (not the full resource name).
1518
+ # Corresponds to the JSON property `secret`
1519
+ # @return [String]
1520
+ attr_accessor :secret
1521
+
1522
+ # Version of the secret (version number or the string 'latest'). It is
1523
+ # recommended to use a numeric version for secret environment variables as any
1524
+ # updates to the secret value is not reflected until new instances start.
1525
+ # Corresponds to the JSON property `version`
1526
+ # @return [String]
1527
+ attr_accessor :version
1528
+
1529
+ def initialize(**args)
1530
+ update!(**args)
1531
+ end
1532
+
1533
+ # Update properties of this object
1534
+ def update!(**args)
1535
+ @key = args[:key] if args.key?(:key)
1536
+ @project_id = args[:project_id] if args.key?(:project_id)
1537
+ @secret = args[:secret] if args.key?(:secret)
1538
+ @version = args[:version] if args.key?(:version)
1539
+ end
1540
+ end
1541
+
1542
+ # Configuration for a single version.
1543
+ class SecretVersion
1544
+ include Google::Apis::Core::Hashable
1545
+
1546
+ # Relative path of the file under the mount path where the secret value for this
1547
+ # version will be fetched and made available. For example, setting the
1548
+ # mount_path as '/etc/secrets' and path as `secret_foo` would mount the secret
1549
+ # value file at `/etc/secrets/secret_foo`.
1550
+ # Corresponds to the JSON property `path`
1551
+ # @return [String]
1552
+ attr_accessor :path
1553
+
1554
+ # Version of the secret (version number or the string 'latest'). It is
1555
+ # preferable to use `latest` version with secret volumes as secret value changes
1556
+ # are reflected immediately.
1557
+ # Corresponds to the JSON property `version`
1558
+ # @return [String]
1559
+ attr_accessor :version
1560
+
1561
+ def initialize(**args)
1562
+ update!(**args)
1563
+ end
1564
+
1565
+ # Update properties of this object
1566
+ def update!(**args)
1567
+ @path = args[:path] if args.key?(:path)
1568
+ @version = args[:version] if args.key?(:version)
1569
+ end
1570
+ end
1571
+
1572
+ # Configuration for a secret volume. It has the information necessary to fetch
1573
+ # the secret value from secret manager and make it available as files mounted at
1574
+ # the requested paths within the application container.
1575
+ class SecretVolume
1576
+ include Google::Apis::Core::Hashable
1577
+
1578
+ # The path within the container to mount the secret volume. For example, setting
1579
+ # the mount_path as `/etc/secrets` would mount the secret value files under the `
1580
+ # /etc/secrets` directory. This directory will also be completely shadowed and
1581
+ # unavailable to mount any other secrets. Recommended mount path: /etc/secrets
1582
+ # Corresponds to the JSON property `mountPath`
1583
+ # @return [String]
1584
+ attr_accessor :mount_path
1585
+
1586
+ # Project identifier (preferably project number but can also be the project ID)
1587
+ # of the project that contains the secret. If not set, it is assumed that the
1588
+ # secret is in the same project as the function.
1589
+ # Corresponds to the JSON property `projectId`
1590
+ # @return [String]
1591
+ attr_accessor :project_id
1592
+
1593
+ # Name of the secret in secret manager (not the full resource name).
1594
+ # Corresponds to the JSON property `secret`
1595
+ # @return [String]
1596
+ attr_accessor :secret
1597
+
1598
+ # List of secret versions to mount for this secret. If empty, the `latest`
1599
+ # version of the secret will be made available in a file named after the secret
1600
+ # under the mount point.
1601
+ # Corresponds to the JSON property `versions`
1602
+ # @return [Array<Google::Apis::CloudfunctionsV2::SecretVersion>]
1603
+ attr_accessor :versions
1604
+
1605
+ def initialize(**args)
1606
+ update!(**args)
1607
+ end
1608
+
1609
+ # Update properties of this object
1610
+ def update!(**args)
1611
+ @mount_path = args[:mount_path] if args.key?(:mount_path)
1612
+ @project_id = args[:project_id] if args.key?(:project_id)
1613
+ @secret = args[:secret] if args.key?(:secret)
1614
+ @versions = args[:versions] if args.key?(:versions)
1615
+ end
1616
+ end
1617
+
1618
+ # Describes the Service being deployed. Currently Supported : Cloud Run (fully
1619
+ # managed).
1620
+ class ServiceConfig
1621
+ include Google::Apis::Core::Hashable
1622
+
1623
+ # Whether 100% of traffic is routed to the latest revision. On CreateFunction
1624
+ # and UpdateFunction, when set to true, the revision being deployed will serve
1625
+ # 100% of traffic, ignoring any traffic split settings, if any. On GetFunction,
1626
+ # true will be returned if the latest revision is serving 100% of traffic.
1627
+ # Corresponds to the JSON property `allTrafficOnLatestRevision`
1628
+ # @return [Boolean]
1629
+ attr_accessor :all_traffic_on_latest_revision
1630
+ alias_method :all_traffic_on_latest_revision?, :all_traffic_on_latest_revision
1631
+
1632
+ # The amount of memory available for a function. Defaults to 256M. Supported
1633
+ # units are k, M, G, Mi, Gi. If no unit is supplied the value is interpreted as
1634
+ # bytes. See https://github.com/kubernetes/kubernetes/blob/master/staging/src/
1635
+ # k8s.io/apimachinery/pkg/api/resource/quantity.go a full description.
1636
+ # Corresponds to the JSON property `availableMemory`
1637
+ # @return [String]
1638
+ attr_accessor :available_memory
1639
+
1640
+ # Environment variables that shall be available during function execution.
1641
+ # Corresponds to the JSON property `environmentVariables`
1642
+ # @return [Hash<String,String>]
1643
+ attr_accessor :environment_variables
1644
+
1645
+ # The ingress settings for the function, controlling what traffic can reach it.
1646
+ # Corresponds to the JSON property `ingressSettings`
1647
+ # @return [String]
1648
+ attr_accessor :ingress_settings
1649
+
1650
+ # The limit on the maximum number of function instances that may coexist at a
1651
+ # given time. In some cases, such as rapid traffic surges, Cloud Functions may,
1652
+ # for a short period of time, create more instances than the specified max
1653
+ # instances limit. If your function cannot tolerate this temporary behavior, you
1654
+ # may want to factor in a safety margin and set a lower max instances value than
1655
+ # your function can tolerate. See the [Max Instances](https://cloud.google.com/
1656
+ # functions/docs/max-instances) Guide for more details.
1657
+ # Corresponds to the JSON property `maxInstanceCount`
1658
+ # @return [Fixnum]
1659
+ attr_accessor :max_instance_count
1660
+
1661
+ # The limit on the minimum number of function instances that may coexist at a
1662
+ # given time. Function instances are kept in idle state for a short period after
1663
+ # they finished executing the request to reduce cold start time for subsequent
1664
+ # requests. Setting a minimum instance count will ensure that the given number
1665
+ # of instances are kept running in idle state always. This can help with cold
1666
+ # start times when jump in incoming request count occurs after the idle instance
1667
+ # would have been stopped in the default case.
1668
+ # Corresponds to the JSON property `minInstanceCount`
1669
+ # @return [Fixnum]
1670
+ attr_accessor :min_instance_count
1671
+
1672
+ # Output only. The name of service revision.
1673
+ # Corresponds to the JSON property `revision`
1674
+ # @return [String]
1675
+ attr_accessor :revision
1676
+
1677
+ # Secret environment variables configuration.
1678
+ # Corresponds to the JSON property `secretEnvironmentVariables`
1679
+ # @return [Array<Google::Apis::CloudfunctionsV2::SecretEnvVar>]
1680
+ attr_accessor :secret_environment_variables
1681
+
1682
+ # Secret volumes configuration.
1683
+ # Corresponds to the JSON property `secretVolumes`
1684
+ # @return [Array<Google::Apis::CloudfunctionsV2::SecretVolume>]
1685
+ attr_accessor :secret_volumes
1686
+
1687
+ # Output only. Name of the service associated with a Function. The format of
1688
+ # this field is `projects/`project`/locations/`region`/services/`service``
1689
+ # Corresponds to the JSON property `service`
1690
+ # @return [String]
1691
+ attr_accessor :service
1692
+
1693
+ # The email of the service's service account. If empty, defaults to ``
1694
+ # project_number`-compute@developer.gserviceaccount.com`.
1695
+ # Corresponds to the JSON property `serviceAccountEmail`
1696
+ # @return [String]
1697
+ attr_accessor :service_account_email
1698
+
1699
+ # The function execution timeout. Execution is considered failed and can be
1700
+ # terminated if the function is not completed at the end of the timeout period.
1701
+ # Defaults to 60 seconds.
1702
+ # Corresponds to the JSON property `timeoutSeconds`
1703
+ # @return [Fixnum]
1704
+ attr_accessor :timeout_seconds
1705
+
1706
+ # Output only. URI of the Service deployed.
1707
+ # Corresponds to the JSON property `uri`
1708
+ # @return [String]
1709
+ attr_accessor :uri
1710
+
1711
+ # The Serverless VPC Access connector that this cloud function can connect to.
1712
+ # The format of this field is `projects/*/locations/*/connectors/*`.
1713
+ # Corresponds to the JSON property `vpcConnector`
1714
+ # @return [String]
1715
+ attr_accessor :vpc_connector
1716
+
1717
+ # The egress settings for the connector, controlling what traffic is diverted
1718
+ # through it.
1719
+ # Corresponds to the JSON property `vpcConnectorEgressSettings`
1720
+ # @return [String]
1721
+ attr_accessor :vpc_connector_egress_settings
1722
+
1723
+ def initialize(**args)
1724
+ update!(**args)
1725
+ end
1726
+
1727
+ # Update properties of this object
1728
+ def update!(**args)
1729
+ @all_traffic_on_latest_revision = args[:all_traffic_on_latest_revision] if args.key?(:all_traffic_on_latest_revision)
1730
+ @available_memory = args[:available_memory] if args.key?(:available_memory)
1731
+ @environment_variables = args[:environment_variables] if args.key?(:environment_variables)
1732
+ @ingress_settings = args[:ingress_settings] if args.key?(:ingress_settings)
1733
+ @max_instance_count = args[:max_instance_count] if args.key?(:max_instance_count)
1734
+ @min_instance_count = args[:min_instance_count] if args.key?(:min_instance_count)
1735
+ @revision = args[:revision] if args.key?(:revision)
1736
+ @secret_environment_variables = args[:secret_environment_variables] if args.key?(:secret_environment_variables)
1737
+ @secret_volumes = args[:secret_volumes] if args.key?(:secret_volumes)
1738
+ @service = args[:service] if args.key?(:service)
1739
+ @service_account_email = args[:service_account_email] if args.key?(:service_account_email)
1740
+ @timeout_seconds = args[:timeout_seconds] if args.key?(:timeout_seconds)
1741
+ @uri = args[:uri] if args.key?(:uri)
1742
+ @vpc_connector = args[:vpc_connector] if args.key?(:vpc_connector)
1743
+ @vpc_connector_egress_settings = args[:vpc_connector_egress_settings] if args.key?(:vpc_connector_egress_settings)
1744
+ end
1745
+ end
1746
+
841
1747
  # Request message for `SetIamPolicy` method.
842
1748
  class SetIamPolicyRequest
843
1749
  include Google::Apis::Core::Hashable
@@ -891,6 +1797,57 @@ module Google
891
1797
  end
892
1798
  end
893
1799
 
1800
+ # The location of the function source code.
1801
+ class Source
1802
+ include Google::Apis::Core::Hashable
1803
+
1804
+ # Location of the source in a Google Cloud Source Repository.
1805
+ # Corresponds to the JSON property `repoSource`
1806
+ # @return [Google::Apis::CloudfunctionsV2::RepoSource]
1807
+ attr_accessor :repo_source
1808
+
1809
+ # Location of the source in an archive file in Google Cloud Storage.
1810
+ # Corresponds to the JSON property `storageSource`
1811
+ # @return [Google::Apis::CloudfunctionsV2::StorageSource]
1812
+ attr_accessor :storage_source
1813
+
1814
+ def initialize(**args)
1815
+ update!(**args)
1816
+ end
1817
+
1818
+ # Update properties of this object
1819
+ def update!(**args)
1820
+ @repo_source = args[:repo_source] if args.key?(:repo_source)
1821
+ @storage_source = args[:storage_source] if args.key?(:storage_source)
1822
+ end
1823
+ end
1824
+
1825
+ # Provenance of the source. Ways to find the original source, or verify that
1826
+ # some source was used for this build.
1827
+ class SourceProvenance
1828
+ include Google::Apis::Core::Hashable
1829
+
1830
+ # Location of the source in a Google Cloud Source Repository.
1831
+ # Corresponds to the JSON property `resolvedRepoSource`
1832
+ # @return [Google::Apis::CloudfunctionsV2::RepoSource]
1833
+ attr_accessor :resolved_repo_source
1834
+
1835
+ # Location of the source in an archive file in Google Cloud Storage.
1836
+ # Corresponds to the JSON property `resolvedStorageSource`
1837
+ # @return [Google::Apis::CloudfunctionsV2::StorageSource]
1838
+ attr_accessor :resolved_storage_source
1839
+
1840
+ def initialize(**args)
1841
+ update!(**args)
1842
+ end
1843
+
1844
+ # Update properties of this object
1845
+ def update!(**args)
1846
+ @resolved_repo_source = args[:resolved_repo_source] if args.key?(:resolved_repo_source)
1847
+ @resolved_storage_source = args[:resolved_storage_source] if args.key?(:resolved_storage_source)
1848
+ end
1849
+ end
1850
+
894
1851
  # The `Status` type defines a logical error model that is suitable for different
895
1852
  # programming environments, including REST APIs and RPC APIs. It is used by [
896
1853
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -930,6 +1887,41 @@ module Google
930
1887
  end
931
1888
  end
932
1889
 
1890
+ # Location of the source in an archive file in Google Cloud Storage.
1891
+ class StorageSource
1892
+ include Google::Apis::Core::Hashable
1893
+
1894
+ # Google Cloud Storage bucket containing the source (see [Bucket Name
1895
+ # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)
1896
+ # ).
1897
+ # Corresponds to the JSON property `bucket`
1898
+ # @return [String]
1899
+ attr_accessor :bucket
1900
+
1901
+ # Google Cloud Storage generation for the object. If the generation is omitted,
1902
+ # the latest generation will be used.
1903
+ # Corresponds to the JSON property `generation`
1904
+ # @return [Fixnum]
1905
+ attr_accessor :generation
1906
+
1907
+ # Google Cloud Storage object containing the source. This object must be a
1908
+ # gzipped archive file (`.tar.gz`) containing source to build.
1909
+ # Corresponds to the JSON property `object`
1910
+ # @return [String]
1911
+ attr_accessor :object
1912
+
1913
+ def initialize(**args)
1914
+ update!(**args)
1915
+ end
1916
+
1917
+ # Update properties of this object
1918
+ def update!(**args)
1919
+ @bucket = args[:bucket] if args.key?(:bucket)
1920
+ @generation = args[:generation] if args.key?(:generation)
1921
+ @object = args[:object] if args.key?(:object)
1922
+ end
1923
+ end
1924
+
933
1925
  # Request message for `TestIamPermissions` method.
934
1926
  class TestIamPermissionsRequest
935
1927
  include Google::Apis::Core::Hashable