pulumi-gcp 8.14.0a1736853524__py3-none-any.whl → 8.14.0a1736952890__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/applicationintegration/_inputs.py +3 -3
  3. pulumi_gcp/applicationintegration/outputs.py +2 -2
  4. pulumi_gcp/beyondcorp/__init__.py +1 -0
  5. pulumi_gcp/beyondcorp/_inputs.py +93 -0
  6. pulumi_gcp/beyondcorp/outputs.py +89 -0
  7. pulumi_gcp/beyondcorp/security_gateway.py +670 -0
  8. pulumi_gcp/blockchainnodeengine/_inputs.py +3 -3
  9. pulumi_gcp/blockchainnodeengine/outputs.py +2 -2
  10. pulumi_gcp/certificateauthority/_inputs.py +6 -6
  11. pulumi_gcp/certificateauthority/outputs.py +4 -4
  12. pulumi_gcp/certificatemanager/_inputs.py +3 -3
  13. pulumi_gcp/certificatemanager/outputs.py +2 -2
  14. pulumi_gcp/chronicle/__init__.py +2 -0
  15. pulumi_gcp/chronicle/_inputs.py +388 -0
  16. pulumi_gcp/chronicle/data_access_label.py +690 -0
  17. pulumi_gcp/chronicle/data_access_scope.py +1094 -0
  18. pulumi_gcp/chronicle/outputs.py +322 -0
  19. pulumi_gcp/chronicle/watchlist.py +68 -45
  20. pulumi_gcp/cloudbuild/_inputs.py +3 -3
  21. pulumi_gcp/cloudbuild/outputs.py +2 -2
  22. pulumi_gcp/cloudquota/__init__.py +1 -0
  23. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +336 -0
  24. pulumi_gcp/compute/_inputs.py +33 -33
  25. pulumi_gcp/compute/instance_group_manager.py +9 -9
  26. pulumi_gcp/compute/outputs.py +22 -22
  27. pulumi_gcp/compute/region_instance_group_manager.py +9 -9
  28. pulumi_gcp/datacatalog/_inputs.py +3 -3
  29. pulumi_gcp/datacatalog/outputs.py +2 -2
  30. pulumi_gcp/developerconnect/_inputs.py +910 -42
  31. pulumi_gcp/developerconnect/connection.py +614 -86
  32. pulumi_gcp/developerconnect/git_repository_link.py +4 -0
  33. pulumi_gcp/developerconnect/outputs.py +717 -28
  34. pulumi_gcp/dns/_inputs.py +124 -20
  35. pulumi_gcp/dns/outputs.py +90 -16
  36. pulumi_gcp/dns/record_set.py +82 -0
  37. pulumi_gcp/edgecontainer/_inputs.py +3 -3
  38. pulumi_gcp/edgecontainer/outputs.py +2 -2
  39. pulumi_gcp/gkeonprem/_inputs.py +15 -15
  40. pulumi_gcp/gkeonprem/outputs.py +10 -10
  41. pulumi_gcp/gkeonprem/v_mware_cluster.py +1 -1
  42. pulumi_gcp/iap/_inputs.py +9 -3
  43. pulumi_gcp/iap/outputs.py +6 -2
  44. pulumi_gcp/iap/settings.py +63 -63
  45. pulumi_gcp/identityplatform/_inputs.py +9 -9
  46. pulumi_gcp/identityplatform/outputs.py +6 -6
  47. pulumi_gcp/integrationconnectors/_inputs.py +6 -6
  48. pulumi_gcp/integrationconnectors/outputs.py +4 -4
  49. pulumi_gcp/monitoring/_inputs.py +3 -3
  50. pulumi_gcp/monitoring/outputs.py +2 -2
  51. pulumi_gcp/oracledatabase/_inputs.py +3 -3
  52. pulumi_gcp/oracledatabase/outputs.py +2 -2
  53. pulumi_gcp/pulumi-plugin.json +1 -1
  54. pulumi_gcp/sql/_inputs.py +20 -0
  55. pulumi_gcp/sql/database_instance.py +2 -2
  56. pulumi_gcp/sql/outputs.py +36 -0
  57. pulumi_gcp/transcoder/_inputs.py +6 -6
  58. pulumi_gcp/transcoder/outputs.py +4 -4
  59. {pulumi_gcp-8.14.0a1736853524.dist-info → pulumi_gcp-8.14.0a1736952890.dist-info}/METADATA +1 -1
  60. {pulumi_gcp-8.14.0a1736853524.dist-info → pulumi_gcp-8.14.0a1736952890.dist-info}/RECORD +62 -58
  61. {pulumi_gcp-8.14.0a1736853524.dist-info → pulumi_gcp-8.14.0a1736952890.dist-info}/WHEEL +0 -0
  62. {pulumi_gcp-8.14.0a1736853524.dist-info → pulumi_gcp-8.14.0a1736952890.dist-info}/top_level.txt +0 -0
@@ -24,33 +24,45 @@ class ConnectionArgs:
24
24
  connection_id: pulumi.Input[str],
25
25
  location: pulumi.Input[str],
26
26
  annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
27
+ crypto_key_config: Optional[pulumi.Input['ConnectionCryptoKeyConfigArgs']] = None,
27
28
  disabled: Optional[pulumi.Input[bool]] = None,
28
29
  etag: Optional[pulumi.Input[str]] = None,
29
30
  github_config: Optional[pulumi.Input['ConnectionGithubConfigArgs']] = None,
31
+ github_enterprise_config: Optional[pulumi.Input['ConnectionGithubEnterpriseConfigArgs']] = None,
32
+ gitlab_config: Optional[pulumi.Input['ConnectionGitlabConfigArgs']] = None,
33
+ gitlab_enterprise_config: Optional[pulumi.Input['ConnectionGitlabEnterpriseConfigArgs']] = None,
30
34
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
31
35
  project: Optional[pulumi.Input[str]] = None):
32
36
  """
33
37
  The set of arguments for constructing a Connection resource.
34
- :param pulumi.Input[str] connection_id: Required. Id of the requesting object. If auto-generating Id server-side,
35
- remove this field and connection_id from the method_signature of Create RPC.
38
+ :param pulumi.Input[str] connection_id: Required. Id of the requesting object
39
+ If auto-generating Id server-side, remove this field and
40
+ connection_id from the method_signature of Create RPC
36
41
 
37
42
 
38
43
  - - -
39
- :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource
40
- within its parent collection as described in https://google.aip.dev/122. See documentation
41
- for resource type `developerconnect.googleapis.com/GitRepositoryLink`.
44
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
42
45
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Optional. Allows clients to store small amounts of arbitrary data.
43
-
44
46
  **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
45
47
  Please refer to the field `effective_annotations` for all of the annotations present on the resource.
46
- :param pulumi.Input[bool] disabled: Optional. If disabled is set to true, functionality is disabled for this connection. Repository based API methods and webhooks processing for repositories in this connection will be disabled.
47
- :param pulumi.Input[str] etag: Optional. This checksum is computed by the server based on the value
48
- of other fields, and may be sent on update and delete requests to ensure the
48
+ :param pulumi.Input['ConnectionCryptoKeyConfigArgs'] crypto_key_config: The crypto key configuration. This field is used by the Customer-managed
49
+ encryption keys (CMEK) feature.
50
+ Structure is documented below.
51
+ :param pulumi.Input[bool] disabled: Optional. If disabled is set to true, functionality is disabled for this connection.
52
+ Repository based API methods and webhooks processing for repositories in
53
+ this connection will be disabled.
54
+ :param pulumi.Input[str] etag: Optional. This checksum is computed by the server based on the value of other
55
+ fields, and may be sent on update and delete requests to ensure the
49
56
  client has an up-to-date value before proceeding.
50
57
  :param pulumi.Input['ConnectionGithubConfigArgs'] github_config: Configuration for connections to github.com.
51
58
  Structure is documented below.
59
+ :param pulumi.Input['ConnectionGithubEnterpriseConfigArgs'] github_enterprise_config: Configuration for connections to an instance of GitHub Enterprise.
60
+ Structure is documented below.
61
+ :param pulumi.Input['ConnectionGitlabConfigArgs'] gitlab_config: Configuration for connections to gitlab.com.
62
+ Structure is documented below.
63
+ :param pulumi.Input['ConnectionGitlabEnterpriseConfigArgs'] gitlab_enterprise_config: Configuration for connections to an instance of GitLab Enterprise.
64
+ Structure is documented below.
52
65
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs
53
-
54
66
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
55
67
  Please refer to the field `effective_labels` for all of the labels present on the resource.
56
68
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
@@ -60,12 +72,20 @@ class ConnectionArgs:
60
72
  pulumi.set(__self__, "location", location)
61
73
  if annotations is not None:
62
74
  pulumi.set(__self__, "annotations", annotations)
75
+ if crypto_key_config is not None:
76
+ pulumi.set(__self__, "crypto_key_config", crypto_key_config)
63
77
  if disabled is not None:
64
78
  pulumi.set(__self__, "disabled", disabled)
65
79
  if etag is not None:
66
80
  pulumi.set(__self__, "etag", etag)
67
81
  if github_config is not None:
68
82
  pulumi.set(__self__, "github_config", github_config)
83
+ if github_enterprise_config is not None:
84
+ pulumi.set(__self__, "github_enterprise_config", github_enterprise_config)
85
+ if gitlab_config is not None:
86
+ pulumi.set(__self__, "gitlab_config", gitlab_config)
87
+ if gitlab_enterprise_config is not None:
88
+ pulumi.set(__self__, "gitlab_enterprise_config", gitlab_enterprise_config)
69
89
  if labels is not None:
70
90
  pulumi.set(__self__, "labels", labels)
71
91
  if project is not None:
@@ -75,8 +95,9 @@ class ConnectionArgs:
75
95
  @pulumi.getter(name="connectionId")
76
96
  def connection_id(self) -> pulumi.Input[str]:
77
97
  """
78
- Required. Id of the requesting object. If auto-generating Id server-side,
79
- remove this field and connection_id from the method_signature of Create RPC.
98
+ Required. Id of the requesting object
99
+ If auto-generating Id server-side, remove this field and
100
+ connection_id from the method_signature of Create RPC
80
101
 
81
102
 
82
103
  - - -
@@ -91,9 +112,7 @@ class ConnectionArgs:
91
112
  @pulumi.getter
92
113
  def location(self) -> pulumi.Input[str]:
93
114
  """
94
- Resource ID segment making up resource `name`. It identifies the resource
95
- within its parent collection as described in https://google.aip.dev/122. See documentation
96
- for resource type `developerconnect.googleapis.com/GitRepositoryLink`.
115
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
97
116
  """
98
117
  return pulumi.get(self, "location")
99
118
 
@@ -106,7 +125,6 @@ class ConnectionArgs:
106
125
  def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
107
126
  """
108
127
  Optional. Allows clients to store small amounts of arbitrary data.
109
-
110
128
  **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
111
129
  Please refer to the field `effective_annotations` for all of the annotations present on the resource.
112
130
  """
@@ -116,11 +134,27 @@ class ConnectionArgs:
116
134
  def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
117
135
  pulumi.set(self, "annotations", value)
118
136
 
137
+ @property
138
+ @pulumi.getter(name="cryptoKeyConfig")
139
+ def crypto_key_config(self) -> Optional[pulumi.Input['ConnectionCryptoKeyConfigArgs']]:
140
+ """
141
+ The crypto key configuration. This field is used by the Customer-managed
142
+ encryption keys (CMEK) feature.
143
+ Structure is documented below.
144
+ """
145
+ return pulumi.get(self, "crypto_key_config")
146
+
147
+ @crypto_key_config.setter
148
+ def crypto_key_config(self, value: Optional[pulumi.Input['ConnectionCryptoKeyConfigArgs']]):
149
+ pulumi.set(self, "crypto_key_config", value)
150
+
119
151
  @property
120
152
  @pulumi.getter
121
153
  def disabled(self) -> Optional[pulumi.Input[bool]]:
122
154
  """
123
- Optional. If disabled is set to true, functionality is disabled for this connection. Repository based API methods and webhooks processing for repositories in this connection will be disabled.
155
+ Optional. If disabled is set to true, functionality is disabled for this connection.
156
+ Repository based API methods and webhooks processing for repositories in
157
+ this connection will be disabled.
124
158
  """
125
159
  return pulumi.get(self, "disabled")
126
160
 
@@ -132,8 +166,8 @@ class ConnectionArgs:
132
166
  @pulumi.getter
133
167
  def etag(self) -> Optional[pulumi.Input[str]]:
134
168
  """
135
- Optional. This checksum is computed by the server based on the value
136
- of other fields, and may be sent on update and delete requests to ensure the
169
+ Optional. This checksum is computed by the server based on the value of other
170
+ fields, and may be sent on update and delete requests to ensure the
137
171
  client has an up-to-date value before proceeding.
138
172
  """
139
173
  return pulumi.get(self, "etag")
@@ -155,12 +189,50 @@ class ConnectionArgs:
155
189
  def github_config(self, value: Optional[pulumi.Input['ConnectionGithubConfigArgs']]):
156
190
  pulumi.set(self, "github_config", value)
157
191
 
192
+ @property
193
+ @pulumi.getter(name="githubEnterpriseConfig")
194
+ def github_enterprise_config(self) -> Optional[pulumi.Input['ConnectionGithubEnterpriseConfigArgs']]:
195
+ """
196
+ Configuration for connections to an instance of GitHub Enterprise.
197
+ Structure is documented below.
198
+ """
199
+ return pulumi.get(self, "github_enterprise_config")
200
+
201
+ @github_enterprise_config.setter
202
+ def github_enterprise_config(self, value: Optional[pulumi.Input['ConnectionGithubEnterpriseConfigArgs']]):
203
+ pulumi.set(self, "github_enterprise_config", value)
204
+
205
+ @property
206
+ @pulumi.getter(name="gitlabConfig")
207
+ def gitlab_config(self) -> Optional[pulumi.Input['ConnectionGitlabConfigArgs']]:
208
+ """
209
+ Configuration for connections to gitlab.com.
210
+ Structure is documented below.
211
+ """
212
+ return pulumi.get(self, "gitlab_config")
213
+
214
+ @gitlab_config.setter
215
+ def gitlab_config(self, value: Optional[pulumi.Input['ConnectionGitlabConfigArgs']]):
216
+ pulumi.set(self, "gitlab_config", value)
217
+
218
+ @property
219
+ @pulumi.getter(name="gitlabEnterpriseConfig")
220
+ def gitlab_enterprise_config(self) -> Optional[pulumi.Input['ConnectionGitlabEnterpriseConfigArgs']]:
221
+ """
222
+ Configuration for connections to an instance of GitLab Enterprise.
223
+ Structure is documented below.
224
+ """
225
+ return pulumi.get(self, "gitlab_enterprise_config")
226
+
227
+ @gitlab_enterprise_config.setter
228
+ def gitlab_enterprise_config(self, value: Optional[pulumi.Input['ConnectionGitlabEnterpriseConfigArgs']]):
229
+ pulumi.set(self, "gitlab_enterprise_config", value)
230
+
158
231
  @property
159
232
  @pulumi.getter
160
233
  def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
161
234
  """
162
235
  Optional. Labels as key value pairs
163
-
164
236
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
165
237
  Please refer to the field `effective_labels` for all of the labels present on the resource.
166
238
  """
@@ -190,12 +262,16 @@ class _ConnectionState:
190
262
  annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
191
263
  connection_id: Optional[pulumi.Input[str]] = None,
192
264
  create_time: Optional[pulumi.Input[str]] = None,
265
+ crypto_key_config: Optional[pulumi.Input['ConnectionCryptoKeyConfigArgs']] = None,
193
266
  delete_time: Optional[pulumi.Input[str]] = None,
194
267
  disabled: Optional[pulumi.Input[bool]] = None,
195
268
  effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
196
269
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
197
270
  etag: Optional[pulumi.Input[str]] = None,
198
271
  github_config: Optional[pulumi.Input['ConnectionGithubConfigArgs']] = None,
272
+ github_enterprise_config: Optional[pulumi.Input['ConnectionGithubEnterpriseConfigArgs']] = None,
273
+ gitlab_config: Optional[pulumi.Input['ConnectionGitlabConfigArgs']] = None,
274
+ gitlab_enterprise_config: Optional[pulumi.Input['ConnectionGitlabEnterpriseConfigArgs']] = None,
199
275
  installation_states: Optional[pulumi.Input[Sequence[pulumi.Input['ConnectionInstallationStateArgs']]]] = None,
200
276
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
201
277
  location: Optional[pulumi.Input[str]] = None,
@@ -208,41 +284,50 @@ class _ConnectionState:
208
284
  """
209
285
  Input properties used for looking up and filtering Connection resources.
210
286
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Optional. Allows clients to store small amounts of arbitrary data.
211
-
212
287
  **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
213
288
  Please refer to the field `effective_annotations` for all of the annotations present on the resource.
214
- :param pulumi.Input[str] connection_id: Required. Id of the requesting object. If auto-generating Id server-side,
215
- remove this field and connection_id from the method_signature of Create RPC.
289
+ :param pulumi.Input[str] connection_id: Required. Id of the requesting object
290
+ If auto-generating Id server-side, remove this field and
291
+ connection_id from the method_signature of Create RPC
216
292
 
217
293
 
218
294
  - - -
219
295
  :param pulumi.Input[str] create_time: Output only. [Output only] Create timestamp
296
+ :param pulumi.Input['ConnectionCryptoKeyConfigArgs'] crypto_key_config: The crypto key configuration. This field is used by the Customer-managed
297
+ encryption keys (CMEK) feature.
298
+ Structure is documented below.
220
299
  :param pulumi.Input[str] delete_time: Output only. [Output only] Delete timestamp
221
- :param pulumi.Input[bool] disabled: Optional. If disabled is set to true, functionality is disabled for this connection. Repository based API methods and webhooks processing for repositories in this connection will be disabled.
300
+ :param pulumi.Input[bool] disabled: Optional. If disabled is set to true, functionality is disabled for this connection.
301
+ Repository based API methods and webhooks processing for repositories in
302
+ this connection will be disabled.
222
303
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
223
- :param pulumi.Input[str] etag: Optional. This checksum is computed by the server based on the value
224
- of other fields, and may be sent on update and delete requests to ensure the
304
+ :param pulumi.Input[str] etag: Optional. This checksum is computed by the server based on the value of other
305
+ fields, and may be sent on update and delete requests to ensure the
225
306
  client has an up-to-date value before proceeding.
226
307
  :param pulumi.Input['ConnectionGithubConfigArgs'] github_config: Configuration for connections to github.com.
227
308
  Structure is documented below.
228
- :param pulumi.Input[Sequence[pulumi.Input['ConnectionInstallationStateArgs']]] installation_states: Describes stage and necessary actions to be taken by the user to complete the installation.
229
- Used for GitHub and GitHub Enterprise based connections.
309
+ :param pulumi.Input['ConnectionGithubEnterpriseConfigArgs'] github_enterprise_config: Configuration for connections to an instance of GitHub Enterprise.
310
+ Structure is documented below.
311
+ :param pulumi.Input['ConnectionGitlabConfigArgs'] gitlab_config: Configuration for connections to gitlab.com.
312
+ Structure is documented below.
313
+ :param pulumi.Input['ConnectionGitlabEnterpriseConfigArgs'] gitlab_enterprise_config: Configuration for connections to an instance of GitLab Enterprise.
314
+ Structure is documented below.
315
+ :param pulumi.Input[Sequence[pulumi.Input['ConnectionInstallationStateArgs']]] installation_states: Describes stage and necessary actions to be taken by the
316
+ user to complete the installation. Used for GitHub and GitHub Enterprise
317
+ based connections.
230
318
  Structure is documented below.
231
319
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs
232
-
233
320
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
234
321
  Please refer to the field `effective_labels` for all of the labels present on the resource.
235
- :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource
236
- within its parent collection as described in https://google.aip.dev/122. See documentation
237
- for resource type `developerconnect.googleapis.com/GitRepositoryLink`.
322
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
238
323
  :param pulumi.Input[str] name: Identifier. The resource name of the connection, in the format
239
324
  `projects/{project}/locations/{location}/connections/{connection_id}`.
240
325
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
241
326
  If it is not provided, the provider project is used.
242
327
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
243
328
  and default labels configured on the provider.
244
- :param pulumi.Input[bool] reconciling: Output only. Set to true when the connection is being set up or updated
245
- in the background.
329
+ :param pulumi.Input[bool] reconciling: Output only. Set to true when the connection is being set up or updated in the
330
+ background.
246
331
  :param pulumi.Input[str] uid: Output only. A system-assigned unique identifier for a the GitRepositoryLink.
247
332
  :param pulumi.Input[str] update_time: Output only. [Output only] Update timestamp
248
333
  """
@@ -252,6 +337,8 @@ class _ConnectionState:
252
337
  pulumi.set(__self__, "connection_id", connection_id)
253
338
  if create_time is not None:
254
339
  pulumi.set(__self__, "create_time", create_time)
340
+ if crypto_key_config is not None:
341
+ pulumi.set(__self__, "crypto_key_config", crypto_key_config)
255
342
  if delete_time is not None:
256
343
  pulumi.set(__self__, "delete_time", delete_time)
257
344
  if disabled is not None:
@@ -264,6 +351,12 @@ class _ConnectionState:
264
351
  pulumi.set(__self__, "etag", etag)
265
352
  if github_config is not None:
266
353
  pulumi.set(__self__, "github_config", github_config)
354
+ if github_enterprise_config is not None:
355
+ pulumi.set(__self__, "github_enterprise_config", github_enterprise_config)
356
+ if gitlab_config is not None:
357
+ pulumi.set(__self__, "gitlab_config", gitlab_config)
358
+ if gitlab_enterprise_config is not None:
359
+ pulumi.set(__self__, "gitlab_enterprise_config", gitlab_enterprise_config)
267
360
  if installation_states is not None:
268
361
  pulumi.set(__self__, "installation_states", installation_states)
269
362
  if labels is not None:
@@ -288,7 +381,6 @@ class _ConnectionState:
288
381
  def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
289
382
  """
290
383
  Optional. Allows clients to store small amounts of arbitrary data.
291
-
292
384
  **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
293
385
  Please refer to the field `effective_annotations` for all of the annotations present on the resource.
294
386
  """
@@ -302,8 +394,9 @@ class _ConnectionState:
302
394
  @pulumi.getter(name="connectionId")
303
395
  def connection_id(self) -> Optional[pulumi.Input[str]]:
304
396
  """
305
- Required. Id of the requesting object. If auto-generating Id server-side,
306
- remove this field and connection_id from the method_signature of Create RPC.
397
+ Required. Id of the requesting object
398
+ If auto-generating Id server-side, remove this field and
399
+ connection_id from the method_signature of Create RPC
307
400
 
308
401
 
309
402
  - - -
@@ -326,6 +419,20 @@ class _ConnectionState:
326
419
  def create_time(self, value: Optional[pulumi.Input[str]]):
327
420
  pulumi.set(self, "create_time", value)
328
421
 
422
+ @property
423
+ @pulumi.getter(name="cryptoKeyConfig")
424
+ def crypto_key_config(self) -> Optional[pulumi.Input['ConnectionCryptoKeyConfigArgs']]:
425
+ """
426
+ The crypto key configuration. This field is used by the Customer-managed
427
+ encryption keys (CMEK) feature.
428
+ Structure is documented below.
429
+ """
430
+ return pulumi.get(self, "crypto_key_config")
431
+
432
+ @crypto_key_config.setter
433
+ def crypto_key_config(self, value: Optional[pulumi.Input['ConnectionCryptoKeyConfigArgs']]):
434
+ pulumi.set(self, "crypto_key_config", value)
435
+
329
436
  @property
330
437
  @pulumi.getter(name="deleteTime")
331
438
  def delete_time(self) -> Optional[pulumi.Input[str]]:
@@ -342,7 +449,9 @@ class _ConnectionState:
342
449
  @pulumi.getter
343
450
  def disabled(self) -> Optional[pulumi.Input[bool]]:
344
451
  """
345
- Optional. If disabled is set to true, functionality is disabled for this connection. Repository based API methods and webhooks processing for repositories in this connection will be disabled.
452
+ Optional. If disabled is set to true, functionality is disabled for this connection.
453
+ Repository based API methods and webhooks processing for repositories in
454
+ this connection will be disabled.
346
455
  """
347
456
  return pulumi.get(self, "disabled")
348
457
 
@@ -375,8 +484,8 @@ class _ConnectionState:
375
484
  @pulumi.getter
376
485
  def etag(self) -> Optional[pulumi.Input[str]]:
377
486
  """
378
- Optional. This checksum is computed by the server based on the value
379
- of other fields, and may be sent on update and delete requests to ensure the
487
+ Optional. This checksum is computed by the server based on the value of other
488
+ fields, and may be sent on update and delete requests to ensure the
380
489
  client has an up-to-date value before proceeding.
381
490
  """
382
491
  return pulumi.get(self, "etag")
@@ -398,12 +507,52 @@ class _ConnectionState:
398
507
  def github_config(self, value: Optional[pulumi.Input['ConnectionGithubConfigArgs']]):
399
508
  pulumi.set(self, "github_config", value)
400
509
 
510
+ @property
511
+ @pulumi.getter(name="githubEnterpriseConfig")
512
+ def github_enterprise_config(self) -> Optional[pulumi.Input['ConnectionGithubEnterpriseConfigArgs']]:
513
+ """
514
+ Configuration for connections to an instance of GitHub Enterprise.
515
+ Structure is documented below.
516
+ """
517
+ return pulumi.get(self, "github_enterprise_config")
518
+
519
+ @github_enterprise_config.setter
520
+ def github_enterprise_config(self, value: Optional[pulumi.Input['ConnectionGithubEnterpriseConfigArgs']]):
521
+ pulumi.set(self, "github_enterprise_config", value)
522
+
523
+ @property
524
+ @pulumi.getter(name="gitlabConfig")
525
+ def gitlab_config(self) -> Optional[pulumi.Input['ConnectionGitlabConfigArgs']]:
526
+ """
527
+ Configuration for connections to gitlab.com.
528
+ Structure is documented below.
529
+ """
530
+ return pulumi.get(self, "gitlab_config")
531
+
532
+ @gitlab_config.setter
533
+ def gitlab_config(self, value: Optional[pulumi.Input['ConnectionGitlabConfigArgs']]):
534
+ pulumi.set(self, "gitlab_config", value)
535
+
536
+ @property
537
+ @pulumi.getter(name="gitlabEnterpriseConfig")
538
+ def gitlab_enterprise_config(self) -> Optional[pulumi.Input['ConnectionGitlabEnterpriseConfigArgs']]:
539
+ """
540
+ Configuration for connections to an instance of GitLab Enterprise.
541
+ Structure is documented below.
542
+ """
543
+ return pulumi.get(self, "gitlab_enterprise_config")
544
+
545
+ @gitlab_enterprise_config.setter
546
+ def gitlab_enterprise_config(self, value: Optional[pulumi.Input['ConnectionGitlabEnterpriseConfigArgs']]):
547
+ pulumi.set(self, "gitlab_enterprise_config", value)
548
+
401
549
  @property
402
550
  @pulumi.getter(name="installationStates")
403
551
  def installation_states(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ConnectionInstallationStateArgs']]]]:
404
552
  """
405
- Describes stage and necessary actions to be taken by the user to complete the installation.
406
- Used for GitHub and GitHub Enterprise based connections.
553
+ Describes stage and necessary actions to be taken by the
554
+ user to complete the installation. Used for GitHub and GitHub Enterprise
555
+ based connections.
407
556
  Structure is documented below.
408
557
  """
409
558
  return pulumi.get(self, "installation_states")
@@ -417,7 +566,6 @@ class _ConnectionState:
417
566
  def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
418
567
  """
419
568
  Optional. Labels as key value pairs
420
-
421
569
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
422
570
  Please refer to the field `effective_labels` for all of the labels present on the resource.
423
571
  """
@@ -431,9 +579,7 @@ class _ConnectionState:
431
579
  @pulumi.getter
432
580
  def location(self) -> Optional[pulumi.Input[str]]:
433
581
  """
434
- Resource ID segment making up resource `name`. It identifies the resource
435
- within its parent collection as described in https://google.aip.dev/122. See documentation
436
- for resource type `developerconnect.googleapis.com/GitRepositoryLink`.
582
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
437
583
  """
438
584
  return pulumi.get(self, "location")
439
585
 
@@ -484,8 +630,8 @@ class _ConnectionState:
484
630
  @pulumi.getter
485
631
  def reconciling(self) -> Optional[pulumi.Input[bool]]:
486
632
  """
487
- Output only. Set to true when the connection is being set up or updated
488
- in the background.
633
+ Output only. Set to true when the connection is being set up or updated in the
634
+ background.
489
635
  """
490
636
  return pulumi.get(self, "reconciling")
491
637
 
@@ -525,14 +671,20 @@ class Connection(pulumi.CustomResource):
525
671
  opts: Optional[pulumi.ResourceOptions] = None,
526
672
  annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
527
673
  connection_id: Optional[pulumi.Input[str]] = None,
674
+ crypto_key_config: Optional[pulumi.Input[Union['ConnectionCryptoKeyConfigArgs', 'ConnectionCryptoKeyConfigArgsDict']]] = None,
528
675
  disabled: Optional[pulumi.Input[bool]] = None,
529
676
  etag: Optional[pulumi.Input[str]] = None,
530
677
  github_config: Optional[pulumi.Input[Union['ConnectionGithubConfigArgs', 'ConnectionGithubConfigArgsDict']]] = None,
678
+ github_enterprise_config: Optional[pulumi.Input[Union['ConnectionGithubEnterpriseConfigArgs', 'ConnectionGithubEnterpriseConfigArgsDict']]] = None,
679
+ gitlab_config: Optional[pulumi.Input[Union['ConnectionGitlabConfigArgs', 'ConnectionGitlabConfigArgsDict']]] = None,
680
+ gitlab_enterprise_config: Optional[pulumi.Input[Union['ConnectionGitlabEnterpriseConfigArgs', 'ConnectionGitlabEnterpriseConfigArgsDict']]] = None,
531
681
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
532
682
  location: Optional[pulumi.Input[str]] = None,
533
683
  project: Optional[pulumi.Input[str]] = None,
534
684
  __props__=None):
535
685
  """
686
+ A connection for GitHub, GitHub Enterprise, GitLab, and GitLab Enterprise.
687
+
536
688
  ## Example Usage
537
689
 
538
690
  ### Developer Connect Connection New
@@ -607,7 +759,159 @@ class Connection(pulumi.CustomResource):
607
759
  },
608
760
  })
609
761
  ```
762
+ ### Developer Connect Connection Github
763
+
764
+ ```python
765
+ import pulumi
766
+ import pulumi_gcp as gcp
767
+
768
+ my_connection = gcp.developerconnect.Connection("my-connection",
769
+ location="us-central1",
770
+ connection_id="tf-test-connection",
771
+ github_config={
772
+ "github_app": "DEVELOPER_CONNECT",
773
+ "authorizer_credential": {
774
+ "oauth_token_secret_version": "projects/devconnect-terraform-creds/secrets/tf-test-do-not-change-github-oauthtoken-e0b9e7/versions/1",
775
+ },
776
+ })
777
+ ```
778
+ ### Developer Connect Connection Github Doc
779
+
780
+ ```python
781
+ import pulumi
782
+ import pulumi_gcp as gcp
783
+ import pulumi_std as std
784
+
785
+ github_token_secret = gcp.secretmanager.Secret("github-token-secret",
786
+ secret_id="github-token-secret",
787
+ replication={
788
+ "auto": {},
789
+ })
790
+ github_token_secret_version = gcp.secretmanager.SecretVersion("github-token-secret-version",
791
+ secret=github_token_secret.id,
792
+ secret_data=std.file(input="my-github-token.txt").result)
793
+ p4sa_secret_accessor = gcp.organizations.get_iam_policy(bindings=[{
794
+ "role": "roles/secretmanager.secretAccessor",
795
+ "members": ["serviceAccount:service-123456789@gcp-sa-devconnect.iam.gserviceaccount.com"],
796
+ }])
797
+ policy = gcp.secretmanager.SecretIamPolicy("policy",
798
+ secret_id=github_token_secret.secret_id,
799
+ policy_data=p4sa_secret_accessor.policy_data)
800
+ my_connection = gcp.developerconnect.Connection("my-connection",
801
+ location="us-central1",
802
+ connection_id="my-connection",
803
+ github_config={
804
+ "github_app": "DEVELOPER_CONNECT",
805
+ "app_installation_id": "123123",
806
+ "authorizer_credential": {
807
+ "oauth_token_secret_version": github_token_secret_version.id,
808
+ },
809
+ })
810
+ ```
811
+ ### Developer Connect Connection Github Enterprise
812
+
813
+ ```python
814
+ import pulumi
815
+ import pulumi_gcp as gcp
816
+
817
+ my_connection = gcp.developerconnect.Connection("my-connection",
818
+ location="us-central1",
819
+ connection_id="tf-test-connection",
820
+ github_enterprise_config={
821
+ "host_uri": "https://ghe.proctor-staging-test.com",
822
+ "app_id": "864434",
823
+ "private_key_secret_version": "projects/devconnect-terraform-creds/secrets/tf-test-ghe-do-not-change-ghe-private-key-f522d2/versions/latest",
824
+ "webhook_secret_secret_version": "projects/devconnect-terraform-creds/secrets/tf-test-ghe-do-not-change-ghe-webhook-secret-3c806f/versions/latest",
825
+ "app_installation_id": "837537",
826
+ })
827
+ ```
828
+ ### Developer Connect Connection Github Enterprise Doc
829
+
830
+ ```python
831
+ import pulumi
832
+ import pulumi_gcp as gcp
833
+ import pulumi_std as std
834
+
835
+ private_key_secret = gcp.secretmanager.Secret("private-key-secret",
836
+ secret_id="ghe-pk-secret",
837
+ replication={
838
+ "auto": {},
839
+ })
840
+ private_key_secret_version = gcp.secretmanager.SecretVersion("private-key-secret-version",
841
+ secret=private_key_secret.id,
842
+ secret_data=std.file(input="private-key.pem").result)
843
+ webhook_secret_secret = gcp.secretmanager.Secret("webhook-secret-secret",
844
+ secret_id="ghe-token-secret",
845
+ replication={
846
+ "auto": {},
847
+ })
848
+ webhook_secret_secret_version = gcp.secretmanager.SecretVersion("webhook-secret-secret-version",
849
+ secret=webhook_secret_secret.id,
850
+ secret_data="<webhook-secret-data>")
851
+ p4sa_secret_accessor = gcp.organizations.get_iam_policy(bindings=[{
852
+ "role": "roles/secretmanager.secretAccessor",
853
+ "members": ["serviceAccount:service-123456789@gcp-sa-devconnect.iam.gserviceaccount.com"],
854
+ }])
855
+ policy_pk = gcp.secretmanager.SecretIamPolicy("policy-pk",
856
+ secret_id=private_key_secret.secret_id,
857
+ policy_data=p4sa_secret_accessor.policy_data)
858
+ policy_whs = gcp.secretmanager.SecretIamPolicy("policy-whs",
859
+ secret_id=webhook_secret_secret.secret_id,
860
+ policy_data=p4sa_secret_accessor.policy_data)
861
+ my_connection = gcp.developerconnect.Connection("my-connection",
862
+ location="us-central1",
863
+ connection_id="my-connection",
864
+ github_enterprise_config={
865
+ "host_uri": "https://ghe.com",
866
+ "private_key_secret_version": private_key_secret_version.id,
867
+ "webhook_secret_secret_version": webhook_secret_secret_version.id,
868
+ "app_id": "100",
869
+ "app_installation_id": "123123",
870
+ },
871
+ opts = pulumi.ResourceOptions(depends_on=[
872
+ policy_pk,
873
+ policy_whs,
874
+ ]))
875
+ ```
876
+ ### Developer Connect Connection Gitlab
877
+
878
+ ```python
879
+ import pulumi
880
+ import pulumi_gcp as gcp
881
+
882
+ my_connection = gcp.developerconnect.Connection("my-connection",
883
+ location="us-central1",
884
+ connection_id="tf-test-connection",
885
+ gitlab_config={
886
+ "webhook_secret_secret_version": "projects/devconnect-terraform-creds/secrets/gitlab-webhook/versions/latest",
887
+ "read_authorizer_credential": {
888
+ "user_token_secret_version": "projects/devconnect-terraform-creds/secrets/gitlab-read-cred/versions/latest",
889
+ },
890
+ "authorizer_credential": {
891
+ "user_token_secret_version": "projects/devconnect-terraform-creds/secrets/gitlab-auth-cred/versions/latest",
892
+ },
893
+ })
894
+ ```
895
+ ### Developer Connect Connection Gitlab Enterprise
896
+
897
+ ```python
898
+ import pulumi
899
+ import pulumi_gcp as gcp
610
900
 
901
+ my_connection = gcp.developerconnect.Connection("my-connection",
902
+ location="us-central1",
903
+ connection_id="tf-test-connection",
904
+ gitlab_enterprise_config={
905
+ "host_uri": "https://gle-us-central1.gcb-test.com",
906
+ "webhook_secret_secret_version": "projects/devconnect-terraform-creds/secrets/gitlab-enterprise-webhook/versions/latest",
907
+ "read_authorizer_credential": {
908
+ "user_token_secret_version": "projects/devconnect-terraform-creds/secrets/gitlab-enterprise-read-cred/versions/latest",
909
+ },
910
+ "authorizer_credential": {
911
+ "user_token_secret_version": "projects/devconnect-terraform-creds/secrets/gitlab-enterprise-auth-cred/versions/latest",
912
+ },
913
+ })
914
+ ```
611
915
  ## Import
612
916
 
613
917
  Connection can be imported using any of these accepted formats:
@@ -635,27 +939,35 @@ class Connection(pulumi.CustomResource):
635
939
  :param str resource_name: The name of the resource.
636
940
  :param pulumi.ResourceOptions opts: Options for the resource.
637
941
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Optional. Allows clients to store small amounts of arbitrary data.
638
-
639
942
  **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
640
943
  Please refer to the field `effective_annotations` for all of the annotations present on the resource.
641
- :param pulumi.Input[str] connection_id: Required. Id of the requesting object. If auto-generating Id server-side,
642
- remove this field and connection_id from the method_signature of Create RPC.
944
+ :param pulumi.Input[str] connection_id: Required. Id of the requesting object
945
+ If auto-generating Id server-side, remove this field and
946
+ connection_id from the method_signature of Create RPC
643
947
 
644
948
 
645
949
  - - -
646
- :param pulumi.Input[bool] disabled: Optional. If disabled is set to true, functionality is disabled for this connection. Repository based API methods and webhooks processing for repositories in this connection will be disabled.
647
- :param pulumi.Input[str] etag: Optional. This checksum is computed by the server based on the value
648
- of other fields, and may be sent on update and delete requests to ensure the
950
+ :param pulumi.Input[Union['ConnectionCryptoKeyConfigArgs', 'ConnectionCryptoKeyConfigArgsDict']] crypto_key_config: The crypto key configuration. This field is used by the Customer-managed
951
+ encryption keys (CMEK) feature.
952
+ Structure is documented below.
953
+ :param pulumi.Input[bool] disabled: Optional. If disabled is set to true, functionality is disabled for this connection.
954
+ Repository based API methods and webhooks processing for repositories in
955
+ this connection will be disabled.
956
+ :param pulumi.Input[str] etag: Optional. This checksum is computed by the server based on the value of other
957
+ fields, and may be sent on update and delete requests to ensure the
649
958
  client has an up-to-date value before proceeding.
650
959
  :param pulumi.Input[Union['ConnectionGithubConfigArgs', 'ConnectionGithubConfigArgsDict']] github_config: Configuration for connections to github.com.
651
960
  Structure is documented below.
961
+ :param pulumi.Input[Union['ConnectionGithubEnterpriseConfigArgs', 'ConnectionGithubEnterpriseConfigArgsDict']] github_enterprise_config: Configuration for connections to an instance of GitHub Enterprise.
962
+ Structure is documented below.
963
+ :param pulumi.Input[Union['ConnectionGitlabConfigArgs', 'ConnectionGitlabConfigArgsDict']] gitlab_config: Configuration for connections to gitlab.com.
964
+ Structure is documented below.
965
+ :param pulumi.Input[Union['ConnectionGitlabEnterpriseConfigArgs', 'ConnectionGitlabEnterpriseConfigArgsDict']] gitlab_enterprise_config: Configuration for connections to an instance of GitLab Enterprise.
966
+ Structure is documented below.
652
967
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs
653
-
654
968
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
655
969
  Please refer to the field `effective_labels` for all of the labels present on the resource.
656
- :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource
657
- within its parent collection as described in https://google.aip.dev/122. See documentation
658
- for resource type `developerconnect.googleapis.com/GitRepositoryLink`.
970
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
659
971
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
660
972
  If it is not provided, the provider project is used.
661
973
  """
@@ -666,6 +978,8 @@ class Connection(pulumi.CustomResource):
666
978
  args: ConnectionArgs,
667
979
  opts: Optional[pulumi.ResourceOptions] = None):
668
980
  """
981
+ A connection for GitHub, GitHub Enterprise, GitLab, and GitLab Enterprise.
982
+
669
983
  ## Example Usage
670
984
 
671
985
  ### Developer Connect Connection New
@@ -740,7 +1054,159 @@ class Connection(pulumi.CustomResource):
740
1054
  },
741
1055
  })
742
1056
  ```
1057
+ ### Developer Connect Connection Github
1058
+
1059
+ ```python
1060
+ import pulumi
1061
+ import pulumi_gcp as gcp
1062
+
1063
+ my_connection = gcp.developerconnect.Connection("my-connection",
1064
+ location="us-central1",
1065
+ connection_id="tf-test-connection",
1066
+ github_config={
1067
+ "github_app": "DEVELOPER_CONNECT",
1068
+ "authorizer_credential": {
1069
+ "oauth_token_secret_version": "projects/devconnect-terraform-creds/secrets/tf-test-do-not-change-github-oauthtoken-e0b9e7/versions/1",
1070
+ },
1071
+ })
1072
+ ```
1073
+ ### Developer Connect Connection Github Doc
1074
+
1075
+ ```python
1076
+ import pulumi
1077
+ import pulumi_gcp as gcp
1078
+ import pulumi_std as std
1079
+
1080
+ github_token_secret = gcp.secretmanager.Secret("github-token-secret",
1081
+ secret_id="github-token-secret",
1082
+ replication={
1083
+ "auto": {},
1084
+ })
1085
+ github_token_secret_version = gcp.secretmanager.SecretVersion("github-token-secret-version",
1086
+ secret=github_token_secret.id,
1087
+ secret_data=std.file(input="my-github-token.txt").result)
1088
+ p4sa_secret_accessor = gcp.organizations.get_iam_policy(bindings=[{
1089
+ "role": "roles/secretmanager.secretAccessor",
1090
+ "members": ["serviceAccount:service-123456789@gcp-sa-devconnect.iam.gserviceaccount.com"],
1091
+ }])
1092
+ policy = gcp.secretmanager.SecretIamPolicy("policy",
1093
+ secret_id=github_token_secret.secret_id,
1094
+ policy_data=p4sa_secret_accessor.policy_data)
1095
+ my_connection = gcp.developerconnect.Connection("my-connection",
1096
+ location="us-central1",
1097
+ connection_id="my-connection",
1098
+ github_config={
1099
+ "github_app": "DEVELOPER_CONNECT",
1100
+ "app_installation_id": "123123",
1101
+ "authorizer_credential": {
1102
+ "oauth_token_secret_version": github_token_secret_version.id,
1103
+ },
1104
+ })
1105
+ ```
1106
+ ### Developer Connect Connection Github Enterprise
1107
+
1108
+ ```python
1109
+ import pulumi
1110
+ import pulumi_gcp as gcp
1111
+
1112
+ my_connection = gcp.developerconnect.Connection("my-connection",
1113
+ location="us-central1",
1114
+ connection_id="tf-test-connection",
1115
+ github_enterprise_config={
1116
+ "host_uri": "https://ghe.proctor-staging-test.com",
1117
+ "app_id": "864434",
1118
+ "private_key_secret_version": "projects/devconnect-terraform-creds/secrets/tf-test-ghe-do-not-change-ghe-private-key-f522d2/versions/latest",
1119
+ "webhook_secret_secret_version": "projects/devconnect-terraform-creds/secrets/tf-test-ghe-do-not-change-ghe-webhook-secret-3c806f/versions/latest",
1120
+ "app_installation_id": "837537",
1121
+ })
1122
+ ```
1123
+ ### Developer Connect Connection Github Enterprise Doc
743
1124
 
1125
+ ```python
1126
+ import pulumi
1127
+ import pulumi_gcp as gcp
1128
+ import pulumi_std as std
1129
+
1130
+ private_key_secret = gcp.secretmanager.Secret("private-key-secret",
1131
+ secret_id="ghe-pk-secret",
1132
+ replication={
1133
+ "auto": {},
1134
+ })
1135
+ private_key_secret_version = gcp.secretmanager.SecretVersion("private-key-secret-version",
1136
+ secret=private_key_secret.id,
1137
+ secret_data=std.file(input="private-key.pem").result)
1138
+ webhook_secret_secret = gcp.secretmanager.Secret("webhook-secret-secret",
1139
+ secret_id="ghe-token-secret",
1140
+ replication={
1141
+ "auto": {},
1142
+ })
1143
+ webhook_secret_secret_version = gcp.secretmanager.SecretVersion("webhook-secret-secret-version",
1144
+ secret=webhook_secret_secret.id,
1145
+ secret_data="<webhook-secret-data>")
1146
+ p4sa_secret_accessor = gcp.organizations.get_iam_policy(bindings=[{
1147
+ "role": "roles/secretmanager.secretAccessor",
1148
+ "members": ["serviceAccount:service-123456789@gcp-sa-devconnect.iam.gserviceaccount.com"],
1149
+ }])
1150
+ policy_pk = gcp.secretmanager.SecretIamPolicy("policy-pk",
1151
+ secret_id=private_key_secret.secret_id,
1152
+ policy_data=p4sa_secret_accessor.policy_data)
1153
+ policy_whs = gcp.secretmanager.SecretIamPolicy("policy-whs",
1154
+ secret_id=webhook_secret_secret.secret_id,
1155
+ policy_data=p4sa_secret_accessor.policy_data)
1156
+ my_connection = gcp.developerconnect.Connection("my-connection",
1157
+ location="us-central1",
1158
+ connection_id="my-connection",
1159
+ github_enterprise_config={
1160
+ "host_uri": "https://ghe.com",
1161
+ "private_key_secret_version": private_key_secret_version.id,
1162
+ "webhook_secret_secret_version": webhook_secret_secret_version.id,
1163
+ "app_id": "100",
1164
+ "app_installation_id": "123123",
1165
+ },
1166
+ opts = pulumi.ResourceOptions(depends_on=[
1167
+ policy_pk,
1168
+ policy_whs,
1169
+ ]))
1170
+ ```
1171
+ ### Developer Connect Connection Gitlab
1172
+
1173
+ ```python
1174
+ import pulumi
1175
+ import pulumi_gcp as gcp
1176
+
1177
+ my_connection = gcp.developerconnect.Connection("my-connection",
1178
+ location="us-central1",
1179
+ connection_id="tf-test-connection",
1180
+ gitlab_config={
1181
+ "webhook_secret_secret_version": "projects/devconnect-terraform-creds/secrets/gitlab-webhook/versions/latest",
1182
+ "read_authorizer_credential": {
1183
+ "user_token_secret_version": "projects/devconnect-terraform-creds/secrets/gitlab-read-cred/versions/latest",
1184
+ },
1185
+ "authorizer_credential": {
1186
+ "user_token_secret_version": "projects/devconnect-terraform-creds/secrets/gitlab-auth-cred/versions/latest",
1187
+ },
1188
+ })
1189
+ ```
1190
+ ### Developer Connect Connection Gitlab Enterprise
1191
+
1192
+ ```python
1193
+ import pulumi
1194
+ import pulumi_gcp as gcp
1195
+
1196
+ my_connection = gcp.developerconnect.Connection("my-connection",
1197
+ location="us-central1",
1198
+ connection_id="tf-test-connection",
1199
+ gitlab_enterprise_config={
1200
+ "host_uri": "https://gle-us-central1.gcb-test.com",
1201
+ "webhook_secret_secret_version": "projects/devconnect-terraform-creds/secrets/gitlab-enterprise-webhook/versions/latest",
1202
+ "read_authorizer_credential": {
1203
+ "user_token_secret_version": "projects/devconnect-terraform-creds/secrets/gitlab-enterprise-read-cred/versions/latest",
1204
+ },
1205
+ "authorizer_credential": {
1206
+ "user_token_secret_version": "projects/devconnect-terraform-creds/secrets/gitlab-enterprise-auth-cred/versions/latest",
1207
+ },
1208
+ })
1209
+ ```
744
1210
  ## Import
745
1211
 
746
1212
  Connection can be imported using any of these accepted formats:
@@ -782,9 +1248,13 @@ class Connection(pulumi.CustomResource):
782
1248
  opts: Optional[pulumi.ResourceOptions] = None,
783
1249
  annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
784
1250
  connection_id: Optional[pulumi.Input[str]] = None,
1251
+ crypto_key_config: Optional[pulumi.Input[Union['ConnectionCryptoKeyConfigArgs', 'ConnectionCryptoKeyConfigArgsDict']]] = None,
785
1252
  disabled: Optional[pulumi.Input[bool]] = None,
786
1253
  etag: Optional[pulumi.Input[str]] = None,
787
1254
  github_config: Optional[pulumi.Input[Union['ConnectionGithubConfigArgs', 'ConnectionGithubConfigArgsDict']]] = None,
1255
+ github_enterprise_config: Optional[pulumi.Input[Union['ConnectionGithubEnterpriseConfigArgs', 'ConnectionGithubEnterpriseConfigArgsDict']]] = None,
1256
+ gitlab_config: Optional[pulumi.Input[Union['ConnectionGitlabConfigArgs', 'ConnectionGitlabConfigArgsDict']]] = None,
1257
+ gitlab_enterprise_config: Optional[pulumi.Input[Union['ConnectionGitlabEnterpriseConfigArgs', 'ConnectionGitlabEnterpriseConfigArgsDict']]] = None,
788
1258
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
789
1259
  location: Optional[pulumi.Input[str]] = None,
790
1260
  project: Optional[pulumi.Input[str]] = None,
@@ -801,9 +1271,13 @@ class Connection(pulumi.CustomResource):
801
1271
  if connection_id is None and not opts.urn:
802
1272
  raise TypeError("Missing required property 'connection_id'")
803
1273
  __props__.__dict__["connection_id"] = connection_id
1274
+ __props__.__dict__["crypto_key_config"] = crypto_key_config
804
1275
  __props__.__dict__["disabled"] = disabled
805
1276
  __props__.__dict__["etag"] = etag
806
1277
  __props__.__dict__["github_config"] = github_config
1278
+ __props__.__dict__["github_enterprise_config"] = github_enterprise_config
1279
+ __props__.__dict__["gitlab_config"] = gitlab_config
1280
+ __props__.__dict__["gitlab_enterprise_config"] = gitlab_enterprise_config
807
1281
  __props__.__dict__["labels"] = labels
808
1282
  if location is None and not opts.urn:
809
1283
  raise TypeError("Missing required property 'location'")
@@ -834,12 +1308,16 @@ class Connection(pulumi.CustomResource):
834
1308
  annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
835
1309
  connection_id: Optional[pulumi.Input[str]] = None,
836
1310
  create_time: Optional[pulumi.Input[str]] = None,
1311
+ crypto_key_config: Optional[pulumi.Input[Union['ConnectionCryptoKeyConfigArgs', 'ConnectionCryptoKeyConfigArgsDict']]] = None,
837
1312
  delete_time: Optional[pulumi.Input[str]] = None,
838
1313
  disabled: Optional[pulumi.Input[bool]] = None,
839
1314
  effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
840
1315
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
841
1316
  etag: Optional[pulumi.Input[str]] = None,
842
1317
  github_config: Optional[pulumi.Input[Union['ConnectionGithubConfigArgs', 'ConnectionGithubConfigArgsDict']]] = None,
1318
+ github_enterprise_config: Optional[pulumi.Input[Union['ConnectionGithubEnterpriseConfigArgs', 'ConnectionGithubEnterpriseConfigArgsDict']]] = None,
1319
+ gitlab_config: Optional[pulumi.Input[Union['ConnectionGitlabConfigArgs', 'ConnectionGitlabConfigArgsDict']]] = None,
1320
+ gitlab_enterprise_config: Optional[pulumi.Input[Union['ConnectionGitlabEnterpriseConfigArgs', 'ConnectionGitlabEnterpriseConfigArgsDict']]] = None,
843
1321
  installation_states: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConnectionInstallationStateArgs', 'ConnectionInstallationStateArgsDict']]]]] = None,
844
1322
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
845
1323
  location: Optional[pulumi.Input[str]] = None,
@@ -857,41 +1335,50 @@ class Connection(pulumi.CustomResource):
857
1335
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
858
1336
  :param pulumi.ResourceOptions opts: Options for the resource.
859
1337
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Optional. Allows clients to store small amounts of arbitrary data.
860
-
861
1338
  **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
862
1339
  Please refer to the field `effective_annotations` for all of the annotations present on the resource.
863
- :param pulumi.Input[str] connection_id: Required. Id of the requesting object. If auto-generating Id server-side,
864
- remove this field and connection_id from the method_signature of Create RPC.
1340
+ :param pulumi.Input[str] connection_id: Required. Id of the requesting object
1341
+ If auto-generating Id server-side, remove this field and
1342
+ connection_id from the method_signature of Create RPC
865
1343
 
866
1344
 
867
1345
  - - -
868
1346
  :param pulumi.Input[str] create_time: Output only. [Output only] Create timestamp
1347
+ :param pulumi.Input[Union['ConnectionCryptoKeyConfigArgs', 'ConnectionCryptoKeyConfigArgsDict']] crypto_key_config: The crypto key configuration. This field is used by the Customer-managed
1348
+ encryption keys (CMEK) feature.
1349
+ Structure is documented below.
869
1350
  :param pulumi.Input[str] delete_time: Output only. [Output only] Delete timestamp
870
- :param pulumi.Input[bool] disabled: Optional. If disabled is set to true, functionality is disabled for this connection. Repository based API methods and webhooks processing for repositories in this connection will be disabled.
1351
+ :param pulumi.Input[bool] disabled: Optional. If disabled is set to true, functionality is disabled for this connection.
1352
+ Repository based API methods and webhooks processing for repositories in
1353
+ this connection will be disabled.
871
1354
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
872
- :param pulumi.Input[str] etag: Optional. This checksum is computed by the server based on the value
873
- of other fields, and may be sent on update and delete requests to ensure the
1355
+ :param pulumi.Input[str] etag: Optional. This checksum is computed by the server based on the value of other
1356
+ fields, and may be sent on update and delete requests to ensure the
874
1357
  client has an up-to-date value before proceeding.
875
1358
  :param pulumi.Input[Union['ConnectionGithubConfigArgs', 'ConnectionGithubConfigArgsDict']] github_config: Configuration for connections to github.com.
876
1359
  Structure is documented below.
877
- :param pulumi.Input[Sequence[pulumi.Input[Union['ConnectionInstallationStateArgs', 'ConnectionInstallationStateArgsDict']]]] installation_states: Describes stage and necessary actions to be taken by the user to complete the installation.
878
- Used for GitHub and GitHub Enterprise based connections.
1360
+ :param pulumi.Input[Union['ConnectionGithubEnterpriseConfigArgs', 'ConnectionGithubEnterpriseConfigArgsDict']] github_enterprise_config: Configuration for connections to an instance of GitHub Enterprise.
1361
+ Structure is documented below.
1362
+ :param pulumi.Input[Union['ConnectionGitlabConfigArgs', 'ConnectionGitlabConfigArgsDict']] gitlab_config: Configuration for connections to gitlab.com.
1363
+ Structure is documented below.
1364
+ :param pulumi.Input[Union['ConnectionGitlabEnterpriseConfigArgs', 'ConnectionGitlabEnterpriseConfigArgsDict']] gitlab_enterprise_config: Configuration for connections to an instance of GitLab Enterprise.
1365
+ Structure is documented below.
1366
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ConnectionInstallationStateArgs', 'ConnectionInstallationStateArgsDict']]]] installation_states: Describes stage and necessary actions to be taken by the
1367
+ user to complete the installation. Used for GitHub and GitHub Enterprise
1368
+ based connections.
879
1369
  Structure is documented below.
880
1370
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs
881
-
882
1371
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
883
1372
  Please refer to the field `effective_labels` for all of the labels present on the resource.
884
- :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource
885
- within its parent collection as described in https://google.aip.dev/122. See documentation
886
- for resource type `developerconnect.googleapis.com/GitRepositoryLink`.
1373
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
887
1374
  :param pulumi.Input[str] name: Identifier. The resource name of the connection, in the format
888
1375
  `projects/{project}/locations/{location}/connections/{connection_id}`.
889
1376
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
890
1377
  If it is not provided, the provider project is used.
891
1378
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
892
1379
  and default labels configured on the provider.
893
- :param pulumi.Input[bool] reconciling: Output only. Set to true when the connection is being set up or updated
894
- in the background.
1380
+ :param pulumi.Input[bool] reconciling: Output only. Set to true when the connection is being set up or updated in the
1381
+ background.
895
1382
  :param pulumi.Input[str] uid: Output only. A system-assigned unique identifier for a the GitRepositoryLink.
896
1383
  :param pulumi.Input[str] update_time: Output only. [Output only] Update timestamp
897
1384
  """
@@ -902,12 +1389,16 @@ class Connection(pulumi.CustomResource):
902
1389
  __props__.__dict__["annotations"] = annotations
903
1390
  __props__.__dict__["connection_id"] = connection_id
904
1391
  __props__.__dict__["create_time"] = create_time
1392
+ __props__.__dict__["crypto_key_config"] = crypto_key_config
905
1393
  __props__.__dict__["delete_time"] = delete_time
906
1394
  __props__.__dict__["disabled"] = disabled
907
1395
  __props__.__dict__["effective_annotations"] = effective_annotations
908
1396
  __props__.__dict__["effective_labels"] = effective_labels
909
1397
  __props__.__dict__["etag"] = etag
910
1398
  __props__.__dict__["github_config"] = github_config
1399
+ __props__.__dict__["github_enterprise_config"] = github_enterprise_config
1400
+ __props__.__dict__["gitlab_config"] = gitlab_config
1401
+ __props__.__dict__["gitlab_enterprise_config"] = gitlab_enterprise_config
911
1402
  __props__.__dict__["installation_states"] = installation_states
912
1403
  __props__.__dict__["labels"] = labels
913
1404
  __props__.__dict__["location"] = location
@@ -924,7 +1415,6 @@ class Connection(pulumi.CustomResource):
924
1415
  def annotations(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
925
1416
  """
926
1417
  Optional. Allows clients to store small amounts of arbitrary data.
927
-
928
1418
  **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
929
1419
  Please refer to the field `effective_annotations` for all of the annotations present on the resource.
930
1420
  """
@@ -934,8 +1424,9 @@ class Connection(pulumi.CustomResource):
934
1424
  @pulumi.getter(name="connectionId")
935
1425
  def connection_id(self) -> pulumi.Output[str]:
936
1426
  """
937
- Required. Id of the requesting object. If auto-generating Id server-side,
938
- remove this field and connection_id from the method_signature of Create RPC.
1427
+ Required. Id of the requesting object
1428
+ If auto-generating Id server-side, remove this field and
1429
+ connection_id from the method_signature of Create RPC
939
1430
 
940
1431
 
941
1432
  - - -
@@ -950,6 +1441,16 @@ class Connection(pulumi.CustomResource):
950
1441
  """
951
1442
  return pulumi.get(self, "create_time")
952
1443
 
1444
+ @property
1445
+ @pulumi.getter(name="cryptoKeyConfig")
1446
+ def crypto_key_config(self) -> pulumi.Output[Optional['outputs.ConnectionCryptoKeyConfig']]:
1447
+ """
1448
+ The crypto key configuration. This field is used by the Customer-managed
1449
+ encryption keys (CMEK) feature.
1450
+ Structure is documented below.
1451
+ """
1452
+ return pulumi.get(self, "crypto_key_config")
1453
+
953
1454
  @property
954
1455
  @pulumi.getter(name="deleteTime")
955
1456
  def delete_time(self) -> pulumi.Output[str]:
@@ -962,7 +1463,9 @@ class Connection(pulumi.CustomResource):
962
1463
  @pulumi.getter
963
1464
  def disabled(self) -> pulumi.Output[Optional[bool]]:
964
1465
  """
965
- Optional. If disabled is set to true, functionality is disabled for this connection. Repository based API methods and webhooks processing for repositories in this connection will be disabled.
1466
+ Optional. If disabled is set to true, functionality is disabled for this connection.
1467
+ Repository based API methods and webhooks processing for repositories in
1468
+ this connection will be disabled.
966
1469
  """
967
1470
  return pulumi.get(self, "disabled")
968
1471
 
@@ -983,8 +1486,8 @@ class Connection(pulumi.CustomResource):
983
1486
  @pulumi.getter
984
1487
  def etag(self) -> pulumi.Output[Optional[str]]:
985
1488
  """
986
- Optional. This checksum is computed by the server based on the value
987
- of other fields, and may be sent on update and delete requests to ensure the
1489
+ Optional. This checksum is computed by the server based on the value of other
1490
+ fields, and may be sent on update and delete requests to ensure the
988
1491
  client has an up-to-date value before proceeding.
989
1492
  """
990
1493
  return pulumi.get(self, "etag")
@@ -998,12 +1501,40 @@ class Connection(pulumi.CustomResource):
998
1501
  """
999
1502
  return pulumi.get(self, "github_config")
1000
1503
 
1504
+ @property
1505
+ @pulumi.getter(name="githubEnterpriseConfig")
1506
+ def github_enterprise_config(self) -> pulumi.Output[Optional['outputs.ConnectionGithubEnterpriseConfig']]:
1507
+ """
1508
+ Configuration for connections to an instance of GitHub Enterprise.
1509
+ Structure is documented below.
1510
+ """
1511
+ return pulumi.get(self, "github_enterprise_config")
1512
+
1513
+ @property
1514
+ @pulumi.getter(name="gitlabConfig")
1515
+ def gitlab_config(self) -> pulumi.Output[Optional['outputs.ConnectionGitlabConfig']]:
1516
+ """
1517
+ Configuration for connections to gitlab.com.
1518
+ Structure is documented below.
1519
+ """
1520
+ return pulumi.get(self, "gitlab_config")
1521
+
1522
+ @property
1523
+ @pulumi.getter(name="gitlabEnterpriseConfig")
1524
+ def gitlab_enterprise_config(self) -> pulumi.Output[Optional['outputs.ConnectionGitlabEnterpriseConfig']]:
1525
+ """
1526
+ Configuration for connections to an instance of GitLab Enterprise.
1527
+ Structure is documented below.
1528
+ """
1529
+ return pulumi.get(self, "gitlab_enterprise_config")
1530
+
1001
1531
  @property
1002
1532
  @pulumi.getter(name="installationStates")
1003
1533
  def installation_states(self) -> pulumi.Output[Sequence['outputs.ConnectionInstallationState']]:
1004
1534
  """
1005
- Describes stage and necessary actions to be taken by the user to complete the installation.
1006
- Used for GitHub and GitHub Enterprise based connections.
1535
+ Describes stage and necessary actions to be taken by the
1536
+ user to complete the installation. Used for GitHub and GitHub Enterprise
1537
+ based connections.
1007
1538
  Structure is documented below.
1008
1539
  """
1009
1540
  return pulumi.get(self, "installation_states")
@@ -1013,7 +1544,6 @@ class Connection(pulumi.CustomResource):
1013
1544
  def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1014
1545
  """
1015
1546
  Optional. Labels as key value pairs
1016
-
1017
1547
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
1018
1548
  Please refer to the field `effective_labels` for all of the labels present on the resource.
1019
1549
  """
@@ -1023,9 +1553,7 @@ class Connection(pulumi.CustomResource):
1023
1553
  @pulumi.getter
1024
1554
  def location(self) -> pulumi.Output[str]:
1025
1555
  """
1026
- Resource ID segment making up resource `name`. It identifies the resource
1027
- within its parent collection as described in https://google.aip.dev/122. See documentation
1028
- for resource type `developerconnect.googleapis.com/GitRepositoryLink`.
1556
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
1029
1557
  """
1030
1558
  return pulumi.get(self, "location")
1031
1559
 
@@ -1060,8 +1588,8 @@ class Connection(pulumi.CustomResource):
1060
1588
  @pulumi.getter
1061
1589
  def reconciling(self) -> pulumi.Output[bool]:
1062
1590
  """
1063
- Output only. Set to true when the connection is being set up or updated
1064
- in the background.
1591
+ Output only. Set to true when the connection is being set up or updated in the
1592
+ background.
1065
1593
  """
1066
1594
  return pulumi.get(self, "reconciling")
1067
1595