google-apis-run_v2 0.82.0 → 0.83.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -59,11 +59,115 @@ module Google
59
59
  end
60
60
  end
61
61
 
62
+ # Describes the Build step of the function that builds a container from the
63
+ # given source.
64
+ class GoogleCloudRunV2BuildConfig
65
+ include Google::Apis::Core::Hashable
66
+
67
+ # Optional. The base image used to build the function.
68
+ # Corresponds to the JSON property `baseImage`
69
+ # @return [String]
70
+ attr_accessor :base_image
71
+
72
+ # Optional. Sets whether the function will receive automatic base image updates.
73
+ # Corresponds to the JSON property `enableAutomaticUpdates`
74
+ # @return [Boolean]
75
+ attr_accessor :enable_automatic_updates
76
+ alias_method :enable_automatic_updates?, :enable_automatic_updates
77
+
78
+ # Optional. User-provided build-time environment variables for the function
79
+ # Corresponds to the JSON property `environmentVariables`
80
+ # @return [Hash<String,String>]
81
+ attr_accessor :environment_variables
82
+
83
+ # Optional. The name of the function (as defined in source code) that will be
84
+ # executed. Defaults to the resource name suffix, if not specified. For backward
85
+ # compatibility, if function with given name is not found, then the system will
86
+ # try to use function named "function".
87
+ # Corresponds to the JSON property `functionTarget`
88
+ # @return [String]
89
+ attr_accessor :function_target
90
+
91
+ # Optional. Artifact Registry URI to store the built image.
92
+ # Corresponds to the JSON property `imageUri`
93
+ # @return [String]
94
+ attr_accessor :image_uri
95
+
96
+ # Output only. The Cloud Build name of the latest successful deployment of the
97
+ # function.
98
+ # Corresponds to the JSON property `name`
99
+ # @return [String]
100
+ attr_accessor :name
101
+
102
+ # Optional. Service account to be used for building the container. The format of
103
+ # this field is `projects/`projectId`/serviceAccounts/`serviceAccountEmail``.
104
+ # Corresponds to the JSON property `serviceAccount`
105
+ # @return [String]
106
+ attr_accessor :service_account
107
+
108
+ # The Cloud Storage bucket URI where the function source code is located.
109
+ # Corresponds to the JSON property `sourceLocation`
110
+ # @return [String]
111
+ attr_accessor :source_location
112
+
113
+ # Optional. Name of the Cloud Build Custom Worker Pool that should be used to
114
+ # build the Cloud Run function. The format of this field is `projects/`project`/
115
+ # locations/`region`/workerPools/`workerPool`` where ``project`` and ``region``
116
+ # are the project id and region respectively where the worker pool is defined
117
+ # and ``workerPool`` is the short name of the worker pool.
118
+ # Corresponds to the JSON property `workerPool`
119
+ # @return [String]
120
+ attr_accessor :worker_pool
121
+
122
+ def initialize(**args)
123
+ update!(**args)
124
+ end
125
+
126
+ # Update properties of this object
127
+ def update!(**args)
128
+ @base_image = args[:base_image] if args.key?(:base_image)
129
+ @enable_automatic_updates = args[:enable_automatic_updates] if args.key?(:enable_automatic_updates)
130
+ @environment_variables = args[:environment_variables] if args.key?(:environment_variables)
131
+ @function_target = args[:function_target] if args.key?(:function_target)
132
+ @image_uri = args[:image_uri] if args.key?(:image_uri)
133
+ @name = args[:name] if args.key?(:name)
134
+ @service_account = args[:service_account] if args.key?(:service_account)
135
+ @source_location = args[:source_location] if args.key?(:source_location)
136
+ @worker_pool = args[:worker_pool] if args.key?(:worker_pool)
137
+ end
138
+ end
139
+
140
+ # Build information of the image.
141
+ class GoogleCloudRunV2BuildInfo
142
+ include Google::Apis::Core::Hashable
143
+
144
+ # Output only. Entry point of the function when the image is a Cloud Run
145
+ # function.
146
+ # Corresponds to the JSON property `functionTarget`
147
+ # @return [String]
148
+ attr_accessor :function_target
149
+
150
+ # Output only. Source code location of the image.
151
+ # Corresponds to the JSON property `sourceLocation`
152
+ # @return [String]
153
+ attr_accessor :source_location
154
+
155
+ def initialize(**args)
156
+ update!(**args)
157
+ end
158
+
159
+ # Update properties of this object
160
+ def update!(**args)
161
+ @function_target = args[:function_target] if args.key?(:function_target)
162
+ @source_location = args[:source_location] if args.key?(:source_location)
163
+ end
164
+ end
165
+
62
166
  # Build the source using Buildpacks.
63
167
  class GoogleCloudRunV2BuildpacksBuild
64
168
  include Google::Apis::Core::Hashable
65
169
 
66
- # Optional. The base image used to opt into automatic base image updates.
170
+ # Optional. The base image to use for the build.
67
171
  # Corresponds to the JSON property `baseImage`
68
172
  # @return [String]
69
173
  attr_accessor :base_image
@@ -251,6 +355,17 @@ module Google
251
355
  # @return [Array<String>]
252
356
  attr_accessor :args
253
357
 
358
+ # Base image for this container. Only supported for services. If set, it
359
+ # indicates that the service is enrolled into automatic base image update.
360
+ # Corresponds to the JSON property `baseImageUri`
361
+ # @return [String]
362
+ attr_accessor :base_image_uri
363
+
364
+ # Build information of the image.
365
+ # Corresponds to the JSON property `buildInfo`
366
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2BuildInfo]
367
+ attr_accessor :build_info
368
+
254
369
  # Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT
255
370
  # is used if this is not provided.
256
371
  # Corresponds to the JSON property `command`
@@ -323,6 +438,8 @@ module Google
323
438
  # Update properties of this object
324
439
  def update!(**args)
325
440
  @args = args[:args] if args.key?(:args)
441
+ @base_image_uri = args[:base_image_uri] if args.key?(:base_image_uri)
442
+ @build_info = args[:build_info] if args.key?(:build_info)
326
443
  @command = args[:command] if args.key?(:command)
327
444
  @depends_on = args[:depends_on] if args.key?(:depends_on)
328
445
  @env = args[:env] if args.key?(:env)
@@ -539,6 +656,11 @@ module Google
539
656
  # @return [String]
540
657
  attr_accessor :create_time
541
658
 
659
+ # Output only. Email address of the authenticated creator.
660
+ # Corresponds to the JSON property `creator`
661
+ # @return [String]
662
+ attr_accessor :creator
663
+
542
664
  # Output only. For a deleted resource, the deletion time. It is only populated
543
665
  # as a response to a Delete request.
544
666
  # Corresponds to the JSON property `deleteTime`
@@ -689,6 +811,7 @@ module Google
689
811
  @completion_time = args[:completion_time] if args.key?(:completion_time)
690
812
  @conditions = args[:conditions] if args.key?(:conditions)
691
813
  @create_time = args[:create_time] if args.key?(:create_time)
814
+ @creator = args[:creator] if args.key?(:creator)
692
815
  @delete_time = args[:delete_time] if args.key?(:delete_time)
693
816
  @etag = args[:etag] if args.key?(:etag)
694
817
  @expire_time = args[:expire_time] if args.key?(:expire_time)
@@ -788,12 +911,12 @@ module Google
788
911
  # @return [Hash<String,String>]
789
912
  attr_accessor :labels
790
913
 
791
- # Specifies the maximum desired number of tasks the execution should run at
792
- # given time. Must be <= task_count. When the job is run, if this field is 0 or
793
- # unset, the maximum possible value will be used for that execution. The actual
794
- # number of tasks running in steady state will be less than this number when
795
- # there are fewer tasks waiting to be completed remaining, i.e. when the work
796
- # left to do is less than max parallelism.
914
+ # Optional. Specifies the maximum desired number of tasks the execution should
915
+ # run at given time. When the job is run, if this field is 0 or unset, the
916
+ # maximum possible value will be used for that execution. The actual number of
917
+ # tasks running in steady state will be less than this number when there are
918
+ # fewer tasks waiting to be completed remaining, i.e. when the work left to do
919
+ # is less than max parallelism.
797
920
  # Corresponds to the JSON property `parallelism`
798
921
  # @return [Fixnum]
799
922
  attr_accessor :parallelism
@@ -1056,6 +1179,71 @@ module Google
1056
1179
  end
1057
1180
  end
1058
1181
 
1182
+ # Holds a single instance split entry for the Worker. Allocations can be done to
1183
+ # a specific Revision name, or pointing to the latest Ready Revision.
1184
+ class GoogleCloudRunV2InstanceSplit
1185
+ include Google::Apis::Core::Hashable
1186
+
1187
+ # Specifies percent of the instance split to this Revision. This defaults to
1188
+ # zero if unspecified.
1189
+ # Corresponds to the JSON property `percent`
1190
+ # @return [Fixnum]
1191
+ attr_accessor :percent
1192
+
1193
+ # Revision to which to assign this portion of instances, if split allocation is
1194
+ # by revision.
1195
+ # Corresponds to the JSON property `revision`
1196
+ # @return [String]
1197
+ attr_accessor :revision
1198
+
1199
+ # The allocation type for this instance split.
1200
+ # Corresponds to the JSON property `type`
1201
+ # @return [String]
1202
+ attr_accessor :type
1203
+
1204
+ def initialize(**args)
1205
+ update!(**args)
1206
+ end
1207
+
1208
+ # Update properties of this object
1209
+ def update!(**args)
1210
+ @percent = args[:percent] if args.key?(:percent)
1211
+ @revision = args[:revision] if args.key?(:revision)
1212
+ @type = args[:type] if args.key?(:type)
1213
+ end
1214
+ end
1215
+
1216
+ # Represents the observed state of a single `InstanceSplit` entry.
1217
+ class GoogleCloudRunV2InstanceSplitStatus
1218
+ include Google::Apis::Core::Hashable
1219
+
1220
+ # Specifies percent of the instance split to this Revision.
1221
+ # Corresponds to the JSON property `percent`
1222
+ # @return [Fixnum]
1223
+ attr_accessor :percent
1224
+
1225
+ # Revision to which this instance split is assigned.
1226
+ # Corresponds to the JSON property `revision`
1227
+ # @return [String]
1228
+ attr_accessor :revision
1229
+
1230
+ # The allocation type for this instance split.
1231
+ # Corresponds to the JSON property `type`
1232
+ # @return [String]
1233
+ attr_accessor :type
1234
+
1235
+ def initialize(**args)
1236
+ update!(**args)
1237
+ end
1238
+
1239
+ # Update properties of this object
1240
+ def update!(**args)
1241
+ @percent = args[:percent] if args.key?(:percent)
1242
+ @revision = args[:revision] if args.key?(:revision)
1243
+ @type = args[:type] if args.key?(:type)
1244
+ end
1245
+ end
1246
+
1059
1247
  # Job represents the configuration of a single job, which references a container
1060
1248
  # image that is run to completion.
1061
1249
  class GoogleCloudRunV2Job
@@ -1410,6 +1598,32 @@ module Google
1410
1598
  end
1411
1599
  end
1412
1600
 
1601
+ # Response message containing a list of WorkerPools.
1602
+ class GoogleCloudRunV2ListWorkerPoolsResponse
1603
+ include Google::Apis::Core::Hashable
1604
+
1605
+ # A token indicating there are more items than page_size. Use it in the next
1606
+ # ListWorkerPools request to continue.
1607
+ # Corresponds to the JSON property `nextPageToken`
1608
+ # @return [String]
1609
+ attr_accessor :next_page_token
1610
+
1611
+ # The resulting list of WorkerPools.
1612
+ # Corresponds to the JSON property `workerPools`
1613
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2WorkerPool>]
1614
+ attr_accessor :worker_pools
1615
+
1616
+ def initialize(**args)
1617
+ update!(**args)
1618
+ end
1619
+
1620
+ # Update properties of this object
1621
+ def update!(**args)
1622
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1623
+ @worker_pools = args[:worker_pools] if args.key?(:worker_pools)
1624
+ end
1625
+ end
1626
+
1413
1627
  # Metadata represents the JSON encoded generated customer metadata.
1414
1628
  class GoogleCloudRunV2Metadata
1415
1629
  include Google::Apis::Core::Hashable
@@ -1687,6 +1901,11 @@ module Google
1687
1901
  # @return [String]
1688
1902
  attr_accessor :create_time
1689
1903
 
1904
+ # Output only. Email address of the authenticated creator.
1905
+ # Corresponds to the JSON property `creator`
1906
+ # @return [String]
1907
+ attr_accessor :creator
1908
+
1690
1909
  # Output only. For a deleted resource, the deletion time. It is only populated
1691
1910
  # as a response to a Delete request.
1692
1911
  # Corresponds to the JSON property `deleteTime`
@@ -1867,6 +2086,7 @@ module Google
1867
2086
  @conditions = args[:conditions] if args.key?(:conditions)
1868
2087
  @containers = args[:containers] if args.key?(:containers)
1869
2088
  @create_time = args[:create_time] if args.key?(:create_time)
2089
+ @creator = args[:creator] if args.key?(:creator)
1870
2090
  @delete_time = args[:delete_time] if args.key?(:delete_time)
1871
2091
  @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
1872
2092
  @encryption_key_revocation_action = args[:encryption_key_revocation_action] if args.key?(:encryption_key_revocation_action)
@@ -2232,6 +2452,12 @@ module Google
2232
2452
  # @return [Google::Apis::RunV2::GoogleCloudRunV2BinaryAuthorization]
2233
2453
  attr_accessor :binary_authorization
2234
2454
 
2455
+ # Describes the Build step of the function that builds a container from the
2456
+ # given source.
2457
+ # Corresponds to the JSON property `buildConfig`
2458
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2BuildConfig]
2459
+ attr_accessor :build_config
2460
+
2235
2461
  # Arbitrary identifier for the API client.
2236
2462
  # Corresponds to the JSON property `client`
2237
2463
  # @return [String]
@@ -2293,7 +2519,7 @@ module Google
2293
2519
  attr_accessor :etag
2294
2520
 
2295
2521
  # Output only. For a deleted resource, the time after which it will be
2296
- # permamently deleted.
2522
+ # permanently deleted.
2297
2523
  # Corresponds to the JSON property `expireTime`
2298
2524
  # @return [String]
2299
2525
  attr_accessor :expire_time
@@ -2386,7 +2612,7 @@ module Google
2386
2612
  # an existing one is updated, Cloud Run will asynchronously perform all
2387
2613
  # necessary steps to bring the Service to the desired serving state. This
2388
2614
  # process is called reconciliation. While reconciliation is in process, `
2389
- # observed_generation`, `latest_ready_revison`, `traffic_statuses`, and `uri`
2615
+ # observed_generation`, `latest_ready_revision`, `traffic_statuses`, and `uri`
2390
2616
  # will have transient values that might mismatch the intended state: Once
2391
2617
  # reconciliation is over (and this field is false), there are two possible
2392
2618
  # outcomes: reconciliation succeeded and the serving state matches the Service,
@@ -2469,6 +2695,7 @@ module Google
2469
2695
  def update!(**args)
2470
2696
  @annotations = args[:annotations] if args.key?(:annotations)
2471
2697
  @binary_authorization = args[:binary_authorization] if args.key?(:binary_authorization)
2698
+ @build_config = args[:build_config] if args.key?(:build_config)
2472
2699
  @client = args[:client] if args.key?(:client)
2473
2700
  @client_version = args[:client_version] if args.key?(:client_version)
2474
2701
  @conditions = args[:conditions] if args.key?(:conditions)
@@ -2833,6 +3060,11 @@ module Google
2833
3060
  # @return [String]
2834
3061
  attr_accessor :name
2835
3062
 
3063
+ # Hardware constraints configuration.
3064
+ # Corresponds to the JSON property `nodeSelector`
3065
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2NodeSelector]
3066
+ attr_accessor :node_selector
3067
+
2836
3068
  # Output only. The generation of this Task. See comments in `Job.reconciling`
2837
3069
  # for additional information on reconciliation process in Cloud Run.
2838
3070
  # Corresponds to the JSON property `observedGeneration`
@@ -2934,6 +3166,7 @@ module Google
2934
3166
  @log_uri = args[:log_uri] if args.key?(:log_uri)
2935
3167
  @max_retries = args[:max_retries] if args.key?(:max_retries)
2936
3168
  @name = args[:name] if args.key?(:name)
3169
+ @node_selector = args[:node_selector] if args.key?(:node_selector)
2937
3170
  @observed_generation = args[:observed_generation] if args.key?(:observed_generation)
2938
3171
  @reconciling = args[:reconciling] if args.key?(:reconciling)
2939
3172
  @retried = args[:retried] if args.key?(:retried)
@@ -3009,6 +3242,11 @@ module Google
3009
3242
  # @return [Fixnum]
3010
3243
  attr_accessor :max_retries
3011
3244
 
3245
+ # Hardware constraints configuration.
3246
+ # Corresponds to the JSON property `nodeSelector`
3247
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2NodeSelector]
3248
+ attr_accessor :node_selector
3249
+
3012
3250
  # Optional. Email address of the IAM service account associated with the Task of
3013
3251
  # a Job. The service account represents the identity of the running task, and
3014
3252
  # determines what permissions the task has. If not provided, the task will use
@@ -3046,6 +3284,7 @@ module Google
3046
3284
  @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
3047
3285
  @execution_environment = args[:execution_environment] if args.key?(:execution_environment)
3048
3286
  @max_retries = args[:max_retries] if args.key?(:max_retries)
3287
+ @node_selector = args[:node_selector] if args.key?(:node_selector)
3049
3288
  @service_account = args[:service_account] if args.key?(:service_account)
3050
3289
  @timeout = args[:timeout] if args.key?(:timeout)
3051
3290
  @volumes = args[:volumes] if args.key?(:volumes)
@@ -3298,68 +3537,510 @@ module Google
3298
3537
  end
3299
3538
  end
3300
3539
 
3301
- # ApprovalConfig describes configuration for manual approval of a build.
3302
- class GoogleDevtoolsCloudbuildV1ApprovalConfig
3540
+ # WorkerPool acts as a top-level container that manages a set of configurations
3541
+ # and revision templates which implement a pull-based workload. WorkerPool
3542
+ # exists to provide a singular abstraction which can be access controlled,
3543
+ # reasoned about, and which encapsulates software lifecycle decisions such as
3544
+ # rollout policy and team resource ownership.
3545
+ class GoogleCloudRunV2WorkerPool
3303
3546
  include Google::Apis::Core::Hashable
3304
3547
 
3305
- # Whether or not approval is needed. If this is set on a build, it will become
3306
- # pending when created, and will need to be explicitly approved to start.
3307
- # Corresponds to the JSON property `approvalRequired`
3308
- # @return [Boolean]
3309
- attr_accessor :approval_required
3310
- alias_method :approval_required?, :approval_required
3311
-
3312
- def initialize(**args)
3313
- update!(**args)
3314
- end
3315
-
3316
- # Update properties of this object
3317
- def update!(**args)
3318
- @approval_required = args[:approval_required] if args.key?(:approval_required)
3319
- end
3320
- end
3548
+ # Optional. Unstructured key value map that may be set by external tools to
3549
+ # store and arbitrary metadata. They are not queryable and should be preserved
3550
+ # when modifying objects. Cloud Run API v2 does not support annotations with `
3551
+ # run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `
3552
+ # autoscaling.knative.dev` namespaces, and they will be rejected in new
3553
+ # resources. All system annotations in v1 now have a corresponding field in v2
3554
+ # WorkerPool. This field follows Kubernetes annotations' namespacing, limits,
3555
+ # and rules.
3556
+ # Corresponds to the JSON property `annotations`
3557
+ # @return [Hash<String,String>]
3558
+ attr_accessor :annotations
3321
3559
 
3322
- # ApprovalResult describes the decision and associated metadata of a manual
3323
- # approval of a build.
3324
- class GoogleDevtoolsCloudbuildV1ApprovalResult
3325
- include Google::Apis::Core::Hashable
3560
+ # Settings for Binary Authorization feature.
3561
+ # Corresponds to the JSON property `binaryAuthorization`
3562
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2BinaryAuthorization]
3563
+ attr_accessor :binary_authorization
3326
3564
 
3327
- # Output only. The time when the approval decision was made.
3328
- # Corresponds to the JSON property `approvalTime`
3565
+ # Arbitrary identifier for the API client.
3566
+ # Corresponds to the JSON property `client`
3329
3567
  # @return [String]
3330
- attr_accessor :approval_time
3568
+ attr_accessor :client
3331
3569
 
3332
- # Output only. Email of the user that called the ApproveBuild API to approve or
3333
- # reject a build at the time that the API was called.
3334
- # Corresponds to the JSON property `approverAccount`
3570
+ # Arbitrary version identifier for the API client.
3571
+ # Corresponds to the JSON property `clientVersion`
3335
3572
  # @return [String]
3336
- attr_accessor :approver_account
3573
+ attr_accessor :client_version
3337
3574
 
3338
- # Optional. An optional comment for this manual approval result.
3339
- # Corresponds to the JSON property `comment`
3340
- # @return [String]
3341
- attr_accessor :comment
3575
+ # Output only. The Conditions of all other associated sub-resources. They
3576
+ # contain additional diagnostics information in case the WorkerPool does not
3577
+ # reach its Serving state. See comments in `reconciling` for additional
3578
+ # information on reconciliation process in Cloud Run.
3579
+ # Corresponds to the JSON property `conditions`
3580
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Condition>]
3581
+ attr_accessor :conditions
3342
3582
 
3343
- # Required. The decision of this manual approval.
3344
- # Corresponds to the JSON property `decision`
3583
+ # Output only. The creation time.
3584
+ # Corresponds to the JSON property `createTime`
3345
3585
  # @return [String]
3346
- attr_accessor :decision
3586
+ attr_accessor :create_time
3347
3587
 
3348
- # Optional. An optional URL tied to this manual approval result. This field is
3349
- # essentially the same as comment, except that it will be rendered by the UI
3350
- # differently. An example use case is a link to an external job that approved
3351
- # this Build.
3352
- # Corresponds to the JSON property `url`
3588
+ # Output only. Email address of the authenticated creator.
3589
+ # Corresponds to the JSON property `creator`
3353
3590
  # @return [String]
3354
- attr_accessor :url
3591
+ attr_accessor :creator
3355
3592
 
3356
- def initialize(**args)
3357
- update!(**args)
3358
- end
3593
+ # One or more custom audiences that you want this worker pool to support.
3594
+ # Specify each custom audience as the full URL in a string. The custom audiences
3595
+ # are encoded in the token and used to authenticate requests. For more
3596
+ # information, see https://cloud.google.com/run/docs/configuring/custom-
3597
+ # audiences.
3598
+ # Corresponds to the JSON property `customAudiences`
3599
+ # @return [Array<String>]
3600
+ attr_accessor :custom_audiences
3359
3601
 
3360
- # Update properties of this object
3361
- def update!(**args)
3362
- @approval_time = args[:approval_time] if args.key?(:approval_time)
3602
+ # Output only. The deletion time. It is only populated as a response to a Delete
3603
+ # request.
3604
+ # Corresponds to the JSON property `deleteTime`
3605
+ # @return [String]
3606
+ attr_accessor :delete_time
3607
+
3608
+ # User-provided description of the WorkerPool. This field currently has a 512-
3609
+ # character limit.
3610
+ # Corresponds to the JSON property `description`
3611
+ # @return [String]
3612
+ attr_accessor :description
3613
+
3614
+ # Output only. A system-generated fingerprint for this version of the resource.
3615
+ # May be used to detect modification conflict during updates.
3616
+ # Corresponds to the JSON property `etag`
3617
+ # @return [String]
3618
+ attr_accessor :etag
3619
+
3620
+ # Output only. For a deleted resource, the time after which it will be
3621
+ # permamently deleted.
3622
+ # Corresponds to the JSON property `expireTime`
3623
+ # @return [String]
3624
+ attr_accessor :expire_time
3625
+
3626
+ # Output only. A number that monotonically increases every time the user
3627
+ # modifies the desired state. Please note that unlike v1, this is an int64 value.
3628
+ # As with most Google APIs, its JSON representation will be a `string` instead
3629
+ # of an `integer`.
3630
+ # Corresponds to the JSON property `generation`
3631
+ # @return [Fixnum]
3632
+ attr_accessor :generation
3633
+
3634
+ # Output only. Detailed status information for corresponding instance splits.
3635
+ # See comments in `reconciling` for additional information on reconciliation
3636
+ # process in Cloud Run.
3637
+ # Corresponds to the JSON property `instanceSplitStatuses`
3638
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2InstanceSplitStatus>]
3639
+ attr_accessor :instance_split_statuses
3640
+
3641
+ # Optional. Specifies how to distribute instances over a collection of Revisions
3642
+ # belonging to the WorkerPool. If instance split is empty or not provided,
3643
+ # defaults to 100% instances assigned to the latest `Ready` Revision.
3644
+ # Corresponds to the JSON property `instanceSplits`
3645
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2InstanceSplit>]
3646
+ attr_accessor :instance_splits
3647
+
3648
+ # Optional. Unstructured key value map that can be used to organize and
3649
+ # categorize objects. User-provided labels are shared with Google's billing
3650
+ # system, so they can be used to filter, or break down billing charges by team,
3651
+ # component, environment, state, etc. For more information, visit https://cloud.
3652
+ # google.com/resource-manager/docs/creating-managing-labels or https://cloud.
3653
+ # google.com/run/docs/configuring/labels. Cloud Run API v2 does not support
3654
+ # labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`
3655
+ # , or `autoscaling.knative.dev` namespaces, and they will be rejected. All
3656
+ # system labels in v1 now have a corresponding field in v2 WorkerPool.
3657
+ # Corresponds to the JSON property `labels`
3658
+ # @return [Hash<String,String>]
3659
+ attr_accessor :labels
3660
+
3661
+ # Output only. Email address of the last authenticated modifier.
3662
+ # Corresponds to the JSON property `lastModifier`
3663
+ # @return [String]
3664
+ attr_accessor :last_modifier
3665
+
3666
+ # Output only. Name of the last created revision. See comments in `reconciling`
3667
+ # for additional information on reconciliation process in Cloud Run.
3668
+ # Corresponds to the JSON property `latestCreatedRevision`
3669
+ # @return [String]
3670
+ attr_accessor :latest_created_revision
3671
+
3672
+ # Output only. Name of the latest revision that is serving traffic. See comments
3673
+ # in `reconciling` for additional information on reconciliation process in Cloud
3674
+ # Run.
3675
+ # Corresponds to the JSON property `latestReadyRevision`
3676
+ # @return [String]
3677
+ attr_accessor :latest_ready_revision
3678
+
3679
+ # Optional. The launch stage as defined by [Google Cloud Platform Launch Stages](
3680
+ # https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `
3681
+ # BETA`, and `GA`. If no value is specified, GA is assumed. Set the launch stage
3682
+ # to a preview stage on input to allow use of preview features in that stage. On
3683
+ # read (or output), describes whether the resource uses preview features. For
3684
+ # example, if ALPHA is provided as input, but only BETA and GA-level features
3685
+ # are used, this field will be BETA on output.
3686
+ # Corresponds to the JSON property `launchStage`
3687
+ # @return [String]
3688
+ attr_accessor :launch_stage
3689
+
3690
+ # The fully qualified name of this WorkerPool. In CreateWorkerPoolRequest, this
3691
+ # field is ignored, and instead composed from CreateWorkerPoolRequest.parent and
3692
+ # CreateWorkerPoolRequest.worker_id. Format: projects/`project`/locations/`
3693
+ # location`/workerPools/`worker_id`
3694
+ # Corresponds to the JSON property `name`
3695
+ # @return [String]
3696
+ attr_accessor :name
3697
+
3698
+ # Output only. The generation of this WorkerPool currently serving traffic. See
3699
+ # comments in `reconciling` for additional information on reconciliation process
3700
+ # in Cloud Run. Please note that unlike v1, this is an int64 value. As with most
3701
+ # Google APIs, its JSON representation will be a `string` instead of an `integer`
3702
+ # .
3703
+ # Corresponds to the JSON property `observedGeneration`
3704
+ # @return [Fixnum]
3705
+ attr_accessor :observed_generation
3706
+
3707
+ # Output only. Returns true if the WorkerPool is currently being acted upon by
3708
+ # the system to bring it into the desired state. When a new WorkerPool is
3709
+ # created, or an existing one is updated, Cloud Run will asynchronously perform
3710
+ # all necessary steps to bring the WorkerPool to the desired serving state. This
3711
+ # process is called reconciliation. While reconciliation is in process, `
3712
+ # observed_generation`, `latest_ready_revison`, `traffic_statuses`, and `uri`
3713
+ # will have transient values that might mismatch the intended state: Once
3714
+ # reconciliation is over (and this field is false), there are two possible
3715
+ # outcomes: reconciliation succeeded and the serving state matches the
3716
+ # WorkerPool, or there was an error, and reconciliation failed. This state can
3717
+ # be found in `terminal_condition.state`. If reconciliation succeeded, the
3718
+ # following fields will match: `traffic` and `traffic_statuses`, `
3719
+ # observed_generation` and `generation`, `latest_ready_revision` and `
3720
+ # latest_created_revision`. If reconciliation failed, `traffic_statuses`, `
3721
+ # observed_generation`, and `latest_ready_revision` will have the state of the
3722
+ # last serving revision, or empty for newly created WorkerPools. Additional
3723
+ # information on the failure can be found in `terminal_condition` and `
3724
+ # conditions`.
3725
+ # Corresponds to the JSON property `reconciling`
3726
+ # @return [Boolean]
3727
+ attr_accessor :reconciling
3728
+ alias_method :reconciling?, :reconciling
3729
+
3730
+ # Output only. Reserved for future use.
3731
+ # Corresponds to the JSON property `satisfiesPzs`
3732
+ # @return [Boolean]
3733
+ attr_accessor :satisfies_pzs
3734
+ alias_method :satisfies_pzs?, :satisfies_pzs
3735
+
3736
+ # Worker pool scaling settings.
3737
+ # Corresponds to the JSON property `scaling`
3738
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2WorkerPoolScaling]
3739
+ attr_accessor :scaling
3740
+
3741
+ # WorkerPoolRevisionTemplate describes the data a worker pool revision should
3742
+ # have when created from a template.
3743
+ # Corresponds to the JSON property `template`
3744
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2WorkerPoolRevisionTemplate]
3745
+ attr_accessor :template
3746
+
3747
+ # Defines a status condition for a resource.
3748
+ # Corresponds to the JSON property `terminalCondition`
3749
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2Condition]
3750
+ attr_accessor :terminal_condition
3751
+
3752
+ # Output only. Server assigned unique identifier for the trigger. The value is a
3753
+ # UUID4 string and guaranteed to remain unchanged until the resource is deleted.
3754
+ # Corresponds to the JSON property `uid`
3755
+ # @return [String]
3756
+ attr_accessor :uid
3757
+
3758
+ # Output only. The last-modified time.
3759
+ # Corresponds to the JSON property `updateTime`
3760
+ # @return [String]
3761
+ attr_accessor :update_time
3762
+
3763
+ def initialize(**args)
3764
+ update!(**args)
3765
+ end
3766
+
3767
+ # Update properties of this object
3768
+ def update!(**args)
3769
+ @annotations = args[:annotations] if args.key?(:annotations)
3770
+ @binary_authorization = args[:binary_authorization] if args.key?(:binary_authorization)
3771
+ @client = args[:client] if args.key?(:client)
3772
+ @client_version = args[:client_version] if args.key?(:client_version)
3773
+ @conditions = args[:conditions] if args.key?(:conditions)
3774
+ @create_time = args[:create_time] if args.key?(:create_time)
3775
+ @creator = args[:creator] if args.key?(:creator)
3776
+ @custom_audiences = args[:custom_audiences] if args.key?(:custom_audiences)
3777
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
3778
+ @description = args[:description] if args.key?(:description)
3779
+ @etag = args[:etag] if args.key?(:etag)
3780
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
3781
+ @generation = args[:generation] if args.key?(:generation)
3782
+ @instance_split_statuses = args[:instance_split_statuses] if args.key?(:instance_split_statuses)
3783
+ @instance_splits = args[:instance_splits] if args.key?(:instance_splits)
3784
+ @labels = args[:labels] if args.key?(:labels)
3785
+ @last_modifier = args[:last_modifier] if args.key?(:last_modifier)
3786
+ @latest_created_revision = args[:latest_created_revision] if args.key?(:latest_created_revision)
3787
+ @latest_ready_revision = args[:latest_ready_revision] if args.key?(:latest_ready_revision)
3788
+ @launch_stage = args[:launch_stage] if args.key?(:launch_stage)
3789
+ @name = args[:name] if args.key?(:name)
3790
+ @observed_generation = args[:observed_generation] if args.key?(:observed_generation)
3791
+ @reconciling = args[:reconciling] if args.key?(:reconciling)
3792
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
3793
+ @scaling = args[:scaling] if args.key?(:scaling)
3794
+ @template = args[:template] if args.key?(:template)
3795
+ @terminal_condition = args[:terminal_condition] if args.key?(:terminal_condition)
3796
+ @uid = args[:uid] if args.key?(:uid)
3797
+ @update_time = args[:update_time] if args.key?(:update_time)
3798
+ end
3799
+ end
3800
+
3801
+ # WorkerPoolRevisionTemplate describes the data a worker pool revision should
3802
+ # have when created from a template.
3803
+ class GoogleCloudRunV2WorkerPoolRevisionTemplate
3804
+ include Google::Apis::Core::Hashable
3805
+
3806
+ # Optional. Unstructured key value map that may be set by external tools to
3807
+ # store and arbitrary metadata. They are not queryable and should be preserved
3808
+ # when modifying objects. Cloud Run API v2 does not support annotations with `
3809
+ # run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `
3810
+ # autoscaling.knative.dev` namespaces, and they will be rejected. All system
3811
+ # annotations in v1 now have a corresponding field in v2
3812
+ # WorkerPoolRevisionTemplate. This field follows Kubernetes annotations'
3813
+ # namespacing, limits, and rules.
3814
+ # Corresponds to the JSON property `annotations`
3815
+ # @return [Hash<String,String>]
3816
+ attr_accessor :annotations
3817
+
3818
+ # Holds list of the containers that defines the unit of execution for this
3819
+ # Revision.
3820
+ # Corresponds to the JSON property `containers`
3821
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Container>]
3822
+ attr_accessor :containers
3823
+
3824
+ # A reference to a customer managed encryption key (CMEK) to use to encrypt this
3825
+ # container image. For more information, go to https://cloud.google.com/run/docs/
3826
+ # securing/using-cmek
3827
+ # Corresponds to the JSON property `encryptionKey`
3828
+ # @return [String]
3829
+ attr_accessor :encryption_key
3830
+
3831
+ # Optional. The action to take if the encryption key is revoked.
3832
+ # Corresponds to the JSON property `encryptionKeyRevocationAction`
3833
+ # @return [String]
3834
+ attr_accessor :encryption_key_revocation_action
3835
+
3836
+ # Optional. If encryption_key_revocation_action is SHUTDOWN, the duration before
3837
+ # shutting down all instances. The minimum increment is 1 hour.
3838
+ # Corresponds to the JSON property `encryptionKeyShutdownDuration`
3839
+ # @return [String]
3840
+ attr_accessor :encryption_key_shutdown_duration
3841
+
3842
+ # Optional. Unstructured key value map that can be used to organize and
3843
+ # categorize objects. User-provided labels are shared with Google's billing
3844
+ # system, so they can be used to filter, or break down billing charges by team,
3845
+ # component, environment, state, etc. For more information, visit https://cloud.
3846
+ # google.com/resource-manager/docs/creating-managing-labels or https://cloud.
3847
+ # google.com/run/docs/configuring/labels. Cloud Run API v2 does not support
3848
+ # labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`
3849
+ # , or `autoscaling.knative.dev` namespaces, and they will be rejected. All
3850
+ # system labels in v1 now have a corresponding field in v2
3851
+ # WorkerPoolRevisionTemplate.
3852
+ # Corresponds to the JSON property `labels`
3853
+ # @return [Hash<String,String>]
3854
+ attr_accessor :labels
3855
+
3856
+ # Hardware constraints configuration.
3857
+ # Corresponds to the JSON property `nodeSelector`
3858
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2NodeSelector]
3859
+ attr_accessor :node_selector
3860
+
3861
+ # Optional. The unique name for the revision. If this field is omitted, it will
3862
+ # be automatically generated based on the WorkerPool name.
3863
+ # Corresponds to the JSON property `revision`
3864
+ # @return [String]
3865
+ attr_accessor :revision
3866
+
3867
+ # Optional. Email address of the IAM service account associated with the
3868
+ # revision of the service. The service account represents the identity of the
3869
+ # running revision, and determines what permissions the revision has. If not
3870
+ # provided, the revision will use the project's default service account.
3871
+ # Corresponds to the JSON property `serviceAccount`
3872
+ # @return [String]
3873
+ attr_accessor :service_account
3874
+
3875
+ # Settings for Cloud Service Mesh. For more information see https://cloud.google.
3876
+ # com/service-mesh/docs/overview.
3877
+ # Corresponds to the JSON property `serviceMesh`
3878
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2ServiceMesh]
3879
+ attr_accessor :service_mesh
3880
+
3881
+ # Optional. Enable session affinity.
3882
+ # Corresponds to the JSON property `sessionAffinity`
3883
+ # @return [Boolean]
3884
+ attr_accessor :session_affinity
3885
+ alias_method :session_affinity?, :session_affinity
3886
+
3887
+ # Optional. A list of Volumes to make available to containers.
3888
+ # Corresponds to the JSON property `volumes`
3889
+ # @return [Array<Google::Apis::RunV2::GoogleCloudRunV2Volume>]
3890
+ attr_accessor :volumes
3891
+
3892
+ # VPC Access settings. For more information on sending traffic to a VPC network,
3893
+ # visit https://cloud.google.com/run/docs/configuring/connecting-vpc.
3894
+ # Corresponds to the JSON property `vpcAccess`
3895
+ # @return [Google::Apis::RunV2::GoogleCloudRunV2VpcAccess]
3896
+ attr_accessor :vpc_access
3897
+
3898
+ def initialize(**args)
3899
+ update!(**args)
3900
+ end
3901
+
3902
+ # Update properties of this object
3903
+ def update!(**args)
3904
+ @annotations = args[:annotations] if args.key?(:annotations)
3905
+ @containers = args[:containers] if args.key?(:containers)
3906
+ @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
3907
+ @encryption_key_revocation_action = args[:encryption_key_revocation_action] if args.key?(:encryption_key_revocation_action)
3908
+ @encryption_key_shutdown_duration = args[:encryption_key_shutdown_duration] if args.key?(:encryption_key_shutdown_duration)
3909
+ @labels = args[:labels] if args.key?(:labels)
3910
+ @node_selector = args[:node_selector] if args.key?(:node_selector)
3911
+ @revision = args[:revision] if args.key?(:revision)
3912
+ @service_account = args[:service_account] if args.key?(:service_account)
3913
+ @service_mesh = args[:service_mesh] if args.key?(:service_mesh)
3914
+ @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
3915
+ @volumes = args[:volumes] if args.key?(:volumes)
3916
+ @vpc_access = args[:vpc_access] if args.key?(:vpc_access)
3917
+ end
3918
+ end
3919
+
3920
+ # Worker pool scaling settings.
3921
+ class GoogleCloudRunV2WorkerPoolScaling
3922
+ include Google::Apis::Core::Hashable
3923
+
3924
+ # Optional. The total number of instances in manual scaling mode.
3925
+ # Corresponds to the JSON property `manualInstanceCount`
3926
+ # @return [Fixnum]
3927
+ attr_accessor :manual_instance_count
3928
+
3929
+ # Optional. The maximum count of instances distributed among revisions based on
3930
+ # the specified instance split percentages.
3931
+ # Corresponds to the JSON property `maxInstanceCount`
3932
+ # @return [Fixnum]
3933
+ attr_accessor :max_instance_count
3934
+
3935
+ # Optional. A maximum percentage of instances that will be moved in each step of
3936
+ # traffic split changes. When set to a positive value, the server will bring up,
3937
+ # at most, that percentage of new instances at a time before moving traffic to
3938
+ # them. After moving traffic, the server will bring down instances of the old
3939
+ # revision. This can reduce a spike of total active instances during changes
3940
+ # from one revision to another but specifying how many extra instances can be
3941
+ # brought up at a time.
3942
+ # Corresponds to the JSON property `maxSurge`
3943
+ # @return [Fixnum]
3944
+ attr_accessor :max_surge
3945
+
3946
+ # Optional. A maximum percentage of instances that may be unavailable during
3947
+ # changes from one revision to another. When set to a positive value, the server
3948
+ # may bring down instances before bringing up new instances. This can prevent a
3949
+ # spike of total active instances during changes from one revision by reducing
3950
+ # the pool of instances before bringing up new ones. Some requests may be slow
3951
+ # or fail to serve during the transition.
3952
+ # Corresponds to the JSON property `maxUnavailable`
3953
+ # @return [Fixnum]
3954
+ attr_accessor :max_unavailable
3955
+
3956
+ # Optional. The minimum count of instances distributed among revisions based on
3957
+ # the specified instance split percentages.
3958
+ # Corresponds to the JSON property `minInstanceCount`
3959
+ # @return [Fixnum]
3960
+ attr_accessor :min_instance_count
3961
+
3962
+ # Optional. The scaling mode for the worker pool.
3963
+ # Corresponds to the JSON property `scalingMode`
3964
+ # @return [String]
3965
+ attr_accessor :scaling_mode
3966
+
3967
+ def initialize(**args)
3968
+ update!(**args)
3969
+ end
3970
+
3971
+ # Update properties of this object
3972
+ def update!(**args)
3973
+ @manual_instance_count = args[:manual_instance_count] if args.key?(:manual_instance_count)
3974
+ @max_instance_count = args[:max_instance_count] if args.key?(:max_instance_count)
3975
+ @max_surge = args[:max_surge] if args.key?(:max_surge)
3976
+ @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
3977
+ @min_instance_count = args[:min_instance_count] if args.key?(:min_instance_count)
3978
+ @scaling_mode = args[:scaling_mode] if args.key?(:scaling_mode)
3979
+ end
3980
+ end
3981
+
3982
+ # ApprovalConfig describes configuration for manual approval of a build.
3983
+ class GoogleDevtoolsCloudbuildV1ApprovalConfig
3984
+ include Google::Apis::Core::Hashable
3985
+
3986
+ # Whether or not approval is needed. If this is set on a build, it will become
3987
+ # pending when created, and will need to be explicitly approved to start.
3988
+ # Corresponds to the JSON property `approvalRequired`
3989
+ # @return [Boolean]
3990
+ attr_accessor :approval_required
3991
+ alias_method :approval_required?, :approval_required
3992
+
3993
+ def initialize(**args)
3994
+ update!(**args)
3995
+ end
3996
+
3997
+ # Update properties of this object
3998
+ def update!(**args)
3999
+ @approval_required = args[:approval_required] if args.key?(:approval_required)
4000
+ end
4001
+ end
4002
+
4003
+ # ApprovalResult describes the decision and associated metadata of a manual
4004
+ # approval of a build.
4005
+ class GoogleDevtoolsCloudbuildV1ApprovalResult
4006
+ include Google::Apis::Core::Hashable
4007
+
4008
+ # Output only. The time when the approval decision was made.
4009
+ # Corresponds to the JSON property `approvalTime`
4010
+ # @return [String]
4011
+ attr_accessor :approval_time
4012
+
4013
+ # Output only. Email of the user that called the ApproveBuild API to approve or
4014
+ # reject a build at the time that the API was called.
4015
+ # Corresponds to the JSON property `approverAccount`
4016
+ # @return [String]
4017
+ attr_accessor :approver_account
4018
+
4019
+ # Optional. An optional comment for this manual approval result.
4020
+ # Corresponds to the JSON property `comment`
4021
+ # @return [String]
4022
+ attr_accessor :comment
4023
+
4024
+ # Required. The decision of this manual approval.
4025
+ # Corresponds to the JSON property `decision`
4026
+ # @return [String]
4027
+ attr_accessor :decision
4028
+
4029
+ # Optional. An optional URL tied to this manual approval result. This field is
4030
+ # essentially the same as comment, except that it will be rendered by the UI
4031
+ # differently. An example use case is a link to an external job that approved
4032
+ # this Build.
4033
+ # Corresponds to the JSON property `url`
4034
+ # @return [String]
4035
+ attr_accessor :url
4036
+
4037
+ def initialize(**args)
4038
+ update!(**args)
4039
+ end
4040
+
4041
+ # Update properties of this object
4042
+ def update!(**args)
4043
+ @approval_time = args[:approval_time] if args.key?(:approval_time)
3363
4044
  @approver_account = args[:approver_account] if args.key?(:approver_account)
3364
4045
  @comment = args[:comment] if args.key?(:comment)
3365
4046
  @decision = args[:decision] if args.key?(:decision)
@@ -3407,6 +4088,13 @@ module Google
3407
4088
  class GoogleDevtoolsCloudbuildV1Artifacts
3408
4089
  include Google::Apis::Core::Hashable
3409
4090
 
4091
+ # Optional. A list of Go modules to be uploaded to Artifact Registry upon
4092
+ # successful completion of all build steps. If any objects fail to be pushed,
4093
+ # the build is marked FAILURE.
4094
+ # Corresponds to the JSON property `goModules`
4095
+ # @return [Array<Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1GoModule>]
4096
+ attr_accessor :go_modules
4097
+
3410
4098
  # A list of images to be pushed upon the successful completion of all build
3411
4099
  # steps. The images will be pushed using the builder service account's
3412
4100
  # credentials. The digests of the pushed images will be stored in the Build
@@ -3454,6 +4142,7 @@ module Google
3454
4142
 
3455
4143
  # Update properties of this object
3456
4144
  def update!(**args)
4145
+ @go_modules = args[:go_modules] if args.key?(:go_modules)
3457
4146
  @images = args[:images] if args.key?(:images)
3458
4147
  @maven_artifacts = args[:maven_artifacts] if args.key?(:maven_artifacts)
3459
4148
  @npm_packages = args[:npm_packages] if args.key?(:npm_packages)
@@ -3504,6 +4193,12 @@ module Google
3504
4193
  # @return [String]
3505
4194
  attr_accessor :create_time
3506
4195
 
4196
+ # Optional. Dependencies that the Cloud Build worker will fetch before executing
4197
+ # user steps.
4198
+ # Corresponds to the JSON property `dependencies`
4199
+ # @return [Array<Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1Dependency>]
4200
+ attr_accessor :dependencies
4201
+
3507
4202
  # A fatal problem encountered during the execution of the build.
3508
4203
  # Corresponds to the JSON property `failureInfo`
3509
4204
  # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1FailureInfo]
@@ -3665,6 +4360,7 @@ module Google
3665
4360
  @available_secrets = args[:available_secrets] if args.key?(:available_secrets)
3666
4361
  @build_trigger_id = args[:build_trigger_id] if args.key?(:build_trigger_id)
3667
4362
  @create_time = args[:create_time] if args.key?(:create_time)
4363
+ @dependencies = args[:dependencies] if args.key?(:dependencies)
3668
4364
  @failure_info = args[:failure_info] if args.key?(:failure_info)
3669
4365
  @finish_time = args[:finish_time] if args.key?(:finish_time)
3670
4366
  @git_config = args[:git_config] if args.key?(:git_config)
@@ -3789,6 +4485,13 @@ module Google
3789
4485
  attr_accessor :dynamic_substitutions
3790
4486
  alias_method :dynamic_substitutions?, :dynamic_substitutions
3791
4487
 
4488
+ # Optional. Option to specify whether structured logging is enabled. If true,
4489
+ # JSON-formatted logs are parsed as structured logs.
4490
+ # Corresponds to the JSON property `enableStructuredLogging`
4491
+ # @return [Boolean]
4492
+ attr_accessor :enable_structured_logging
4493
+ alias_method :enable_structured_logging?, :enable_structured_logging
4494
+
3792
4495
  # A list of global environment variable definitions that will exist for all
3793
4496
  # build steps in this build. If a variable is defined in both globally and in a
3794
4497
  # build step, the variable will use the build step value. The elements are of
@@ -3821,6 +4524,11 @@ module Google
3821
4524
  # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1PoolOption]
3822
4525
  attr_accessor :pool
3823
4526
 
4527
+ # Optional. Option to specify the Pub/Sub topic to receive build status updates.
4528
+ # Corresponds to the JSON property `pubsubTopic`
4529
+ # @return [String]
4530
+ attr_accessor :pubsub_topic
4531
+
3824
4532
  # Requested verifiability options.
3825
4533
  # Corresponds to the JSON property `requestedVerifyOption`
3826
4534
  # @return [String]
@@ -3870,11 +4578,13 @@ module Google
3870
4578
  @default_logs_bucket_behavior = args[:default_logs_bucket_behavior] if args.key?(:default_logs_bucket_behavior)
3871
4579
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
3872
4580
  @dynamic_substitutions = args[:dynamic_substitutions] if args.key?(:dynamic_substitutions)
4581
+ @enable_structured_logging = args[:enable_structured_logging] if args.key?(:enable_structured_logging)
3873
4582
  @env = args[:env] if args.key?(:env)
3874
4583
  @log_streaming_option = args[:log_streaming_option] if args.key?(:log_streaming_option)
3875
4584
  @logging = args[:logging] if args.key?(:logging)
3876
4585
  @machine_type = args[:machine_type] if args.key?(:machine_type)
3877
4586
  @pool = args[:pool] if args.key?(:pool)
4587
+ @pubsub_topic = args[:pubsub_topic] if args.key?(:pubsub_topic)
3878
4588
  @requested_verify_option = args[:requested_verify_option] if args.key?(:requested_verify_option)
3879
4589
  @secret_env = args[:secret_env] if args.key?(:secret_env)
3880
4590
  @source_provenance_hash = args[:source_provenance_hash] if args.key?(:source_provenance_hash)
@@ -4116,6 +4826,34 @@ module Google
4116
4826
  end
4117
4827
  end
4118
4828
 
4829
+ # A dependency that the Cloud Build worker will fetch before executing user
4830
+ # steps.
4831
+ class GoogleDevtoolsCloudbuildV1Dependency
4832
+ include Google::Apis::Core::Hashable
4833
+
4834
+ # If set to true disable all dependency fetching (ignoring the default source as
4835
+ # well).
4836
+ # Corresponds to the JSON property `empty`
4837
+ # @return [Boolean]
4838
+ attr_accessor :empty
4839
+ alias_method :empty?, :empty
4840
+
4841
+ # Represents a git repository as a build dependency.
4842
+ # Corresponds to the JSON property `gitSource`
4843
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1GitSourceDependency]
4844
+ attr_accessor :git_source
4845
+
4846
+ def initialize(**args)
4847
+ update!(**args)
4848
+ end
4849
+
4850
+ # Update properties of this object
4851
+ def update!(**args)
4852
+ @empty = args[:empty] if args.key?(:empty)
4853
+ @git_source = args[:git_source] if args.key?(:git_source)
4854
+ end
4855
+ end
4856
+
4119
4857
  # This config defines the location of a source through Developer Connect.
4120
4858
  class GoogleDevtoolsCloudbuildV1DeveloperConnectConfig
4121
4859
  include Google::Apis::Core::Hashable
@@ -4253,6 +4991,136 @@ module Google
4253
4991
  end
4254
4992
  end
4255
4993
 
4994
+ # Represents a git repository as a build dependency.
4995
+ class GoogleDevtoolsCloudbuildV1GitSourceDependency
4996
+ include Google::Apis::Core::Hashable
4997
+
4998
+ # Optional. How much history should be fetched for the build (default 1, -1 for
4999
+ # all history).
5000
+ # Corresponds to the JSON property `depth`
5001
+ # @return [Fixnum]
5002
+ attr_accessor :depth
5003
+
5004
+ # Required. Where should the files be placed on the worker.
5005
+ # Corresponds to the JSON property `destPath`
5006
+ # @return [String]
5007
+ attr_accessor :dest_path
5008
+
5009
+ # Optional. True if submodules should be fetched too (default false).
5010
+ # Corresponds to the JSON property `recurseSubmodules`
5011
+ # @return [Boolean]
5012
+ attr_accessor :recurse_submodules
5013
+ alias_method :recurse_submodules?, :recurse_submodules
5014
+
5015
+ # A repository for a git source.
5016
+ # Corresponds to the JSON property `repository`
5017
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1GitSourceRepository]
5018
+ attr_accessor :repository
5019
+
5020
+ # Required. The revision that we will fetch the repo at.
5021
+ # Corresponds to the JSON property `revision`
5022
+ # @return [String]
5023
+ attr_accessor :revision
5024
+
5025
+ def initialize(**args)
5026
+ update!(**args)
5027
+ end
5028
+
5029
+ # Update properties of this object
5030
+ def update!(**args)
5031
+ @depth = args[:depth] if args.key?(:depth)
5032
+ @dest_path = args[:dest_path] if args.key?(:dest_path)
5033
+ @recurse_submodules = args[:recurse_submodules] if args.key?(:recurse_submodules)
5034
+ @repository = args[:repository] if args.key?(:repository)
5035
+ @revision = args[:revision] if args.key?(:revision)
5036
+ end
5037
+ end
5038
+
5039
+ # A repository for a git source.
5040
+ class GoogleDevtoolsCloudbuildV1GitSourceRepository
5041
+ include Google::Apis::Core::Hashable
5042
+
5043
+ # The Developer Connect Git repository link or the url that matches a repository
5044
+ # link in the current project, formatted as `projects/*/locations/*/connections/*
5045
+ # /gitRepositoryLink/*`
5046
+ # Corresponds to the JSON property `developerConnect`
5047
+ # @return [String]
5048
+ attr_accessor :developer_connect
5049
+
5050
+ # Location of the Git repository.
5051
+ # Corresponds to the JSON property `url`
5052
+ # @return [String]
5053
+ attr_accessor :url
5054
+
5055
+ def initialize(**args)
5056
+ update!(**args)
5057
+ end
5058
+
5059
+ # Update properties of this object
5060
+ def update!(**args)
5061
+ @developer_connect = args[:developer_connect] if args.key?(:developer_connect)
5062
+ @url = args[:url] if args.key?(:url)
5063
+ end
5064
+ end
5065
+
5066
+ # Go module to upload to Artifact Registry upon successful completion of all
5067
+ # build steps. A module refers to all dependencies in a go.mod file.
5068
+ class GoogleDevtoolsCloudbuildV1GoModule
5069
+ include Google::Apis::Core::Hashable
5070
+
5071
+ # Optional. The Go module's "module path". e.g. example.com/foo/v2
5072
+ # Corresponds to the JSON property `modulePath`
5073
+ # @return [String]
5074
+ attr_accessor :module_path
5075
+
5076
+ # Optional. The Go module's semantic version in the form vX.Y.Z. e.g. v0.1.1 Pre-
5077
+ # release identifiers can also be added by appending a dash and dot separated
5078
+ # ASCII alphanumeric characters and hyphens. e.g. v0.2.3-alpha.x.12m.5
5079
+ # Corresponds to the JSON property `moduleVersion`
5080
+ # @return [String]
5081
+ attr_accessor :module_version
5082
+
5083
+ # Optional. Location of the Artifact Registry repository. i.e. us-east1 Defaults
5084
+ # to the build’s location.
5085
+ # Corresponds to the JSON property `repositoryLocation`
5086
+ # @return [String]
5087
+ attr_accessor :repository_location
5088
+
5089
+ # Optional. Artifact Registry repository name. Specified Go modules will be
5090
+ # zipped and uploaded to Artifact Registry with this location as a prefix. e.g.
5091
+ # my-go-repo
5092
+ # Corresponds to the JSON property `repositoryName`
5093
+ # @return [String]
5094
+ attr_accessor :repository_name
5095
+
5096
+ # Optional. Project ID of the Artifact Registry repository. Defaults to the
5097
+ # build project.
5098
+ # Corresponds to the JSON property `repositoryProjectId`
5099
+ # @return [String]
5100
+ attr_accessor :repository_project_id
5101
+
5102
+ # Optional. Source path of the go.mod file in the build's workspace. If not
5103
+ # specified, this will default to the current directory. e.g. ~/code/go/
5104
+ # mypackage
5105
+ # Corresponds to the JSON property `sourcePath`
5106
+ # @return [String]
5107
+ attr_accessor :source_path
5108
+
5109
+ def initialize(**args)
5110
+ update!(**args)
5111
+ end
5112
+
5113
+ # Update properties of this object
5114
+ def update!(**args)
5115
+ @module_path = args[:module_path] if args.key?(:module_path)
5116
+ @module_version = args[:module_version] if args.key?(:module_version)
5117
+ @repository_location = args[:repository_location] if args.key?(:repository_location)
5118
+ @repository_name = args[:repository_name] if args.key?(:repository_name)
5119
+ @repository_project_id = args[:repository_project_id] if args.key?(:repository_project_id)
5120
+ @source_path = args[:source_path] if args.key?(:source_path)
5121
+ end
5122
+ end
5123
+
4256
5124
  # Container message for hash values.
4257
5125
  class GoogleDevtoolsCloudbuildV1Hash
4258
5126
  include Google::Apis::Core::Hashable
@@ -4561,6 +5429,12 @@ module Google
4561
5429
  # @return [Array<String>]
4562
5430
  attr_accessor :build_step_outputs
4563
5431
 
5432
+ # Optional. Go module artifacts uploaded to Artifact Registry at the end of the
5433
+ # build.
5434
+ # Corresponds to the JSON property `goModules`
5435
+ # @return [Array<Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1UploadedGoModule>]
5436
+ attr_accessor :go_modules
5437
+
4564
5438
  # Container images that were built as a part of the build.
4565
5439
  # Corresponds to the JSON property `images`
4566
5440
  # @return [Array<Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1BuiltImage>]
@@ -4597,6 +5471,7 @@ module Google
4597
5471
  @artifact_timing = args[:artifact_timing] if args.key?(:artifact_timing)
4598
5472
  @build_step_images = args[:build_step_images] if args.key?(:build_step_images)
4599
5473
  @build_step_outputs = args[:build_step_outputs] if args.key?(:build_step_outputs)
5474
+ @go_modules = args[:go_modules] if args.key?(:go_modules)
4600
5475
  @images = args[:images] if args.key?(:images)
4601
5476
  @maven_artifacts = args[:maven_artifacts] if args.key?(:maven_artifacts)
4602
5477
  @npm_packages = args[:npm_packages] if args.key?(:npm_packages)
@@ -4900,6 +5775,39 @@ module Google
4900
5775
  end
4901
5776
  end
4902
5777
 
5778
+ # A Go module artifact uploaded to Artifact Registry using the GoModule
5779
+ # directive.
5780
+ class GoogleDevtoolsCloudbuildV1UploadedGoModule
5781
+ include Google::Apis::Core::Hashable
5782
+
5783
+ # Container message for hashes of byte content of files, used in
5784
+ # SourceProvenance messages to verify integrity of source input to the build.
5785
+ # Corresponds to the JSON property `fileHashes`
5786
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1FileHashes]
5787
+ attr_accessor :file_hashes
5788
+
5789
+ # Start and end times for a build execution phase.
5790
+ # Corresponds to the JSON property `pushTiming`
5791
+ # @return [Google::Apis::RunV2::GoogleDevtoolsCloudbuildV1TimeSpan]
5792
+ attr_accessor :push_timing
5793
+
5794
+ # URI of the uploaded artifact.
5795
+ # Corresponds to the JSON property `uri`
5796
+ # @return [String]
5797
+ attr_accessor :uri
5798
+
5799
+ def initialize(**args)
5800
+ update!(**args)
5801
+ end
5802
+
5803
+ # Update properties of this object
5804
+ def update!(**args)
5805
+ @file_hashes = args[:file_hashes] if args.key?(:file_hashes)
5806
+ @push_timing = args[:push_timing] if args.key?(:push_timing)
5807
+ @uri = args[:uri] if args.key?(:uri)
5808
+ end
5809
+ end
5810
+
4903
5811
  # A Maven artifact uploaded using the MavenArtifact directive.
4904
5812
  class GoogleDevtoolsCloudbuildV1UploadedMavenArtifact
4905
5813
  include Google::Apis::Core::Hashable
@@ -5647,13 +6555,16 @@ module Google
5647
6555
 
5648
6556
  # The canonical error code (see codes.proto) that most closely corresponds to
5649
6557
  # this status. This may be missing, and in the common case of the generic space,
5650
- # it definitely will be.
6558
+ # it definitely will be. copybara:strip_begin(b/383363683) copybara:
6559
+ # strip_end_and_replace optional int32 canonical_code = 6;
5651
6560
  # Corresponds to the JSON property `canonicalCode`
5652
6561
  # @return [Fixnum]
5653
6562
  attr_accessor :canonical_code
5654
6563
 
5655
6564
  # Numeric code drawn from the space specified below. Often, this is the
5656
6565
  # canonical error space, and code is drawn from google3/util/task/codes.proto
6566
+ # copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional
6567
+ # int32 code = 1;
5657
6568
  # Corresponds to the JSON property `code`
5658
6569
  # @return [Fixnum]
5659
6570
  attr_accessor :code
@@ -5670,7 +6581,8 @@ module Google
5670
6581
  attr_accessor :message_set
5671
6582
 
5672
6583
  # The following are usually only present when code != 0 Space to which this
5673
- # status belongs
6584
+ # status belongs copybara:strip_begin(b/383363683) copybara:
6585
+ # strip_end_and_replace optional string space = 2;
5674
6586
  # Corresponds to the JSON property `space`
5675
6587
  # @return [String]
5676
6588
  attr_accessor :space