google-apis-run_v2 0.8.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -34,6 +34,12 @@ 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
+
37
43
  # If True, indicates to use the default project's binary authorization policy.
38
44
  # If False, binary authorization will be disabled.
39
45
  # Corresponds to the JSON property `useDefault`
@@ -48,6 +54,7 @@ module Google
48
54
  # Update properties of this object
49
55
  def update!(**args)
50
56
  @breakglass_justification = args[:breakglass_justification] if args.key?(:breakglass_justification)
57
+ @policy = args[:policy] if args.key?(:policy)
51
58
  @use_default = args[:use_default] if args.key?(:use_default)
52
59
  end
53
60
  end
@@ -60,9 +67,9 @@ module Google
60
67
  # cloud.google.com/sql/instances. Visit https://cloud.google.com/sql/docs/mysql/
61
68
  # connect-run for more information on how to connect Cloud SQL and Cloud Run.
62
69
  # Format: `project`:`location`:`instance`
63
- # Corresponds to the JSON property `connections`
70
+ # Corresponds to the JSON property `instances`
64
71
  # @return [Array<String>]
65
- attr_accessor :connections
72
+ attr_accessor :instances
66
73
 
67
74
  def initialize(**args)
68
75
  update!(**args)
@@ -70,7 +77,7 @@ module Google
70
77
 
71
78
  # Update properties of this object
72
79
  def update!(**args)
73
- @connections = args[:connections] if args.key?(:connections)
80
+ @instances = args[:instances] if args.key?(:instances)
74
81
  end
75
82
  end
76
83
 
@@ -259,6 +266,32 @@ module Google
259
266
  end
260
267
  end
261
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
+
262
295
  # EnvVar represents an environment variable present in a Container.
263
296
  class GoogleCloudRunV2EnvVar
264
297
  include Google::Apis::Core::Hashable
@@ -316,92 +349,10 @@ module Google
316
349
  end
317
350
  end
318
351
 
319
- # Response message containing a list of Revisions.
320
- class GoogleCloudRunV2ListRevisionsResponse
321
- include Google::Apis::Core::Hashable
322
-
323
- # A token indicating there are more items than page_size. Use it in the next
324
- # ListRevisions request to continue.
325
- # Corresponds to the JSON property `nextPageToken`
326
- # @return [String]
327
- attr_accessor :next_page_token
328
-
329
- # The resulting list of Revisions.
330
- # Corresponds to the JSON property `revisions`
331
- # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Revision>]
332
- attr_accessor :revisions
333
-
334
- def initialize(**args)
335
- update!(**args)
336
- end
337
-
338
- # Update properties of this object
339
- def update!(**args)
340
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
341
- @revisions = args[:revisions] if args.key?(:revisions)
342
- end
343
- end
344
-
345
- # Response message containing a list of Services.
346
- class GoogleCloudRunV2ListServicesResponse
347
- include Google::Apis::Core::Hashable
348
-
349
- # A token indicating there are more items than page_size. Use it in the next
350
- # ListServices request to continue.
351
- # Corresponds to the JSON property `nextPageToken`
352
- # @return [String]
353
- attr_accessor :next_page_token
354
-
355
- # The resulting list of Services.
356
- # Corresponds to the JSON property `services`
357
- # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Service>]
358
- attr_accessor :services
359
-
360
- def initialize(**args)
361
- update!(**args)
362
- end
363
-
364
- # Update properties of this object
365
- def update!(**args)
366
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
367
- @services = args[:services] if args.key?(:services)
368
- end
369
- end
370
-
371
- # ResourceRequirements describes the compute resource requirements.
372
- class GoogleCloudRunV2ResourceRequirements
373
- include Google::Apis::Core::Hashable
374
-
375
- # Determines whether CPU should be throttled or not outside of requests.
376
- # Corresponds to the JSON property `cpuIdle`
377
- # @return [Boolean]
378
- attr_accessor :cpu_idle
379
- alias_method :cpu_idle?, :cpu_idle
380
-
381
- # Only memory and CPU are supported. Note: The only supported values for CPU are
382
- # '1', '2', and '4'. Setting 4 CPU requires at least 2Gi of memory. The values
383
- # of the map is string form of the 'quantity' k8s type: https://github.com/
384
- # kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/
385
- # resource/quantity.go
386
- # Corresponds to the JSON property `limits`
387
- # @return [Hash<String,String>]
388
- attr_accessor :limits
389
-
390
- def initialize(**args)
391
- update!(**args)
392
- end
393
-
394
- # Update properties of this object
395
- def update!(**args)
396
- @cpu_idle = args[:cpu_idle] if args.key?(:cpu_idle)
397
- @limits = args[:limits] if args.key?(:limits)
398
- end
399
- end
400
-
401
- # A Revision is an immutable snapshot of code and configuration. A Revision
402
- # references a container image. Revisions are only created by updates to its
403
- # parent Service.
404
- class GoogleCloudRunV2Revision
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
405
356
  include Google::Apis::Core::Hashable
406
357
 
407
358
  # KRM-style annotations for the resource.
@@ -409,30 +360,21 @@ module Google
409
360
  # @return [Hash<String,String>]
410
361
  attr_accessor :annotations
411
362
 
412
- # Output only. The Condition of this Revision, containing its readiness status,
413
- # and detailed error information in case it did not reach a serving state.
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.
414
371
  # Corresponds to the JSON property `conditions`
415
372
  # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Condition>]
416
373
  attr_accessor :conditions
417
374
 
418
- # Indicates whether Confidential Cloud Run is enabled in this Revision.
419
- # Corresponds to the JSON property `confidential`
420
- # @return [Boolean]
421
- attr_accessor :confidential
422
- alias_method :confidential?, :confidential
423
-
424
- # Sets the maximum number of requests that each serving instance can receive.
425
- # Corresponds to the JSON property `containerConcurrency`
426
- # @return [Fixnum]
427
- attr_accessor :container_concurrency
428
-
429
- # Holds the single container that defines the unit of execution for this
430
- # Revision.
431
- # Corresponds to the JSON property `containers`
432
- # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Container>]
433
- attr_accessor :containers
434
-
435
- # Output only. The creation time.
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.
436
378
  # Corresponds to the JSON property `createTime`
437
379
  # @return [String]
438
380
  attr_accessor :create_time
@@ -443,36 +385,34 @@ module Google
443
385
  # @return [String]
444
386
  attr_accessor :delete_time
445
387
 
446
- # A reference to a customer managed encryption key (CMEK) to use to encrypt this
447
- # container image. For more information, go to https://cloud.google.com/run/docs/
448
- # securing/using-cmek
449
- # Corresponds to the JSON property `encryptionKey`
450
- # @return [String]
451
- attr_accessor :encryption_key
452
-
453
388
  # Output only. A system-generated fingerprint for this version of the resource.
454
389
  # May be used to detect modification conflict during updates.
455
390
  # Corresponds to the JSON property `etag`
456
391
  # @return [String]
457
392
  attr_accessor :etag
458
393
 
459
- # The execution environment being used to host this Revision.
460
- # Corresponds to the JSON property `executionEnvironment`
461
- # @return [String]
462
- attr_accessor :execution_environment
463
-
464
394
  # Output only. For a deleted resource, the time after which it will be
465
395
  # permamently deleted. It is only populated as a response to a Delete request.
466
396
  # Corresponds to the JSON property `expireTime`
467
397
  # @return [String]
468
398
  attr_accessor :expire_time
469
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
+
470
405
  # Output only. A number that monotonically increases every time the user
471
406
  # modifies the desired state.
472
407
  # Corresponds to the JSON property `generation`
473
408
  # @return [Fixnum]
474
409
  attr_accessor :generation
475
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
+
476
416
  # KRM-style labels for the resource. User-provided labels are shared with Google'
477
417
  # s billing system, so they can be used to filter, or break down billing charges
478
418
  # by team, component, environment, state, etc. For more information, visit https:
@@ -492,54 +432,66 @@ module Google
492
432
  # @return [String]
493
433
  attr_accessor :launch_stage
494
434
 
495
- # Output only. The Google Console URI to obtain logs for the Revision.
496
- # Corresponds to the JSON property `logUri`
497
- # @return [String]
498
- attr_accessor :log_uri
499
-
500
- # Output only. The unique name of this Revision.
435
+ # Output only. The unique name of this Execution.
501
436
  # Corresponds to the JSON property `name`
502
437
  # @return [String]
503
438
  attr_accessor :name
504
439
 
505
- # Output only. The generation of this Revision currently serving traffic. See
506
- # comments in `reconciling` for additional information on reconciliation process
507
- # in Cloud Run.
440
+ # Output only. The generation of this Execution. See comments in `reconciling`
441
+ # for additional information on reconciliation process in Cloud Run.
508
442
  # Corresponds to the JSON property `observedGeneration`
509
443
  # @return [Fixnum]
510
444
  attr_accessor :observed_generation
511
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
+
512
456
  # Output only. Indicates whether the resource's reconciliation is still in
513
- # progress. See comments in `Service.reconciling` for additional information on
457
+ # progress. See comments in `Job.reconciling` for additional information on
514
458
  # reconciliation process in Cloud Run.
515
459
  # Corresponds to the JSON property `reconciling`
516
460
  # @return [Boolean]
517
461
  attr_accessor :reconciling
518
462
  alias_method :reconciling?, :reconciling
519
463
 
520
- # Settings for revision-level scaling settings.
521
- # Corresponds to the JSON property `scaling`
522
- # @return [Google::Apis::RunV2::GoogleCloudRunV2RevisionScaling]
523
- attr_accessor :scaling
464
+ # Output only. The number of actively running tasks.
465
+ # Corresponds to the JSON property `runningCount`
466
+ # @return [Fixnum]
467
+ attr_accessor :running_count
524
468
 
525
- # Output only. The name of the parent service.
526
- # Corresponds to the JSON property `service`
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`
527
472
  # @return [String]
528
- attr_accessor :service
473
+ attr_accessor :start_time
529
474
 
530
- # Email address of the IAM service account associated with the revision of the
531
- # service. The service account represents the identity of the running revision,
532
- # and determines what permissions the revision has.
533
- # Corresponds to the JSON property `serviceAccount`
534
- # @return [String]
535
- attr_accessor :service_account
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
536
479
 
537
- # Max allowed time for an instance to respond to a request.
538
- # Corresponds to the JSON property `timeout`
539
- # @return [String]
540
- attr_accessor :timeout
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
541
487
 
542
- # Output only. Server assigned unique identifier for the Revision. The value is
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
543
495
  # a UUID4 string and guaranteed to remain unchanged until the resource is
544
496
  # deleted.
545
497
  # Corresponds to the JSON property `uid`
@@ -551,19 +503,6 @@ module Google
551
503
  # @return [String]
552
504
  attr_accessor :update_time
553
505
 
554
- # A list of Volumes to make available to containers.
555
- # Corresponds to the JSON property `volumes`
556
- # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Volume>]
557
- attr_accessor :volumes
558
-
559
- # VPC Access settings. For more information on creating a VPC Connector, visit
560
- # https://cloud.google.com/vpc/docs/configure-serverless-vpc-access For
561
- # information on how to configure Cloud Run with an existing VPC Connector,
562
- # visit https://cloud.google.com/run/docs/configuring/connecting-vpc
563
- # Corresponds to the JSON property `vpcAccess`
564
- # @return [Google::Apis::RunV2::GoogleCloudRunV2VpcAccess]
565
- attr_accessor :vpc_access
566
-
567
506
  def initialize(**args)
568
507
  update!(**args)
569
508
  end
@@ -571,47 +510,45 @@ module Google
571
510
  # Update properties of this object
572
511
  def update!(**args)
573
512
  @annotations = args[:annotations] if args.key?(:annotations)
513
+ @completion_time = args[:completion_time] if args.key?(:completion_time)
574
514
  @conditions = args[:conditions] if args.key?(:conditions)
575
- @confidential = args[:confidential] if args.key?(:confidential)
576
- @container_concurrency = args[:container_concurrency] if args.key?(:container_concurrency)
577
- @containers = args[:containers] if args.key?(:containers)
578
515
  @create_time = args[:create_time] if args.key?(:create_time)
579
516
  @delete_time = args[:delete_time] if args.key?(:delete_time)
580
- @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
581
517
  @etag = args[:etag] if args.key?(:etag)
582
- @execution_environment = args[:execution_environment] if args.key?(:execution_environment)
583
518
  @expire_time = args[:expire_time] if args.key?(:expire_time)
519
+ @failed_count = args[:failed_count] if args.key?(:failed_count)
584
520
  @generation = args[:generation] if args.key?(:generation)
521
+ @job = args[:job] if args.key?(:job)
585
522
  @labels = args[:labels] if args.key?(:labels)
586
523
  @launch_stage = args[:launch_stage] if args.key?(:launch_stage)
587
- @log_uri = args[:log_uri] if args.key?(:log_uri)
588
524
  @name = args[:name] if args.key?(:name)
589
525
  @observed_generation = args[:observed_generation] if args.key?(:observed_generation)
526
+ @parallelism = args[:parallelism] if args.key?(:parallelism)
590
527
  @reconciling = args[:reconciling] if args.key?(:reconciling)
591
- @scaling = args[:scaling] if args.key?(:scaling)
592
- @service = args[:service] if args.key?(:service)
593
- @service_account = args[:service_account] if args.key?(:service_account)
594
- @timeout = args[:timeout] if args.key?(:timeout)
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)
595
533
  @uid = args[:uid] if args.key?(:uid)
596
534
  @update_time = args[:update_time] if args.key?(:update_time)
597
- @volumes = args[:volumes] if args.key?(:volumes)
598
- @vpc_access = args[:vpc_access] if args.key?(:vpc_access)
599
535
  end
600
536
  end
601
537
 
602
- # Settings for revision-level scaling settings.
603
- class GoogleCloudRunV2RevisionScaling
538
+ # Reference to an Execution. Use /Executions.GetExecution with the given name to
539
+ # get full execution including the latest status.
540
+ class GoogleCloudRunV2ExecutionReference
604
541
  include Google::Apis::Core::Hashable
605
542
 
606
- # Maximum number of serving instances that this resource should have.
607
- # Corresponds to the JSON property `maxInstanceCount`
608
- # @return [Fixnum]
609
- attr_accessor :max_instance_count
543
+ # Creation timestamp of the execution.
544
+ # Corresponds to the JSON property `createTime`
545
+ # @return [String]
546
+ attr_accessor :create_time
610
547
 
611
- # Minimum number of serving instances that this resource should have.
612
- # Corresponds to the JSON property `minInstanceCount`
613
- # @return [Fixnum]
614
- attr_accessor :min_instance_count
548
+ # Name of the execution.
549
+ # Corresponds to the JSON property `name`
550
+ # @return [String]
551
+ attr_accessor :name
615
552
 
616
553
  def initialize(**args)
617
554
  update!(**args)
@@ -619,14 +556,14 @@ module Google
619
556
 
620
557
  # Update properties of this object
621
558
  def update!(**args)
622
- @max_instance_count = args[:max_instance_count] if args.key?(:max_instance_count)
623
- @min_instance_count = args[:min_instance_count] if args.key?(:min_instance_count)
559
+ @create_time = args[:create_time] if args.key?(:create_time)
560
+ @name = args[:name] if args.key?(:name)
624
561
  end
625
562
  end
626
563
 
627
- # RevisionTemplate describes the data a revision should have when created from a
628
- # template.
629
- class GoogleCloudRunV2RevisionTemplate
564
+ # ExecutionTemplate describes the data an execution should have when created
565
+ # from a template.
566
+ class GoogleCloudRunV2ExecutionTemplate
630
567
  include Google::Apis::Core::Hashable
631
568
 
632
569
  # KRM-style annotations for the resource.
@@ -634,27 +571,665 @@ module Google
634
571
  # @return [Hash<String,String>]
635
572
  attr_accessor :annotations
636
573
 
637
- # Enables Confidential Cloud Run in Revisions created using this template.
638
- # Corresponds to the JSON property `confidential`
639
- # @return [Boolean]
640
- attr_accessor :confidential
641
- alias_method :confidential?, :confidential
574
+ # KRM-style labels for the resource.
575
+ # Corresponds to the JSON property `labels`
576
+ # @return [Hash<String,String>]
577
+ attr_accessor :labels
642
578
 
643
- # Sets the maximum number of requests that each serving instance can receive.
644
- # Corresponds to the JSON property `containerConcurrency`
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`
645
586
  # @return [Fixnum]
646
- attr_accessor :container_concurrency
587
+ attr_accessor :parallelism
647
588
 
648
- # Holds the single container that defines the unit of execution for this
649
- # Revision.
650
- # Corresponds to the JSON property `containers`
651
- # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Container>]
652
- attr_accessor :containers
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
653
596
 
654
- # A reference to a customer managed encryption key (CMEK) to use to encrypt this
655
- # container image. For more information, go to https://cloud.google.com/run/docs/
656
- # securing/using-cmek
657
- # Corresponds to the JSON property `encryptionKey`
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
+
868
+ # Response message containing a list of Revisions.
869
+ class GoogleCloudRunV2ListRevisionsResponse
870
+ include Google::Apis::Core::Hashable
871
+
872
+ # A token indicating there are more items than page_size. Use it in the next
873
+ # ListRevisions request to continue.
874
+ # Corresponds to the JSON property `nextPageToken`
875
+ # @return [String]
876
+ attr_accessor :next_page_token
877
+
878
+ # The resulting list of Revisions.
879
+ # Corresponds to the JSON property `revisions`
880
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Revision>]
881
+ attr_accessor :revisions
882
+
883
+ def initialize(**args)
884
+ update!(**args)
885
+ end
886
+
887
+ # Update properties of this object
888
+ def update!(**args)
889
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
890
+ @revisions = args[:revisions] if args.key?(:revisions)
891
+ end
892
+ end
893
+
894
+ # Response message containing a list of Services.
895
+ class GoogleCloudRunV2ListServicesResponse
896
+ include Google::Apis::Core::Hashable
897
+
898
+ # A token indicating there are more items than page_size. Use it in the next
899
+ # ListServices request to continue.
900
+ # Corresponds to the JSON property `nextPageToken`
901
+ # @return [String]
902
+ attr_accessor :next_page_token
903
+
904
+ # The resulting list of Services.
905
+ # Corresponds to the JSON property `services`
906
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Service>]
907
+ attr_accessor :services
908
+
909
+ def initialize(**args)
910
+ update!(**args)
911
+ end
912
+
913
+ # Update properties of this object
914
+ def update!(**args)
915
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
916
+ @services = args[:services] if args.key?(:services)
917
+ end
918
+ end
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
+
946
+ # ResourceRequirements describes the compute resource requirements.
947
+ class GoogleCloudRunV2ResourceRequirements
948
+ include Google::Apis::Core::Hashable
949
+
950
+ # Determines whether CPU should be throttled or not outside of requests.
951
+ # Corresponds to the JSON property `cpuIdle`
952
+ # @return [Boolean]
953
+ attr_accessor :cpu_idle
954
+ alias_method :cpu_idle?, :cpu_idle
955
+
956
+ # Only memory and CPU are supported. Note: The only supported values for CPU are
957
+ # '1', '2', and '4'. Setting 4 CPU requires at least 2Gi of memory. The values
958
+ # of the map is string form of the 'quantity' k8s type: https://github.com/
959
+ # kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/
960
+ # resource/quantity.go
961
+ # Corresponds to the JSON property `limits`
962
+ # @return [Hash<String,String>]
963
+ attr_accessor :limits
964
+
965
+ def initialize(**args)
966
+ update!(**args)
967
+ end
968
+
969
+ # Update properties of this object
970
+ def update!(**args)
971
+ @cpu_idle = args[:cpu_idle] if args.key?(:cpu_idle)
972
+ @limits = args[:limits] if args.key?(:limits)
973
+ end
974
+ end
975
+
976
+ # A Revision is an immutable snapshot of code and configuration. A Revision
977
+ # references a container image. Revisions are only created by updates to its
978
+ # parent Service.
979
+ class GoogleCloudRunV2Revision
980
+ include Google::Apis::Core::Hashable
981
+
982
+ # KRM-style annotations for the resource.
983
+ # Corresponds to the JSON property `annotations`
984
+ # @return [Hash<String,String>]
985
+ attr_accessor :annotations
986
+
987
+ # Output only. The Condition of this Revision, containing its readiness status,
988
+ # and detailed error information in case it did not reach a serving state.
989
+ # Corresponds to the JSON property `conditions`
990
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Condition>]
991
+ attr_accessor :conditions
992
+
993
+ # Indicates whether Confidential Cloud Run is enabled in this Revision.
994
+ # Corresponds to the JSON property `confidential`
995
+ # @return [Boolean]
996
+ attr_accessor :confidential
997
+ alias_method :confidential?, :confidential
998
+
999
+ # Sets the maximum number of requests that each serving instance can receive.
1000
+ # Corresponds to the JSON property `containerConcurrency`
1001
+ # @return [Fixnum]
1002
+ attr_accessor :container_concurrency
1003
+
1004
+ # Holds the single container that defines the unit of execution for this
1005
+ # Revision.
1006
+ # Corresponds to the JSON property `containers`
1007
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Container>]
1008
+ attr_accessor :containers
1009
+
1010
+ # Output only. The creation time.
1011
+ # Corresponds to the JSON property `createTime`
1012
+ # @return [String]
1013
+ attr_accessor :create_time
1014
+
1015
+ # Output only. For a deleted resource, the deletion time. It is only populated
1016
+ # as a response to a Delete request.
1017
+ # Corresponds to the JSON property `deleteTime`
1018
+ # @return [String]
1019
+ attr_accessor :delete_time
1020
+
1021
+ # A reference to a customer managed encryption key (CMEK) to use to encrypt this
1022
+ # container image. For more information, go to https://cloud.google.com/run/docs/
1023
+ # securing/using-cmek
1024
+ # Corresponds to the JSON property `encryptionKey`
1025
+ # @return [String]
1026
+ attr_accessor :encryption_key
1027
+
1028
+ # Output only. A system-generated fingerprint for this version of the resource.
1029
+ # May be used to detect modification conflict during updates.
1030
+ # Corresponds to the JSON property `etag`
1031
+ # @return [String]
1032
+ attr_accessor :etag
1033
+
1034
+ # The execution environment being used to host this Revision.
1035
+ # Corresponds to the JSON property `executionEnvironment`
1036
+ # @return [String]
1037
+ attr_accessor :execution_environment
1038
+
1039
+ # Output only. For a deleted resource, the time after which it will be
1040
+ # permamently deleted. It is only populated as a response to a Delete request.
1041
+ # Corresponds to the JSON property `expireTime`
1042
+ # @return [String]
1043
+ attr_accessor :expire_time
1044
+
1045
+ # Output only. A number that monotonically increases every time the user
1046
+ # modifies the desired state.
1047
+ # Corresponds to the JSON property `generation`
1048
+ # @return [Fixnum]
1049
+ attr_accessor :generation
1050
+
1051
+ # KRM-style labels for the resource. User-provided labels are shared with Google'
1052
+ # s billing system, so they can be used to filter, or break down billing charges
1053
+ # by team, component, environment, state, etc. For more information, visit https:
1054
+ # //cloud.google.com/resource-manager/docs/creating-managing-labels or https://
1055
+ # cloud.google.com/run/docs/configuring/labels Cloud Run will populate some
1056
+ # labels with 'run.googleapis.com' or 'serving.knative.dev' namespaces. Those
1057
+ # labels are read-only, and user changes will not be preserved.
1058
+ # Corresponds to the JSON property `labels`
1059
+ # @return [Hash<String,String>]
1060
+ attr_accessor :labels
1061
+
1062
+ # Set the launch stage to a preview stage on write to allow use of preview
1063
+ # features in that stage. On read, describes whether the resource uses preview
1064
+ # features. Launch Stages are defined at [Google Cloud Platform Launch Stages](
1065
+ # https://cloud.google.com/terms/launch-stages).
1066
+ # Corresponds to the JSON property `launchStage`
1067
+ # @return [String]
1068
+ attr_accessor :launch_stage
1069
+
1070
+ # Output only. The Google Console URI to obtain logs for the Revision.
1071
+ # Corresponds to the JSON property `logUri`
1072
+ # @return [String]
1073
+ attr_accessor :log_uri
1074
+
1075
+ # Output only. The unique name of this Revision.
1076
+ # Corresponds to the JSON property `name`
1077
+ # @return [String]
1078
+ attr_accessor :name
1079
+
1080
+ # Output only. The generation of this Revision currently serving traffic. See
1081
+ # comments in `reconciling` for additional information on reconciliation process
1082
+ # in Cloud Run.
1083
+ # Corresponds to the JSON property `observedGeneration`
1084
+ # @return [Fixnum]
1085
+ attr_accessor :observed_generation
1086
+
1087
+ # Output only. Indicates whether the resource's reconciliation is still in
1088
+ # progress. See comments in `Service.reconciling` for additional information on
1089
+ # reconciliation process in Cloud Run.
1090
+ # Corresponds to the JSON property `reconciling`
1091
+ # @return [Boolean]
1092
+ attr_accessor :reconciling
1093
+ alias_method :reconciling?, :reconciling
1094
+
1095
+ # Settings for revision-level scaling settings.
1096
+ # Corresponds to the JSON property `scaling`
1097
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2RevisionScaling]
1098
+ attr_accessor :scaling
1099
+
1100
+ # Output only. The name of the parent service.
1101
+ # Corresponds to the JSON property `service`
1102
+ # @return [String]
1103
+ attr_accessor :service
1104
+
1105
+ # Email address of the IAM service account associated with the revision of the
1106
+ # service. The service account represents the identity of the running revision,
1107
+ # and determines what permissions the revision has.
1108
+ # Corresponds to the JSON property `serviceAccount`
1109
+ # @return [String]
1110
+ attr_accessor :service_account
1111
+
1112
+ # Max allowed time for an instance to respond to a request.
1113
+ # Corresponds to the JSON property `timeout`
1114
+ # @return [String]
1115
+ attr_accessor :timeout
1116
+
1117
+ # Output only. Server assigned unique identifier for the Revision. The value is
1118
+ # a UUID4 string and guaranteed to remain unchanged until the resource is
1119
+ # deleted.
1120
+ # Corresponds to the JSON property `uid`
1121
+ # @return [String]
1122
+ attr_accessor :uid
1123
+
1124
+ # Output only. The last-modified time.
1125
+ # Corresponds to the JSON property `updateTime`
1126
+ # @return [String]
1127
+ attr_accessor :update_time
1128
+
1129
+ # A list of Volumes to make available to containers.
1130
+ # Corresponds to the JSON property `volumes`
1131
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Volume>]
1132
+ attr_accessor :volumes
1133
+
1134
+ # VPC Access settings. For more information on creating a VPC Connector, visit
1135
+ # https://cloud.google.com/vpc/docs/configure-serverless-vpc-access For
1136
+ # information on how to configure Cloud Run with an existing VPC Connector,
1137
+ # visit https://cloud.google.com/run/docs/configuring/connecting-vpc
1138
+ # Corresponds to the JSON property `vpcAccess`
1139
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2VpcAccess]
1140
+ attr_accessor :vpc_access
1141
+
1142
+ def initialize(**args)
1143
+ update!(**args)
1144
+ end
1145
+
1146
+ # Update properties of this object
1147
+ def update!(**args)
1148
+ @annotations = args[:annotations] if args.key?(:annotations)
1149
+ @conditions = args[:conditions] if args.key?(:conditions)
1150
+ @confidential = args[:confidential] if args.key?(:confidential)
1151
+ @container_concurrency = args[:container_concurrency] if args.key?(:container_concurrency)
1152
+ @containers = args[:containers] if args.key?(:containers)
1153
+ @create_time = args[:create_time] if args.key?(:create_time)
1154
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
1155
+ @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
1156
+ @etag = args[:etag] if args.key?(:etag)
1157
+ @execution_environment = args[:execution_environment] if args.key?(:execution_environment)
1158
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
1159
+ @generation = args[:generation] if args.key?(:generation)
1160
+ @labels = args[:labels] if args.key?(:labels)
1161
+ @launch_stage = args[:launch_stage] if args.key?(:launch_stage)
1162
+ @log_uri = args[:log_uri] if args.key?(:log_uri)
1163
+ @name = args[:name] if args.key?(:name)
1164
+ @observed_generation = args[:observed_generation] if args.key?(:observed_generation)
1165
+ @reconciling = args[:reconciling] if args.key?(:reconciling)
1166
+ @scaling = args[:scaling] if args.key?(:scaling)
1167
+ @service = args[:service] if args.key?(:service)
1168
+ @service_account = args[:service_account] if args.key?(:service_account)
1169
+ @timeout = args[:timeout] if args.key?(:timeout)
1170
+ @uid = args[:uid] if args.key?(:uid)
1171
+ @update_time = args[:update_time] if args.key?(:update_time)
1172
+ @volumes = args[:volumes] if args.key?(:volumes)
1173
+ @vpc_access = args[:vpc_access] if args.key?(:vpc_access)
1174
+ end
1175
+ end
1176
+
1177
+ # Settings for revision-level scaling settings.
1178
+ class GoogleCloudRunV2RevisionScaling
1179
+ include Google::Apis::Core::Hashable
1180
+
1181
+ # Maximum number of serving instances that this resource should have.
1182
+ # Corresponds to the JSON property `maxInstanceCount`
1183
+ # @return [Fixnum]
1184
+ attr_accessor :max_instance_count
1185
+
1186
+ # Minimum number of serving instances that this resource should have.
1187
+ # Corresponds to the JSON property `minInstanceCount`
1188
+ # @return [Fixnum]
1189
+ attr_accessor :min_instance_count
1190
+
1191
+ def initialize(**args)
1192
+ update!(**args)
1193
+ end
1194
+
1195
+ # Update properties of this object
1196
+ def update!(**args)
1197
+ @max_instance_count = args[:max_instance_count] if args.key?(:max_instance_count)
1198
+ @min_instance_count = args[:min_instance_count] if args.key?(:min_instance_count)
1199
+ end
1200
+ end
1201
+
1202
+ # RevisionTemplate describes the data a revision should have when created from a
1203
+ # template.
1204
+ class GoogleCloudRunV2RevisionTemplate
1205
+ include Google::Apis::Core::Hashable
1206
+
1207
+ # KRM-style annotations for the resource.
1208
+ # Corresponds to the JSON property `annotations`
1209
+ # @return [Hash<String,String>]
1210
+ attr_accessor :annotations
1211
+
1212
+ # Enables Confidential Cloud Run in Revisions created using this template.
1213
+ # Corresponds to the JSON property `confidential`
1214
+ # @return [Boolean]
1215
+ attr_accessor :confidential
1216
+ alias_method :confidential?, :confidential
1217
+
1218
+ # Sets the maximum number of requests that each serving instance can receive.
1219
+ # Corresponds to the JSON property `containerConcurrency`
1220
+ # @return [Fixnum]
1221
+ attr_accessor :container_concurrency
1222
+
1223
+ # Holds the single container that defines the unit of execution for this
1224
+ # Revision.
1225
+ # Corresponds to the JSON property `containers`
1226
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Container>]
1227
+ attr_accessor :containers
1228
+
1229
+ # A reference to a customer managed encryption key (CMEK) to use to encrypt this
1230
+ # container image. For more information, go to https://cloud.google.com/run/docs/
1231
+ # securing/using-cmek
1232
+ # Corresponds to the JSON property `encryptionKey`
658
1233
  # @return [String]
659
1234
  attr_accessor :encryption_key
660
1235
 
@@ -711,19 +1286,47 @@ module Google
711
1286
 
712
1287
  # Update properties of this object
713
1288
  def update!(**args)
714
- @annotations = args[:annotations] if args.key?(:annotations)
715
- @confidential = args[:confidential] if args.key?(:confidential)
716
- @container_concurrency = args[:container_concurrency] if args.key?(:container_concurrency)
717
- @containers = args[:containers] if args.key?(:containers)
718
- @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
719
- @execution_environment = args[:execution_environment] if args.key?(:execution_environment)
720
- @labels = args[:labels] if args.key?(:labels)
721
- @revision = args[:revision] if args.key?(:revision)
722
- @scaling = args[:scaling] if args.key?(:scaling)
723
- @service_account = args[:service_account] if args.key?(:service_account)
724
- @timeout = args[:timeout] if args.key?(:timeout)
725
- @volumes = args[:volumes] if args.key?(:volumes)
726
- @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)
727
1330
  end
728
1331
  end
729
1332
 
@@ -1044,6 +1647,331 @@ module Google
1044
1647
  end
1045
1648
  end
1046
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
+
1047
1975
  # Holds a single traffic routing entry for the Service. Allocations can be done
1048
1976
  # to a specific Revision name, or pointing to the latest Ready Revision.
1049
1977
  class GoogleCloudRunV2TrafficTarget
@@ -1354,7 +2282,7 @@ module Google
1354
2282
  # @return [Google::Apis::RunV2::GoogleTypeExpr]
1355
2283
  attr_accessor :condition
1356
2284
 
1357
- # Specifies the principals requesting access for a Cloud Platform resource. `
2285
+ # Specifies the principals requesting access for a Google Cloud resource. `
1358
2286
  # members` can have the following values: * `allUsers`: A special identifier
1359
2287
  # that represents anyone who is on the internet; with or without a Google
1360
2288
  # account. * `allAuthenticatedUsers`: A special identifier that represents
@@ -1555,7 +2483,7 @@ module Google
1555
2483
  include Google::Apis::Core::Hashable
1556
2484
 
1557
2485
  # The set of permissions to check for the `resource`. Permissions with wildcards
1558
- # (such as '*' or 'storage.*') are not allowed. For more information see [IAM
2486
+ # (such as `*` or `storage.*`) are not allowed. For more information see [IAM
1559
2487
  # Overview](https://cloud.google.com/iam/docs/overview#permissions).
1560
2488
  # Corresponds to the JSON property `permissions`
1561
2489
  # @return [Array<String>]