google-apis-run_v2 0.10.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -266,6 +266,32 @@ module Google
266
266
  end
267
267
  end
268
268
 
269
+ # ContainerStatus holds the information of container name and image digest value.
270
+ class GoogleCloudRunV2ContainerStatus
271
+ include Google::Apis::Core::Hashable
272
+
273
+ # ImageDigest holds the resolved digest for the image specified, regardless of
274
+ # whether a tag or digest was originally specified in the Container object.
275
+ # Corresponds to the JSON property `imageDigest`
276
+ # @return [String]
277
+ attr_accessor :image_digest
278
+
279
+ # The name of the container, if specified.
280
+ # Corresponds to the JSON property `name`
281
+ # @return [String]
282
+ attr_accessor :name
283
+
284
+ def initialize(**args)
285
+ update!(**args)
286
+ end
287
+
288
+ # Update properties of this object
289
+ def update!(**args)
290
+ @image_digest = args[:image_digest] if args.key?(:image_digest)
291
+ @name = args[:name] if args.key?(:name)
292
+ end
293
+ end
294
+
269
295
  # EnvVar represents an environment variable present in a Container.
270
296
  class GoogleCloudRunV2EnvVar
271
297
  include Google::Apis::Core::Hashable
@@ -323,6 +349,522 @@ module Google
323
349
  end
324
350
  end
325
351
 
352
+ # Execution represents the configuration of a single execution. A execution an
353
+ # immutable resource that references a container image which is run to
354
+ # completion.
355
+ class GoogleCloudRunV2Execution
356
+ include Google::Apis::Core::Hashable
357
+
358
+ # KRM-style annotations for the resource.
359
+ # Corresponds to the JSON property `annotations`
360
+ # @return [Hash<String,String>]
361
+ attr_accessor :annotations
362
+
363
+ # Output only. Represents time when the execution was completed. It is not
364
+ # guaranteed to be set in happens-before order across separate operations.
365
+ # Corresponds to the JSON property `completionTime`
366
+ # @return [String]
367
+ attr_accessor :completion_time
368
+
369
+ # Output only. The Condition of this Execution, containing its readiness status,
370
+ # and detailed error information in case it did not reach the desired state.
371
+ # Corresponds to the JSON property `conditions`
372
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Condition>]
373
+ attr_accessor :conditions
374
+
375
+ # Output only. Represents time when the execution was acknowledged by the
376
+ # execution controller. It is not guaranteed to be set in happens-before order
377
+ # across separate operations.
378
+ # Corresponds to the JSON property `createTime`
379
+ # @return [String]
380
+ attr_accessor :create_time
381
+
382
+ # Output only. For a deleted resource, the deletion time. It is only populated
383
+ # as a response to a Delete request.
384
+ # Corresponds to the JSON property `deleteTime`
385
+ # @return [String]
386
+ attr_accessor :delete_time
387
+
388
+ # Output only. A system-generated fingerprint for this version of the resource.
389
+ # May be used to detect modification conflict during updates.
390
+ # Corresponds to the JSON property `etag`
391
+ # @return [String]
392
+ attr_accessor :etag
393
+
394
+ # Output only. For a deleted resource, the time after which it will be
395
+ # permamently deleted. It is only populated as a response to a Delete request.
396
+ # Corresponds to the JSON property `expireTime`
397
+ # @return [String]
398
+ attr_accessor :expire_time
399
+
400
+ # Output only. The number of tasks which reached phase Failed.
401
+ # Corresponds to the JSON property `failedCount`
402
+ # @return [Fixnum]
403
+ attr_accessor :failed_count
404
+
405
+ # Output only. A number that monotonically increases every time the user
406
+ # modifies the desired state.
407
+ # Corresponds to the JSON property `generation`
408
+ # @return [Fixnum]
409
+ attr_accessor :generation
410
+
411
+ # Output only. The name of the parent Job.
412
+ # Corresponds to the JSON property `job`
413
+ # @return [String]
414
+ attr_accessor :job
415
+
416
+ # KRM-style labels for the resource. User-provided labels are shared with Google'
417
+ # s billing system, so they can be used to filter, or break down billing charges
418
+ # by team, component, environment, state, etc. For more information, visit https:
419
+ # //cloud.google.com/resource-manager/docs/creating-managing-labels or https://
420
+ # cloud.google.com/run/docs/configuring/labels Cloud Run will populate some
421
+ # labels with 'run.googleapis.com' or 'serving.knative.dev' namespaces. Those
422
+ # labels are read-only, and user changes will not be preserved.
423
+ # Corresponds to the JSON property `labels`
424
+ # @return [Hash<String,String>]
425
+ attr_accessor :labels
426
+
427
+ # Set the launch stage to a preview stage on write to allow use of preview
428
+ # features in that stage. On read, describes whether the resource uses preview
429
+ # features. Launch Stages are defined at [Google Cloud Platform Launch Stages](
430
+ # https://cloud.google.com/terms/launch-stages).
431
+ # Corresponds to the JSON property `launchStage`
432
+ # @return [String]
433
+ attr_accessor :launch_stage
434
+
435
+ # Output only. The unique name of this Execution.
436
+ # Corresponds to the JSON property `name`
437
+ # @return [String]
438
+ attr_accessor :name
439
+
440
+ # Output only. The generation of this Execution. See comments in `reconciling`
441
+ # for additional information on reconciliation process in Cloud Run.
442
+ # Corresponds to the JSON property `observedGeneration`
443
+ # @return [Fixnum]
444
+ attr_accessor :observed_generation
445
+
446
+ # Output only. Specifies the maximum desired number of tasks the execution
447
+ # should run at any given time. Must be <= task_count. The actual number of
448
+ # tasks running in steady state will be less than this number when ((.spec.
449
+ # task_count - .status.successful) < .spec.parallelism), i.e. when the work left
450
+ # to do is less than max parallelism. More info: https://kubernetes.io/docs/
451
+ # concepts/workloads/controllers/jobs-run-to-completion/
452
+ # Corresponds to the JSON property `parallelism`
453
+ # @return [Fixnum]
454
+ attr_accessor :parallelism
455
+
456
+ # Output only. Indicates whether the resource's reconciliation is still in
457
+ # progress. See comments in `Job.reconciling` for additional information on
458
+ # reconciliation process in Cloud Run.
459
+ # Corresponds to the JSON property `reconciling`
460
+ # @return [Boolean]
461
+ attr_accessor :reconciling
462
+ alias_method :reconciling?, :reconciling
463
+
464
+ # Output only. The number of actively running tasks.
465
+ # Corresponds to the JSON property `runningCount`
466
+ # @return [Fixnum]
467
+ attr_accessor :running_count
468
+
469
+ # Output only. Represents time when the execution started to run. It is not
470
+ # guaranteed to be set in happens-before order across separate operations.
471
+ # Corresponds to the JSON property `startTime`
472
+ # @return [String]
473
+ attr_accessor :start_time
474
+
475
+ # Output only. The number of tasks which reached phase Succeeded.
476
+ # Corresponds to the JSON property `succeededCount`
477
+ # @return [Fixnum]
478
+ attr_accessor :succeeded_count
479
+
480
+ # Output only. Specifies the desired number of tasks the execution should run.
481
+ # Setting to 1 means that parallelism is limited to 1 and the success of that
482
+ # task signals the success of the execution. More info: https://kubernetes.io/
483
+ # docs/concepts/workloads/controllers/jobs-run-to-completion/
484
+ # Corresponds to the JSON property `taskCount`
485
+ # @return [Fixnum]
486
+ attr_accessor :task_count
487
+
488
+ # TaskTemplate describes the data a task should have when created from a
489
+ # template.
490
+ # Corresponds to the JSON property `template`
491
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2TaskTemplate]
492
+ attr_accessor :template
493
+
494
+ # Output only. Server assigned unique identifier for the Execution. The value is
495
+ # a UUID4 string and guaranteed to remain unchanged until the resource is
496
+ # deleted.
497
+ # Corresponds to the JSON property `uid`
498
+ # @return [String]
499
+ attr_accessor :uid
500
+
501
+ # Output only. The last-modified time.
502
+ # Corresponds to the JSON property `updateTime`
503
+ # @return [String]
504
+ attr_accessor :update_time
505
+
506
+ def initialize(**args)
507
+ update!(**args)
508
+ end
509
+
510
+ # Update properties of this object
511
+ def update!(**args)
512
+ @annotations = args[:annotations] if args.key?(:annotations)
513
+ @completion_time = args[:completion_time] if args.key?(:completion_time)
514
+ @conditions = args[:conditions] if args.key?(:conditions)
515
+ @create_time = args[:create_time] if args.key?(:create_time)
516
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
517
+ @etag = args[:etag] if args.key?(:etag)
518
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
519
+ @failed_count = args[:failed_count] if args.key?(:failed_count)
520
+ @generation = args[:generation] if args.key?(:generation)
521
+ @job = args[:job] if args.key?(:job)
522
+ @labels = args[:labels] if args.key?(:labels)
523
+ @launch_stage = args[:launch_stage] if args.key?(:launch_stage)
524
+ @name = args[:name] if args.key?(:name)
525
+ @observed_generation = args[:observed_generation] if args.key?(:observed_generation)
526
+ @parallelism = args[:parallelism] if args.key?(:parallelism)
527
+ @reconciling = args[:reconciling] if args.key?(:reconciling)
528
+ @running_count = args[:running_count] if args.key?(:running_count)
529
+ @start_time = args[:start_time] if args.key?(:start_time)
530
+ @succeeded_count = args[:succeeded_count] if args.key?(:succeeded_count)
531
+ @task_count = args[:task_count] if args.key?(:task_count)
532
+ @template = args[:template] if args.key?(:template)
533
+ @uid = args[:uid] if args.key?(:uid)
534
+ @update_time = args[:update_time] if args.key?(:update_time)
535
+ end
536
+ end
537
+
538
+ # Reference to an Execution. Use /Executions.GetExecution with the given name to
539
+ # get full execution including the latest status.
540
+ class GoogleCloudRunV2ExecutionReference
541
+ include Google::Apis::Core::Hashable
542
+
543
+ # Creation timestamp of the execution.
544
+ # Corresponds to the JSON property `createTime`
545
+ # @return [String]
546
+ attr_accessor :create_time
547
+
548
+ # Name of the execution.
549
+ # Corresponds to the JSON property `name`
550
+ # @return [String]
551
+ attr_accessor :name
552
+
553
+ def initialize(**args)
554
+ update!(**args)
555
+ end
556
+
557
+ # Update properties of this object
558
+ def update!(**args)
559
+ @create_time = args[:create_time] if args.key?(:create_time)
560
+ @name = args[:name] if args.key?(:name)
561
+ end
562
+ end
563
+
564
+ # ExecutionTemplate describes the data an execution should have when created
565
+ # from a template.
566
+ class GoogleCloudRunV2ExecutionTemplate
567
+ include Google::Apis::Core::Hashable
568
+
569
+ # KRM-style annotations for the resource.
570
+ # Corresponds to the JSON property `annotations`
571
+ # @return [Hash<String,String>]
572
+ attr_accessor :annotations
573
+
574
+ # KRM-style labels for the resource.
575
+ # Corresponds to the JSON property `labels`
576
+ # @return [Hash<String,String>]
577
+ attr_accessor :labels
578
+
579
+ # Specifies the maximum desired number of tasks the execution should run at
580
+ # given time. Must be <= task_count. When the job is run, if this field is 0 or
581
+ # unset, the maximum possible value will be used for that execution. The actual
582
+ # number of tasks running in steady state will be less than this number when
583
+ # there are fewer tasks waiting to be completed remaining, i.e. when the work
584
+ # left to do is less than max parallelism.
585
+ # Corresponds to the JSON property `parallelism`
586
+ # @return [Fixnum]
587
+ attr_accessor :parallelism
588
+
589
+ # Specifies the desired number of tasks the execution should run. Setting to 1
590
+ # means that parallelism is limited to 1 and the success of that task signals
591
+ # the success of the execution. More info: https://kubernetes.io/docs/concepts/
592
+ # workloads/controllers/jobs-run-to-completion/
593
+ # Corresponds to the JSON property `taskCount`
594
+ # @return [Fixnum]
595
+ attr_accessor :task_count
596
+
597
+ # TaskTemplate describes the data a task should have when created from a
598
+ # template.
599
+ # Corresponds to the JSON property `template`
600
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2TaskTemplate]
601
+ attr_accessor :template
602
+
603
+ def initialize(**args)
604
+ update!(**args)
605
+ end
606
+
607
+ # Update properties of this object
608
+ def update!(**args)
609
+ @annotations = args[:annotations] if args.key?(:annotations)
610
+ @labels = args[:labels] if args.key?(:labels)
611
+ @parallelism = args[:parallelism] if args.key?(:parallelism)
612
+ @task_count = args[:task_count] if args.key?(:task_count)
613
+ @template = args[:template] if args.key?(:template)
614
+ end
615
+ end
616
+
617
+ # Job represents the configuration of a single job. A job an immutable resource
618
+ # that references a container image which is run to completion.
619
+ class GoogleCloudRunV2Job
620
+ include Google::Apis::Core::Hashable
621
+
622
+ # KRM-style annotations for the resource. Unstructured key value map that may be
623
+ # set by external tools to store and arbitrary metadata. They are not queryable
624
+ # and should be preserved when modifying objects. Cloud Run will populate some
625
+ # annotations using 'run.googleapis.com' or 'serving.knative.dev' namespaces.
626
+ # This field follows Kubernetes annotations' namespacing, limits, and rules.
627
+ # More info: https://kubernetes.io/docs/user-guide/annotations
628
+ # Corresponds to the JSON property `annotations`
629
+ # @return [Hash<String,String>]
630
+ attr_accessor :annotations
631
+
632
+ # Settings for Binary Authorization feature.
633
+ # Corresponds to the JSON property `binaryAuthorization`
634
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2BinaryAuthorization]
635
+ attr_accessor :binary_authorization
636
+
637
+ # Arbitrary identifier for the API client.
638
+ # Corresponds to the JSON property `client`
639
+ # @return [String]
640
+ attr_accessor :client
641
+
642
+ # Arbitrary version identifier for the API client.
643
+ # Corresponds to the JSON property `clientVersion`
644
+ # @return [String]
645
+ attr_accessor :client_version
646
+
647
+ # Output only. The Conditions of all other associated sub-resources. They
648
+ # contain additional diagnostics information in case the Job does not reach its
649
+ # desired state. See comments in `reconciling` for additional information on
650
+ # reconciliation process in Cloud Run.
651
+ # Corresponds to the JSON property `conditions`
652
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Condition>]
653
+ attr_accessor :conditions
654
+
655
+ # Output only. Status information for each of the containers specified.
656
+ # Corresponds to the JSON property `containerStatuses`
657
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2ContainerStatus>]
658
+ attr_accessor :container_statuses
659
+
660
+ # Output only. The creation time.
661
+ # Corresponds to the JSON property `createTime`
662
+ # @return [String]
663
+ attr_accessor :create_time
664
+
665
+ # Output only. Email address of the authenticated creator.
666
+ # Corresponds to the JSON property `creator`
667
+ # @return [String]
668
+ attr_accessor :creator
669
+
670
+ # Output only. The deletion time.
671
+ # Corresponds to the JSON property `deleteTime`
672
+ # @return [String]
673
+ attr_accessor :delete_time
674
+
675
+ # Output only. A system-generated fingerprint for this version of the resource.
676
+ # May be used to detect modification conflict during updates.
677
+ # Corresponds to the JSON property `etag`
678
+ # @return [String]
679
+ attr_accessor :etag
680
+
681
+ # Output only. Number of executions created for this job.
682
+ # Corresponds to the JSON property `executionCount`
683
+ # @return [Fixnum]
684
+ attr_accessor :execution_count
685
+
686
+ # Output only. For a deleted resource, the time after which it will be
687
+ # permamently deleted.
688
+ # Corresponds to the JSON property `expireTime`
689
+ # @return [String]
690
+ attr_accessor :expire_time
691
+
692
+ # Output only. A number that monotonically increases every time the user
693
+ # modifies the desired state.
694
+ # Corresponds to the JSON property `generation`
695
+ # @return [Fixnum]
696
+ attr_accessor :generation
697
+
698
+ # KRM-style labels for the resource. User-provided labels are shared with Google'
699
+ # s billing system, so they can be used to filter, or break down billing charges
700
+ # by team, component, environment, state, etc. For more information, visit https:
701
+ # //cloud.google.com/resource-manager/docs/creating-managing-labels or https://
702
+ # cloud.google.com/run/docs/configuring/labels Cloud Run will populate some
703
+ # labels with 'run.googleapis.com' or 'serving.knative.dev' namespaces. Those
704
+ # labels are read-only, and user changes will not be preserved.
705
+ # Corresponds to the JSON property `labels`
706
+ # @return [Hash<String,String>]
707
+ attr_accessor :labels
708
+
709
+ # Output only. Email address of the last authenticated modifier.
710
+ # Corresponds to the JSON property `lastModifier`
711
+ # @return [String]
712
+ attr_accessor :last_modifier
713
+
714
+ # Reference to an Execution. Use /Executions.GetExecution with the given name to
715
+ # get full execution including the latest status.
716
+ # Corresponds to the JSON property `latestCreatedExecution`
717
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2ExecutionReference]
718
+ attr_accessor :latest_created_execution
719
+
720
+ # The launch stage as defined by [Google Cloud Platform Launch Stages](https://
721
+ # cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and
722
+ # `GA`. If no value is specified, GA is assumed.
723
+ # Corresponds to the JSON property `launchStage`
724
+ # @return [String]
725
+ attr_accessor :launch_stage
726
+
727
+ # The fully qualified name of this Job. Format: projects/`project`/locations/`
728
+ # location`/jobs/`job`
729
+ # Corresponds to the JSON property `name`
730
+ # @return [String]
731
+ attr_accessor :name
732
+
733
+ # Output only. The generation of this Job. See comments in `reconciling` for
734
+ # additional information on reconciliation process in Cloud Run.
735
+ # Corresponds to the JSON property `observedGeneration`
736
+ # @return [Fixnum]
737
+ attr_accessor :observed_generation
738
+
739
+ # Output only. Returns true if the Job is currently being acted upon by the
740
+ # system to bring it into the desired state. When a new Job is created, or an
741
+ # existing one is updated, Cloud Run will asynchronously perform all necessary
742
+ # steps to bring the Job to the desired state. This process is called
743
+ # reconciliation. While reconciliation is in process, `observed_generation` and `
744
+ # latest_succeeded_execution`, will have transient values that might mismatch
745
+ # the intended state: Once reconciliation is over (and this field is false),
746
+ # there are two possible outcomes: reconciliation succeeded and the state
747
+ # matches the Job, or there was an error, and reconciliation failed. This state
748
+ # can be found in `terminal_condition.state`. If reconciliation succeeded, the
749
+ # following fields will match: `observed_generation` and `generation`, `
750
+ # latest_succeeded_execution` and `latest_created_execution`. If reconciliation
751
+ # failed, `observed_generation` and `latest_succeeded_execution` will have the
752
+ # state of the last succeeded execution or empty for newly created Job.
753
+ # Additional information on the failure can be found in `terminal_condition` and
754
+ # `conditions`.
755
+ # Corresponds to the JSON property `reconciling`
756
+ # @return [Boolean]
757
+ attr_accessor :reconciling
758
+ alias_method :reconciling?, :reconciling
759
+
760
+ # ExecutionTemplate describes the data an execution should have when created
761
+ # from a template.
762
+ # Corresponds to the JSON property `template`
763
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2ExecutionTemplate]
764
+ attr_accessor :template
765
+
766
+ # Defines a status condition for a resource.
767
+ # Corresponds to the JSON property `terminalCondition`
768
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2Condition]
769
+ attr_accessor :terminal_condition
770
+
771
+ # Output only. Server assigned unique identifier for the Execution. The value is
772
+ # a UUID4 string and guaranteed to remain unchanged until the resource is
773
+ # deleted.
774
+ # Corresponds to the JSON property `uid`
775
+ # @return [String]
776
+ attr_accessor :uid
777
+
778
+ # Output only. The last-modified time.
779
+ # Corresponds to the JSON property `updateTime`
780
+ # @return [String]
781
+ attr_accessor :update_time
782
+
783
+ def initialize(**args)
784
+ update!(**args)
785
+ end
786
+
787
+ # Update properties of this object
788
+ def update!(**args)
789
+ @annotations = args[:annotations] if args.key?(:annotations)
790
+ @binary_authorization = args[:binary_authorization] if args.key?(:binary_authorization)
791
+ @client = args[:client] if args.key?(:client)
792
+ @client_version = args[:client_version] if args.key?(:client_version)
793
+ @conditions = args[:conditions] if args.key?(:conditions)
794
+ @container_statuses = args[:container_statuses] if args.key?(:container_statuses)
795
+ @create_time = args[:create_time] if args.key?(:create_time)
796
+ @creator = args[:creator] if args.key?(:creator)
797
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
798
+ @etag = args[:etag] if args.key?(:etag)
799
+ @execution_count = args[:execution_count] if args.key?(:execution_count)
800
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
801
+ @generation = args[:generation] if args.key?(:generation)
802
+ @labels = args[:labels] if args.key?(:labels)
803
+ @last_modifier = args[:last_modifier] if args.key?(:last_modifier)
804
+ @latest_created_execution = args[:latest_created_execution] if args.key?(:latest_created_execution)
805
+ @launch_stage = args[:launch_stage] if args.key?(:launch_stage)
806
+ @name = args[:name] if args.key?(:name)
807
+ @observed_generation = args[:observed_generation] if args.key?(:observed_generation)
808
+ @reconciling = args[:reconciling] if args.key?(:reconciling)
809
+ @template = args[:template] if args.key?(:template)
810
+ @terminal_condition = args[:terminal_condition] if args.key?(:terminal_condition)
811
+ @uid = args[:uid] if args.key?(:uid)
812
+ @update_time = args[:update_time] if args.key?(:update_time)
813
+ end
814
+ end
815
+
816
+ # Response message containing a list of Executions.
817
+ class GoogleCloudRunV2ListExecutionsResponse
818
+ include Google::Apis::Core::Hashable
819
+
820
+ # The resulting list of Executions.
821
+ # Corresponds to the JSON property `executions`
822
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Execution>]
823
+ attr_accessor :executions
824
+
825
+ # A token indicating there are more items than page_size. Use it in the next
826
+ # ListExecutions request to continue.
827
+ # Corresponds to the JSON property `nextPageToken`
828
+ # @return [String]
829
+ attr_accessor :next_page_token
830
+
831
+ def initialize(**args)
832
+ update!(**args)
833
+ end
834
+
835
+ # Update properties of this object
836
+ def update!(**args)
837
+ @executions = args[:executions] if args.key?(:executions)
838
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
839
+ end
840
+ end
841
+
842
+ # Response message containing a list of Jobs.
843
+ class GoogleCloudRunV2ListJobsResponse
844
+ include Google::Apis::Core::Hashable
845
+
846
+ # The resulting list of Jobs.
847
+ # Corresponds to the JSON property `jobs`
848
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Job>]
849
+ attr_accessor :jobs
850
+
851
+ # A token indicating there are more items than page_size. Use it in the next
852
+ # ListJobs request to continue.
853
+ # Corresponds to the JSON property `nextPageToken`
854
+ # @return [String]
855
+ attr_accessor :next_page_token
856
+
857
+ def initialize(**args)
858
+ update!(**args)
859
+ end
860
+
861
+ # Update properties of this object
862
+ def update!(**args)
863
+ @jobs = args[:jobs] if args.key?(:jobs)
864
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
865
+ end
866
+ end
867
+
326
868
  # Response message containing a list of Revisions.
327
869
  class GoogleCloudRunV2ListRevisionsResponse
328
870
  include Google::Apis::Core::Hashable
@@ -375,6 +917,32 @@ module Google
375
917
  end
376
918
  end
377
919
 
920
+ # Response message containing a list of Tasks.
921
+ class GoogleCloudRunV2ListTasksResponse
922
+ include Google::Apis::Core::Hashable
923
+
924
+ # A token indicating there are more items than page_size. Use it in the next
925
+ # ListTasks request to continue.
926
+ # Corresponds to the JSON property `nextPageToken`
927
+ # @return [String]
928
+ attr_accessor :next_page_token
929
+
930
+ # The resulting list of Tasks.
931
+ # Corresponds to the JSON property `tasks`
932
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Task>]
933
+ attr_accessor :tasks
934
+
935
+ def initialize(**args)
936
+ update!(**args)
937
+ end
938
+
939
+ # Update properties of this object
940
+ def update!(**args)
941
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
942
+ @tasks = args[:tasks] if args.key?(:tasks)
943
+ end
944
+ end
945
+
378
946
  # ResourceRequirements describes the compute resource requirements.
379
947
  class GoogleCloudRunV2ResourceRequirements
380
948
  include Google::Apis::Core::Hashable
@@ -718,19 +1286,47 @@ module Google
718
1286
 
719
1287
  # Update properties of this object
720
1288
  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)
1289
+ @annotations = args[:annotations] if args.key?(:annotations)
1290
+ @confidential = args[:confidential] if args.key?(:confidential)
1291
+ @container_concurrency = args[:container_concurrency] if args.key?(:container_concurrency)
1292
+ @containers = args[:containers] if args.key?(:containers)
1293
+ @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
1294
+ @execution_environment = args[:execution_environment] if args.key?(:execution_environment)
1295
+ @labels = args[:labels] if args.key?(:labels)
1296
+ @revision = args[:revision] if args.key?(:revision)
1297
+ @scaling = args[:scaling] if args.key?(:scaling)
1298
+ @service_account = args[:service_account] if args.key?(:service_account)
1299
+ @timeout = args[:timeout] if args.key?(:timeout)
1300
+ @volumes = args[:volumes] if args.key?(:volumes)
1301
+ @vpc_access = args[:vpc_access] if args.key?(:vpc_access)
1302
+ end
1303
+ end
1304
+
1305
+ # Request message to create a new Execution of a Job.
1306
+ class GoogleCloudRunV2RunJobRequest
1307
+ include Google::Apis::Core::Hashable
1308
+
1309
+ # A system-generated fingerprint for this version of the resource. May be used
1310
+ # to detect modification conflict during updates.
1311
+ # Corresponds to the JSON property `etag`
1312
+ # @return [String]
1313
+ attr_accessor :etag
1314
+
1315
+ # Indicates that the request should be validated without actually deleting any
1316
+ # resources.
1317
+ # Corresponds to the JSON property `validateOnly`
1318
+ # @return [Boolean]
1319
+ attr_accessor :validate_only
1320
+ alias_method :validate_only?, :validate_only
1321
+
1322
+ def initialize(**args)
1323
+ update!(**args)
1324
+ end
1325
+
1326
+ # Update properties of this object
1327
+ def update!(**args)
1328
+ @etag = args[:etag] if args.key?(:etag)
1329
+ @validate_only = args[:validate_only] if args.key?(:validate_only)
734
1330
  end
735
1331
  end
736
1332
 
@@ -1051,6 +1647,331 @@ module Google
1051
1647
  end
1052
1648
  end
1053
1649
 
1650
+ # Task represents a single run of a container to completion.
1651
+ class GoogleCloudRunV2Task
1652
+ include Google::Apis::Core::Hashable
1653
+
1654
+ # KRM-style annotations for the resource.
1655
+ # Corresponds to the JSON property `annotations`
1656
+ # @return [Hash<String,String>]
1657
+ attr_accessor :annotations
1658
+
1659
+ # Output only. Represents time when the Task was completed. It is not guaranteed
1660
+ # to be set in happens-before order across separate operations.
1661
+ # Corresponds to the JSON property `completionTime`
1662
+ # @return [String]
1663
+ attr_accessor :completion_time
1664
+
1665
+ # Output only. The Condition of this Task, containing its readiness status, and
1666
+ # detailed error information in case it did not reach the desired state.
1667
+ # Corresponds to the JSON property `conditions`
1668
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Condition>]
1669
+ attr_accessor :conditions
1670
+
1671
+ # Holds the single container that defines the unit of execution for this task.
1672
+ # Corresponds to the JSON property `containers`
1673
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Container>]
1674
+ attr_accessor :containers
1675
+
1676
+ # Output only. Represents time when the task was created by the job controller.
1677
+ # It is not guaranteed to be set in happens-before order across separate
1678
+ # operations.
1679
+ # Corresponds to the JSON property `createTime`
1680
+ # @return [String]
1681
+ attr_accessor :create_time
1682
+
1683
+ # Output only. For a deleted resource, the deletion time. It is only populated
1684
+ # as a response to a Delete request.
1685
+ # Corresponds to the JSON property `deleteTime`
1686
+ # @return [String]
1687
+ attr_accessor :delete_time
1688
+
1689
+ # Output only. A reference to a customer managed encryption key (CMEK) to use to
1690
+ # encrypt this container image. For more information, go to https://cloud.google.
1691
+ # com/run/docs/securing/using-cmek
1692
+ # Corresponds to the JSON property `encryptionKey`
1693
+ # @return [String]
1694
+ attr_accessor :encryption_key
1695
+
1696
+ # Output only. A system-generated fingerprint for this version of the resource.
1697
+ # May be used to detect modification conflict during updates.
1698
+ # Corresponds to the JSON property `etag`
1699
+ # @return [String]
1700
+ attr_accessor :etag
1701
+
1702
+ # Output only. The name of the parent Execution.
1703
+ # Corresponds to the JSON property `execution`
1704
+ # @return [String]
1705
+ attr_accessor :execution
1706
+
1707
+ # The execution environment being used to host this Task.
1708
+ # Corresponds to the JSON property `executionEnvironment`
1709
+ # @return [String]
1710
+ attr_accessor :execution_environment
1711
+
1712
+ # Output only. For a deleted resource, the time after which it will be
1713
+ # permamently deleted. It is only populated as a response to a Delete request.
1714
+ # Corresponds to the JSON property `expireTime`
1715
+ # @return [String]
1716
+ attr_accessor :expire_time
1717
+
1718
+ # Output only. A number that monotonically increases every time the user
1719
+ # modifies the desired state.
1720
+ # Corresponds to the JSON property `generation`
1721
+ # @return [Fixnum]
1722
+ attr_accessor :generation
1723
+
1724
+ # Output only. Index of the Task, unique per execution, and beginning at 0.
1725
+ # Corresponds to the JSON property `index`
1726
+ # @return [Fixnum]
1727
+ attr_accessor :index
1728
+
1729
+ # Output only. The name of the parent Job.
1730
+ # Corresponds to the JSON property `job`
1731
+ # @return [String]
1732
+ attr_accessor :job
1733
+
1734
+ # KRM-style labels for the resource. User-provided labels are shared with Google'
1735
+ # s billing system, so they can be used to filter, or break down billing charges
1736
+ # by team, component, environment, state, etc. For more information, visit https:
1737
+ # //cloud.google.com/resource-manager/docs/creating-managing-labels or https://
1738
+ # cloud.google.com/run/docs/configuring/labels Cloud Run will populate some
1739
+ # labels with 'run.googleapis.com' or 'serving.knative.dev' namespaces. Those
1740
+ # labels are read-only, and user changes will not be preserved.
1741
+ # Corresponds to the JSON property `labels`
1742
+ # @return [Hash<String,String>]
1743
+ attr_accessor :labels
1744
+
1745
+ # Result of a task attempt.
1746
+ # Corresponds to the JSON property `lastAttemptResult`
1747
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2TaskAttemptResult]
1748
+ attr_accessor :last_attempt_result
1749
+
1750
+ # Set the launch stage to a preview stage on write to allow use of preview
1751
+ # features in that stage. On read, describes whether the resource uses preview
1752
+ # features. Launch Stages are defined at [Google Cloud Platform Launch Stages](
1753
+ # https://cloud.google.com/terms/launch-stages).
1754
+ # Corresponds to the JSON property `launchStage`
1755
+ # @return [String]
1756
+ attr_accessor :launch_stage
1757
+
1758
+ # Number of retries allowed per Task, before marking this Task failed.
1759
+ # Corresponds to the JSON property `maxRetries`
1760
+ # @return [Fixnum]
1761
+ attr_accessor :max_retries
1762
+
1763
+ # Output only. The unique name of this Task.
1764
+ # Corresponds to the JSON property `name`
1765
+ # @return [String]
1766
+ attr_accessor :name
1767
+
1768
+ # Output only. The generation of this Task. See comments in `Job.reconciling`
1769
+ # for additional information on reconciliation process in Cloud Run.
1770
+ # Corresponds to the JSON property `observedGeneration`
1771
+ # @return [Fixnum]
1772
+ attr_accessor :observed_generation
1773
+
1774
+ # Output only. Indicates whether the resource's reconciliation is still in
1775
+ # progress. See comments in `Job.reconciling` for additional information on
1776
+ # reconciliation process in Cloud Run.
1777
+ # Corresponds to the JSON property `reconciling`
1778
+ # @return [Boolean]
1779
+ attr_accessor :reconciling
1780
+ alias_method :reconciling?, :reconciling
1781
+
1782
+ # Output only. The number of times this Task was retried. Tasks are retried when
1783
+ # they fail up to the maxRetries limit.
1784
+ # Corresponds to the JSON property `retried`
1785
+ # @return [Fixnum]
1786
+ attr_accessor :retried
1787
+
1788
+ # Email address of the IAM service account associated with the Task of a Job.
1789
+ # The service account represents the identity of the running task, and
1790
+ # determines what permissions the task has. If not provided, the task will use
1791
+ # the project's default service account.
1792
+ # Corresponds to the JSON property `serviceAccount`
1793
+ # @return [String]
1794
+ attr_accessor :service_account
1795
+
1796
+ # Output only. Represents time when the task started to run. It is not
1797
+ # guaranteed to be set in happens-before order across separate operations.
1798
+ # Corresponds to the JSON property `startTime`
1799
+ # @return [String]
1800
+ attr_accessor :start_time
1801
+
1802
+ # Max allowed time duration the Task may be active before the system will
1803
+ # actively try to mark it failed and kill associated containers. This applies
1804
+ # per attempt of a task, meaning each retry can run for the full timeout.
1805
+ # Corresponds to the JSON property `timeout`
1806
+ # @return [String]
1807
+ attr_accessor :timeout
1808
+
1809
+ # Output only. Server assigned unique identifier for the Task. The value is a
1810
+ # UUID4 string and guaranteed to remain unchanged until the resource is deleted.
1811
+ # Corresponds to the JSON property `uid`
1812
+ # @return [String]
1813
+ attr_accessor :uid
1814
+
1815
+ # Output only. The last-modified time.
1816
+ # Corresponds to the JSON property `updateTime`
1817
+ # @return [String]
1818
+ attr_accessor :update_time
1819
+
1820
+ # A list of Volumes to make available to containers.
1821
+ # Corresponds to the JSON property `volumes`
1822
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Volume>]
1823
+ attr_accessor :volumes
1824
+
1825
+ # VPC Access settings. For more information on creating a VPC Connector, visit
1826
+ # https://cloud.google.com/vpc/docs/configure-serverless-vpc-access For
1827
+ # information on how to configure Cloud Run with an existing VPC Connector,
1828
+ # visit https://cloud.google.com/run/docs/configuring/connecting-vpc
1829
+ # Corresponds to the JSON property `vpcAccess`
1830
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2VpcAccess]
1831
+ attr_accessor :vpc_access
1832
+
1833
+ def initialize(**args)
1834
+ update!(**args)
1835
+ end
1836
+
1837
+ # Update properties of this object
1838
+ def update!(**args)
1839
+ @annotations = args[:annotations] if args.key?(:annotations)
1840
+ @completion_time = args[:completion_time] if args.key?(:completion_time)
1841
+ @conditions = args[:conditions] if args.key?(:conditions)
1842
+ @containers = args[:containers] if args.key?(:containers)
1843
+ @create_time = args[:create_time] if args.key?(:create_time)
1844
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
1845
+ @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
1846
+ @etag = args[:etag] if args.key?(:etag)
1847
+ @execution = args[:execution] if args.key?(:execution)
1848
+ @execution_environment = args[:execution_environment] if args.key?(:execution_environment)
1849
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
1850
+ @generation = args[:generation] if args.key?(:generation)
1851
+ @index = args[:index] if args.key?(:index)
1852
+ @job = args[:job] if args.key?(:job)
1853
+ @labels = args[:labels] if args.key?(:labels)
1854
+ @last_attempt_result = args[:last_attempt_result] if args.key?(:last_attempt_result)
1855
+ @launch_stage = args[:launch_stage] if args.key?(:launch_stage)
1856
+ @max_retries = args[:max_retries] if args.key?(:max_retries)
1857
+ @name = args[:name] if args.key?(:name)
1858
+ @observed_generation = args[:observed_generation] if args.key?(:observed_generation)
1859
+ @reconciling = args[:reconciling] if args.key?(:reconciling)
1860
+ @retried = args[:retried] if args.key?(:retried)
1861
+ @service_account = args[:service_account] if args.key?(:service_account)
1862
+ @start_time = args[:start_time] if args.key?(:start_time)
1863
+ @timeout = args[:timeout] if args.key?(:timeout)
1864
+ @uid = args[:uid] if args.key?(:uid)
1865
+ @update_time = args[:update_time] if args.key?(:update_time)
1866
+ @volumes = args[:volumes] if args.key?(:volumes)
1867
+ @vpc_access = args[:vpc_access] if args.key?(:vpc_access)
1868
+ end
1869
+ end
1870
+
1871
+ # Result of a task attempt.
1872
+ class GoogleCloudRunV2TaskAttemptResult
1873
+ include Google::Apis::Core::Hashable
1874
+
1875
+ # Output only. The exit code of this attempt. This may be unset if the container
1876
+ # was unable to exit cleanly with a code due to some other failure. See status
1877
+ # field for possible failure details.
1878
+ # Corresponds to the JSON property `exitCode`
1879
+ # @return [Fixnum]
1880
+ attr_accessor :exit_code
1881
+
1882
+ # The `Status` type defines a logical error model that is suitable for different
1883
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1884
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1885
+ # data: error code, error message, and error details. You can find out more
1886
+ # about this error model and how to work with it in the [API Design Guide](https:
1887
+ # //cloud.google.com/apis/design/errors).
1888
+ # Corresponds to the JSON property `status`
1889
+ # @return [Google::Apis::RunV2::GoogleRpcStatus]
1890
+ attr_accessor :status
1891
+
1892
+ def initialize(**args)
1893
+ update!(**args)
1894
+ end
1895
+
1896
+ # Update properties of this object
1897
+ def update!(**args)
1898
+ @exit_code = args[:exit_code] if args.key?(:exit_code)
1899
+ @status = args[:status] if args.key?(:status)
1900
+ end
1901
+ end
1902
+
1903
+ # TaskTemplate describes the data a task should have when created from a
1904
+ # template.
1905
+ class GoogleCloudRunV2TaskTemplate
1906
+ include Google::Apis::Core::Hashable
1907
+
1908
+ # Holds the single container that defines the unit of execution for this task.
1909
+ # Corresponds to the JSON property `containers`
1910
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Container>]
1911
+ attr_accessor :containers
1912
+
1913
+ # A reference to a customer managed encryption key (CMEK) to use to encrypt this
1914
+ # container image. For more information, go to https://cloud.google.com/run/docs/
1915
+ # securing/using-cmek
1916
+ # Corresponds to the JSON property `encryptionKey`
1917
+ # @return [String]
1918
+ attr_accessor :encryption_key
1919
+
1920
+ # The execution environment being used to host this Task.
1921
+ # Corresponds to the JSON property `executionEnvironment`
1922
+ # @return [String]
1923
+ attr_accessor :execution_environment
1924
+
1925
+ # Number of retries allowed per Task, before marking this Task failed.
1926
+ # Corresponds to the JSON property `maxRetries`
1927
+ # @return [Fixnum]
1928
+ attr_accessor :max_retries
1929
+
1930
+ # Email address of the IAM service account associated with the Task of a Job.
1931
+ # The service account represents the identity of the running task, and
1932
+ # determines what permissions the task has. If not provided, the task will use
1933
+ # the project's default service account.
1934
+ # Corresponds to the JSON property `serviceAccount`
1935
+ # @return [String]
1936
+ attr_accessor :service_account
1937
+
1938
+ # Max allowed time duration the Task may be active before the system will
1939
+ # actively try to mark it failed and kill associated containers. This applies
1940
+ # per attempt of a task, meaning each retry can run for the full timeout.
1941
+ # Corresponds to the JSON property `timeout`
1942
+ # @return [String]
1943
+ attr_accessor :timeout
1944
+
1945
+ # A list of Volumes to make available to containers.
1946
+ # Corresponds to the JSON property `volumes`
1947
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Volume>]
1948
+ attr_accessor :volumes
1949
+
1950
+ # VPC Access settings. For more information on creating a VPC Connector, visit
1951
+ # https://cloud.google.com/vpc/docs/configure-serverless-vpc-access For
1952
+ # information on how to configure Cloud Run with an existing VPC Connector,
1953
+ # visit https://cloud.google.com/run/docs/configuring/connecting-vpc
1954
+ # Corresponds to the JSON property `vpcAccess`
1955
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2VpcAccess]
1956
+ attr_accessor :vpc_access
1957
+
1958
+ def initialize(**args)
1959
+ update!(**args)
1960
+ end
1961
+
1962
+ # Update properties of this object
1963
+ def update!(**args)
1964
+ @containers = args[:containers] if args.key?(:containers)
1965
+ @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
1966
+ @execution_environment = args[:execution_environment] if args.key?(:execution_environment)
1967
+ @max_retries = args[:max_retries] if args.key?(:max_retries)
1968
+ @service_account = args[:service_account] if args.key?(:service_account)
1969
+ @timeout = args[:timeout] if args.key?(:timeout)
1970
+ @volumes = args[:volumes] if args.key?(:volumes)
1971
+ @vpc_access = args[:vpc_access] if args.key?(:vpc_access)
1972
+ end
1973
+ end
1974
+
1054
1975
  # Holds a single traffic routing entry for the Service. Allocations can be done
1055
1976
  # to a specific Revision name, or pointing to the latest Ready Revision.
1056
1977
  class GoogleCloudRunV2TrafficTarget