google-apis-cloudbuild_v1 0.38.0 → 0.40.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.
@@ -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