google-apis-run_v2 0.10.0 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -34,12 +34,6 @@ module Google
34
34
  # @return [String]
35
35
  attr_accessor :breakglass_justification
36
36
 
37
- # The path to a binary authorization policy. Format: projects/`project`/
38
- # platforms/cloudRun/`policy-name`
39
- # Corresponds to the JSON property `policy`
40
- # @return [String]
41
- attr_accessor :policy
42
-
43
37
  # If True, indicates to use the default project's binary authorization policy.
44
38
  # If False, binary authorization will be disabled.
45
39
  # Corresponds to the JSON property `useDefault`
@@ -54,7 +48,6 @@ module Google
54
48
  # Update properties of this object
55
49
  def update!(**args)
56
50
  @breakglass_justification = args[:breakglass_justification] if args.key?(:breakglass_justification)
57
- @policy = args[:policy] if args.key?(:policy)
58
51
  @use_default = args[:use_default] if args.key?(:use_default)
59
52
  end
60
53
  end
@@ -85,21 +78,11 @@ module Google
85
78
  class GoogleCloudRunV2Condition
86
79
  include Google::Apis::Core::Hashable
87
80
 
88
- # A reason for the domain mapping condition.
89
- # Corresponds to the JSON property `domainMappingReason`
90
- # @return [String]
91
- attr_accessor :domain_mapping_reason
92
-
93
81
  # A reason for the execution condition.
94
82
  # Corresponds to the JSON property `executionReason`
95
83
  # @return [String]
96
84
  attr_accessor :execution_reason
97
85
 
98
- # A reason for the internal condition.
99
- # Corresponds to the JSON property `internalReason`
100
- # @return [String]
101
- attr_accessor :internal_reason
102
-
103
86
  # Last time the condition transitioned from one status to another.
104
87
  # Corresponds to the JSON property `lastTransitionTime`
105
88
  # @return [String]
@@ -144,9 +127,7 @@ module Google
144
127
 
145
128
  # Update properties of this object
146
129
  def update!(**args)
147
- @domain_mapping_reason = args[:domain_mapping_reason] if args.key?(:domain_mapping_reason)
148
130
  @execution_reason = args[:execution_reason] if args.key?(:execution_reason)
149
- @internal_reason = args[:internal_reason] if args.key?(:internal_reason)
150
131
  @last_transition_time = args[:last_transition_time] if args.key?(:last_transition_time)
151
132
  @message = args[:message] if args.key?(:message)
152
133
  @reason = args[:reason] if args.key?(:reason)
@@ -192,8 +173,9 @@ module Google
192
173
  # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2EnvVar>]
193
174
  attr_accessor :env
194
175
 
195
- # Required. URL of the Container image in Google Container Registry or Docker
196
- # More info: https://kubernetes.io/docs/concepts/containers/images
176
+ # Required. URL of the Container image in Google Container Registry or Google
177
+ # Artifact Registry. More info: https://kubernetes.io/docs/concepts/containers/
178
+ # images
197
179
  # Corresponds to the JSON property `image`
198
180
  # @return [String]
199
181
  attr_accessor :image
@@ -323,92 +305,10 @@ module Google
323
305
  end
324
306
  end
325
307
 
326
- # Response message containing a list of Revisions.
327
- class GoogleCloudRunV2ListRevisionsResponse
328
- include Google::Apis::Core::Hashable
329
-
330
- # A token indicating there are more items than page_size. Use it in the next
331
- # ListRevisions request to continue.
332
- # Corresponds to the JSON property `nextPageToken`
333
- # @return [String]
334
- attr_accessor :next_page_token
335
-
336
- # The resulting list of Revisions.
337
- # Corresponds to the JSON property `revisions`
338
- # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Revision>]
339
- attr_accessor :revisions
340
-
341
- def initialize(**args)
342
- update!(**args)
343
- end
344
-
345
- # Update properties of this object
346
- def update!(**args)
347
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
348
- @revisions = args[:revisions] if args.key?(:revisions)
349
- end
350
- end
351
-
352
- # Response message containing a list of Services.
353
- class GoogleCloudRunV2ListServicesResponse
354
- include Google::Apis::Core::Hashable
355
-
356
- # A token indicating there are more items than page_size. Use it in the next
357
- # ListServices request to continue.
358
- # Corresponds to the JSON property `nextPageToken`
359
- # @return [String]
360
- attr_accessor :next_page_token
361
-
362
- # The resulting list of Services.
363
- # Corresponds to the JSON property `services`
364
- # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Service>]
365
- attr_accessor :services
366
-
367
- def initialize(**args)
368
- update!(**args)
369
- end
370
-
371
- # Update properties of this object
372
- def update!(**args)
373
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
374
- @services = args[:services] if args.key?(:services)
375
- end
376
- end
377
-
378
- # ResourceRequirements describes the compute resource requirements.
379
- class GoogleCloudRunV2ResourceRequirements
380
- include Google::Apis::Core::Hashable
381
-
382
- # Determines whether CPU should be throttled or not outside of requests.
383
- # Corresponds to the JSON property `cpuIdle`
384
- # @return [Boolean]
385
- attr_accessor :cpu_idle
386
- alias_method :cpu_idle?, :cpu_idle
387
-
388
- # Only memory and CPU are supported. Note: The only supported values for CPU are
389
- # '1', '2', and '4'. Setting 4 CPU requires at least 2Gi of memory. The values
390
- # of the map is string form of the 'quantity' k8s type: https://github.com/
391
- # kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/
392
- # resource/quantity.go
393
- # Corresponds to the JSON property `limits`
394
- # @return [Hash<String,String>]
395
- attr_accessor :limits
396
-
397
- def initialize(**args)
398
- update!(**args)
399
- end
400
-
401
- # Update properties of this object
402
- def update!(**args)
403
- @cpu_idle = args[:cpu_idle] if args.key?(:cpu_idle)
404
- @limits = args[:limits] if args.key?(:limits)
405
- end
406
- end
407
-
408
- # A Revision is an immutable snapshot of code and configuration. A Revision
409
- # references a container image. Revisions are only created by updates to its
410
- # parent Service.
411
- class GoogleCloudRunV2Revision
308
+ # Execution represents the configuration of a single execution. A execution an
309
+ # immutable resource that references a container image which is run to
310
+ # completion.
311
+ class GoogleCloudRunV2Execution
412
312
  include Google::Apis::Core::Hashable
413
313
 
414
314
  # KRM-style annotations for the resource.
@@ -416,30 +316,21 @@ module Google
416
316
  # @return [Hash<String,String>]
417
317
  attr_accessor :annotations
418
318
 
419
- # Output only. The Condition of this Revision, containing its readiness status,
420
- # and detailed error information in case it did not reach a serving state.
319
+ # Output only. Represents time when the execution was completed. It is not
320
+ # guaranteed to be set in happens-before order across separate operations.
321
+ # Corresponds to the JSON property `completionTime`
322
+ # @return [String]
323
+ attr_accessor :completion_time
324
+
325
+ # Output only. The Condition of this Execution, containing its readiness status,
326
+ # and detailed error information in case it did not reach the desired state.
421
327
  # Corresponds to the JSON property `conditions`
422
328
  # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Condition>]
423
329
  attr_accessor :conditions
424
330
 
425
- # Indicates whether Confidential Cloud Run is enabled in this Revision.
426
- # Corresponds to the JSON property `confidential`
427
- # @return [Boolean]
428
- attr_accessor :confidential
429
- alias_method :confidential?, :confidential
430
-
431
- # Sets the maximum number of requests that each serving instance can receive.
432
- # Corresponds to the JSON property `containerConcurrency`
433
- # @return [Fixnum]
434
- attr_accessor :container_concurrency
435
-
436
- # Holds the single container that defines the unit of execution for this
437
- # Revision.
438
- # Corresponds to the JSON property `containers`
439
- # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Container>]
440
- attr_accessor :containers
441
-
442
- # Output only. The creation time.
331
+ # Output only. Represents time when the execution was acknowledged by the
332
+ # execution controller. It is not guaranteed to be set in happens-before order
333
+ # across separate operations.
443
334
  # Corresponds to the JSON property `createTime`
444
335
  # @return [String]
445
336
  attr_accessor :create_time
@@ -450,36 +341,34 @@ module Google
450
341
  # @return [String]
451
342
  attr_accessor :delete_time
452
343
 
453
- # A reference to a customer managed encryption key (CMEK) to use to encrypt this
454
- # container image. For more information, go to https://cloud.google.com/run/docs/
455
- # securing/using-cmek
456
- # Corresponds to the JSON property `encryptionKey`
457
- # @return [String]
458
- attr_accessor :encryption_key
459
-
460
344
  # Output only. A system-generated fingerprint for this version of the resource.
461
345
  # May be used to detect modification conflict during updates.
462
346
  # Corresponds to the JSON property `etag`
463
347
  # @return [String]
464
348
  attr_accessor :etag
465
349
 
466
- # The execution environment being used to host this Revision.
467
- # Corresponds to the JSON property `executionEnvironment`
468
- # @return [String]
469
- attr_accessor :execution_environment
470
-
471
350
  # Output only. For a deleted resource, the time after which it will be
472
351
  # permamently deleted. It is only populated as a response to a Delete request.
473
352
  # Corresponds to the JSON property `expireTime`
474
353
  # @return [String]
475
354
  attr_accessor :expire_time
476
355
 
356
+ # Output only. The number of tasks which reached phase Failed.
357
+ # Corresponds to the JSON property `failedCount`
358
+ # @return [Fixnum]
359
+ attr_accessor :failed_count
360
+
477
361
  # Output only. A number that monotonically increases every time the user
478
362
  # modifies the desired state.
479
363
  # Corresponds to the JSON property `generation`
480
364
  # @return [Fixnum]
481
365
  attr_accessor :generation
482
366
 
367
+ # Output only. The name of the parent Job.
368
+ # Corresponds to the JSON property `job`
369
+ # @return [String]
370
+ attr_accessor :job
371
+
483
372
  # KRM-style labels for the resource. User-provided labels are shared with Google'
484
373
  # s billing system, so they can be used to filter, or break down billing charges
485
374
  # by team, component, environment, state, etc. For more information, visit https:
@@ -499,54 +388,66 @@ module Google
499
388
  # @return [String]
500
389
  attr_accessor :launch_stage
501
390
 
502
- # Output only. The Google Console URI to obtain logs for the Revision.
503
- # Corresponds to the JSON property `logUri`
504
- # @return [String]
505
- attr_accessor :log_uri
506
-
507
- # Output only. The unique name of this Revision.
391
+ # Output only. The unique name of this Execution.
508
392
  # Corresponds to the JSON property `name`
509
393
  # @return [String]
510
394
  attr_accessor :name
511
395
 
512
- # Output only. The generation of this Revision currently serving traffic. See
513
- # comments in `reconciling` for additional information on reconciliation process
514
- # in Cloud Run.
396
+ # Output only. The generation of this Execution. See comments in `reconciling`
397
+ # for additional information on reconciliation process in Cloud Run.
515
398
  # Corresponds to the JSON property `observedGeneration`
516
399
  # @return [Fixnum]
517
400
  attr_accessor :observed_generation
518
401
 
402
+ # Output only. Specifies the maximum desired number of tasks the execution
403
+ # should run at any given time. Must be <= task_count. The actual number of
404
+ # tasks running in steady state will be less than this number when ((.spec.
405
+ # task_count - .status.successful) < .spec.parallelism), i.e. when the work left
406
+ # to do is less than max parallelism. More info: https://kubernetes.io/docs/
407
+ # concepts/workloads/controllers/jobs-run-to-completion/
408
+ # Corresponds to the JSON property `parallelism`
409
+ # @return [Fixnum]
410
+ attr_accessor :parallelism
411
+
519
412
  # Output only. Indicates whether the resource's reconciliation is still in
520
- # progress. See comments in `Service.reconciling` for additional information on
413
+ # progress. See comments in `Job.reconciling` for additional information on
521
414
  # reconciliation process in Cloud Run.
522
415
  # Corresponds to the JSON property `reconciling`
523
416
  # @return [Boolean]
524
417
  attr_accessor :reconciling
525
418
  alias_method :reconciling?, :reconciling
526
419
 
527
- # Settings for revision-level scaling settings.
528
- # Corresponds to the JSON property `scaling`
529
- # @return [Google::Apis::RunV2::GoogleCloudRunV2RevisionScaling]
530
- attr_accessor :scaling
420
+ # Output only. The number of actively running tasks.
421
+ # Corresponds to the JSON property `runningCount`
422
+ # @return [Fixnum]
423
+ attr_accessor :running_count
531
424
 
532
- # Output only. The name of the parent service.
533
- # Corresponds to the JSON property `service`
425
+ # Output only. Represents time when the execution started to run. It is not
426
+ # guaranteed to be set in happens-before order across separate operations.
427
+ # Corresponds to the JSON property `startTime`
534
428
  # @return [String]
535
- attr_accessor :service
429
+ attr_accessor :start_time
536
430
 
537
- # Email address of the IAM service account associated with the revision of the
538
- # service. The service account represents the identity of the running revision,
539
- # and determines what permissions the revision has.
540
- # Corresponds to the JSON property `serviceAccount`
541
- # @return [String]
542
- attr_accessor :service_account
431
+ # Output only. The number of tasks which reached phase Succeeded.
432
+ # Corresponds to the JSON property `succeededCount`
433
+ # @return [Fixnum]
434
+ attr_accessor :succeeded_count
543
435
 
544
- # Max allowed time for an instance to respond to a request.
545
- # Corresponds to the JSON property `timeout`
546
- # @return [String]
547
- attr_accessor :timeout
436
+ # Output only. Specifies the desired number of tasks the execution should run.
437
+ # Setting to 1 means that parallelism is limited to 1 and the success of that
438
+ # task signals the success of the execution. More info: https://kubernetes.io/
439
+ # docs/concepts/workloads/controllers/jobs-run-to-completion/
440
+ # Corresponds to the JSON property `taskCount`
441
+ # @return [Fixnum]
442
+ attr_accessor :task_count
548
443
 
549
- # Output only. Server assigned unique identifier for the Revision. The value is
444
+ # TaskTemplate describes the data a task should have when created from a
445
+ # template.
446
+ # Corresponds to the JSON property `template`
447
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2TaskTemplate]
448
+ attr_accessor :template
449
+
450
+ # Output only. Server assigned unique identifier for the Execution. The value is
550
451
  # a UUID4 string and guaranteed to remain unchanged until the resource is
551
452
  # deleted.
552
453
  # Corresponds to the JSON property `uid`
@@ -558,19 +459,6 @@ module Google
558
459
  # @return [String]
559
460
  attr_accessor :update_time
560
461
 
561
- # A list of Volumes to make available to containers.
562
- # Corresponds to the JSON property `volumes`
563
- # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Volume>]
564
- attr_accessor :volumes
565
-
566
- # VPC Access settings. For more information on creating a VPC Connector, visit
567
- # https://cloud.google.com/vpc/docs/configure-serverless-vpc-access For
568
- # information on how to configure Cloud Run with an existing VPC Connector,
569
- # visit https://cloud.google.com/run/docs/configuring/connecting-vpc
570
- # Corresponds to the JSON property `vpcAccess`
571
- # @return [Google::Apis::RunV2::GoogleCloudRunV2VpcAccess]
572
- attr_accessor :vpc_access
573
-
574
462
  def initialize(**args)
575
463
  update!(**args)
576
464
  end
@@ -578,47 +466,45 @@ module Google
578
466
  # Update properties of this object
579
467
  def update!(**args)
580
468
  @annotations = args[:annotations] if args.key?(:annotations)
469
+ @completion_time = args[:completion_time] if args.key?(:completion_time)
581
470
  @conditions = args[:conditions] if args.key?(:conditions)
582
- @confidential = args[:confidential] if args.key?(:confidential)
583
- @container_concurrency = args[:container_concurrency] if args.key?(:container_concurrency)
584
- @containers = args[:containers] if args.key?(:containers)
585
471
  @create_time = args[:create_time] if args.key?(:create_time)
586
472
  @delete_time = args[:delete_time] if args.key?(:delete_time)
587
- @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
588
473
  @etag = args[:etag] if args.key?(:etag)
589
- @execution_environment = args[:execution_environment] if args.key?(:execution_environment)
590
474
  @expire_time = args[:expire_time] if args.key?(:expire_time)
475
+ @failed_count = args[:failed_count] if args.key?(:failed_count)
591
476
  @generation = args[:generation] if args.key?(:generation)
477
+ @job = args[:job] if args.key?(:job)
592
478
  @labels = args[:labels] if args.key?(:labels)
593
479
  @launch_stage = args[:launch_stage] if args.key?(:launch_stage)
594
- @log_uri = args[:log_uri] if args.key?(:log_uri)
595
480
  @name = args[:name] if args.key?(:name)
596
481
  @observed_generation = args[:observed_generation] if args.key?(:observed_generation)
482
+ @parallelism = args[:parallelism] if args.key?(:parallelism)
597
483
  @reconciling = args[:reconciling] if args.key?(:reconciling)
598
- @scaling = args[:scaling] if args.key?(:scaling)
599
- @service = args[:service] if args.key?(:service)
600
- @service_account = args[:service_account] if args.key?(:service_account)
601
- @timeout = args[:timeout] if args.key?(:timeout)
484
+ @running_count = args[:running_count] if args.key?(:running_count)
485
+ @start_time = args[:start_time] if args.key?(:start_time)
486
+ @succeeded_count = args[:succeeded_count] if args.key?(:succeeded_count)
487
+ @task_count = args[:task_count] if args.key?(:task_count)
488
+ @template = args[:template] if args.key?(:template)
602
489
  @uid = args[:uid] if args.key?(:uid)
603
490
  @update_time = args[:update_time] if args.key?(:update_time)
604
- @volumes = args[:volumes] if args.key?(:volumes)
605
- @vpc_access = args[:vpc_access] if args.key?(:vpc_access)
606
491
  end
607
492
  end
608
493
 
609
- # Settings for revision-level scaling settings.
610
- class GoogleCloudRunV2RevisionScaling
494
+ # Reference to an Execution. Use /Executions.GetExecution with the given name to
495
+ # get full execution including the latest status.
496
+ class GoogleCloudRunV2ExecutionReference
611
497
  include Google::Apis::Core::Hashable
612
498
 
613
- # Maximum number of serving instances that this resource should have.
614
- # Corresponds to the JSON property `maxInstanceCount`
615
- # @return [Fixnum]
616
- attr_accessor :max_instance_count
499
+ # Creation timestamp of the execution.
500
+ # Corresponds to the JSON property `createTime`
501
+ # @return [String]
502
+ attr_accessor :create_time
617
503
 
618
- # Minimum number of serving instances that this resource should have.
619
- # Corresponds to the JSON property `minInstanceCount`
620
- # @return [Fixnum]
621
- attr_accessor :min_instance_count
504
+ # Name of the execution.
505
+ # Corresponds to the JSON property `name`
506
+ # @return [String]
507
+ attr_accessor :name
622
508
 
623
509
  def initialize(**args)
624
510
  update!(**args)
@@ -626,14 +512,14 @@ module Google
626
512
 
627
513
  # Update properties of this object
628
514
  def update!(**args)
629
- @max_instance_count = args[:max_instance_count] if args.key?(:max_instance_count)
630
- @min_instance_count = args[:min_instance_count] if args.key?(:min_instance_count)
515
+ @create_time = args[:create_time] if args.key?(:create_time)
516
+ @name = args[:name] if args.key?(:name)
631
517
  end
632
518
  end
633
519
 
634
- # RevisionTemplate describes the data a revision should have when created from a
635
- # template.
636
- class GoogleCloudRunV2RevisionTemplate
520
+ # ExecutionTemplate describes the data an execution should have when created
521
+ # from a template.
522
+ class GoogleCloudRunV2ExecutionTemplate
637
523
  include Google::Apis::Core::Hashable
638
524
 
639
525
  # KRM-style annotations for the resource.
@@ -641,58 +527,677 @@ module Google
641
527
  # @return [Hash<String,String>]
642
528
  attr_accessor :annotations
643
529
 
644
- # Enables Confidential Cloud Run in Revisions created using this template.
645
- # Corresponds to the JSON property `confidential`
646
- # @return [Boolean]
647
- attr_accessor :confidential
648
- alias_method :confidential?, :confidential
649
-
650
- # Sets the maximum number of requests that each serving instance can receive.
651
- # Corresponds to the JSON property `containerConcurrency`
652
- # @return [Fixnum]
653
- attr_accessor :container_concurrency
654
-
655
- # Holds the single container that defines the unit of execution for this
656
- # Revision.
657
- # Corresponds to the JSON property `containers`
658
- # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Container>]
659
- attr_accessor :containers
660
-
661
- # A reference to a customer managed encryption key (CMEK) to use to encrypt this
662
- # container image. For more information, go to https://cloud.google.com/run/docs/
663
- # securing/using-cmek
664
- # Corresponds to the JSON property `encryptionKey`
665
- # @return [String]
666
- attr_accessor :encryption_key
667
-
668
- # The sandbox environment to host this Revision.
669
- # Corresponds to the JSON property `executionEnvironment`
670
- # @return [String]
671
- attr_accessor :execution_environment
672
-
673
530
  # KRM-style labels for the resource.
674
531
  # Corresponds to the JSON property `labels`
675
532
  # @return [Hash<String,String>]
676
533
  attr_accessor :labels
677
534
 
678
- # The unique name for the revision. If this field is omitted, it will be
679
- # automatically generated based on the Service name.
680
- # Corresponds to the JSON property `revision`
681
- # @return [String]
682
- attr_accessor :revision
535
+ # Specifies the maximum desired number of tasks the execution should run at
536
+ # given time. Must be <= task_count. When the job is run, if this field is 0 or
537
+ # unset, the maximum possible value will be used for that execution. The actual
538
+ # number of tasks running in steady state will be less than this number when
539
+ # there are fewer tasks waiting to be completed remaining, i.e. when the work
540
+ # left to do is less than max parallelism.
541
+ # Corresponds to the JSON property `parallelism`
542
+ # @return [Fixnum]
543
+ attr_accessor :parallelism
683
544
 
684
- # Settings for revision-level scaling settings.
685
- # Corresponds to the JSON property `scaling`
686
- # @return [Google::Apis::RunV2::GoogleCloudRunV2RevisionScaling]
687
- attr_accessor :scaling
545
+ # Specifies the desired number of tasks the execution should run. Setting to 1
546
+ # means that parallelism is limited to 1 and the success of that task signals
547
+ # the success of the execution. More info: https://kubernetes.io/docs/concepts/
548
+ # workloads/controllers/jobs-run-to-completion/
549
+ # Corresponds to the JSON property `taskCount`
550
+ # @return [Fixnum]
551
+ attr_accessor :task_count
688
552
 
689
- # Email address of the IAM service account associated with the revision of the
690
- # service. The service account represents the identity of the running revision,
691
- # and determines what permissions the revision has. If not provided, the
692
- # revision will use the project's default service account.
693
- # Corresponds to the JSON property `serviceAccount`
694
- # @return [String]
695
- attr_accessor :service_account
553
+ # TaskTemplate describes the data a task should have when created from a
554
+ # template.
555
+ # Corresponds to the JSON property `template`
556
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2TaskTemplate]
557
+ attr_accessor :template
558
+
559
+ def initialize(**args)
560
+ update!(**args)
561
+ end
562
+
563
+ # Update properties of this object
564
+ def update!(**args)
565
+ @annotations = args[:annotations] if args.key?(:annotations)
566
+ @labels = args[:labels] if args.key?(:labels)
567
+ @parallelism = args[:parallelism] if args.key?(:parallelism)
568
+ @task_count = args[:task_count] if args.key?(:task_count)
569
+ @template = args[:template] if args.key?(:template)
570
+ end
571
+ end
572
+
573
+ # Job represents the configuration of a single job. A job an immutable resource
574
+ # that references a container image which is run to completion.
575
+ class GoogleCloudRunV2Job
576
+ include Google::Apis::Core::Hashable
577
+
578
+ # KRM-style annotations for the resource. Unstructured key value map that may be
579
+ # set by external tools to store and arbitrary metadata. They are not queryable
580
+ # and should be preserved when modifying objects. Cloud Run will populate some
581
+ # annotations using 'run.googleapis.com' or 'serving.knative.dev' namespaces.
582
+ # This field follows Kubernetes annotations' namespacing, limits, and rules.
583
+ # More info: https://kubernetes.io/docs/user-guide/annotations
584
+ # Corresponds to the JSON property `annotations`
585
+ # @return [Hash<String,String>]
586
+ attr_accessor :annotations
587
+
588
+ # Settings for Binary Authorization feature.
589
+ # Corresponds to the JSON property `binaryAuthorization`
590
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2BinaryAuthorization]
591
+ attr_accessor :binary_authorization
592
+
593
+ # Arbitrary identifier for the API client.
594
+ # Corresponds to the JSON property `client`
595
+ # @return [String]
596
+ attr_accessor :client
597
+
598
+ # Arbitrary version identifier for the API client.
599
+ # Corresponds to the JSON property `clientVersion`
600
+ # @return [String]
601
+ attr_accessor :client_version
602
+
603
+ # Output only. The Conditions of all other associated sub-resources. They
604
+ # contain additional diagnostics information in case the Job does not reach its
605
+ # desired state. See comments in `reconciling` for additional information on
606
+ # reconciliation process in Cloud Run.
607
+ # Corresponds to the JSON property `conditions`
608
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Condition>]
609
+ attr_accessor :conditions
610
+
611
+ # Output only. The creation time.
612
+ # Corresponds to the JSON property `createTime`
613
+ # @return [String]
614
+ attr_accessor :create_time
615
+
616
+ # Output only. Email address of the authenticated creator.
617
+ # Corresponds to the JSON property `creator`
618
+ # @return [String]
619
+ attr_accessor :creator
620
+
621
+ # Output only. The deletion time.
622
+ # Corresponds to the JSON property `deleteTime`
623
+ # @return [String]
624
+ attr_accessor :delete_time
625
+
626
+ # Output only. A system-generated fingerprint for this version of the resource.
627
+ # May be used to detect modification conflict during updates.
628
+ # Corresponds to the JSON property `etag`
629
+ # @return [String]
630
+ attr_accessor :etag
631
+
632
+ # Output only. Number of executions created for this job.
633
+ # Corresponds to the JSON property `executionCount`
634
+ # @return [Fixnum]
635
+ attr_accessor :execution_count
636
+
637
+ # Output only. For a deleted resource, the time after which it will be
638
+ # permamently deleted.
639
+ # Corresponds to the JSON property `expireTime`
640
+ # @return [String]
641
+ attr_accessor :expire_time
642
+
643
+ # Output only. A number that monotonically increases every time the user
644
+ # modifies the desired state.
645
+ # Corresponds to the JSON property `generation`
646
+ # @return [Fixnum]
647
+ attr_accessor :generation
648
+
649
+ # KRM-style labels for the resource. User-provided labels are shared with Google'
650
+ # s billing system, so they can be used to filter, or break down billing charges
651
+ # by team, component, environment, state, etc. For more information, visit https:
652
+ # //cloud.google.com/resource-manager/docs/creating-managing-labels or https://
653
+ # cloud.google.com/run/docs/configuring/labels Cloud Run will populate some
654
+ # labels with 'run.googleapis.com' or 'serving.knative.dev' namespaces. Those
655
+ # labels are read-only, and user changes will not be preserved.
656
+ # Corresponds to the JSON property `labels`
657
+ # @return [Hash<String,String>]
658
+ attr_accessor :labels
659
+
660
+ # Output only. Email address of the last authenticated modifier.
661
+ # Corresponds to the JSON property `lastModifier`
662
+ # @return [String]
663
+ attr_accessor :last_modifier
664
+
665
+ # Reference to an Execution. Use /Executions.GetExecution with the given name to
666
+ # get full execution including the latest status.
667
+ # Corresponds to the JSON property `latestCreatedExecution`
668
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2ExecutionReference]
669
+ attr_accessor :latest_created_execution
670
+
671
+ # The launch stage as defined by [Google Cloud Platform Launch Stages](https://
672
+ # cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and
673
+ # `GA`. If no value is specified, GA is assumed.
674
+ # Corresponds to the JSON property `launchStage`
675
+ # @return [String]
676
+ attr_accessor :launch_stage
677
+
678
+ # The fully qualified name of this Job. Format: projects/`project`/locations/`
679
+ # location`/jobs/`job`
680
+ # Corresponds to the JSON property `name`
681
+ # @return [String]
682
+ attr_accessor :name
683
+
684
+ # Output only. The generation of this Job. See comments in `reconciling` for
685
+ # additional information on reconciliation process in Cloud Run.
686
+ # Corresponds to the JSON property `observedGeneration`
687
+ # @return [Fixnum]
688
+ attr_accessor :observed_generation
689
+
690
+ # Output only. Returns true if the Job is currently being acted upon by the
691
+ # system to bring it into the desired state. When a new Job is created, or an
692
+ # existing one is updated, Cloud Run will asynchronously perform all necessary
693
+ # steps to bring the Job to the desired state. This process is called
694
+ # reconciliation. While reconciliation is in process, `observed_generation` and `
695
+ # latest_succeeded_execution`, will have transient values that might mismatch
696
+ # the intended state: Once reconciliation is over (and this field is false),
697
+ # there are two possible outcomes: reconciliation succeeded and the state
698
+ # matches the Job, or there was an error, and reconciliation failed. This state
699
+ # can be found in `terminal_condition.state`. If reconciliation succeeded, the
700
+ # following fields will match: `observed_generation` and `generation`, `
701
+ # latest_succeeded_execution` and `latest_created_execution`. If reconciliation
702
+ # failed, `observed_generation` and `latest_succeeded_execution` will have the
703
+ # state of the last succeeded execution or empty for newly created Job.
704
+ # Additional information on the failure can be found in `terminal_condition` and
705
+ # `conditions`.
706
+ # Corresponds to the JSON property `reconciling`
707
+ # @return [Boolean]
708
+ attr_accessor :reconciling
709
+ alias_method :reconciling?, :reconciling
710
+
711
+ # ExecutionTemplate describes the data an execution should have when created
712
+ # from a template.
713
+ # Corresponds to the JSON property `template`
714
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2ExecutionTemplate]
715
+ attr_accessor :template
716
+
717
+ # Defines a status condition for a resource.
718
+ # Corresponds to the JSON property `terminalCondition`
719
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2Condition]
720
+ attr_accessor :terminal_condition
721
+
722
+ # Output only. Server assigned unique identifier for the Execution. The value is
723
+ # a UUID4 string and guaranteed to remain unchanged until the resource is
724
+ # deleted.
725
+ # Corresponds to the JSON property `uid`
726
+ # @return [String]
727
+ attr_accessor :uid
728
+
729
+ # Output only. The last-modified time.
730
+ # Corresponds to the JSON property `updateTime`
731
+ # @return [String]
732
+ attr_accessor :update_time
733
+
734
+ def initialize(**args)
735
+ update!(**args)
736
+ end
737
+
738
+ # Update properties of this object
739
+ def update!(**args)
740
+ @annotations = args[:annotations] if args.key?(:annotations)
741
+ @binary_authorization = args[:binary_authorization] if args.key?(:binary_authorization)
742
+ @client = args[:client] if args.key?(:client)
743
+ @client_version = args[:client_version] if args.key?(:client_version)
744
+ @conditions = args[:conditions] if args.key?(:conditions)
745
+ @create_time = args[:create_time] if args.key?(:create_time)
746
+ @creator = args[:creator] if args.key?(:creator)
747
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
748
+ @etag = args[:etag] if args.key?(:etag)
749
+ @execution_count = args[:execution_count] if args.key?(:execution_count)
750
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
751
+ @generation = args[:generation] if args.key?(:generation)
752
+ @labels = args[:labels] if args.key?(:labels)
753
+ @last_modifier = args[:last_modifier] if args.key?(:last_modifier)
754
+ @latest_created_execution = args[:latest_created_execution] if args.key?(:latest_created_execution)
755
+ @launch_stage = args[:launch_stage] if args.key?(:launch_stage)
756
+ @name = args[:name] if args.key?(:name)
757
+ @observed_generation = args[:observed_generation] if args.key?(:observed_generation)
758
+ @reconciling = args[:reconciling] if args.key?(:reconciling)
759
+ @template = args[:template] if args.key?(:template)
760
+ @terminal_condition = args[:terminal_condition] if args.key?(:terminal_condition)
761
+ @uid = args[:uid] if args.key?(:uid)
762
+ @update_time = args[:update_time] if args.key?(:update_time)
763
+ end
764
+ end
765
+
766
+ # Response message containing a list of Executions.
767
+ class GoogleCloudRunV2ListExecutionsResponse
768
+ include Google::Apis::Core::Hashable
769
+
770
+ # The resulting list of Executions.
771
+ # Corresponds to the JSON property `executions`
772
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Execution>]
773
+ attr_accessor :executions
774
+
775
+ # A token indicating there are more items than page_size. Use it in the next
776
+ # ListExecutions request to continue.
777
+ # Corresponds to the JSON property `nextPageToken`
778
+ # @return [String]
779
+ attr_accessor :next_page_token
780
+
781
+ def initialize(**args)
782
+ update!(**args)
783
+ end
784
+
785
+ # Update properties of this object
786
+ def update!(**args)
787
+ @executions = args[:executions] if args.key?(:executions)
788
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
789
+ end
790
+ end
791
+
792
+ # Response message containing a list of Jobs.
793
+ class GoogleCloudRunV2ListJobsResponse
794
+ include Google::Apis::Core::Hashable
795
+
796
+ # The resulting list of Jobs.
797
+ # Corresponds to the JSON property `jobs`
798
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Job>]
799
+ attr_accessor :jobs
800
+
801
+ # A token indicating there are more items than page_size. Use it in the next
802
+ # ListJobs request to continue.
803
+ # Corresponds to the JSON property `nextPageToken`
804
+ # @return [String]
805
+ attr_accessor :next_page_token
806
+
807
+ def initialize(**args)
808
+ update!(**args)
809
+ end
810
+
811
+ # Update properties of this object
812
+ def update!(**args)
813
+ @jobs = args[:jobs] if args.key?(:jobs)
814
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
815
+ end
816
+ end
817
+
818
+ # Response message containing a list of Revisions.
819
+ class GoogleCloudRunV2ListRevisionsResponse
820
+ include Google::Apis::Core::Hashable
821
+
822
+ # A token indicating there are more items than page_size. Use it in the next
823
+ # ListRevisions request to continue.
824
+ # Corresponds to the JSON property `nextPageToken`
825
+ # @return [String]
826
+ attr_accessor :next_page_token
827
+
828
+ # The resulting list of Revisions.
829
+ # Corresponds to the JSON property `revisions`
830
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Revision>]
831
+ attr_accessor :revisions
832
+
833
+ def initialize(**args)
834
+ update!(**args)
835
+ end
836
+
837
+ # Update properties of this object
838
+ def update!(**args)
839
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
840
+ @revisions = args[:revisions] if args.key?(:revisions)
841
+ end
842
+ end
843
+
844
+ # Response message containing a list of Services.
845
+ class GoogleCloudRunV2ListServicesResponse
846
+ include Google::Apis::Core::Hashable
847
+
848
+ # A token indicating there are more items than page_size. Use it in the next
849
+ # ListServices request to continue.
850
+ # Corresponds to the JSON property `nextPageToken`
851
+ # @return [String]
852
+ attr_accessor :next_page_token
853
+
854
+ # The resulting list of Services.
855
+ # Corresponds to the JSON property `services`
856
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Service>]
857
+ attr_accessor :services
858
+
859
+ def initialize(**args)
860
+ update!(**args)
861
+ end
862
+
863
+ # Update properties of this object
864
+ def update!(**args)
865
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
866
+ @services = args[:services] if args.key?(:services)
867
+ end
868
+ end
869
+
870
+ # Response message containing a list of Tasks.
871
+ class GoogleCloudRunV2ListTasksResponse
872
+ include Google::Apis::Core::Hashable
873
+
874
+ # A token indicating there are more items than page_size. Use it in the next
875
+ # ListTasks request to continue.
876
+ # Corresponds to the JSON property `nextPageToken`
877
+ # @return [String]
878
+ attr_accessor :next_page_token
879
+
880
+ # The resulting list of Tasks.
881
+ # Corresponds to the JSON property `tasks`
882
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Task>]
883
+ attr_accessor :tasks
884
+
885
+ def initialize(**args)
886
+ update!(**args)
887
+ end
888
+
889
+ # Update properties of this object
890
+ def update!(**args)
891
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
892
+ @tasks = args[:tasks] if args.key?(:tasks)
893
+ end
894
+ end
895
+
896
+ # ResourceRequirements describes the compute resource requirements.
897
+ class GoogleCloudRunV2ResourceRequirements
898
+ include Google::Apis::Core::Hashable
899
+
900
+ # Determines whether CPU should be throttled or not outside of requests.
901
+ # Corresponds to the JSON property `cpuIdle`
902
+ # @return [Boolean]
903
+ attr_accessor :cpu_idle
904
+ alias_method :cpu_idle?, :cpu_idle
905
+
906
+ # Only memory and CPU are supported. Note: The only supported values for CPU are
907
+ # '1', '2', and '4'. Setting 4 CPU requires at least 2Gi of memory. The values
908
+ # of the map is string form of the 'quantity' k8s type: https://github.com/
909
+ # kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/
910
+ # resource/quantity.go
911
+ # Corresponds to the JSON property `limits`
912
+ # @return [Hash<String,String>]
913
+ attr_accessor :limits
914
+
915
+ def initialize(**args)
916
+ update!(**args)
917
+ end
918
+
919
+ # Update properties of this object
920
+ def update!(**args)
921
+ @cpu_idle = args[:cpu_idle] if args.key?(:cpu_idle)
922
+ @limits = args[:limits] if args.key?(:limits)
923
+ end
924
+ end
925
+
926
+ # A Revision is an immutable snapshot of code and configuration. A Revision
927
+ # references a container image. Revisions are only created by updates to its
928
+ # parent Service.
929
+ class GoogleCloudRunV2Revision
930
+ include Google::Apis::Core::Hashable
931
+
932
+ # KRM-style annotations for the resource.
933
+ # Corresponds to the JSON property `annotations`
934
+ # @return [Hash<String,String>]
935
+ attr_accessor :annotations
936
+
937
+ # Output only. The Condition of this Revision, containing its readiness status,
938
+ # and detailed error information in case it did not reach a serving state.
939
+ # Corresponds to the JSON property `conditions`
940
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Condition>]
941
+ attr_accessor :conditions
942
+
943
+ # Holds the single container that defines the unit of execution for this
944
+ # Revision.
945
+ # Corresponds to the JSON property `containers`
946
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Container>]
947
+ attr_accessor :containers
948
+
949
+ # Output only. The creation time.
950
+ # Corresponds to the JSON property `createTime`
951
+ # @return [String]
952
+ attr_accessor :create_time
953
+
954
+ # Output only. For a deleted resource, the deletion time. It is only populated
955
+ # as a response to a Delete request.
956
+ # Corresponds to the JSON property `deleteTime`
957
+ # @return [String]
958
+ attr_accessor :delete_time
959
+
960
+ # A reference to a customer managed encryption key (CMEK) to use to encrypt this
961
+ # container image. For more information, go to https://cloud.google.com/run/docs/
962
+ # securing/using-cmek
963
+ # Corresponds to the JSON property `encryptionKey`
964
+ # @return [String]
965
+ attr_accessor :encryption_key
966
+
967
+ # Output only. A system-generated fingerprint for this version of the resource.
968
+ # May be used to detect modification conflict during updates.
969
+ # Corresponds to the JSON property `etag`
970
+ # @return [String]
971
+ attr_accessor :etag
972
+
973
+ # The execution environment being used to host this Revision.
974
+ # Corresponds to the JSON property `executionEnvironment`
975
+ # @return [String]
976
+ attr_accessor :execution_environment
977
+
978
+ # Output only. For a deleted resource, the time after which it will be
979
+ # permamently deleted. It is only populated as a response to a Delete request.
980
+ # Corresponds to the JSON property `expireTime`
981
+ # @return [String]
982
+ attr_accessor :expire_time
983
+
984
+ # Output only. A number that monotonically increases every time the user
985
+ # modifies the desired state.
986
+ # Corresponds to the JSON property `generation`
987
+ # @return [Fixnum]
988
+ attr_accessor :generation
989
+
990
+ # KRM-style labels for the resource. User-provided labels are shared with Google'
991
+ # s billing system, so they can be used to filter, or break down billing charges
992
+ # by team, component, environment, state, etc. For more information, visit https:
993
+ # //cloud.google.com/resource-manager/docs/creating-managing-labels or https://
994
+ # cloud.google.com/run/docs/configuring/labels Cloud Run will populate some
995
+ # labels with 'run.googleapis.com' or 'serving.knative.dev' namespaces. Those
996
+ # labels are read-only, and user changes will not be preserved.
997
+ # Corresponds to the JSON property `labels`
998
+ # @return [Hash<String,String>]
999
+ attr_accessor :labels
1000
+
1001
+ # Set the launch stage to a preview stage on write to allow use of preview
1002
+ # features in that stage. On read, describes whether the resource uses preview
1003
+ # features. Launch Stages are defined at [Google Cloud Platform Launch Stages](
1004
+ # https://cloud.google.com/terms/launch-stages).
1005
+ # Corresponds to the JSON property `launchStage`
1006
+ # @return [String]
1007
+ attr_accessor :launch_stage
1008
+
1009
+ # Output only. The Google Console URI to obtain logs for the Revision.
1010
+ # Corresponds to the JSON property `logUri`
1011
+ # @return [String]
1012
+ attr_accessor :log_uri
1013
+
1014
+ # Sets the maximum number of requests that each serving instance can receive.
1015
+ # Corresponds to the JSON property `maxInstanceRequestConcurrency`
1016
+ # @return [Fixnum]
1017
+ attr_accessor :max_instance_request_concurrency
1018
+
1019
+ # Output only. The unique name of this Revision.
1020
+ # Corresponds to the JSON property `name`
1021
+ # @return [String]
1022
+ attr_accessor :name
1023
+
1024
+ # Output only. The generation of this Revision currently serving traffic. See
1025
+ # comments in `reconciling` for additional information on reconciliation process
1026
+ # in Cloud Run.
1027
+ # Corresponds to the JSON property `observedGeneration`
1028
+ # @return [Fixnum]
1029
+ attr_accessor :observed_generation
1030
+
1031
+ # Output only. Indicates whether the resource's reconciliation is still in
1032
+ # progress. See comments in `Service.reconciling` for additional information on
1033
+ # reconciliation process in Cloud Run.
1034
+ # Corresponds to the JSON property `reconciling`
1035
+ # @return [Boolean]
1036
+ attr_accessor :reconciling
1037
+ alias_method :reconciling?, :reconciling
1038
+
1039
+ # Settings for revision-level scaling settings.
1040
+ # Corresponds to the JSON property `scaling`
1041
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2RevisionScaling]
1042
+ attr_accessor :scaling
1043
+
1044
+ # Output only. The name of the parent service.
1045
+ # Corresponds to the JSON property `service`
1046
+ # @return [String]
1047
+ attr_accessor :service
1048
+
1049
+ # Email address of the IAM service account associated with the revision of the
1050
+ # service. The service account represents the identity of the running revision,
1051
+ # and determines what permissions the revision has.
1052
+ # Corresponds to the JSON property `serviceAccount`
1053
+ # @return [String]
1054
+ attr_accessor :service_account
1055
+
1056
+ # Max allowed time for an instance to respond to a request.
1057
+ # Corresponds to the JSON property `timeout`
1058
+ # @return [String]
1059
+ attr_accessor :timeout
1060
+
1061
+ # Output only. Server assigned unique identifier for the Revision. The value is
1062
+ # a UUID4 string and guaranteed to remain unchanged until the resource is
1063
+ # deleted.
1064
+ # Corresponds to the JSON property `uid`
1065
+ # @return [String]
1066
+ attr_accessor :uid
1067
+
1068
+ # Output only. The last-modified time.
1069
+ # Corresponds to the JSON property `updateTime`
1070
+ # @return [String]
1071
+ attr_accessor :update_time
1072
+
1073
+ # A list of Volumes to make available to containers.
1074
+ # Corresponds to the JSON property `volumes`
1075
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Volume>]
1076
+ attr_accessor :volumes
1077
+
1078
+ # VPC Access settings. For more information on creating a VPC Connector, visit
1079
+ # https://cloud.google.com/vpc/docs/configure-serverless-vpc-access For
1080
+ # information on how to configure Cloud Run with an existing VPC Connector,
1081
+ # visit https://cloud.google.com/run/docs/configuring/connecting-vpc
1082
+ # Corresponds to the JSON property `vpcAccess`
1083
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2VpcAccess]
1084
+ attr_accessor :vpc_access
1085
+
1086
+ def initialize(**args)
1087
+ update!(**args)
1088
+ end
1089
+
1090
+ # Update properties of this object
1091
+ def update!(**args)
1092
+ @annotations = args[:annotations] if args.key?(:annotations)
1093
+ @conditions = args[:conditions] if args.key?(:conditions)
1094
+ @containers = args[:containers] if args.key?(:containers)
1095
+ @create_time = args[:create_time] if args.key?(:create_time)
1096
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
1097
+ @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
1098
+ @etag = args[:etag] if args.key?(:etag)
1099
+ @execution_environment = args[:execution_environment] if args.key?(:execution_environment)
1100
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
1101
+ @generation = args[:generation] if args.key?(:generation)
1102
+ @labels = args[:labels] if args.key?(:labels)
1103
+ @launch_stage = args[:launch_stage] if args.key?(:launch_stage)
1104
+ @log_uri = args[:log_uri] if args.key?(:log_uri)
1105
+ @max_instance_request_concurrency = args[:max_instance_request_concurrency] if args.key?(:max_instance_request_concurrency)
1106
+ @name = args[:name] if args.key?(:name)
1107
+ @observed_generation = args[:observed_generation] if args.key?(:observed_generation)
1108
+ @reconciling = args[:reconciling] if args.key?(:reconciling)
1109
+ @scaling = args[:scaling] if args.key?(:scaling)
1110
+ @service = args[:service] if args.key?(:service)
1111
+ @service_account = args[:service_account] if args.key?(:service_account)
1112
+ @timeout = args[:timeout] if args.key?(:timeout)
1113
+ @uid = args[:uid] if args.key?(:uid)
1114
+ @update_time = args[:update_time] if args.key?(:update_time)
1115
+ @volumes = args[:volumes] if args.key?(:volumes)
1116
+ @vpc_access = args[:vpc_access] if args.key?(:vpc_access)
1117
+ end
1118
+ end
1119
+
1120
+ # Settings for revision-level scaling settings.
1121
+ class GoogleCloudRunV2RevisionScaling
1122
+ include Google::Apis::Core::Hashable
1123
+
1124
+ # Maximum number of serving instances that this resource should have.
1125
+ # Corresponds to the JSON property `maxInstanceCount`
1126
+ # @return [Fixnum]
1127
+ attr_accessor :max_instance_count
1128
+
1129
+ # Minimum number of serving instances that this resource should have.
1130
+ # Corresponds to the JSON property `minInstanceCount`
1131
+ # @return [Fixnum]
1132
+ attr_accessor :min_instance_count
1133
+
1134
+ def initialize(**args)
1135
+ update!(**args)
1136
+ end
1137
+
1138
+ # Update properties of this object
1139
+ def update!(**args)
1140
+ @max_instance_count = args[:max_instance_count] if args.key?(:max_instance_count)
1141
+ @min_instance_count = args[:min_instance_count] if args.key?(:min_instance_count)
1142
+ end
1143
+ end
1144
+
1145
+ # RevisionTemplate describes the data a revision should have when created from a
1146
+ # template.
1147
+ class GoogleCloudRunV2RevisionTemplate
1148
+ include Google::Apis::Core::Hashable
1149
+
1150
+ # KRM-style annotations for the resource.
1151
+ # Corresponds to the JSON property `annotations`
1152
+ # @return [Hash<String,String>]
1153
+ attr_accessor :annotations
1154
+
1155
+ # Holds the single container that defines the unit of execution for this
1156
+ # Revision.
1157
+ # Corresponds to the JSON property `containers`
1158
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Container>]
1159
+ attr_accessor :containers
1160
+
1161
+ # A reference to a customer managed encryption key (CMEK) to use to encrypt this
1162
+ # container image. For more information, go to https://cloud.google.com/run/docs/
1163
+ # securing/using-cmek
1164
+ # Corresponds to the JSON property `encryptionKey`
1165
+ # @return [String]
1166
+ attr_accessor :encryption_key
1167
+
1168
+ # The sandbox environment to host this Revision.
1169
+ # Corresponds to the JSON property `executionEnvironment`
1170
+ # @return [String]
1171
+ attr_accessor :execution_environment
1172
+
1173
+ # KRM-style labels for the resource.
1174
+ # Corresponds to the JSON property `labels`
1175
+ # @return [Hash<String,String>]
1176
+ attr_accessor :labels
1177
+
1178
+ # Sets the maximum number of requests that each serving instance can receive.
1179
+ # Corresponds to the JSON property `maxInstanceRequestConcurrency`
1180
+ # @return [Fixnum]
1181
+ attr_accessor :max_instance_request_concurrency
1182
+
1183
+ # The unique name for the revision. If this field is omitted, it will be
1184
+ # automatically generated based on the Service name.
1185
+ # Corresponds to the JSON property `revision`
1186
+ # @return [String]
1187
+ attr_accessor :revision
1188
+
1189
+ # Settings for revision-level scaling settings.
1190
+ # Corresponds to the JSON property `scaling`
1191
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2RevisionScaling]
1192
+ attr_accessor :scaling
1193
+
1194
+ # Email address of the IAM service account associated with the revision of the
1195
+ # service. The service account represents the identity of the running revision,
1196
+ # and determines what permissions the revision has. If not provided, the
1197
+ # revision will use the project's default service account.
1198
+ # Corresponds to the JSON property `serviceAccount`
1199
+ # @return [String]
1200
+ attr_accessor :service_account
696
1201
 
697
1202
  # Max allowed time for an instance to respond to a request.
698
1203
  # Corresponds to the JSON property `timeout`
@@ -718,19 +1223,46 @@ module Google
718
1223
 
719
1224
  # Update properties of this object
720
1225
  def update!(**args)
721
- @annotations = args[:annotations] if args.key?(:annotations)
722
- @confidential = args[:confidential] if args.key?(:confidential)
723
- @container_concurrency = args[:container_concurrency] if args.key?(:container_concurrency)
724
- @containers = args[:containers] if args.key?(:containers)
725
- @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
726
- @execution_environment = args[:execution_environment] if args.key?(:execution_environment)
727
- @labels = args[:labels] if args.key?(:labels)
728
- @revision = args[:revision] if args.key?(:revision)
729
- @scaling = args[:scaling] if args.key?(:scaling)
730
- @service_account = args[:service_account] if args.key?(:service_account)
731
- @timeout = args[:timeout] if args.key?(:timeout)
732
- @volumes = args[:volumes] if args.key?(:volumes)
733
- @vpc_access = args[:vpc_access] if args.key?(:vpc_access)
1226
+ @annotations = args[:annotations] if args.key?(:annotations)
1227
+ @containers = args[:containers] if args.key?(:containers)
1228
+ @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
1229
+ @execution_environment = args[:execution_environment] if args.key?(:execution_environment)
1230
+ @labels = args[:labels] if args.key?(:labels)
1231
+ @max_instance_request_concurrency = args[:max_instance_request_concurrency] if args.key?(:max_instance_request_concurrency)
1232
+ @revision = args[:revision] if args.key?(:revision)
1233
+ @scaling = args[:scaling] if args.key?(:scaling)
1234
+ @service_account = args[:service_account] if args.key?(:service_account)
1235
+ @timeout = args[:timeout] if args.key?(:timeout)
1236
+ @volumes = args[:volumes] if args.key?(:volumes)
1237
+ @vpc_access = args[:vpc_access] if args.key?(:vpc_access)
1238
+ end
1239
+ end
1240
+
1241
+ # Request message to create a new Execution of a Job.
1242
+ class GoogleCloudRunV2RunJobRequest
1243
+ include Google::Apis::Core::Hashable
1244
+
1245
+ # A system-generated fingerprint for this version of the resource. May be used
1246
+ # to detect modification conflict during updates.
1247
+ # Corresponds to the JSON property `etag`
1248
+ # @return [String]
1249
+ attr_accessor :etag
1250
+
1251
+ # Indicates that the request should be validated without actually deleting any
1252
+ # resources.
1253
+ # Corresponds to the JSON property `validateOnly`
1254
+ # @return [Boolean]
1255
+ attr_accessor :validate_only
1256
+ alias_method :validate_only?, :validate_only
1257
+
1258
+ def initialize(**args)
1259
+ update!(**args)
1260
+ end
1261
+
1262
+ # Update properties of this object
1263
+ def update!(**args)
1264
+ @etag = args[:etag] if args.key?(:etag)
1265
+ @validate_only = args[:validate_only] if args.key?(:validate_only)
734
1266
  end
735
1267
  end
736
1268
 
@@ -887,7 +1419,9 @@ module Google
887
1419
  attr_accessor :expire_time
888
1420
 
889
1421
  # Output only. A number that monotonically increases every time the user
890
- # modifies the desired state.
1422
+ # modifies the desired state. Please note that unlike v1, this is an int64 value.
1423
+ # As with most Google APIs, its JSON representation will be a `string` instead
1424
+ # of an `integer`.
891
1425
  # Corresponds to the JSON property `generation`
892
1426
  # @return [Fixnum]
893
1427
  attr_accessor :generation
@@ -946,7 +1480,9 @@ module Google
946
1480
 
947
1481
  # Output only. The generation of this Service currently serving traffic. See
948
1482
  # comments in `reconciling` for additional information on reconciliation process
949
- # in Cloud Run.
1483
+ # in Cloud Run. Please note that unlike v1, this is an int64 value. As with most
1484
+ # Google APIs, its JSON representation will be a `string` instead of an `integer`
1485
+ # .
950
1486
  # Corresponds to the JSON property `observedGeneration`
951
1487
  # @return [Fixnum]
952
1488
  attr_accessor :observed_generation
@@ -1051,6 +1587,331 @@ module Google
1051
1587
  end
1052
1588
  end
1053
1589
 
1590
+ # Task represents a single run of a container to completion.
1591
+ class GoogleCloudRunV2Task
1592
+ include Google::Apis::Core::Hashable
1593
+
1594
+ # KRM-style annotations for the resource.
1595
+ # Corresponds to the JSON property `annotations`
1596
+ # @return [Hash<String,String>]
1597
+ attr_accessor :annotations
1598
+
1599
+ # Output only. Represents time when the Task was completed. It is not guaranteed
1600
+ # to be set in happens-before order across separate operations.
1601
+ # Corresponds to the JSON property `completionTime`
1602
+ # @return [String]
1603
+ attr_accessor :completion_time
1604
+
1605
+ # Output only. The Condition of this Task, containing its readiness status, and
1606
+ # detailed error information in case it did not reach the desired state.
1607
+ # Corresponds to the JSON property `conditions`
1608
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Condition>]
1609
+ attr_accessor :conditions
1610
+
1611
+ # Holds the single container that defines the unit of execution for this task.
1612
+ # Corresponds to the JSON property `containers`
1613
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Container>]
1614
+ attr_accessor :containers
1615
+
1616
+ # Output only. Represents time when the task was created by the job controller.
1617
+ # It is not guaranteed to be set in happens-before order across separate
1618
+ # operations.
1619
+ # Corresponds to the JSON property `createTime`
1620
+ # @return [String]
1621
+ attr_accessor :create_time
1622
+
1623
+ # Output only. For a deleted resource, the deletion time. It is only populated
1624
+ # as a response to a Delete request.
1625
+ # Corresponds to the JSON property `deleteTime`
1626
+ # @return [String]
1627
+ attr_accessor :delete_time
1628
+
1629
+ # Output only. A reference to a customer managed encryption key (CMEK) to use to
1630
+ # encrypt this container image. For more information, go to https://cloud.google.
1631
+ # com/run/docs/securing/using-cmek
1632
+ # Corresponds to the JSON property `encryptionKey`
1633
+ # @return [String]
1634
+ attr_accessor :encryption_key
1635
+
1636
+ # Output only. A system-generated fingerprint for this version of the resource.
1637
+ # May be used to detect modification conflict during updates.
1638
+ # Corresponds to the JSON property `etag`
1639
+ # @return [String]
1640
+ attr_accessor :etag
1641
+
1642
+ # Output only. The name of the parent Execution.
1643
+ # Corresponds to the JSON property `execution`
1644
+ # @return [String]
1645
+ attr_accessor :execution
1646
+
1647
+ # The execution environment being used to host this Task.
1648
+ # Corresponds to the JSON property `executionEnvironment`
1649
+ # @return [String]
1650
+ attr_accessor :execution_environment
1651
+
1652
+ # Output only. For a deleted resource, the time after which it will be
1653
+ # permamently deleted. It is only populated as a response to a Delete request.
1654
+ # Corresponds to the JSON property `expireTime`
1655
+ # @return [String]
1656
+ attr_accessor :expire_time
1657
+
1658
+ # Output only. A number that monotonically increases every time the user
1659
+ # modifies the desired state.
1660
+ # Corresponds to the JSON property `generation`
1661
+ # @return [Fixnum]
1662
+ attr_accessor :generation
1663
+
1664
+ # Output only. Index of the Task, unique per execution, and beginning at 0.
1665
+ # Corresponds to the JSON property `index`
1666
+ # @return [Fixnum]
1667
+ attr_accessor :index
1668
+
1669
+ # Output only. The name of the parent Job.
1670
+ # Corresponds to the JSON property `job`
1671
+ # @return [String]
1672
+ attr_accessor :job
1673
+
1674
+ # KRM-style labels for the resource. User-provided labels are shared with Google'
1675
+ # s billing system, so they can be used to filter, or break down billing charges
1676
+ # by team, component, environment, state, etc. For more information, visit https:
1677
+ # //cloud.google.com/resource-manager/docs/creating-managing-labels or https://
1678
+ # cloud.google.com/run/docs/configuring/labels Cloud Run will populate some
1679
+ # labels with 'run.googleapis.com' or 'serving.knative.dev' namespaces. Those
1680
+ # labels are read-only, and user changes will not be preserved.
1681
+ # Corresponds to the JSON property `labels`
1682
+ # @return [Hash<String,String>]
1683
+ attr_accessor :labels
1684
+
1685
+ # Result of a task attempt.
1686
+ # Corresponds to the JSON property `lastAttemptResult`
1687
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2TaskAttemptResult]
1688
+ attr_accessor :last_attempt_result
1689
+
1690
+ # Set the launch stage to a preview stage on write to allow use of preview
1691
+ # features in that stage. On read, describes whether the resource uses preview
1692
+ # features. Launch Stages are defined at [Google Cloud Platform Launch Stages](
1693
+ # https://cloud.google.com/terms/launch-stages).
1694
+ # Corresponds to the JSON property `launchStage`
1695
+ # @return [String]
1696
+ attr_accessor :launch_stage
1697
+
1698
+ # Number of retries allowed per Task, before marking this Task failed.
1699
+ # Corresponds to the JSON property `maxRetries`
1700
+ # @return [Fixnum]
1701
+ attr_accessor :max_retries
1702
+
1703
+ # Output only. The unique name of this Task.
1704
+ # Corresponds to the JSON property `name`
1705
+ # @return [String]
1706
+ attr_accessor :name
1707
+
1708
+ # Output only. The generation of this Task. See comments in `Job.reconciling`
1709
+ # for additional information on reconciliation process in Cloud Run.
1710
+ # Corresponds to the JSON property `observedGeneration`
1711
+ # @return [Fixnum]
1712
+ attr_accessor :observed_generation
1713
+
1714
+ # Output only. Indicates whether the resource's reconciliation is still in
1715
+ # progress. See comments in `Job.reconciling` for additional information on
1716
+ # reconciliation process in Cloud Run.
1717
+ # Corresponds to the JSON property `reconciling`
1718
+ # @return [Boolean]
1719
+ attr_accessor :reconciling
1720
+ alias_method :reconciling?, :reconciling
1721
+
1722
+ # Output only. The number of times this Task was retried. Tasks are retried when
1723
+ # they fail up to the maxRetries limit.
1724
+ # Corresponds to the JSON property `retried`
1725
+ # @return [Fixnum]
1726
+ attr_accessor :retried
1727
+
1728
+ # Email address of the IAM service account associated with the Task of a Job.
1729
+ # The service account represents the identity of the running task, and
1730
+ # determines what permissions the task has. If not provided, the task will use
1731
+ # the project's default service account.
1732
+ # Corresponds to the JSON property `serviceAccount`
1733
+ # @return [String]
1734
+ attr_accessor :service_account
1735
+
1736
+ # Output only. Represents time when the task started to run. It is not
1737
+ # guaranteed to be set in happens-before order across separate operations.
1738
+ # Corresponds to the JSON property `startTime`
1739
+ # @return [String]
1740
+ attr_accessor :start_time
1741
+
1742
+ # Max allowed time duration the Task may be active before the system will
1743
+ # actively try to mark it failed and kill associated containers. This applies
1744
+ # per attempt of a task, meaning each retry can run for the full timeout.
1745
+ # Corresponds to the JSON property `timeout`
1746
+ # @return [String]
1747
+ attr_accessor :timeout
1748
+
1749
+ # Output only. Server assigned unique identifier for the Task. The value is a
1750
+ # UUID4 string and guaranteed to remain unchanged until the resource is deleted.
1751
+ # Corresponds to the JSON property `uid`
1752
+ # @return [String]
1753
+ attr_accessor :uid
1754
+
1755
+ # Output only. The last-modified time.
1756
+ # Corresponds to the JSON property `updateTime`
1757
+ # @return [String]
1758
+ attr_accessor :update_time
1759
+
1760
+ # A list of Volumes to make available to containers.
1761
+ # Corresponds to the JSON property `volumes`
1762
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Volume>]
1763
+ attr_accessor :volumes
1764
+
1765
+ # VPC Access settings. For more information on creating a VPC Connector, visit
1766
+ # https://cloud.google.com/vpc/docs/configure-serverless-vpc-access For
1767
+ # information on how to configure Cloud Run with an existing VPC Connector,
1768
+ # visit https://cloud.google.com/run/docs/configuring/connecting-vpc
1769
+ # Corresponds to the JSON property `vpcAccess`
1770
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2VpcAccess]
1771
+ attr_accessor :vpc_access
1772
+
1773
+ def initialize(**args)
1774
+ update!(**args)
1775
+ end
1776
+
1777
+ # Update properties of this object
1778
+ def update!(**args)
1779
+ @annotations = args[:annotations] if args.key?(:annotations)
1780
+ @completion_time = args[:completion_time] if args.key?(:completion_time)
1781
+ @conditions = args[:conditions] if args.key?(:conditions)
1782
+ @containers = args[:containers] if args.key?(:containers)
1783
+ @create_time = args[:create_time] if args.key?(:create_time)
1784
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
1785
+ @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
1786
+ @etag = args[:etag] if args.key?(:etag)
1787
+ @execution = args[:execution] if args.key?(:execution)
1788
+ @execution_environment = args[:execution_environment] if args.key?(:execution_environment)
1789
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
1790
+ @generation = args[:generation] if args.key?(:generation)
1791
+ @index = args[:index] if args.key?(:index)
1792
+ @job = args[:job] if args.key?(:job)
1793
+ @labels = args[:labels] if args.key?(:labels)
1794
+ @last_attempt_result = args[:last_attempt_result] if args.key?(:last_attempt_result)
1795
+ @launch_stage = args[:launch_stage] if args.key?(:launch_stage)
1796
+ @max_retries = args[:max_retries] if args.key?(:max_retries)
1797
+ @name = args[:name] if args.key?(:name)
1798
+ @observed_generation = args[:observed_generation] if args.key?(:observed_generation)
1799
+ @reconciling = args[:reconciling] if args.key?(:reconciling)
1800
+ @retried = args[:retried] if args.key?(:retried)
1801
+ @service_account = args[:service_account] if args.key?(:service_account)
1802
+ @start_time = args[:start_time] if args.key?(:start_time)
1803
+ @timeout = args[:timeout] if args.key?(:timeout)
1804
+ @uid = args[:uid] if args.key?(:uid)
1805
+ @update_time = args[:update_time] if args.key?(:update_time)
1806
+ @volumes = args[:volumes] if args.key?(:volumes)
1807
+ @vpc_access = args[:vpc_access] if args.key?(:vpc_access)
1808
+ end
1809
+ end
1810
+
1811
+ # Result of a task attempt.
1812
+ class GoogleCloudRunV2TaskAttemptResult
1813
+ include Google::Apis::Core::Hashable
1814
+
1815
+ # Output only. The exit code of this attempt. This may be unset if the container
1816
+ # was unable to exit cleanly with a code due to some other failure. See status
1817
+ # field for possible failure details.
1818
+ # Corresponds to the JSON property `exitCode`
1819
+ # @return [Fixnum]
1820
+ attr_accessor :exit_code
1821
+
1822
+ # The `Status` type defines a logical error model that is suitable for different
1823
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1824
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1825
+ # data: error code, error message, and error details. You can find out more
1826
+ # about this error model and how to work with it in the [API Design Guide](https:
1827
+ # //cloud.google.com/apis/design/errors).
1828
+ # Corresponds to the JSON property `status`
1829
+ # @return [Google::Apis::RunV2::GoogleRpcStatus]
1830
+ attr_accessor :status
1831
+
1832
+ def initialize(**args)
1833
+ update!(**args)
1834
+ end
1835
+
1836
+ # Update properties of this object
1837
+ def update!(**args)
1838
+ @exit_code = args[:exit_code] if args.key?(:exit_code)
1839
+ @status = args[:status] if args.key?(:status)
1840
+ end
1841
+ end
1842
+
1843
+ # TaskTemplate describes the data a task should have when created from a
1844
+ # template.
1845
+ class GoogleCloudRunV2TaskTemplate
1846
+ include Google::Apis::Core::Hashable
1847
+
1848
+ # Holds the single container that defines the unit of execution for this task.
1849
+ # Corresponds to the JSON property `containers`
1850
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Container>]
1851
+ attr_accessor :containers
1852
+
1853
+ # A reference to a customer managed encryption key (CMEK) to use to encrypt this
1854
+ # container image. For more information, go to https://cloud.google.com/run/docs/
1855
+ # securing/using-cmek
1856
+ # Corresponds to the JSON property `encryptionKey`
1857
+ # @return [String]
1858
+ attr_accessor :encryption_key
1859
+
1860
+ # The execution environment being used to host this Task.
1861
+ # Corresponds to the JSON property `executionEnvironment`
1862
+ # @return [String]
1863
+ attr_accessor :execution_environment
1864
+
1865
+ # Number of retries allowed per Task, before marking this Task failed.
1866
+ # Corresponds to the JSON property `maxRetries`
1867
+ # @return [Fixnum]
1868
+ attr_accessor :max_retries
1869
+
1870
+ # Email address of the IAM service account associated with the Task of a Job.
1871
+ # The service account represents the identity of the running task, and
1872
+ # determines what permissions the task has. If not provided, the task will use
1873
+ # the project's default service account.
1874
+ # Corresponds to the JSON property `serviceAccount`
1875
+ # @return [String]
1876
+ attr_accessor :service_account
1877
+
1878
+ # Max allowed time duration the Task may be active before the system will
1879
+ # actively try to mark it failed and kill associated containers. This applies
1880
+ # per attempt of a task, meaning each retry can run for the full timeout.
1881
+ # Corresponds to the JSON property `timeout`
1882
+ # @return [String]
1883
+ attr_accessor :timeout
1884
+
1885
+ # A list of Volumes to make available to containers.
1886
+ # Corresponds to the JSON property `volumes`
1887
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Volume>]
1888
+ attr_accessor :volumes
1889
+
1890
+ # VPC Access settings. For more information on creating a VPC Connector, visit
1891
+ # https://cloud.google.com/vpc/docs/configure-serverless-vpc-access For
1892
+ # information on how to configure Cloud Run with an existing VPC Connector,
1893
+ # visit https://cloud.google.com/run/docs/configuring/connecting-vpc
1894
+ # Corresponds to the JSON property `vpcAccess`
1895
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2VpcAccess]
1896
+ attr_accessor :vpc_access
1897
+
1898
+ def initialize(**args)
1899
+ update!(**args)
1900
+ end
1901
+
1902
+ # Update properties of this object
1903
+ def update!(**args)
1904
+ @containers = args[:containers] if args.key?(:containers)
1905
+ @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
1906
+ @execution_environment = args[:execution_environment] if args.key?(:execution_environment)
1907
+ @max_retries = args[:max_retries] if args.key?(:max_retries)
1908
+ @service_account = args[:service_account] if args.key?(:service_account)
1909
+ @timeout = args[:timeout] if args.key?(:timeout)
1910
+ @volumes = args[:volumes] if args.key?(:volumes)
1911
+ @vpc_access = args[:vpc_access] if args.key?(:vpc_access)
1912
+ end
1913
+ end
1914
+
1054
1915
  # Holds a single traffic routing entry for the Service. Allocations can be done
1055
1916
  # to a specific Revision name, or pointing to the latest Ready Revision.
1056
1917
  class GoogleCloudRunV2TrafficTarget
@@ -1280,8 +2141,8 @@ module Google
1280
2141
  # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE"
1281
2142
  # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice,
1282
2143
  # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also
1283
- # exempts jose@example.com from DATA_READ logging, and aliya@example.com from
1284
- # DATA_WRITE logging.
2144
+ # exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com`
2145
+ # from DATA_WRITE logging.
1285
2146
  class GoogleIamV1AuditConfig
1286
2147
  include Google::Apis::Core::Hashable
1287
2148