google-apis-cloudbuild_v1 0.37.0 → 0.39.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -277,6 +277,77 @@ module Google
277
277
  end
278
278
  end
279
279
 
280
+ # RPC request object accepted by BatchCreateGitLabConnectedRepositories RPC
281
+ # method.
282
+ class BatchCreateGitLabConnectedRepositoriesRequest
283
+ include Google::Apis::Core::Hashable
284
+
285
+ # Required. Requests to connect GitLab repositories.
286
+ # Corresponds to the JSON property `requests`
287
+ # @return [Array<Google::Apis::CloudbuildV1::CreateGitLabConnectedRepositoryRequest>]
288
+ attr_accessor :requests
289
+
290
+ def initialize(**args)
291
+ update!(**args)
292
+ end
293
+
294
+ # Update properties of this object
295
+ def update!(**args)
296
+ @requests = args[:requests] if args.key?(:requests)
297
+ end
298
+ end
299
+
300
+ # Response of BatchCreateGitLabConnectedRepositories RPC method.
301
+ class BatchCreateGitLabConnectedRepositoriesResponse
302
+ include Google::Apis::Core::Hashable
303
+
304
+ # The GitLab connected repository requests' responses.
305
+ # Corresponds to the JSON property `gitlabConnectedRepositories`
306
+ # @return [Array<Google::Apis::CloudbuildV1::GitLabConnectedRepository>]
307
+ attr_accessor :gitlab_connected_repositories
308
+
309
+ def initialize(**args)
310
+ update!(**args)
311
+ end
312
+
313
+ # Update properties of this object
314
+ def update!(**args)
315
+ @gitlab_connected_repositories = args[:gitlab_connected_repositories] if args.key?(:gitlab_connected_repositories)
316
+ end
317
+ end
318
+
319
+ # Metadata for `BatchCreateGitLabConnectedRepositories` operation.
320
+ class BatchCreateGitLabConnectedRepositoriesResponseMetadata
321
+ include Google::Apis::Core::Hashable
322
+
323
+ # Time the operation was completed.
324
+ # Corresponds to the JSON property `completeTime`
325
+ # @return [String]
326
+ attr_accessor :complete_time
327
+
328
+ # The name of the `GitLabConfig` that added connected repositories. Format: `
329
+ # projects/`project`/locations/`location`/gitLabConfigs/`config``
330
+ # Corresponds to the JSON property `config`
331
+ # @return [String]
332
+ attr_accessor :config
333
+
334
+ # Time the operation was created.
335
+ # Corresponds to the JSON property `createTime`
336
+ # @return [String]
337
+ attr_accessor :create_time
338
+
339
+ def initialize(**args)
340
+ update!(**args)
341
+ end
342
+
343
+ # Update properties of this object
344
+ def update!(**args)
345
+ @complete_time = args[:complete_time] if args.key?(:complete_time)
346
+ @config = args[:config] if args.key?(:config)
347
+ @create_time = args[:create_time] if args.key?(:create_time)
348
+ end
349
+ end
350
+
280
351
  # BitbucketServerConfig represents the configuration for a Bitbucket Server.
281
352
  class BitbucketServerConfig
282
353
  include Google::Apis::Core::Hashable
@@ -976,6 +1047,22 @@ module Google
976
1047
  class BuildStep
977
1048
  include Google::Apis::Core::Hashable
978
1049
 
1050
+ # Allow this build step to fail without failing the entire build if and only if
1051
+ # the exit code is one of the specified codes. If allow_failure is also
1052
+ # specified, this field will take precedence.
1053
+ # Corresponds to the JSON property `allowExitCodes`
1054
+ # @return [Array<Fixnum>]
1055
+ attr_accessor :allow_exit_codes
1056
+
1057
+ # Allow this build step to fail without failing the entire build. If false, the
1058
+ # entire build will fail if this step fails. Otherwise, the build will succeed,
1059
+ # but this step will still have a failure status. Error information will be
1060
+ # reported in the failure_detail field.
1061
+ # Corresponds to the JSON property `allowFailure`
1062
+ # @return [Boolean]
1063
+ attr_accessor :allow_failure
1064
+ alias_method :allow_failure?, :allow_failure
1065
+
979
1066
  # A list of arguments that will be presented to the step when it is started. If
980
1067
  # the image used to run the step's container has an entrypoint, the `args` are
981
1068
  # used as arguments to that entrypoint. If the image does not define an
@@ -1009,6 +1096,11 @@ module Google
1009
1096
  # @return [Array<String>]
1010
1097
  attr_accessor :env
1011
1098
 
1099
+ # Output only. Return code from running the step.
1100
+ # Corresponds to the JSON property `exitCode`
1101
+ # @return [Fixnum]
1102
+ attr_accessor :exit_code
1103
+
1012
1104
  # Unique identifier for this build step, used in `wait_for` to reference this
1013
1105
  # build step as a dependency.
1014
1106
  # Corresponds to the JSON property `id`
@@ -1090,10 +1182,13 @@ module Google
1090
1182
 
1091
1183
  # Update properties of this object
1092
1184
  def update!(**args)
1185
+ @allow_exit_codes = args[:allow_exit_codes] if args.key?(:allow_exit_codes)
1186
+ @allow_failure = args[:allow_failure] if args.key?(:allow_failure)
1093
1187
  @args = args[:args] if args.key?(:args)
1094
1188
  @dir = args[:dir] if args.key?(:dir)
1095
1189
  @entrypoint = args[:entrypoint] if args.key?(:entrypoint)
1096
1190
  @env = args[:env] if args.key?(:env)
1191
+ @exit_code = args[:exit_code] if args.key?(:exit_code)
1097
1192
  @id = args[:id] if args.key?(:id)
1098
1193
  @name = args[:name] if args.key?(:name)
1099
1194
  @pull_timing = args[:pull_timing] if args.key?(:pull_timing)
@@ -1191,6 +1286,12 @@ module Google
1191
1286
  # @return [Google::Apis::CloudbuildV1::GitHubEventsConfig]
1192
1287
  attr_accessor :github
1193
1288
 
1289
+ # GitLabEventsConfig describes the configuration of a trigger that creates a
1290
+ # build whenever a GitLab event is received.
1291
+ # Corresponds to the JSON property `gitlabEnterpriseEventsConfig`
1292
+ # @return [Google::Apis::CloudbuildV1::GitLabEventsConfig]
1293
+ attr_accessor :gitlab_enterprise_events_config
1294
+
1194
1295
  # Output only. Unique identifier of the trigger.
1195
1296
  # Corresponds to the JSON property `id`
1196
1297
  # @return [String]
@@ -1299,6 +1400,7 @@ module Google
1299
1400
  @filter = args[:filter] if args.key?(:filter)
1300
1401
  @git_file_source = args[:git_file_source] if args.key?(:git_file_source)
1301
1402
  @github = args[:github] if args.key?(:github)
1403
+ @gitlab_enterprise_events_config = args[:gitlab_enterprise_events_config] if args.key?(:gitlab_enterprise_events_config)
1302
1404
  @id = args[:id] if args.key?(:id)
1303
1405
  @ignored_files = args[:ignored_files] if args.key?(:ignored_files)
1304
1406
  @include_build_logs = args[:include_build_logs] if args.key?(:include_build_logs)
@@ -1484,6 +1586,65 @@ module Google
1484
1586
  end
1485
1587
  end
1486
1588
 
1589
+ # Metadata for `CreateGitLabConfig` operation.
1590
+ class CreateGitLabConfigOperationMetadata
1591
+ include Google::Apis::Core::Hashable
1592
+
1593
+ # Time the operation was completed.
1594
+ # Corresponds to the JSON property `completeTime`
1595
+ # @return [String]
1596
+ attr_accessor :complete_time
1597
+
1598
+ # Time the operation was created.
1599
+ # Corresponds to the JSON property `createTime`
1600
+ # @return [String]
1601
+ attr_accessor :create_time
1602
+
1603
+ # The resource name of the GitLabConfig to be created. Format: `projects/`
1604
+ # project`/locations/`location`/gitlabConfigs/`id``.
1605
+ # Corresponds to the JSON property `gitlabConfig`
1606
+ # @return [String]
1607
+ attr_accessor :gitlab_config
1608
+
1609
+ def initialize(**args)
1610
+ update!(**args)
1611
+ end
1612
+
1613
+ # Update properties of this object
1614
+ def update!(**args)
1615
+ @complete_time = args[:complete_time] if args.key?(:complete_time)
1616
+ @create_time = args[:create_time] if args.key?(:create_time)
1617
+ @gitlab_config = args[:gitlab_config] if args.key?(:gitlab_config)
1618
+ end
1619
+ end
1620
+
1621
+ # Request to connect a repository from a connected GitLab host.
1622
+ class CreateGitLabConnectedRepositoryRequest
1623
+ include Google::Apis::Core::Hashable
1624
+
1625
+ # GitLabConnectedRepository represents a GitLab connected repository request
1626
+ # response.
1627
+ # Corresponds to the JSON property `gitlabConnectedRepository`
1628
+ # @return [Google::Apis::CloudbuildV1::GitLabConnectedRepository]
1629
+ attr_accessor :gitlab_connected_repository
1630
+
1631
+ # Required. The name of the `GitLabConfig` that adds connected repository.
1632
+ # Format: `projects/`project`/locations/`location`/gitLabConfigs/`config``
1633
+ # Corresponds to the JSON property `parent`
1634
+ # @return [String]
1635
+ attr_accessor :parent
1636
+
1637
+ def initialize(**args)
1638
+ update!(**args)
1639
+ end
1640
+
1641
+ # Update properties of this object
1642
+ def update!(**args)
1643
+ @gitlab_connected_repository = args[:gitlab_connected_repository] if args.key?(:gitlab_connected_repository)
1644
+ @parent = args[:parent] if args.key?(:parent)
1645
+ end
1646
+ end
1647
+
1487
1648
  # Metadata for the `CreateWorkerPool` operation.
1488
1649
  class CreateWorkerPoolOperationMetadata
1489
1650
  include Google::Apis::Core::Hashable
@@ -1580,6 +1741,38 @@ module Google
1580
1741
  end
1581
1742
  end
1582
1743
 
1744
+ # Metadata for `DeleteGitLabConfig` operation.
1745
+ class DeleteGitLabConfigOperationMetadata
1746
+ include Google::Apis::Core::Hashable
1747
+
1748
+ # Time the operation was completed.
1749
+ # Corresponds to the JSON property `completeTime`
1750
+ # @return [String]
1751
+ attr_accessor :complete_time
1752
+
1753
+ # Time the operation was created.
1754
+ # Corresponds to the JSON property `createTime`
1755
+ # @return [String]
1756
+ attr_accessor :create_time
1757
+
1758
+ # The resource name of the GitLabConfig to be created. Format: `projects/`
1759
+ # project`/locations/`location`/gitlabConfigs/`id``.
1760
+ # Corresponds to the JSON property `gitlabConfig`
1761
+ # @return [String]
1762
+ attr_accessor :gitlab_config
1763
+
1764
+ def initialize(**args)
1765
+ update!(**args)
1766
+ end
1767
+
1768
+ # Update properties of this object
1769
+ def update!(**args)
1770
+ @complete_time = args[:complete_time] if args.key?(:complete_time)
1771
+ @create_time = args[:create_time] if args.key?(:create_time)
1772
+ @gitlab_config = args[:gitlab_config] if args.key?(:gitlab_config)
1773
+ end
1774
+ end
1775
+
1583
1776
  # Metadata for the `DeleteWorkerPool` operation.
1584
1777
  class DeleteWorkerPoolOperationMetadata
1585
1778
  include Google::Apis::Core::Hashable
@@ -1926,6 +2119,293 @@ module Google
1926
2119
  end
1927
2120
  end
1928
2121
 
2122
+ # GitLabConfig represents the configuration for a GitLab integration.
2123
+ class GitLabConfig
2124
+ include Google::Apis::Core::Hashable
2125
+
2126
+ # Connected GitLab.com or GitLabEnterprise repositories for this config.
2127
+ # Corresponds to the JSON property `connectedRepositories`
2128
+ # @return [Array<Google::Apis::CloudbuildV1::GitLabRepositoryId>]
2129
+ attr_accessor :connected_repositories
2130
+
2131
+ # Output only. Time when the config was created.
2132
+ # Corresponds to the JSON property `createTime`
2133
+ # @return [String]
2134
+ attr_accessor :create_time
2135
+
2136
+ # GitLabEnterpriseConfig represents the configuration for a GitLabEnterprise
2137
+ # integration.
2138
+ # Corresponds to the JSON property `enterpriseConfig`
2139
+ # @return [Google::Apis::CloudbuildV1::GitLabEnterpriseConfig]
2140
+ attr_accessor :enterprise_config
2141
+
2142
+ # The resource name for the config.
2143
+ # Corresponds to the JSON property `name`
2144
+ # @return [String]
2145
+ attr_accessor :name
2146
+
2147
+ # GitLabSecrets represents the secrets in Secret Manager for a GitLab
2148
+ # integration.
2149
+ # Corresponds to the JSON property `secrets`
2150
+ # @return [Google::Apis::CloudbuildV1::GitLabSecrets]
2151
+ attr_accessor :secrets
2152
+
2153
+ # Username of the GitLab.com or GitLab Enterprise account Cloud Build will use.
2154
+ # Corresponds to the JSON property `username`
2155
+ # @return [String]
2156
+ attr_accessor :username
2157
+
2158
+ # Output only. UUID included in webhook requests. The UUID is used to look up
2159
+ # the corresponding config.
2160
+ # Corresponds to the JSON property `webhookKey`
2161
+ # @return [String]
2162
+ attr_accessor :webhook_key
2163
+
2164
+ def initialize(**args)
2165
+ update!(**args)
2166
+ end
2167
+
2168
+ # Update properties of this object
2169
+ def update!(**args)
2170
+ @connected_repositories = args[:connected_repositories] if args.key?(:connected_repositories)
2171
+ @create_time = args[:create_time] if args.key?(:create_time)
2172
+ @enterprise_config = args[:enterprise_config] if args.key?(:enterprise_config)
2173
+ @name = args[:name] if args.key?(:name)
2174
+ @secrets = args[:secrets] if args.key?(:secrets)
2175
+ @username = args[:username] if args.key?(:username)
2176
+ @webhook_key = args[:webhook_key] if args.key?(:webhook_key)
2177
+ end
2178
+ end
2179
+
2180
+ # GitLabConnectedRepository represents a GitLab connected repository request
2181
+ # response.
2182
+ class GitLabConnectedRepository
2183
+ include Google::Apis::Core::Hashable
2184
+
2185
+ # The name of the `GitLabConfig` that added connected repository. Format: `
2186
+ # projects/`project`/locations/`location`/gitLabConfigs/`config``
2187
+ # Corresponds to the JSON property `parent`
2188
+ # @return [String]
2189
+ attr_accessor :parent
2190
+
2191
+ # GitLabRepositoryId identifies a specific repository hosted on GitLab.com or
2192
+ # GitLabEnterprise
2193
+ # Corresponds to the JSON property `repo`
2194
+ # @return [Google::Apis::CloudbuildV1::GitLabRepositoryId]
2195
+ attr_accessor :repo
2196
+
2197
+ # The `Status` type defines a logical error model that is suitable for different
2198
+ # programming environments, including REST APIs and RPC APIs. It is used by [
2199
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
2200
+ # data: error code, error message, and error details. You can find out more
2201
+ # about this error model and how to work with it in the [API Design Guide](https:
2202
+ # //cloud.google.com/apis/design/errors).
2203
+ # Corresponds to the JSON property `status`
2204
+ # @return [Google::Apis::CloudbuildV1::Status]
2205
+ attr_accessor :status
2206
+
2207
+ def initialize(**args)
2208
+ update!(**args)
2209
+ end
2210
+
2211
+ # Update properties of this object
2212
+ def update!(**args)
2213
+ @parent = args[:parent] if args.key?(:parent)
2214
+ @repo = args[:repo] if args.key?(:repo)
2215
+ @status = args[:status] if args.key?(:status)
2216
+ end
2217
+ end
2218
+
2219
+ # GitLabEnterpriseConfig represents the configuration for a GitLabEnterprise
2220
+ # integration.
2221
+ class GitLabEnterpriseConfig
2222
+ include Google::Apis::Core::Hashable
2223
+
2224
+ # Immutable. The URI of the GitlabEnterprise host.
2225
+ # Corresponds to the JSON property `hostUri`
2226
+ # @return [String]
2227
+ attr_accessor :host_uri
2228
+
2229
+ # ServiceDirectoryConfig represents Service Directory configuration for a SCM
2230
+ # host connection.
2231
+ # Corresponds to the JSON property `serviceDirectoryConfig`
2232
+ # @return [Google::Apis::CloudbuildV1::ServiceDirectoryConfig]
2233
+ attr_accessor :service_directory_config
2234
+
2235
+ # The SSL certificate to use in requests to GitLab Enterprise instances.
2236
+ # Corresponds to the JSON property `sslCa`
2237
+ # @return [String]
2238
+ attr_accessor :ssl_ca
2239
+
2240
+ def initialize(**args)
2241
+ update!(**args)
2242
+ end
2243
+
2244
+ # Update properties of this object
2245
+ def update!(**args)
2246
+ @host_uri = args[:host_uri] if args.key?(:host_uri)
2247
+ @service_directory_config = args[:service_directory_config] if args.key?(:service_directory_config)
2248
+ @ssl_ca = args[:ssl_ca] if args.key?(:ssl_ca)
2249
+ end
2250
+ end
2251
+
2252
+ # GitLabEventsConfig describes the configuration of a trigger that creates a
2253
+ # build whenever a GitLab event is received.
2254
+ class GitLabEventsConfig
2255
+ include Google::Apis::Core::Hashable
2256
+
2257
+ # GitLabConfig represents the configuration for a GitLab integration.
2258
+ # Corresponds to the JSON property `gitlabConfig`
2259
+ # @return [Google::Apis::CloudbuildV1::GitLabConfig]
2260
+ attr_accessor :gitlab_config
2261
+
2262
+ # The GitLab config resource that this trigger config maps to.
2263
+ # Corresponds to the JSON property `gitlabConfigResource`
2264
+ # @return [String]
2265
+ attr_accessor :gitlab_config_resource
2266
+
2267
+ # Namespace of the GitLab project.
2268
+ # Corresponds to the JSON property `projectNamespace`
2269
+ # @return [String]
2270
+ attr_accessor :project_namespace
2271
+
2272
+ # PullRequestFilter contains filter properties for matching GitHub Pull Requests.
2273
+ # Corresponds to the JSON property `pullRequest`
2274
+ # @return [Google::Apis::CloudbuildV1::PullRequestFilter]
2275
+ attr_accessor :pull_request
2276
+
2277
+ # Push contains filter properties for matching GitHub git pushes.
2278
+ # Corresponds to the JSON property `push`
2279
+ # @return [Google::Apis::CloudbuildV1::PushFilter]
2280
+ attr_accessor :push
2281
+
2282
+ def initialize(**args)
2283
+ update!(**args)
2284
+ end
2285
+
2286
+ # Update properties of this object
2287
+ def update!(**args)
2288
+ @gitlab_config = args[:gitlab_config] if args.key?(:gitlab_config)
2289
+ @gitlab_config_resource = args[:gitlab_config_resource] if args.key?(:gitlab_config_resource)
2290
+ @project_namespace = args[:project_namespace] if args.key?(:project_namespace)
2291
+ @pull_request = args[:pull_request] if args.key?(:pull_request)
2292
+ @push = args[:push] if args.key?(:push)
2293
+ end
2294
+ end
2295
+
2296
+ # Proto Representing a GitLabRepository
2297
+ class GitLabRepository
2298
+ include Google::Apis::Core::Hashable
2299
+
2300
+ # Link to the browse repo page on the GitLab instance
2301
+ # Corresponds to the JSON property `browseUri`
2302
+ # @return [String]
2303
+ attr_accessor :browse_uri
2304
+
2305
+ # Description of the repository
2306
+ # Corresponds to the JSON property `description`
2307
+ # @return [String]
2308
+ attr_accessor :description
2309
+
2310
+ # Display name of the repository
2311
+ # Corresponds to the JSON property `displayName`
2312
+ # @return [String]
2313
+ attr_accessor :display_name
2314
+
2315
+ # The resource name of the repository
2316
+ # Corresponds to the JSON property `name`
2317
+ # @return [String]
2318
+ attr_accessor :name
2319
+
2320
+ # GitLabRepositoryId identifies a specific repository hosted on GitLab.com or
2321
+ # GitLabEnterprise
2322
+ # Corresponds to the JSON property `repositoryId`
2323
+ # @return [Google::Apis::CloudbuildV1::GitLabRepositoryId]
2324
+ attr_accessor :repository_id
2325
+
2326
+ def initialize(**args)
2327
+ update!(**args)
2328
+ end
2329
+
2330
+ # Update properties of this object
2331
+ def update!(**args)
2332
+ @browse_uri = args[:browse_uri] if args.key?(:browse_uri)
2333
+ @description = args[:description] if args.key?(:description)
2334
+ @display_name = args[:display_name] if args.key?(:display_name)
2335
+ @name = args[:name] if args.key?(:name)
2336
+ @repository_id = args[:repository_id] if args.key?(:repository_id)
2337
+ end
2338
+ end
2339
+
2340
+ # GitLabRepositoryId identifies a specific repository hosted on GitLab.com or
2341
+ # GitLabEnterprise
2342
+ class GitLabRepositoryId
2343
+ include Google::Apis::Core::Hashable
2344
+
2345
+ # Required. Identifier for the repository. example: "namespace/project-slug",
2346
+ # namespace is usually the username or group ID
2347
+ # Corresponds to the JSON property `id`
2348
+ # @return [String]
2349
+ attr_accessor :id
2350
+
2351
+ # Output only. The ID of the webhook that was created for receiving events from
2352
+ # this repo. We only create and manage a single webhook for each repo.
2353
+ # Corresponds to the JSON property `webhookId`
2354
+ # @return [Fixnum]
2355
+ attr_accessor :webhook_id
2356
+
2357
+ def initialize(**args)
2358
+ update!(**args)
2359
+ end
2360
+
2361
+ # Update properties of this object
2362
+ def update!(**args)
2363
+ @id = args[:id] if args.key?(:id)
2364
+ @webhook_id = args[:webhook_id] if args.key?(:webhook_id)
2365
+ end
2366
+ end
2367
+
2368
+ # GitLabSecrets represents the secrets in Secret Manager for a GitLab
2369
+ # integration.
2370
+ class GitLabSecrets
2371
+ include Google::Apis::Core::Hashable
2372
+
2373
+ # Required. The resource name for the api access token’s secret version
2374
+ # Corresponds to the JSON property `apiAccessTokenVersion`
2375
+ # @return [String]
2376
+ attr_accessor :api_access_token_version
2377
+
2378
+ # Required. Immutable. API Key that will be attached to webhook requests from
2379
+ # GitLab to Cloud Build.
2380
+ # Corresponds to the JSON property `apiKeyVersion`
2381
+ # @return [String]
2382
+ attr_accessor :api_key_version
2383
+
2384
+ # Required. The resource name for the read access token’s secret version
2385
+ # Corresponds to the JSON property `readAccessTokenVersion`
2386
+ # @return [String]
2387
+ attr_accessor :read_access_token_version
2388
+
2389
+ # Required. Immutable. The resource name for the webhook secret’s secret version.
2390
+ # Once this field has been set, it cannot be changed. If you need to change it,
2391
+ # please create another GitLabConfig.
2392
+ # Corresponds to the JSON property `webhookSecretVersion`
2393
+ # @return [String]
2394
+ attr_accessor :webhook_secret_version
2395
+
2396
+ def initialize(**args)
2397
+ update!(**args)
2398
+ end
2399
+
2400
+ # Update properties of this object
2401
+ def update!(**args)
2402
+ @api_access_token_version = args[:api_access_token_version] if args.key?(:api_access_token_version)
2403
+ @api_key_version = args[:api_key_version] if args.key?(:api_key_version)
2404
+ @read_access_token_version = args[:read_access_token_version] if args.key?(:read_access_token_version)
2405
+ @webhook_secret_version = args[:webhook_secret_version] if args.key?(:webhook_secret_version)
2406
+ end
2407
+ end
2408
+
1929
2409
  # GitRepoSource describes a repo and ref of a code repository.
1930
2410
  class GitRepoSource
1931
2411
  include Google::Apis::Core::Hashable
@@ -2257,6 +2737,58 @@ module Google
2257
2737
  end
2258
2738
  end
2259
2739
 
2740
+ # RPC response object returned by ListGitLabConfigs RPC method.
2741
+ class ListGitLabConfigsResponse
2742
+ include Google::Apis::Core::Hashable
2743
+
2744
+ # A list of GitLabConfigs
2745
+ # Corresponds to the JSON property `gitlabConfigs`
2746
+ # @return [Array<Google::Apis::CloudbuildV1::GitLabConfig>]
2747
+ attr_accessor :gitlab_configs
2748
+
2749
+ # A token that can be sent as `page_token` to retrieve the next page If this
2750
+ # field is omitted, there are no subsequent pages.
2751
+ # Corresponds to the JSON property `nextPageToken`
2752
+ # @return [String]
2753
+ attr_accessor :next_page_token
2754
+
2755
+ def initialize(**args)
2756
+ update!(**args)
2757
+ end
2758
+
2759
+ # Update properties of this object
2760
+ def update!(**args)
2761
+ @gitlab_configs = args[:gitlab_configs] if args.key?(:gitlab_configs)
2762
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2763
+ end
2764
+ end
2765
+
2766
+ # RPC response object returned by the ListGitLabRepositories RPC method.
2767
+ class ListGitLabRepositoriesResponse
2768
+ include Google::Apis::Core::Hashable
2769
+
2770
+ # List of GitLab repositories
2771
+ # Corresponds to the JSON property `gitlabRepositories`
2772
+ # @return [Array<Google::Apis::CloudbuildV1::GitLabRepository>]
2773
+ attr_accessor :gitlab_repositories
2774
+
2775
+ # A token that can be sent as `page_token` to retrieve the next page. If this
2776
+ # field is omitted, there are no subsequent pages.
2777
+ # Corresponds to the JSON property `nextPageToken`
2778
+ # @return [String]
2779
+ attr_accessor :next_page_token
2780
+
2781
+ def initialize(**args)
2782
+ update!(**args)
2783
+ end
2784
+
2785
+ # Update properties of this object
2786
+ def update!(**args)
2787
+ @gitlab_repositories = args[:gitlab_repositories] if args.key?(:gitlab_repositories)
2788
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2789
+ end
2790
+ end
2791
+
2260
2792
  # RPC response object returned by ListGithubEnterpriseConfigs RPC method.
2261
2793
  class ListGithubEnterpriseConfigsResponse
2262
2794
  include Google::Apis::Core::Hashable
@@ -2874,6 +3406,26 @@ module Google
2874
3406
  end
2875
3407
  end
2876
3408
 
3409
+ # RPC request object accepted by RemoveGitLabConnectedRepository RPC method.
3410
+ class RemoveGitLabConnectedRepositoryRequest
3411
+ include Google::Apis::Core::Hashable
3412
+
3413
+ # GitLabRepositoryId identifies a specific repository hosted on GitLab.com or
3414
+ # GitLabEnterprise
3415
+ # Corresponds to the JSON property `connectedRepository`
3416
+ # @return [Google::Apis::CloudbuildV1::GitLabRepositoryId]
3417
+ attr_accessor :connected_repository
3418
+
3419
+ def initialize(**args)
3420
+ update!(**args)
3421
+ end
3422
+
3423
+ # Update properties of this object
3424
+ def update!(**args)
3425
+ @connected_repository = args[:connected_repository] if args.key?(:connected_repository)
3426
+ end
3427
+ end
3428
+
2877
3429
  # Location of the source in a Google Cloud Source Repository.
2878
3430
  class RepoSource
2879
3431
  include Google::Apis::Core::Hashable
@@ -3254,6 +3806,27 @@ module Google
3254
3806
  end
3255
3807
  end
3256
3808
 
3809
+ # ServiceDirectoryConfig represents Service Directory configuration for a SCM
3810
+ # host connection.
3811
+ class ServiceDirectoryConfig
3812
+ include Google::Apis::Core::Hashable
3813
+
3814
+ # The Service Directory service name. Format: projects/`project`/locations/`
3815
+ # location`/namespaces/`namespace`/services/`service`.
3816
+ # Corresponds to the JSON property `service`
3817
+ # @return [String]
3818
+ attr_accessor :service
3819
+
3820
+ def initialize(**args)
3821
+ update!(**args)
3822
+ end
3823
+
3824
+ # Update properties of this object
3825
+ def update!(**args)
3826
+ @service = args[:service] if args.key?(:service)
3827
+ end
3828
+ end
3829
+
3257
3830
  # SlackDelivery is the delivery configuration for delivering Slack messages via
3258
3831
  # webhooks. See Slack webhook documentation at: https://api.slack.com/messaging/
3259
3832
  # webhooks.
@@ -3555,6 +4128,38 @@ module Google
3555
4128
  end
3556
4129
  end
3557
4130
 
4131
+ # Metadata for `UpdateGitLabConfig` operation.
4132
+ class UpdateGitLabConfigOperationMetadata
4133
+ include Google::Apis::Core::Hashable
4134
+
4135
+ # Time the operation was completed.
4136
+ # Corresponds to the JSON property `completeTime`
4137
+ # @return [String]
4138
+ attr_accessor :complete_time
4139
+
4140
+ # Time the operation was created.
4141
+ # Corresponds to the JSON property `createTime`
4142
+ # @return [String]
4143
+ attr_accessor :create_time
4144
+
4145
+ # The resource name of the GitLabConfig to be created. Format: `projects/`
4146
+ # project`/locations/`location`/gitlabConfigs/`id``.
4147
+ # Corresponds to the JSON property `gitlabConfig`
4148
+ # @return [String]
4149
+ attr_accessor :gitlab_config
4150
+
4151
+ def initialize(**args)
4152
+ update!(**args)
4153
+ end
4154
+
4155
+ # Update properties of this object
4156
+ def update!(**args)
4157
+ @complete_time = args[:complete_time] if args.key?(:complete_time)
4158
+ @create_time = args[:create_time] if args.key?(:create_time)
4159
+ @gitlab_config = args[:gitlab_config] if args.key?(:gitlab_config)
4160
+ end
4161
+ end
4162
+
3558
4163
  # Metadata for the `UpdateWorkerPool` operation.
3559
4164
  class UpdateWorkerPoolOperationMetadata
3560
4165
  include Google::Apis::Core::Hashable