pulumi-gcp 8.22.0a1741790977__py3-none-any.whl → 8.23.0a1742001198__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/alloydb/_inputs.py +66 -0
  3. pulumi_gcp/alloydb/outputs.py +95 -0
  4. pulumi_gcp/backupdisasterrecovery/_inputs.py +3 -3
  5. pulumi_gcp/backupdisasterrecovery/outputs.py +4 -4
  6. pulumi_gcp/certificatemanager/certificate.py +53 -7
  7. pulumi_gcp/certificatemanager/outputs.py +8 -2
  8. pulumi_gcp/compute/__init__.py +1 -0
  9. pulumi_gcp/compute/_inputs.py +600 -17
  10. pulumi_gcp/compute/backend_service.py +195 -7
  11. pulumi_gcp/compute/disk.py +108 -0
  12. pulumi_gcp/compute/firewall_policy_association.py +28 -2
  13. pulumi_gcp/compute/get_backend_service.py +12 -1
  14. pulumi_gcp/compute/get_disk.py +23 -1
  15. pulumi_gcp/compute/get_region_disk.py +23 -1
  16. pulumi_gcp/compute/get_region_ssl_policy.py +203 -0
  17. pulumi_gcp/compute/outputs.py +623 -23
  18. pulumi_gcp/compute/region_backend_service.py +193 -7
  19. pulumi_gcp/compute/region_disk.py +114 -0
  20. pulumi_gcp/compute/shared_vpc_service_project.py +0 -4
  21. pulumi_gcp/compute/subnetwork.py +147 -0
  22. pulumi_gcp/container/_inputs.py +3 -3
  23. pulumi_gcp/container/outputs.py +4 -4
  24. pulumi_gcp/datastream/_inputs.py +273 -0
  25. pulumi_gcp/datastream/connection_profile.py +54 -2
  26. pulumi_gcp/datastream/outputs.py +224 -0
  27. pulumi_gcp/eventarc/__init__.py +1 -0
  28. pulumi_gcp/eventarc/_inputs.py +40 -0
  29. pulumi_gcp/eventarc/channel.py +85 -93
  30. pulumi_gcp/eventarc/google_api_source.py +997 -0
  31. pulumi_gcp/eventarc/outputs.py +41 -0
  32. pulumi_gcp/firebase/data_connect_service.py +40 -2
  33. pulumi_gcp/iam/__init__.py +2 -0
  34. pulumi_gcp/iam/_inputs.py +51 -18
  35. pulumi_gcp/iam/folders_policy_binding.py +10 -26
  36. pulumi_gcp/iam/oauth_client.py +979 -0
  37. pulumi_gcp/iam/oauth_client_credential.py +641 -0
  38. pulumi_gcp/iam/organizations_policy_binding.py +8 -24
  39. pulumi_gcp/iam/outputs.py +34 -12
  40. pulumi_gcp/iam/principal_access_boundary_policy.py +58 -22
  41. pulumi_gcp/iam/projects_policy_binding.py +8 -24
  42. pulumi_gcp/kms/crypto_key_version.py +14 -7
  43. pulumi_gcp/monitoring/_inputs.py +15 -18
  44. pulumi_gcp/monitoring/alert_policy.py +46 -0
  45. pulumi_gcp/monitoring/outputs.py +10 -12
  46. pulumi_gcp/networksecurity/__init__.py +1 -0
  47. pulumi_gcp/networksecurity/_inputs.py +30 -18
  48. pulumi_gcp/networksecurity/backend_authentication_config.py +847 -0
  49. pulumi_gcp/networksecurity/intercept_deployment.py +178 -94
  50. pulumi_gcp/networksecurity/intercept_deployment_group.py +161 -77
  51. pulumi_gcp/networksecurity/intercept_endpoint_group.py +161 -66
  52. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +137 -80
  53. pulumi_gcp/networksecurity/mirroring_deployment.py +178 -94
  54. pulumi_gcp/networksecurity/mirroring_deployment_group.py +161 -77
  55. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +161 -80
  56. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +137 -105
  57. pulumi_gcp/networksecurity/outputs.py +20 -12
  58. pulumi_gcp/networkservices/endpoint_policy.py +12 -0
  59. pulumi_gcp/networkservices/grpc_route.py +12 -0
  60. pulumi_gcp/networkservices/http_route.py +16 -0
  61. pulumi_gcp/networkservices/mesh.py +16 -0
  62. pulumi_gcp/networkservices/service_binding.py +14 -0
  63. pulumi_gcp/networkservices/tcp_route.py +16 -0
  64. pulumi_gcp/networkservices/tls_route.py +12 -0
  65. pulumi_gcp/pulumi-plugin.json +1 -1
  66. pulumi_gcp/tpu/_inputs.py +21 -1
  67. pulumi_gcp/tpu/outputs.py +13 -1
  68. pulumi_gcp/tpu/v2_vm.py +2 -0
  69. pulumi_gcp/vmwareengine/_inputs.py +6 -0
  70. pulumi_gcp/vmwareengine/outputs.py +8 -0
  71. pulumi_gcp/workstations/workstation_cluster.py +137 -1
  72. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0a1742001198.dist-info}/METADATA +1 -1
  73. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0a1742001198.dist-info}/RECORD +75 -70
  74. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0a1742001198.dist-info}/WHEEL +0 -0
  75. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0a1742001198.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,847 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = ['BackendAuthenticationConfigArgs', 'BackendAuthenticationConfig']
18
+
19
+ @pulumi.input_type
20
+ class BackendAuthenticationConfigArgs:
21
+ def __init__(__self__, *,
22
+ client_certificate: Optional[pulumi.Input[str]] = None,
23
+ description: Optional[pulumi.Input[str]] = None,
24
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
25
+ location: Optional[pulumi.Input[str]] = None,
26
+ name: Optional[pulumi.Input[str]] = None,
27
+ project: Optional[pulumi.Input[str]] = None,
28
+ trust_config: Optional[pulumi.Input[str]] = None,
29
+ well_known_roots: Optional[pulumi.Input[str]] = None):
30
+ """
31
+ The set of arguments for constructing a BackendAuthenticationConfig resource.
32
+ :param pulumi.Input[str] client_certificate: Reference to a Certificate resource from the certificatemanager.googleapis.com namespace.
33
+ Used by a BackendService to negotiate mTLS when the backend connection uses TLS and the backend requests a client certificate. Must have a CLIENT_AUTH scope.
34
+ :param pulumi.Input[str] description: A free-text description of the resource. Max length 1024 characters.
35
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Set of label tags associated with the BackendAuthenticationConfig resource.
36
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
37
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
38
+ :param pulumi.Input[str] location: The location of the backend authentication config.
39
+ The default value is `global`.
40
+ :param pulumi.Input[str] name: Name of the BackendAuthenticationConfig resource.
41
+
42
+
43
+ - - -
44
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
45
+ If it is not provided, the provider project is used.
46
+ :param pulumi.Input[str] trust_config: Reference to a TrustConfig resource from the certificatemanager.googleapis.com namespace.
47
+ A BackendService uses the chain of trust represented by this TrustConfig, if specified, to validate the server certificates presented by the backend. Required unless wellKnownRoots is set to PUBLIC_ROOTS.
48
+ :param pulumi.Input[str] well_known_roots: Well known roots to use for server certificate validation. If set to NONE, the BackendService will only validate server certificates against roots specified in TrustConfig.
49
+ If set to PUBLIC_ROOTS, the BackendService uses a set of well-known public roots, in addition to any roots specified in the trustConfig field, when validating the server certificates presented by the backend.
50
+ Validation with these roots is only considered when the TlsSettings.sni field in the BackendService is set. The well-known roots are a set of root CAs managed by Google. CAs in this set can be added or removed without notice.
51
+ Possible values are: `NONE`, `PUBLIC_ROOTS`.
52
+ """
53
+ if client_certificate is not None:
54
+ pulumi.set(__self__, "client_certificate", client_certificate)
55
+ if description is not None:
56
+ pulumi.set(__self__, "description", description)
57
+ if labels is not None:
58
+ pulumi.set(__self__, "labels", labels)
59
+ if location is not None:
60
+ pulumi.set(__self__, "location", location)
61
+ if name is not None:
62
+ pulumi.set(__self__, "name", name)
63
+ if project is not None:
64
+ pulumi.set(__self__, "project", project)
65
+ if trust_config is not None:
66
+ pulumi.set(__self__, "trust_config", trust_config)
67
+ if well_known_roots is not None:
68
+ pulumi.set(__self__, "well_known_roots", well_known_roots)
69
+
70
+ @property
71
+ @pulumi.getter(name="clientCertificate")
72
+ def client_certificate(self) -> Optional[pulumi.Input[str]]:
73
+ """
74
+ Reference to a Certificate resource from the certificatemanager.googleapis.com namespace.
75
+ Used by a BackendService to negotiate mTLS when the backend connection uses TLS and the backend requests a client certificate. Must have a CLIENT_AUTH scope.
76
+ """
77
+ return pulumi.get(self, "client_certificate")
78
+
79
+ @client_certificate.setter
80
+ def client_certificate(self, value: Optional[pulumi.Input[str]]):
81
+ pulumi.set(self, "client_certificate", value)
82
+
83
+ @property
84
+ @pulumi.getter
85
+ def description(self) -> Optional[pulumi.Input[str]]:
86
+ """
87
+ A free-text description of the resource. Max length 1024 characters.
88
+ """
89
+ return pulumi.get(self, "description")
90
+
91
+ @description.setter
92
+ def description(self, value: Optional[pulumi.Input[str]]):
93
+ pulumi.set(self, "description", value)
94
+
95
+ @property
96
+ @pulumi.getter
97
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
98
+ """
99
+ Set of label tags associated with the BackendAuthenticationConfig resource.
100
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
101
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
102
+ """
103
+ return pulumi.get(self, "labels")
104
+
105
+ @labels.setter
106
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
107
+ pulumi.set(self, "labels", value)
108
+
109
+ @property
110
+ @pulumi.getter
111
+ def location(self) -> Optional[pulumi.Input[str]]:
112
+ """
113
+ The location of the backend authentication config.
114
+ The default value is `global`.
115
+ """
116
+ return pulumi.get(self, "location")
117
+
118
+ @location.setter
119
+ def location(self, value: Optional[pulumi.Input[str]]):
120
+ pulumi.set(self, "location", value)
121
+
122
+ @property
123
+ @pulumi.getter
124
+ def name(self) -> Optional[pulumi.Input[str]]:
125
+ """
126
+ Name of the BackendAuthenticationConfig resource.
127
+
128
+
129
+ - - -
130
+ """
131
+ return pulumi.get(self, "name")
132
+
133
+ @name.setter
134
+ def name(self, value: Optional[pulumi.Input[str]]):
135
+ pulumi.set(self, "name", value)
136
+
137
+ @property
138
+ @pulumi.getter
139
+ def project(self) -> Optional[pulumi.Input[str]]:
140
+ """
141
+ The ID of the project in which the resource belongs.
142
+ If it is not provided, the provider project is used.
143
+ """
144
+ return pulumi.get(self, "project")
145
+
146
+ @project.setter
147
+ def project(self, value: Optional[pulumi.Input[str]]):
148
+ pulumi.set(self, "project", value)
149
+
150
+ @property
151
+ @pulumi.getter(name="trustConfig")
152
+ def trust_config(self) -> Optional[pulumi.Input[str]]:
153
+ """
154
+ Reference to a TrustConfig resource from the certificatemanager.googleapis.com namespace.
155
+ A BackendService uses the chain of trust represented by this TrustConfig, if specified, to validate the server certificates presented by the backend. Required unless wellKnownRoots is set to PUBLIC_ROOTS.
156
+ """
157
+ return pulumi.get(self, "trust_config")
158
+
159
+ @trust_config.setter
160
+ def trust_config(self, value: Optional[pulumi.Input[str]]):
161
+ pulumi.set(self, "trust_config", value)
162
+
163
+ @property
164
+ @pulumi.getter(name="wellKnownRoots")
165
+ def well_known_roots(self) -> Optional[pulumi.Input[str]]:
166
+ """
167
+ Well known roots to use for server certificate validation. If set to NONE, the BackendService will only validate server certificates against roots specified in TrustConfig.
168
+ If set to PUBLIC_ROOTS, the BackendService uses a set of well-known public roots, in addition to any roots specified in the trustConfig field, when validating the server certificates presented by the backend.
169
+ Validation with these roots is only considered when the TlsSettings.sni field in the BackendService is set. The well-known roots are a set of root CAs managed by Google. CAs in this set can be added or removed without notice.
170
+ Possible values are: `NONE`, `PUBLIC_ROOTS`.
171
+ """
172
+ return pulumi.get(self, "well_known_roots")
173
+
174
+ @well_known_roots.setter
175
+ def well_known_roots(self, value: Optional[pulumi.Input[str]]):
176
+ pulumi.set(self, "well_known_roots", value)
177
+
178
+
179
+ @pulumi.input_type
180
+ class _BackendAuthenticationConfigState:
181
+ def __init__(__self__, *,
182
+ client_certificate: Optional[pulumi.Input[str]] = None,
183
+ create_time: Optional[pulumi.Input[str]] = None,
184
+ description: Optional[pulumi.Input[str]] = None,
185
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
186
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
187
+ location: Optional[pulumi.Input[str]] = None,
188
+ name: Optional[pulumi.Input[str]] = None,
189
+ project: Optional[pulumi.Input[str]] = None,
190
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
191
+ trust_config: Optional[pulumi.Input[str]] = None,
192
+ update_time: Optional[pulumi.Input[str]] = None,
193
+ well_known_roots: Optional[pulumi.Input[str]] = None):
194
+ """
195
+ Input properties used for looking up and filtering BackendAuthenticationConfig resources.
196
+ :param pulumi.Input[str] client_certificate: Reference to a Certificate resource from the certificatemanager.googleapis.com namespace.
197
+ Used by a BackendService to negotiate mTLS when the backend connection uses TLS and the backend requests a client certificate. Must have a CLIENT_AUTH scope.
198
+ :param pulumi.Input[str] create_time: Time the BackendAuthenticationConfig was created in UTC.
199
+ :param pulumi.Input[str] description: A free-text description of the resource. Max length 1024 characters.
200
+ :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.
201
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Set of label tags associated with the BackendAuthenticationConfig resource.
202
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
203
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
204
+ :param pulumi.Input[str] location: The location of the backend authentication config.
205
+ The default value is `global`.
206
+ :param pulumi.Input[str] name: Name of the BackendAuthenticationConfig resource.
207
+
208
+
209
+ - - -
210
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
211
+ If it is not provided, the provider project is used.
212
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
213
+ and default labels configured on the provider.
214
+ :param pulumi.Input[str] trust_config: Reference to a TrustConfig resource from the certificatemanager.googleapis.com namespace.
215
+ A BackendService uses the chain of trust represented by this TrustConfig, if specified, to validate the server certificates presented by the backend. Required unless wellKnownRoots is set to PUBLIC_ROOTS.
216
+ :param pulumi.Input[str] update_time: Time the BackendAuthenticationConfig was updated in UTC.
217
+ :param pulumi.Input[str] well_known_roots: Well known roots to use for server certificate validation. If set to NONE, the BackendService will only validate server certificates against roots specified in TrustConfig.
218
+ If set to PUBLIC_ROOTS, the BackendService uses a set of well-known public roots, in addition to any roots specified in the trustConfig field, when validating the server certificates presented by the backend.
219
+ Validation with these roots is only considered when the TlsSettings.sni field in the BackendService is set. The well-known roots are a set of root CAs managed by Google. CAs in this set can be added or removed without notice.
220
+ Possible values are: `NONE`, `PUBLIC_ROOTS`.
221
+ """
222
+ if client_certificate is not None:
223
+ pulumi.set(__self__, "client_certificate", client_certificate)
224
+ if create_time is not None:
225
+ pulumi.set(__self__, "create_time", create_time)
226
+ if description is not None:
227
+ pulumi.set(__self__, "description", description)
228
+ if effective_labels is not None:
229
+ pulumi.set(__self__, "effective_labels", effective_labels)
230
+ if labels is not None:
231
+ pulumi.set(__self__, "labels", labels)
232
+ if location is not None:
233
+ pulumi.set(__self__, "location", location)
234
+ if name is not None:
235
+ pulumi.set(__self__, "name", name)
236
+ if project is not None:
237
+ pulumi.set(__self__, "project", project)
238
+ if pulumi_labels is not None:
239
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
240
+ if trust_config is not None:
241
+ pulumi.set(__self__, "trust_config", trust_config)
242
+ if update_time is not None:
243
+ pulumi.set(__self__, "update_time", update_time)
244
+ if well_known_roots is not None:
245
+ pulumi.set(__self__, "well_known_roots", well_known_roots)
246
+
247
+ @property
248
+ @pulumi.getter(name="clientCertificate")
249
+ def client_certificate(self) -> Optional[pulumi.Input[str]]:
250
+ """
251
+ Reference to a Certificate resource from the certificatemanager.googleapis.com namespace.
252
+ Used by a BackendService to negotiate mTLS when the backend connection uses TLS and the backend requests a client certificate. Must have a CLIENT_AUTH scope.
253
+ """
254
+ return pulumi.get(self, "client_certificate")
255
+
256
+ @client_certificate.setter
257
+ def client_certificate(self, value: Optional[pulumi.Input[str]]):
258
+ pulumi.set(self, "client_certificate", value)
259
+
260
+ @property
261
+ @pulumi.getter(name="createTime")
262
+ def create_time(self) -> Optional[pulumi.Input[str]]:
263
+ """
264
+ Time the BackendAuthenticationConfig was created in UTC.
265
+ """
266
+ return pulumi.get(self, "create_time")
267
+
268
+ @create_time.setter
269
+ def create_time(self, value: Optional[pulumi.Input[str]]):
270
+ pulumi.set(self, "create_time", value)
271
+
272
+ @property
273
+ @pulumi.getter
274
+ def description(self) -> Optional[pulumi.Input[str]]:
275
+ """
276
+ A free-text description of the resource. Max length 1024 characters.
277
+ """
278
+ return pulumi.get(self, "description")
279
+
280
+ @description.setter
281
+ def description(self, value: Optional[pulumi.Input[str]]):
282
+ pulumi.set(self, "description", value)
283
+
284
+ @property
285
+ @pulumi.getter(name="effectiveLabels")
286
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
287
+ """
288
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
289
+ """
290
+ return pulumi.get(self, "effective_labels")
291
+
292
+ @effective_labels.setter
293
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
294
+ pulumi.set(self, "effective_labels", value)
295
+
296
+ @property
297
+ @pulumi.getter
298
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
299
+ """
300
+ Set of label tags associated with the BackendAuthenticationConfig resource.
301
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
302
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
303
+ """
304
+ return pulumi.get(self, "labels")
305
+
306
+ @labels.setter
307
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
308
+ pulumi.set(self, "labels", value)
309
+
310
+ @property
311
+ @pulumi.getter
312
+ def location(self) -> Optional[pulumi.Input[str]]:
313
+ """
314
+ The location of the backend authentication config.
315
+ The default value is `global`.
316
+ """
317
+ return pulumi.get(self, "location")
318
+
319
+ @location.setter
320
+ def location(self, value: Optional[pulumi.Input[str]]):
321
+ pulumi.set(self, "location", value)
322
+
323
+ @property
324
+ @pulumi.getter
325
+ def name(self) -> Optional[pulumi.Input[str]]:
326
+ """
327
+ Name of the BackendAuthenticationConfig resource.
328
+
329
+
330
+ - - -
331
+ """
332
+ return pulumi.get(self, "name")
333
+
334
+ @name.setter
335
+ def name(self, value: Optional[pulumi.Input[str]]):
336
+ pulumi.set(self, "name", value)
337
+
338
+ @property
339
+ @pulumi.getter
340
+ def project(self) -> Optional[pulumi.Input[str]]:
341
+ """
342
+ The ID of the project in which the resource belongs.
343
+ If it is not provided, the provider project is used.
344
+ """
345
+ return pulumi.get(self, "project")
346
+
347
+ @project.setter
348
+ def project(self, value: Optional[pulumi.Input[str]]):
349
+ pulumi.set(self, "project", value)
350
+
351
+ @property
352
+ @pulumi.getter(name="pulumiLabels")
353
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
354
+ """
355
+ The combination of labels configured directly on the resource
356
+ and default labels configured on the provider.
357
+ """
358
+ return pulumi.get(self, "pulumi_labels")
359
+
360
+ @pulumi_labels.setter
361
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
362
+ pulumi.set(self, "pulumi_labels", value)
363
+
364
+ @property
365
+ @pulumi.getter(name="trustConfig")
366
+ def trust_config(self) -> Optional[pulumi.Input[str]]:
367
+ """
368
+ Reference to a TrustConfig resource from the certificatemanager.googleapis.com namespace.
369
+ A BackendService uses the chain of trust represented by this TrustConfig, if specified, to validate the server certificates presented by the backend. Required unless wellKnownRoots is set to PUBLIC_ROOTS.
370
+ """
371
+ return pulumi.get(self, "trust_config")
372
+
373
+ @trust_config.setter
374
+ def trust_config(self, value: Optional[pulumi.Input[str]]):
375
+ pulumi.set(self, "trust_config", value)
376
+
377
+ @property
378
+ @pulumi.getter(name="updateTime")
379
+ def update_time(self) -> Optional[pulumi.Input[str]]:
380
+ """
381
+ Time the BackendAuthenticationConfig was updated in UTC.
382
+ """
383
+ return pulumi.get(self, "update_time")
384
+
385
+ @update_time.setter
386
+ def update_time(self, value: Optional[pulumi.Input[str]]):
387
+ pulumi.set(self, "update_time", value)
388
+
389
+ @property
390
+ @pulumi.getter(name="wellKnownRoots")
391
+ def well_known_roots(self) -> Optional[pulumi.Input[str]]:
392
+ """
393
+ Well known roots to use for server certificate validation. If set to NONE, the BackendService will only validate server certificates against roots specified in TrustConfig.
394
+ If set to PUBLIC_ROOTS, the BackendService uses a set of well-known public roots, in addition to any roots specified in the trustConfig field, when validating the server certificates presented by the backend.
395
+ Validation with these roots is only considered when the TlsSettings.sni field in the BackendService is set. The well-known roots are a set of root CAs managed by Google. CAs in this set can be added or removed without notice.
396
+ Possible values are: `NONE`, `PUBLIC_ROOTS`.
397
+ """
398
+ return pulumi.get(self, "well_known_roots")
399
+
400
+ @well_known_roots.setter
401
+ def well_known_roots(self, value: Optional[pulumi.Input[str]]):
402
+ pulumi.set(self, "well_known_roots", value)
403
+
404
+
405
+ class BackendAuthenticationConfig(pulumi.CustomResource):
406
+ @overload
407
+ def __init__(__self__,
408
+ resource_name: str,
409
+ opts: Optional[pulumi.ResourceOptions] = None,
410
+ client_certificate: Optional[pulumi.Input[str]] = None,
411
+ description: Optional[pulumi.Input[str]] = None,
412
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
413
+ location: Optional[pulumi.Input[str]] = None,
414
+ name: Optional[pulumi.Input[str]] = None,
415
+ project: Optional[pulumi.Input[str]] = None,
416
+ trust_config: Optional[pulumi.Input[str]] = None,
417
+ well_known_roots: Optional[pulumi.Input[str]] = None,
418
+ __props__=None):
419
+ """
420
+ ## Example Usage
421
+
422
+ ### Network Security Backend Authentication Config Basic
423
+
424
+ ```python
425
+ import pulumi
426
+ import pulumi_gcp as gcp
427
+
428
+ default = gcp.networksecurity.BackendAuthenticationConfig("default",
429
+ name="my-backend-authentication-config",
430
+ labels={
431
+ "foo": "bar",
432
+ },
433
+ description="my description",
434
+ well_known_roots="PUBLIC_ROOTS")
435
+ ```
436
+ ### Network Security Backend Authentication Config Full
437
+
438
+ ```python
439
+ import pulumi
440
+ import pulumi_gcp as gcp
441
+ import pulumi_std as std
442
+
443
+ certificate = gcp.certificatemanager.Certificate("certificate",
444
+ name="my-certificate",
445
+ labels={
446
+ "foo": "bar",
447
+ },
448
+ location="global",
449
+ self_managed={
450
+ "pem_certificate": std.file(input="test-fixtures/cert.pem").result,
451
+ "pem_private_key": std.file(input="test-fixtures/key.pem").result,
452
+ },
453
+ scope="CLIENT_AUTH")
454
+ trust_config = gcp.certificatemanager.TrustConfig("trust_config",
455
+ name="my-trust-config",
456
+ description="sample description for the trust config",
457
+ location="global",
458
+ trust_stores=[{
459
+ "trust_anchors": [{
460
+ "pem_certificate": std.file(input="test-fixtures/cert.pem").result,
461
+ }],
462
+ "intermediate_cas": [{
463
+ "pem_certificate": std.file(input="test-fixtures/cert.pem").result,
464
+ }],
465
+ }],
466
+ labels={
467
+ "foo": "bar",
468
+ })
469
+ default = gcp.networksecurity.BackendAuthenticationConfig("default",
470
+ name="my-backend-authentication-config",
471
+ labels={
472
+ "bar": "foo",
473
+ },
474
+ location="global",
475
+ description="my description",
476
+ well_known_roots="PUBLIC_ROOTS",
477
+ client_certificate=certificate.id,
478
+ trust_config=trust_config.id)
479
+ ```
480
+
481
+ ## Import
482
+
483
+ BackendAuthenticationConfig can be imported using any of these accepted formats:
484
+
485
+ * `projects/{{project}}/locations/{{location}}/backendAuthenticationConfigs/{{name}}`
486
+
487
+ * `{{project}}/{{location}}/{{name}}`
488
+
489
+ * `{{location}}/{{name}}`
490
+
491
+ When using the `pulumi import` command, BackendAuthenticationConfig can be imported using one of the formats above. For example:
492
+
493
+ ```sh
494
+ $ pulumi import gcp:networksecurity/backendAuthenticationConfig:BackendAuthenticationConfig default projects/{{project}}/locations/{{location}}/backendAuthenticationConfigs/{{name}}
495
+ ```
496
+
497
+ ```sh
498
+ $ pulumi import gcp:networksecurity/backendAuthenticationConfig:BackendAuthenticationConfig default {{project}}/{{location}}/{{name}}
499
+ ```
500
+
501
+ ```sh
502
+ $ pulumi import gcp:networksecurity/backendAuthenticationConfig:BackendAuthenticationConfig default {{location}}/{{name}}
503
+ ```
504
+
505
+ :param str resource_name: The name of the resource.
506
+ :param pulumi.ResourceOptions opts: Options for the resource.
507
+ :param pulumi.Input[str] client_certificate: Reference to a Certificate resource from the certificatemanager.googleapis.com namespace.
508
+ Used by a BackendService to negotiate mTLS when the backend connection uses TLS and the backend requests a client certificate. Must have a CLIENT_AUTH scope.
509
+ :param pulumi.Input[str] description: A free-text description of the resource. Max length 1024 characters.
510
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Set of label tags associated with the BackendAuthenticationConfig resource.
511
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
512
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
513
+ :param pulumi.Input[str] location: The location of the backend authentication config.
514
+ The default value is `global`.
515
+ :param pulumi.Input[str] name: Name of the BackendAuthenticationConfig resource.
516
+
517
+
518
+ - - -
519
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
520
+ If it is not provided, the provider project is used.
521
+ :param pulumi.Input[str] trust_config: Reference to a TrustConfig resource from the certificatemanager.googleapis.com namespace.
522
+ A BackendService uses the chain of trust represented by this TrustConfig, if specified, to validate the server certificates presented by the backend. Required unless wellKnownRoots is set to PUBLIC_ROOTS.
523
+ :param pulumi.Input[str] well_known_roots: Well known roots to use for server certificate validation. If set to NONE, the BackendService will only validate server certificates against roots specified in TrustConfig.
524
+ If set to PUBLIC_ROOTS, the BackendService uses a set of well-known public roots, in addition to any roots specified in the trustConfig field, when validating the server certificates presented by the backend.
525
+ Validation with these roots is only considered when the TlsSettings.sni field in the BackendService is set. The well-known roots are a set of root CAs managed by Google. CAs in this set can be added or removed without notice.
526
+ Possible values are: `NONE`, `PUBLIC_ROOTS`.
527
+ """
528
+ ...
529
+ @overload
530
+ def __init__(__self__,
531
+ resource_name: str,
532
+ args: Optional[BackendAuthenticationConfigArgs] = None,
533
+ opts: Optional[pulumi.ResourceOptions] = None):
534
+ """
535
+ ## Example Usage
536
+
537
+ ### Network Security Backend Authentication Config Basic
538
+
539
+ ```python
540
+ import pulumi
541
+ import pulumi_gcp as gcp
542
+
543
+ default = gcp.networksecurity.BackendAuthenticationConfig("default",
544
+ name="my-backend-authentication-config",
545
+ labels={
546
+ "foo": "bar",
547
+ },
548
+ description="my description",
549
+ well_known_roots="PUBLIC_ROOTS")
550
+ ```
551
+ ### Network Security Backend Authentication Config Full
552
+
553
+ ```python
554
+ import pulumi
555
+ import pulumi_gcp as gcp
556
+ import pulumi_std as std
557
+
558
+ certificate = gcp.certificatemanager.Certificate("certificate",
559
+ name="my-certificate",
560
+ labels={
561
+ "foo": "bar",
562
+ },
563
+ location="global",
564
+ self_managed={
565
+ "pem_certificate": std.file(input="test-fixtures/cert.pem").result,
566
+ "pem_private_key": std.file(input="test-fixtures/key.pem").result,
567
+ },
568
+ scope="CLIENT_AUTH")
569
+ trust_config = gcp.certificatemanager.TrustConfig("trust_config",
570
+ name="my-trust-config",
571
+ description="sample description for the trust config",
572
+ location="global",
573
+ trust_stores=[{
574
+ "trust_anchors": [{
575
+ "pem_certificate": std.file(input="test-fixtures/cert.pem").result,
576
+ }],
577
+ "intermediate_cas": [{
578
+ "pem_certificate": std.file(input="test-fixtures/cert.pem").result,
579
+ }],
580
+ }],
581
+ labels={
582
+ "foo": "bar",
583
+ })
584
+ default = gcp.networksecurity.BackendAuthenticationConfig("default",
585
+ name="my-backend-authentication-config",
586
+ labels={
587
+ "bar": "foo",
588
+ },
589
+ location="global",
590
+ description="my description",
591
+ well_known_roots="PUBLIC_ROOTS",
592
+ client_certificate=certificate.id,
593
+ trust_config=trust_config.id)
594
+ ```
595
+
596
+ ## Import
597
+
598
+ BackendAuthenticationConfig can be imported using any of these accepted formats:
599
+
600
+ * `projects/{{project}}/locations/{{location}}/backendAuthenticationConfigs/{{name}}`
601
+
602
+ * `{{project}}/{{location}}/{{name}}`
603
+
604
+ * `{{location}}/{{name}}`
605
+
606
+ When using the `pulumi import` command, BackendAuthenticationConfig can be imported using one of the formats above. For example:
607
+
608
+ ```sh
609
+ $ pulumi import gcp:networksecurity/backendAuthenticationConfig:BackendAuthenticationConfig default projects/{{project}}/locations/{{location}}/backendAuthenticationConfigs/{{name}}
610
+ ```
611
+
612
+ ```sh
613
+ $ pulumi import gcp:networksecurity/backendAuthenticationConfig:BackendAuthenticationConfig default {{project}}/{{location}}/{{name}}
614
+ ```
615
+
616
+ ```sh
617
+ $ pulumi import gcp:networksecurity/backendAuthenticationConfig:BackendAuthenticationConfig default {{location}}/{{name}}
618
+ ```
619
+
620
+ :param str resource_name: The name of the resource.
621
+ :param BackendAuthenticationConfigArgs args: The arguments to use to populate this resource's properties.
622
+ :param pulumi.ResourceOptions opts: Options for the resource.
623
+ """
624
+ ...
625
+ def __init__(__self__, resource_name: str, *args, **kwargs):
626
+ resource_args, opts = _utilities.get_resource_args_opts(BackendAuthenticationConfigArgs, pulumi.ResourceOptions, *args, **kwargs)
627
+ if resource_args is not None:
628
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
629
+ else:
630
+ __self__._internal_init(resource_name, *args, **kwargs)
631
+
632
+ def _internal_init(__self__,
633
+ resource_name: str,
634
+ opts: Optional[pulumi.ResourceOptions] = None,
635
+ client_certificate: Optional[pulumi.Input[str]] = None,
636
+ description: Optional[pulumi.Input[str]] = None,
637
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
638
+ location: Optional[pulumi.Input[str]] = None,
639
+ name: Optional[pulumi.Input[str]] = None,
640
+ project: Optional[pulumi.Input[str]] = None,
641
+ trust_config: Optional[pulumi.Input[str]] = None,
642
+ well_known_roots: Optional[pulumi.Input[str]] = None,
643
+ __props__=None):
644
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
645
+ if not isinstance(opts, pulumi.ResourceOptions):
646
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
647
+ if opts.id is None:
648
+ if __props__ is not None:
649
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
650
+ __props__ = BackendAuthenticationConfigArgs.__new__(BackendAuthenticationConfigArgs)
651
+
652
+ __props__.__dict__["client_certificate"] = client_certificate
653
+ __props__.__dict__["description"] = description
654
+ __props__.__dict__["labels"] = labels
655
+ __props__.__dict__["location"] = location
656
+ __props__.__dict__["name"] = name
657
+ __props__.__dict__["project"] = project
658
+ __props__.__dict__["trust_config"] = trust_config
659
+ __props__.__dict__["well_known_roots"] = well_known_roots
660
+ __props__.__dict__["create_time"] = None
661
+ __props__.__dict__["effective_labels"] = None
662
+ __props__.__dict__["pulumi_labels"] = None
663
+ __props__.__dict__["update_time"] = None
664
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
665
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
666
+ super(BackendAuthenticationConfig, __self__).__init__(
667
+ 'gcp:networksecurity/backendAuthenticationConfig:BackendAuthenticationConfig',
668
+ resource_name,
669
+ __props__,
670
+ opts)
671
+
672
+ @staticmethod
673
+ def get(resource_name: str,
674
+ id: pulumi.Input[str],
675
+ opts: Optional[pulumi.ResourceOptions] = None,
676
+ client_certificate: Optional[pulumi.Input[str]] = None,
677
+ create_time: Optional[pulumi.Input[str]] = None,
678
+ description: Optional[pulumi.Input[str]] = None,
679
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
680
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
681
+ location: Optional[pulumi.Input[str]] = None,
682
+ name: Optional[pulumi.Input[str]] = None,
683
+ project: Optional[pulumi.Input[str]] = None,
684
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
685
+ trust_config: Optional[pulumi.Input[str]] = None,
686
+ update_time: Optional[pulumi.Input[str]] = None,
687
+ well_known_roots: Optional[pulumi.Input[str]] = None) -> 'BackendAuthenticationConfig':
688
+ """
689
+ Get an existing BackendAuthenticationConfig resource's state with the given name, id, and optional extra
690
+ properties used to qualify the lookup.
691
+
692
+ :param str resource_name: The unique name of the resulting resource.
693
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
694
+ :param pulumi.ResourceOptions opts: Options for the resource.
695
+ :param pulumi.Input[str] client_certificate: Reference to a Certificate resource from the certificatemanager.googleapis.com namespace.
696
+ Used by a BackendService to negotiate mTLS when the backend connection uses TLS and the backend requests a client certificate. Must have a CLIENT_AUTH scope.
697
+ :param pulumi.Input[str] create_time: Time the BackendAuthenticationConfig was created in UTC.
698
+ :param pulumi.Input[str] description: A free-text description of the resource. Max length 1024 characters.
699
+ :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.
700
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Set of label tags associated with the BackendAuthenticationConfig resource.
701
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
702
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
703
+ :param pulumi.Input[str] location: The location of the backend authentication config.
704
+ The default value is `global`.
705
+ :param pulumi.Input[str] name: Name of the BackendAuthenticationConfig resource.
706
+
707
+
708
+ - - -
709
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
710
+ If it is not provided, the provider project is used.
711
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
712
+ and default labels configured on the provider.
713
+ :param pulumi.Input[str] trust_config: Reference to a TrustConfig resource from the certificatemanager.googleapis.com namespace.
714
+ A BackendService uses the chain of trust represented by this TrustConfig, if specified, to validate the server certificates presented by the backend. Required unless wellKnownRoots is set to PUBLIC_ROOTS.
715
+ :param pulumi.Input[str] update_time: Time the BackendAuthenticationConfig was updated in UTC.
716
+ :param pulumi.Input[str] well_known_roots: Well known roots to use for server certificate validation. If set to NONE, the BackendService will only validate server certificates against roots specified in TrustConfig.
717
+ If set to PUBLIC_ROOTS, the BackendService uses a set of well-known public roots, in addition to any roots specified in the trustConfig field, when validating the server certificates presented by the backend.
718
+ Validation with these roots is only considered when the TlsSettings.sni field in the BackendService is set. The well-known roots are a set of root CAs managed by Google. CAs in this set can be added or removed without notice.
719
+ Possible values are: `NONE`, `PUBLIC_ROOTS`.
720
+ """
721
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
722
+
723
+ __props__ = _BackendAuthenticationConfigState.__new__(_BackendAuthenticationConfigState)
724
+
725
+ __props__.__dict__["client_certificate"] = client_certificate
726
+ __props__.__dict__["create_time"] = create_time
727
+ __props__.__dict__["description"] = description
728
+ __props__.__dict__["effective_labels"] = effective_labels
729
+ __props__.__dict__["labels"] = labels
730
+ __props__.__dict__["location"] = location
731
+ __props__.__dict__["name"] = name
732
+ __props__.__dict__["project"] = project
733
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
734
+ __props__.__dict__["trust_config"] = trust_config
735
+ __props__.__dict__["update_time"] = update_time
736
+ __props__.__dict__["well_known_roots"] = well_known_roots
737
+ return BackendAuthenticationConfig(resource_name, opts=opts, __props__=__props__)
738
+
739
+ @property
740
+ @pulumi.getter(name="clientCertificate")
741
+ def client_certificate(self) -> pulumi.Output[Optional[str]]:
742
+ """
743
+ Reference to a Certificate resource from the certificatemanager.googleapis.com namespace.
744
+ Used by a BackendService to negotiate mTLS when the backend connection uses TLS and the backend requests a client certificate. Must have a CLIENT_AUTH scope.
745
+ """
746
+ return pulumi.get(self, "client_certificate")
747
+
748
+ @property
749
+ @pulumi.getter(name="createTime")
750
+ def create_time(self) -> pulumi.Output[str]:
751
+ """
752
+ Time the BackendAuthenticationConfig was created in UTC.
753
+ """
754
+ return pulumi.get(self, "create_time")
755
+
756
+ @property
757
+ @pulumi.getter
758
+ def description(self) -> pulumi.Output[Optional[str]]:
759
+ """
760
+ A free-text description of the resource. Max length 1024 characters.
761
+ """
762
+ return pulumi.get(self, "description")
763
+
764
+ @property
765
+ @pulumi.getter(name="effectiveLabels")
766
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
767
+ """
768
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
769
+ """
770
+ return pulumi.get(self, "effective_labels")
771
+
772
+ @property
773
+ @pulumi.getter
774
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
775
+ """
776
+ Set of label tags associated with the BackendAuthenticationConfig resource.
777
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
778
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
779
+ """
780
+ return pulumi.get(self, "labels")
781
+
782
+ @property
783
+ @pulumi.getter
784
+ def location(self) -> pulumi.Output[Optional[str]]:
785
+ """
786
+ The location of the backend authentication config.
787
+ The default value is `global`.
788
+ """
789
+ return pulumi.get(self, "location")
790
+
791
+ @property
792
+ @pulumi.getter
793
+ def name(self) -> pulumi.Output[str]:
794
+ """
795
+ Name of the BackendAuthenticationConfig resource.
796
+
797
+
798
+ - - -
799
+ """
800
+ return pulumi.get(self, "name")
801
+
802
+ @property
803
+ @pulumi.getter
804
+ def project(self) -> pulumi.Output[str]:
805
+ """
806
+ The ID of the project in which the resource belongs.
807
+ If it is not provided, the provider project is used.
808
+ """
809
+ return pulumi.get(self, "project")
810
+
811
+ @property
812
+ @pulumi.getter(name="pulumiLabels")
813
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
814
+ """
815
+ The combination of labels configured directly on the resource
816
+ and default labels configured on the provider.
817
+ """
818
+ return pulumi.get(self, "pulumi_labels")
819
+
820
+ @property
821
+ @pulumi.getter(name="trustConfig")
822
+ def trust_config(self) -> pulumi.Output[Optional[str]]:
823
+ """
824
+ Reference to a TrustConfig resource from the certificatemanager.googleapis.com namespace.
825
+ A BackendService uses the chain of trust represented by this TrustConfig, if specified, to validate the server certificates presented by the backend. Required unless wellKnownRoots is set to PUBLIC_ROOTS.
826
+ """
827
+ return pulumi.get(self, "trust_config")
828
+
829
+ @property
830
+ @pulumi.getter(name="updateTime")
831
+ def update_time(self) -> pulumi.Output[str]:
832
+ """
833
+ Time the BackendAuthenticationConfig was updated in UTC.
834
+ """
835
+ return pulumi.get(self, "update_time")
836
+
837
+ @property
838
+ @pulumi.getter(name="wellKnownRoots")
839
+ def well_known_roots(self) -> pulumi.Output[Optional[str]]:
840
+ """
841
+ Well known roots to use for server certificate validation. If set to NONE, the BackendService will only validate server certificates against roots specified in TrustConfig.
842
+ If set to PUBLIC_ROOTS, the BackendService uses a set of well-known public roots, in addition to any roots specified in the trustConfig field, when validating the server certificates presented by the backend.
843
+ Validation with these roots is only considered when the TlsSettings.sni field in the BackendService is set. The well-known roots are a set of root CAs managed by Google. CAs in this set can be added or removed without notice.
844
+ Possible values are: `NONE`, `PUBLIC_ROOTS`.
845
+ """
846
+ return pulumi.get(self, "well_known_roots")
847
+