google-apis-cloudfunctions_v2 0.5.0 → 0.8.0

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