google-apis-cloudbuild_v1 0.38.0 → 0.40.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -187,12 +187,29 @@ module Google
187
187
  # @return [Array<String>]
188
188
  attr_accessor :images
189
189
 
190
+ # A list of Maven artifacts to be uploaded to Artifact Registry upon successful
191
+ # completion of all build steps. Artifacts in the workspace matching specified
192
+ # paths globs will be uploaded to the specified Artifact Registry repository
193
+ # using the builder service account's credentials. If any artifacts fail to be
194
+ # pushed, the build is marked FAILURE.
195
+ # Corresponds to the JSON property `mavenArtifacts`
196
+ # @return [Array<Google::Apis::CloudbuildV1::MavenArtifact>]
197
+ attr_accessor :maven_artifacts
198
+
190
199
  # Files in the workspace to upload to Cloud Storage upon successful completion
191
200
  # of all build steps.
192
201
  # Corresponds to the JSON property `objects`
193
202
  # @return [Google::Apis::CloudbuildV1::ArtifactObjects]
194
203
  attr_accessor :objects
195
204
 
205
+ # A list of Python packages to be uploaded to Artifact Registry upon successful
206
+ # completion of all build steps. The build service account credentials will be
207
+ # used to perform the upload. If any objects fail to be pushed, the build is
208
+ # marked FAILURE.
209
+ # Corresponds to the JSON property `pythonPackages`
210
+ # @return [Array<Google::Apis::CloudbuildV1::PythonPackage>]
211
+ attr_accessor :python_packages
212
+
196
213
  def initialize(**args)
197
214
  update!(**args)
198
215
  end
@@ -200,7 +217,9 @@ module Google
200
217
  # Update properties of this object
201
218
  def update!(**args)
202
219
  @images = args[:images] if args.key?(:images)
220
+ @maven_artifacts = args[:maven_artifacts] if args.key?(:maven_artifacts)
203
221
  @objects = args[:objects] if args.key?(:objects)
222
+ @python_packages = args[:python_packages] if args.key?(:python_packages)
204
223
  end
205
224
  end
206
225
 
@@ -277,6 +296,77 @@ module Google
277
296
  end
278
297
  end
279
298
 
299
+ # RPC request object accepted by BatchCreateGitLabConnectedRepositories RPC
300
+ # method.
301
+ class BatchCreateGitLabConnectedRepositoriesRequest
302
+ include Google::Apis::Core::Hashable
303
+
304
+ # Required. Requests to connect GitLab repositories.
305
+ # Corresponds to the JSON property `requests`
306
+ # @return [Array<Google::Apis::CloudbuildV1::CreateGitLabConnectedRepositoryRequest>]
307
+ attr_accessor :requests
308
+
309
+ def initialize(**args)
310
+ update!(**args)
311
+ end
312
+
313
+ # Update properties of this object
314
+ def update!(**args)
315
+ @requests = args[:requests] if args.key?(:requests)
316
+ end
317
+ end
318
+
319
+ # Response of BatchCreateGitLabConnectedRepositories RPC method.
320
+ class BatchCreateGitLabConnectedRepositoriesResponse
321
+ include Google::Apis::Core::Hashable
322
+
323
+ # The GitLab connected repository requests' responses.
324
+ # Corresponds to the JSON property `gitlabConnectedRepositories`
325
+ # @return [Array<Google::Apis::CloudbuildV1::GitLabConnectedRepository>]
326
+ attr_accessor :gitlab_connected_repositories
327
+
328
+ def initialize(**args)
329
+ update!(**args)
330
+ end
331
+
332
+ # Update properties of this object
333
+ def update!(**args)
334
+ @gitlab_connected_repositories = args[:gitlab_connected_repositories] if args.key?(:gitlab_connected_repositories)
335
+ end
336
+ end
337
+
338
+ # Metadata for `BatchCreateGitLabConnectedRepositories` operation.
339
+ class BatchCreateGitLabConnectedRepositoriesResponseMetadata
340
+ include Google::Apis::Core::Hashable
341
+
342
+ # Time the operation was completed.
343
+ # Corresponds to the JSON property `completeTime`
344
+ # @return [String]
345
+ attr_accessor :complete_time
346
+
347
+ # The name of the `GitLabConfig` that added connected repositories. Format: `
348
+ # projects/`project`/locations/`location`/gitLabConfigs/`config``
349
+ # Corresponds to the JSON property `config`
350
+ # @return [String]
351
+ attr_accessor :config
352
+
353
+ # Time the operation was created.
354
+ # Corresponds to the JSON property `createTime`
355
+ # @return [String]
356
+ attr_accessor :create_time
357
+
358
+ def initialize(**args)
359
+ update!(**args)
360
+ end
361
+
362
+ # Update properties of this object
363
+ def update!(**args)
364
+ @complete_time = args[:complete_time] if args.key?(:complete_time)
365
+ @config = args[:config] if args.key?(:config)
366
+ @create_time = args[:create_time] if args.key?(:create_time)
367
+ end
368
+ end
369
+
280
370
  # BitbucketServerConfig represents the configuration for a Bitbucket Server.
281
371
  class BitbucketServerConfig
282
372
  include Google::Apis::Core::Hashable
@@ -1215,6 +1305,12 @@ module Google
1215
1305
  # @return [Google::Apis::CloudbuildV1::GitHubEventsConfig]
1216
1306
  attr_accessor :github
1217
1307
 
1308
+ # GitLabEventsConfig describes the configuration of a trigger that creates a
1309
+ # build whenever a GitLab event is received.
1310
+ # Corresponds to the JSON property `gitlabEnterpriseEventsConfig`
1311
+ # @return [Google::Apis::CloudbuildV1::GitLabEventsConfig]
1312
+ attr_accessor :gitlab_enterprise_events_config
1313
+
1218
1314
  # Output only. Unique identifier of the trigger.
1219
1315
  # Corresponds to the JSON property `id`
1220
1316
  # @return [String]
@@ -1323,6 +1419,7 @@ module Google
1323
1419
  @filter = args[:filter] if args.key?(:filter)
1324
1420
  @git_file_source = args[:git_file_source] if args.key?(:git_file_source)
1325
1421
  @github = args[:github] if args.key?(:github)
1422
+ @gitlab_enterprise_events_config = args[:gitlab_enterprise_events_config] if args.key?(:gitlab_enterprise_events_config)
1326
1423
  @id = args[:id] if args.key?(:id)
1327
1424
  @ignored_files = args[:ignored_files] if args.key?(:ignored_files)
1328
1425
  @include_build_logs = args[:include_build_logs] if args.key?(:include_build_logs)
@@ -1508,6 +1605,65 @@ module Google
1508
1605
  end
1509
1606
  end
1510
1607
 
1608
+ # Metadata for `CreateGitLabConfig` operation.
1609
+ class CreateGitLabConfigOperationMetadata
1610
+ include Google::Apis::Core::Hashable
1611
+
1612
+ # Time the operation was completed.
1613
+ # Corresponds to the JSON property `completeTime`
1614
+ # @return [String]
1615
+ attr_accessor :complete_time
1616
+
1617
+ # Time the operation was created.
1618
+ # Corresponds to the JSON property `createTime`
1619
+ # @return [String]
1620
+ attr_accessor :create_time
1621
+
1622
+ # The resource name of the GitLabConfig to be created. Format: `projects/`
1623
+ # project`/locations/`location`/gitlabConfigs/`id``.
1624
+ # Corresponds to the JSON property `gitlabConfig`
1625
+ # @return [String]
1626
+ attr_accessor :gitlab_config
1627
+
1628
+ def initialize(**args)
1629
+ update!(**args)
1630
+ end
1631
+
1632
+ # Update properties of this object
1633
+ def update!(**args)
1634
+ @complete_time = args[:complete_time] if args.key?(:complete_time)
1635
+ @create_time = args[:create_time] if args.key?(:create_time)
1636
+ @gitlab_config = args[:gitlab_config] if args.key?(:gitlab_config)
1637
+ end
1638
+ end
1639
+
1640
+ # Request to connect a repository from a connected GitLab host.
1641
+ class CreateGitLabConnectedRepositoryRequest
1642
+ include Google::Apis::Core::Hashable
1643
+
1644
+ # GitLabConnectedRepository represents a GitLab connected repository request
1645
+ # response.
1646
+ # Corresponds to the JSON property `gitlabConnectedRepository`
1647
+ # @return [Google::Apis::CloudbuildV1::GitLabConnectedRepository]
1648
+ attr_accessor :gitlab_connected_repository
1649
+
1650
+ # Required. The name of the `GitLabConfig` that adds connected repository.
1651
+ # Format: `projects/`project`/locations/`location`/gitLabConfigs/`config``
1652
+ # Corresponds to the JSON property `parent`
1653
+ # @return [String]
1654
+ attr_accessor :parent
1655
+
1656
+ def initialize(**args)
1657
+ update!(**args)
1658
+ end
1659
+
1660
+ # Update properties of this object
1661
+ def update!(**args)
1662
+ @gitlab_connected_repository = args[:gitlab_connected_repository] if args.key?(:gitlab_connected_repository)
1663
+ @parent = args[:parent] if args.key?(:parent)
1664
+ end
1665
+ end
1666
+
1511
1667
  # Metadata for the `CreateWorkerPool` operation.
1512
1668
  class CreateWorkerPoolOperationMetadata
1513
1669
  include Google::Apis::Core::Hashable
@@ -1604,6 +1760,38 @@ module Google
1604
1760
  end
1605
1761
  end
1606
1762
 
1763
+ # Metadata for `DeleteGitLabConfig` operation.
1764
+ class DeleteGitLabConfigOperationMetadata
1765
+ include Google::Apis::Core::Hashable
1766
+
1767
+ # Time the operation was completed.
1768
+ # Corresponds to the JSON property `completeTime`
1769
+ # @return [String]
1770
+ attr_accessor :complete_time
1771
+
1772
+ # Time the operation was created.
1773
+ # Corresponds to the JSON property `createTime`
1774
+ # @return [String]
1775
+ attr_accessor :create_time
1776
+
1777
+ # The resource name of the GitLabConfig to be created. Format: `projects/`
1778
+ # project`/locations/`location`/gitlabConfigs/`id``.
1779
+ # Corresponds to the JSON property `gitlabConfig`
1780
+ # @return [String]
1781
+ attr_accessor :gitlab_config
1782
+
1783
+ def initialize(**args)
1784
+ update!(**args)
1785
+ end
1786
+
1787
+ # Update properties of this object
1788
+ def update!(**args)
1789
+ @complete_time = args[:complete_time] if args.key?(:complete_time)
1790
+ @create_time = args[:create_time] if args.key?(:create_time)
1791
+ @gitlab_config = args[:gitlab_config] if args.key?(:gitlab_config)
1792
+ end
1793
+ end
1794
+
1607
1795
  # Metadata for the `DeleteWorkerPool` operation.
1608
1796
  class DeleteWorkerPoolOperationMetadata
1609
1797
  include Google::Apis::Core::Hashable
@@ -1950,6 +2138,293 @@ module Google
1950
2138
  end
1951
2139
  end
1952
2140
 
2141
+ # GitLabConfig represents the configuration for a GitLab integration.
2142
+ class GitLabConfig
2143
+ include Google::Apis::Core::Hashable
2144
+
2145
+ # Connected GitLab.com or GitLabEnterprise repositories for this config.
2146
+ # Corresponds to the JSON property `connectedRepositories`
2147
+ # @return [Array<Google::Apis::CloudbuildV1::GitLabRepositoryId>]
2148
+ attr_accessor :connected_repositories
2149
+
2150
+ # Output only. Time when the config was created.
2151
+ # Corresponds to the JSON property `createTime`
2152
+ # @return [String]
2153
+ attr_accessor :create_time
2154
+
2155
+ # GitLabEnterpriseConfig represents the configuration for a GitLabEnterprise
2156
+ # integration.
2157
+ # Corresponds to the JSON property `enterpriseConfig`
2158
+ # @return [Google::Apis::CloudbuildV1::GitLabEnterpriseConfig]
2159
+ attr_accessor :enterprise_config
2160
+
2161
+ # The resource name for the config.
2162
+ # Corresponds to the JSON property `name`
2163
+ # @return [String]
2164
+ attr_accessor :name
2165
+
2166
+ # GitLabSecrets represents the secrets in Secret Manager for a GitLab
2167
+ # integration.
2168
+ # Corresponds to the JSON property `secrets`
2169
+ # @return [Google::Apis::CloudbuildV1::GitLabSecrets]
2170
+ attr_accessor :secrets
2171
+
2172
+ # Username of the GitLab.com or GitLab Enterprise account Cloud Build will use.
2173
+ # Corresponds to the JSON property `username`
2174
+ # @return [String]
2175
+ attr_accessor :username
2176
+
2177
+ # Output only. UUID included in webhook requests. The UUID is used to look up
2178
+ # the corresponding config.
2179
+ # Corresponds to the JSON property `webhookKey`
2180
+ # @return [String]
2181
+ attr_accessor :webhook_key
2182
+
2183
+ def initialize(**args)
2184
+ update!(**args)
2185
+ end
2186
+
2187
+ # Update properties of this object
2188
+ def update!(**args)
2189
+ @connected_repositories = args[:connected_repositories] if args.key?(:connected_repositories)
2190
+ @create_time = args[:create_time] if args.key?(:create_time)
2191
+ @enterprise_config = args[:enterprise_config] if args.key?(:enterprise_config)
2192
+ @name = args[:name] if args.key?(:name)
2193
+ @secrets = args[:secrets] if args.key?(:secrets)
2194
+ @username = args[:username] if args.key?(:username)
2195
+ @webhook_key = args[:webhook_key] if args.key?(:webhook_key)
2196
+ end
2197
+ end
2198
+
2199
+ # GitLabConnectedRepository represents a GitLab connected repository request
2200
+ # response.
2201
+ class GitLabConnectedRepository
2202
+ include Google::Apis::Core::Hashable
2203
+
2204
+ # The name of the `GitLabConfig` that added connected repository. Format: `
2205
+ # projects/`project`/locations/`location`/gitLabConfigs/`config``
2206
+ # Corresponds to the JSON property `parent`
2207
+ # @return [String]
2208
+ attr_accessor :parent
2209
+
2210
+ # GitLabRepositoryId identifies a specific repository hosted on GitLab.com or
2211
+ # GitLabEnterprise
2212
+ # Corresponds to the JSON property `repo`
2213
+ # @return [Google::Apis::CloudbuildV1::GitLabRepositoryId]
2214
+ attr_accessor :repo
2215
+
2216
+ # The `Status` type defines a logical error model that is suitable for different
2217
+ # programming environments, including REST APIs and RPC APIs. It is used by [
2218
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
2219
+ # data: error code, error message, and error details. You can find out more
2220
+ # about this error model and how to work with it in the [API Design Guide](https:
2221
+ # //cloud.google.com/apis/design/errors).
2222
+ # Corresponds to the JSON property `status`
2223
+ # @return [Google::Apis::CloudbuildV1::Status]
2224
+ attr_accessor :status
2225
+
2226
+ def initialize(**args)
2227
+ update!(**args)
2228
+ end
2229
+
2230
+ # Update properties of this object
2231
+ def update!(**args)
2232
+ @parent = args[:parent] if args.key?(:parent)
2233
+ @repo = args[:repo] if args.key?(:repo)
2234
+ @status = args[:status] if args.key?(:status)
2235
+ end
2236
+ end
2237
+
2238
+ # GitLabEnterpriseConfig represents the configuration for a GitLabEnterprise
2239
+ # integration.
2240
+ class GitLabEnterpriseConfig
2241
+ include Google::Apis::Core::Hashable
2242
+
2243
+ # Immutable. The URI of the GitlabEnterprise host.
2244
+ # Corresponds to the JSON property `hostUri`
2245
+ # @return [String]
2246
+ attr_accessor :host_uri
2247
+
2248
+ # ServiceDirectoryConfig represents Service Directory configuration for a SCM
2249
+ # host connection.
2250
+ # Corresponds to the JSON property `serviceDirectoryConfig`
2251
+ # @return [Google::Apis::CloudbuildV1::ServiceDirectoryConfig]
2252
+ attr_accessor :service_directory_config
2253
+
2254
+ # The SSL certificate to use in requests to GitLab Enterprise instances.
2255
+ # Corresponds to the JSON property `sslCa`
2256
+ # @return [String]
2257
+ attr_accessor :ssl_ca
2258
+
2259
+ def initialize(**args)
2260
+ update!(**args)
2261
+ end
2262
+
2263
+ # Update properties of this object
2264
+ def update!(**args)
2265
+ @host_uri = args[:host_uri] if args.key?(:host_uri)
2266
+ @service_directory_config = args[:service_directory_config] if args.key?(:service_directory_config)
2267
+ @ssl_ca = args[:ssl_ca] if args.key?(:ssl_ca)
2268
+ end
2269
+ end
2270
+
2271
+ # GitLabEventsConfig describes the configuration of a trigger that creates a
2272
+ # build whenever a GitLab event is received.
2273
+ class GitLabEventsConfig
2274
+ include Google::Apis::Core::Hashable
2275
+
2276
+ # GitLabConfig represents the configuration for a GitLab integration.
2277
+ # Corresponds to the JSON property `gitlabConfig`
2278
+ # @return [Google::Apis::CloudbuildV1::GitLabConfig]
2279
+ attr_accessor :gitlab_config
2280
+
2281
+ # The GitLab config resource that this trigger config maps to.
2282
+ # Corresponds to the JSON property `gitlabConfigResource`
2283
+ # @return [String]
2284
+ attr_accessor :gitlab_config_resource
2285
+
2286
+ # Namespace of the GitLab project.
2287
+ # Corresponds to the JSON property `projectNamespace`
2288
+ # @return [String]
2289
+ attr_accessor :project_namespace
2290
+
2291
+ # PullRequestFilter contains filter properties for matching GitHub Pull Requests.
2292
+ # Corresponds to the JSON property `pullRequest`
2293
+ # @return [Google::Apis::CloudbuildV1::PullRequestFilter]
2294
+ attr_accessor :pull_request
2295
+
2296
+ # Push contains filter properties for matching GitHub git pushes.
2297
+ # Corresponds to the JSON property `push`
2298
+ # @return [Google::Apis::CloudbuildV1::PushFilter]
2299
+ attr_accessor :push
2300
+
2301
+ def initialize(**args)
2302
+ update!(**args)
2303
+ end
2304
+
2305
+ # Update properties of this object
2306
+ def update!(**args)
2307
+ @gitlab_config = args[:gitlab_config] if args.key?(:gitlab_config)
2308
+ @gitlab_config_resource = args[:gitlab_config_resource] if args.key?(:gitlab_config_resource)
2309
+ @project_namespace = args[:project_namespace] if args.key?(:project_namespace)
2310
+ @pull_request = args[:pull_request] if args.key?(:pull_request)
2311
+ @push = args[:push] if args.key?(:push)
2312
+ end
2313
+ end
2314
+
2315
+ # Proto Representing a GitLabRepository
2316
+ class GitLabRepository
2317
+ include Google::Apis::Core::Hashable
2318
+
2319
+ # Link to the browse repo page on the GitLab instance
2320
+ # Corresponds to the JSON property `browseUri`
2321
+ # @return [String]
2322
+ attr_accessor :browse_uri
2323
+
2324
+ # Description of the repository
2325
+ # Corresponds to the JSON property `description`
2326
+ # @return [String]
2327
+ attr_accessor :description
2328
+
2329
+ # Display name of the repository
2330
+ # Corresponds to the JSON property `displayName`
2331
+ # @return [String]
2332
+ attr_accessor :display_name
2333
+
2334
+ # The resource name of the repository
2335
+ # Corresponds to the JSON property `name`
2336
+ # @return [String]
2337
+ attr_accessor :name
2338
+
2339
+ # GitLabRepositoryId identifies a specific repository hosted on GitLab.com or
2340
+ # GitLabEnterprise
2341
+ # Corresponds to the JSON property `repositoryId`
2342
+ # @return [Google::Apis::CloudbuildV1::GitLabRepositoryId]
2343
+ attr_accessor :repository_id
2344
+
2345
+ def initialize(**args)
2346
+ update!(**args)
2347
+ end
2348
+
2349
+ # Update properties of this object
2350
+ def update!(**args)
2351
+ @browse_uri = args[:browse_uri] if args.key?(:browse_uri)
2352
+ @description = args[:description] if args.key?(:description)
2353
+ @display_name = args[:display_name] if args.key?(:display_name)
2354
+ @name = args[:name] if args.key?(:name)
2355
+ @repository_id = args[:repository_id] if args.key?(:repository_id)
2356
+ end
2357
+ end
2358
+
2359
+ # GitLabRepositoryId identifies a specific repository hosted on GitLab.com or
2360
+ # GitLabEnterprise
2361
+ class GitLabRepositoryId
2362
+ include Google::Apis::Core::Hashable
2363
+
2364
+ # Required. Identifier for the repository. example: "namespace/project-slug",
2365
+ # namespace is usually the username or group ID
2366
+ # Corresponds to the JSON property `id`
2367
+ # @return [String]
2368
+ attr_accessor :id
2369
+
2370
+ # Output only. The ID of the webhook that was created for receiving events from
2371
+ # this repo. We only create and manage a single webhook for each repo.
2372
+ # Corresponds to the JSON property `webhookId`
2373
+ # @return [Fixnum]
2374
+ attr_accessor :webhook_id
2375
+
2376
+ def initialize(**args)
2377
+ update!(**args)
2378
+ end
2379
+
2380
+ # Update properties of this object
2381
+ def update!(**args)
2382
+ @id = args[:id] if args.key?(:id)
2383
+ @webhook_id = args[:webhook_id] if args.key?(:webhook_id)
2384
+ end
2385
+ end
2386
+
2387
+ # GitLabSecrets represents the secrets in Secret Manager for a GitLab
2388
+ # integration.
2389
+ class GitLabSecrets
2390
+ include Google::Apis::Core::Hashable
2391
+
2392
+ # Required. The resource name for the api access token’s secret version
2393
+ # Corresponds to the JSON property `apiAccessTokenVersion`
2394
+ # @return [String]
2395
+ attr_accessor :api_access_token_version
2396
+
2397
+ # Required. Immutable. API Key that will be attached to webhook requests from
2398
+ # GitLab to Cloud Build.
2399
+ # Corresponds to the JSON property `apiKeyVersion`
2400
+ # @return [String]
2401
+ attr_accessor :api_key_version
2402
+
2403
+ # Required. The resource name for the read access token’s secret version
2404
+ # Corresponds to the JSON property `readAccessTokenVersion`
2405
+ # @return [String]
2406
+ attr_accessor :read_access_token_version
2407
+
2408
+ # Required. Immutable. The resource name for the webhook secret’s secret version.
2409
+ # Once this field has been set, it cannot be changed. If you need to change it,
2410
+ # please create another GitLabConfig.
2411
+ # Corresponds to the JSON property `webhookSecretVersion`
2412
+ # @return [String]
2413
+ attr_accessor :webhook_secret_version
2414
+
2415
+ def initialize(**args)
2416
+ update!(**args)
2417
+ end
2418
+
2419
+ # Update properties of this object
2420
+ def update!(**args)
2421
+ @api_access_token_version = args[:api_access_token_version] if args.key?(:api_access_token_version)
2422
+ @api_key_version = args[:api_key_version] if args.key?(:api_key_version)
2423
+ @read_access_token_version = args[:read_access_token_version] if args.key?(:read_access_token_version)
2424
+ @webhook_secret_version = args[:webhook_secret_version] if args.key?(:webhook_secret_version)
2425
+ end
2426
+ end
2427
+
1953
2428
  # GitRepoSource describes a repo and ref of a code repository.
1954
2429
  class GitRepoSource
1955
2430
  include Google::Apis::Core::Hashable
@@ -2281,6 +2756,58 @@ module Google
2281
2756
  end
2282
2757
  end
2283
2758
 
2759
+ # RPC response object returned by ListGitLabConfigs RPC method.
2760
+ class ListGitLabConfigsResponse
2761
+ include Google::Apis::Core::Hashable
2762
+
2763
+ # A list of GitLabConfigs
2764
+ # Corresponds to the JSON property `gitlabConfigs`
2765
+ # @return [Array<Google::Apis::CloudbuildV1::GitLabConfig>]
2766
+ attr_accessor :gitlab_configs
2767
+
2768
+ # A token that can be sent as `page_token` to retrieve the next page If this
2769
+ # field is omitted, there are no subsequent pages.
2770
+ # Corresponds to the JSON property `nextPageToken`
2771
+ # @return [String]
2772
+ attr_accessor :next_page_token
2773
+
2774
+ def initialize(**args)
2775
+ update!(**args)
2776
+ end
2777
+
2778
+ # Update properties of this object
2779
+ def update!(**args)
2780
+ @gitlab_configs = args[:gitlab_configs] if args.key?(:gitlab_configs)
2781
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2782
+ end
2783
+ end
2784
+
2785
+ # RPC response object returned by the ListGitLabRepositories RPC method.
2786
+ class ListGitLabRepositoriesResponse
2787
+ include Google::Apis::Core::Hashable
2788
+
2789
+ # List of GitLab repositories
2790
+ # Corresponds to the JSON property `gitlabRepositories`
2791
+ # @return [Array<Google::Apis::CloudbuildV1::GitLabRepository>]
2792
+ attr_accessor :gitlab_repositories
2793
+
2794
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2795
+ # field is omitted, there are no subsequent pages.
2796
+ # Corresponds to the JSON property `nextPageToken`
2797
+ # @return [String]
2798
+ attr_accessor :next_page_token
2799
+
2800
+ def initialize(**args)
2801
+ update!(**args)
2802
+ end
2803
+
2804
+ # Update properties of this object
2805
+ def update!(**args)
2806
+ @gitlab_repositories = args[:gitlab_repositories] if args.key?(:gitlab_repositories)
2807
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2808
+ end
2809
+ end
2810
+
2284
2811
  # RPC response object returned by ListGithubEnterpriseConfigs RPC method.
2285
2812
  class ListGithubEnterpriseConfigsResponse
2286
2813
  include Google::Apis::Core::Hashable
@@ -2326,6 +2853,55 @@ module Google
2326
2853
  end
2327
2854
  end
2328
2855
 
2856
+ # A Maven artifact to upload to Artifact Registry upon successful completion of
2857
+ # all build steps.
2858
+ class MavenArtifact
2859
+ include Google::Apis::Core::Hashable
2860
+
2861
+ # Maven `artifactId` value used when uploading the artifact to Artifact Registry.
2862
+ # Corresponds to the JSON property `artifactId`
2863
+ # @return [String]
2864
+ attr_accessor :artifact_id
2865
+
2866
+ # Maven `groupId` value used when uploading the artifact to Artifact Registry.
2867
+ # Corresponds to the JSON property `groupId`
2868
+ # @return [String]
2869
+ attr_accessor :group_id
2870
+
2871
+ # Path to an artifact in the build's workspace to be uploaded to Artifact
2872
+ # Registry. This can be either an absolute path, e.g. /workspace/my-app/target/
2873
+ # my-app-1.0.SNAPSHOT.jar or a relative path from /workspace, e.g. my-app/target/
2874
+ # my-app-1.0.SNAPSHOT.jar.
2875
+ # Corresponds to the JSON property `path`
2876
+ # @return [String]
2877
+ attr_accessor :path
2878
+
2879
+ # Artifact Registry repository, in the form "https://$REGION-maven.pkg.dev/$
2880
+ # PROJECT/$REPOSITORY" Artifact in the workspace specified by path will be
2881
+ # uploaded to Artifact Registry with this location as a prefix.
2882
+ # Corresponds to the JSON property `repository`
2883
+ # @return [String]
2884
+ attr_accessor :repository
2885
+
2886
+ # Maven `version` value used when uploading the artifact to Artifact Registry.
2887
+ # Corresponds to the JSON property `version`
2888
+ # @return [String]
2889
+ attr_accessor :version
2890
+
2891
+ def initialize(**args)
2892
+ update!(**args)
2893
+ end
2894
+
2895
+ # Update properties of this object
2896
+ def update!(**args)
2897
+ @artifact_id = args[:artifact_id] if args.key?(:artifact_id)
2898
+ @group_id = args[:group_id] if args.key?(:group_id)
2899
+ @path = args[:path] if args.key?(:path)
2900
+ @repository = args[:repository] if args.key?(:repository)
2901
+ @version = args[:version] if args.key?(:version)
2902
+ end
2903
+ end
2904
+
2329
2905
  # Defines the network configuration for the pool.
2330
2906
  class NetworkConfig
2331
2907
  include Google::Apis::Core::Hashable
@@ -2863,6 +3439,36 @@ module Google
2863
3439
  end
2864
3440
  end
2865
3441
 
3442
+ # Python package to upload to Artifact Registry upon successful completion of
3443
+ # all build steps. A package can encapsulate multiple objects to be uploaded to
3444
+ # a single repository.
3445
+ class PythonPackage
3446
+ include Google::Apis::Core::Hashable
3447
+
3448
+ # Path globs used to match files in the build's workspace. For Python/ Twine,
3449
+ # this is usually `dist/*`, and sometimes additionally an `.asc` file.
3450
+ # Corresponds to the JSON property `paths`
3451
+ # @return [Array<String>]
3452
+ attr_accessor :paths
3453
+
3454
+ # Artifact Registry repository, in the form "https://$REGION-python.pkg.dev/$
3455
+ # PROJECT/$REPOSITORY" Files in the workspace matching any path pattern will be
3456
+ # uploaded to Artifact Registry with this location as a prefix.
3457
+ # Corresponds to the JSON property `repository`
3458
+ # @return [String]
3459
+ attr_accessor :repository
3460
+
3461
+ def initialize(**args)
3462
+ update!(**args)
3463
+ end
3464
+
3465
+ # Update properties of this object
3466
+ def update!(**args)
3467
+ @paths = args[:paths] if args.key?(:paths)
3468
+ @repository = args[:repository] if args.key?(:repository)
3469
+ end
3470
+ end
3471
+
2866
3472
  # ReceiveTriggerWebhookResponse [Experimental] is the response object for the
2867
3473
  # ReceiveTriggerWebhook method.
2868
3474
  class ReceiveTriggerWebhookResponse
@@ -2898,6 +3504,26 @@ module Google
2898
3504
  end
2899
3505
  end
2900
3506
 
3507
+ # RPC request object accepted by RemoveGitLabConnectedRepository RPC method.
3508
+ class RemoveGitLabConnectedRepositoryRequest
3509
+ include Google::Apis::Core::Hashable
3510
+
3511
+ # GitLabRepositoryId identifies a specific repository hosted on GitLab.com or
3512
+ # GitLabEnterprise
3513
+ # Corresponds to the JSON property `connectedRepository`
3514
+ # @return [Google::Apis::CloudbuildV1::GitLabRepositoryId]
3515
+ attr_accessor :connected_repository
3516
+
3517
+ def initialize(**args)
3518
+ update!(**args)
3519
+ end
3520
+
3521
+ # Update properties of this object
3522
+ def update!(**args)
3523
+ @connected_repository = args[:connected_repository] if args.key?(:connected_repository)
3524
+ end
3525
+ end
3526
+
2901
3527
  # Location of the source in a Google Cloud Source Repository.
2902
3528
  class RepoSource
2903
3529
  include Google::Apis::Core::Hashable
@@ -3000,11 +3626,21 @@ module Google
3000
3626
  # @return [Array<Google::Apis::CloudbuildV1::BuiltImage>]
3001
3627
  attr_accessor :images
3002
3628
 
3629
+ # Maven artifacts uploaded to Artifact Registry at the end of the build.
3630
+ # Corresponds to the JSON property `mavenArtifacts`
3631
+ # @return [Array<Google::Apis::CloudbuildV1::UploadedMavenArtifact>]
3632
+ attr_accessor :maven_artifacts
3633
+
3003
3634
  # Number of artifacts uploaded. Only populated when artifacts are uploaded.
3004
3635
  # Corresponds to the JSON property `numArtifacts`
3005
3636
  # @return [Fixnum]
3006
3637
  attr_accessor :num_artifacts
3007
3638
 
3639
+ # Python artifacts uploaded to Artifact Registry at the end of the build.
3640
+ # Corresponds to the JSON property `pythonPackages`
3641
+ # @return [Array<Google::Apis::CloudbuildV1::UploadedPythonPackage>]
3642
+ attr_accessor :python_packages
3643
+
3008
3644
  def initialize(**args)
3009
3645
  update!(**args)
3010
3646
  end
@@ -3016,7 +3652,9 @@ module Google
3016
3652
  @build_step_images = args[:build_step_images] if args.key?(:build_step_images)
3017
3653
  @build_step_outputs = args[:build_step_outputs] if args.key?(:build_step_outputs)
3018
3654
  @images = args[:images] if args.key?(:images)
3655
+ @maven_artifacts = args[:maven_artifacts] if args.key?(:maven_artifacts)
3019
3656
  @num_artifacts = args[:num_artifacts] if args.key?(:num_artifacts)
3657
+ @python_packages = args[:python_packages] if args.key?(:python_packages)
3020
3658
  end
3021
3659
  end
3022
3660
 
@@ -3278,6 +3916,27 @@ module Google
3278
3916
  end
3279
3917
  end
3280
3918
 
3919
+ # ServiceDirectoryConfig represents Service Directory configuration for a SCM
3920
+ # host connection.
3921
+ class ServiceDirectoryConfig
3922
+ include Google::Apis::Core::Hashable
3923
+
3924
+ # The Service Directory service name. Format: projects/`project`/locations/`
3925
+ # location`/namespaces/`namespace`/services/`service`.
3926
+ # Corresponds to the JSON property `service`
3927
+ # @return [String]
3928
+ attr_accessor :service
3929
+
3930
+ def initialize(**args)
3931
+ update!(**args)
3932
+ end
3933
+
3934
+ # Update properties of this object
3935
+ def update!(**args)
3936
+ @service = args[:service] if args.key?(:service)
3937
+ end
3938
+ end
3939
+
3281
3940
  # SlackDelivery is the delivery configuration for delivering Slack messages via
3282
3941
  # webhooks. See Slack webhook documentation at: https://api.slack.com/messaging/
3283
3942
  # webhooks.
@@ -3579,6 +4238,38 @@ module Google
3579
4238
  end
3580
4239
  end
3581
4240
 
4241
+ # Metadata for `UpdateGitLabConfig` operation.
4242
+ class UpdateGitLabConfigOperationMetadata
4243
+ include Google::Apis::Core::Hashable
4244
+
4245
+ # Time the operation was completed.
4246
+ # Corresponds to the JSON property `completeTime`
4247
+ # @return [String]
4248
+ attr_accessor :complete_time
4249
+
4250
+ # Time the operation was created.
4251
+ # Corresponds to the JSON property `createTime`
4252
+ # @return [String]
4253
+ attr_accessor :create_time
4254
+
4255
+ # The resource name of the GitLabConfig to be created. Format: `projects/`
4256
+ # project`/locations/`location`/gitlabConfigs/`id``.
4257
+ # Corresponds to the JSON property `gitlabConfig`
4258
+ # @return [String]
4259
+ attr_accessor :gitlab_config
4260
+
4261
+ def initialize(**args)
4262
+ update!(**args)
4263
+ end
4264
+
4265
+ # Update properties of this object
4266
+ def update!(**args)
4267
+ @complete_time = args[:complete_time] if args.key?(:complete_time)
4268
+ @create_time = args[:create_time] if args.key?(:create_time)
4269
+ @gitlab_config = args[:gitlab_config] if args.key?(:gitlab_config)
4270
+ end
4271
+ end
4272
+
3582
4273
  # Metadata for the `UpdateWorkerPool` operation.
3583
4274
  class UpdateWorkerPoolOperationMetadata
3584
4275
  include Google::Apis::Core::Hashable
@@ -3611,6 +4302,70 @@ module Google
3611
4302
  end
3612
4303
  end
3613
4304
 
4305
+ # A Maven artifact uploaded using the MavenArtifact directive.
4306
+ class UploadedMavenArtifact
4307
+ include Google::Apis::Core::Hashable
4308
+
4309
+ # Container message for hashes of byte content of files, used in
4310
+ # SourceProvenance messages to verify integrity of source input to the build.
4311
+ # Corresponds to the JSON property `fileHashes`
4312
+ # @return [Google::Apis::CloudbuildV1::FileHashes]
4313
+ attr_accessor :file_hashes
4314
+
4315
+ # Start and end times for a build execution phase.
4316
+ # Corresponds to the JSON property `pushTiming`
4317
+ # @return [Google::Apis::CloudbuildV1::TimeSpan]
4318
+ attr_accessor :push_timing
4319
+
4320
+ # URI of the uploaded artifact.
4321
+ # Corresponds to the JSON property `uri`
4322
+ # @return [String]
4323
+ attr_accessor :uri
4324
+
4325
+ def initialize(**args)
4326
+ update!(**args)
4327
+ end
4328
+
4329
+ # Update properties of this object
4330
+ def update!(**args)
4331
+ @file_hashes = args[:file_hashes] if args.key?(:file_hashes)
4332
+ @push_timing = args[:push_timing] if args.key?(:push_timing)
4333
+ @uri = args[:uri] if args.key?(:uri)
4334
+ end
4335
+ end
4336
+
4337
+ # Artifact uploaded using the PythonPackage directive.
4338
+ class UploadedPythonPackage
4339
+ include Google::Apis::Core::Hashable
4340
+
4341
+ # Container message for hashes of byte content of files, used in
4342
+ # SourceProvenance messages to verify integrity of source input to the build.
4343
+ # Corresponds to the JSON property `fileHashes`
4344
+ # @return [Google::Apis::CloudbuildV1::FileHashes]
4345
+ attr_accessor :file_hashes
4346
+
4347
+ # Start and end times for a build execution phase.
4348
+ # Corresponds to the JSON property `pushTiming`
4349
+ # @return [Google::Apis::CloudbuildV1::TimeSpan]
4350
+ attr_accessor :push_timing
4351
+
4352
+ # URI of the uploaded artifact.
4353
+ # Corresponds to the JSON property `uri`
4354
+ # @return [String]
4355
+ attr_accessor :uri
4356
+
4357
+ def initialize(**args)
4358
+ update!(**args)
4359
+ end
4360
+
4361
+ # Update properties of this object
4362
+ def update!(**args)
4363
+ @file_hashes = args[:file_hashes] if args.key?(:file_hashes)
4364
+ @push_timing = args[:push_timing] if args.key?(:push_timing)
4365
+ @uri = args[:uri] if args.key?(:uri)
4366
+ end
4367
+ end
4368
+
3614
4369
  # Volume describes a Docker container volume which is mounted into build steps
3615
4370
  # in order to persist files across build step execution.
3616
4371
  class Volume