pulumi-gcp 7.15.0a1711038061__py3-none-any.whl → 7.16.0__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 (83) hide show
  1. pulumi_gcp/__init__.py +102 -0
  2. pulumi_gcp/accesscontextmanager/__init__.py +1 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +74 -58
  4. pulumi_gcp/accesscontextmanager/outputs.py +74 -58
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +345 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +80 -0
  8. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +86 -0
  9. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +4 -2
  10. pulumi_gcp/apphub/__init__.py +15 -0
  11. pulumi_gcp/apphub/_inputs.py +1016 -0
  12. pulumi_gcp/apphub/application.py +775 -0
  13. pulumi_gcp/apphub/get_discovered_service.py +180 -0
  14. pulumi_gcp/apphub/get_discovered_workload.py +180 -0
  15. pulumi_gcp/apphub/outputs.py +1206 -0
  16. pulumi_gcp/apphub/service.py +1121 -0
  17. pulumi_gcp/apphub/service_project_attachment.py +516 -0
  18. pulumi_gcp/apphub/workload.py +1197 -0
  19. pulumi_gcp/cloudquota/__init__.py +10 -0
  20. pulumi_gcp/cloudquota/get_s_quota_info.py +322 -0
  21. pulumi_gcp/cloudquota/get_s_quota_infos.py +136 -0
  22. pulumi_gcp/cloudquota/outputs.py +375 -0
  23. pulumi_gcp/cloudrunv2/_inputs.py +85 -4
  24. pulumi_gcp/cloudrunv2/get_service.py +11 -1
  25. pulumi_gcp/cloudrunv2/outputs.py +165 -6
  26. pulumi_gcp/cloudrunv2/service.py +60 -6
  27. pulumi_gcp/composer/_inputs.py +16 -0
  28. pulumi_gcp/composer/outputs.py +23 -0
  29. pulumi_gcp/compute/_inputs.py +109 -11
  30. pulumi_gcp/compute/outputs.py +144 -13
  31. pulumi_gcp/compute/region_network_endpoint_group.py +30 -0
  32. pulumi_gcp/compute/region_url_map.py +152 -0
  33. pulumi_gcp/config/__init__.pyi +4 -0
  34. pulumi_gcp/config/vars.py +8 -0
  35. pulumi_gcp/dataform/repository.py +4 -74
  36. pulumi_gcp/firebase/__init__.py +1 -0
  37. pulumi_gcp/firebase/android_app.py +41 -40
  38. pulumi_gcp/firebase/app_check_device_check_config.py +572 -0
  39. pulumi_gcp/firestore/_inputs.py +69 -0
  40. pulumi_gcp/firestore/database.py +206 -0
  41. pulumi_gcp/firestore/index.py +34 -48
  42. pulumi_gcp/firestore/outputs.py +80 -0
  43. pulumi_gcp/gkeonprem/_inputs.py +1 -3
  44. pulumi_gcp/gkeonprem/outputs.py +1 -3
  45. pulumi_gcp/gkeonprem/v_mware_cluster.py +2 -0
  46. pulumi_gcp/iap/__init__.py +5 -0
  47. pulumi_gcp/iap/_inputs.py +100 -0
  48. pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +172 -0
  49. pulumi_gcp/iap/outputs.py +76 -0
  50. pulumi_gcp/iap/tunnel_dest_group.py +524 -0
  51. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +858 -0
  52. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +858 -0
  53. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +760 -0
  54. pulumi_gcp/kms/__init__.py +1 -0
  55. pulumi_gcp/kms/_inputs.py +246 -0
  56. pulumi_gcp/kms/ekm_connection.py +610 -0
  57. pulumi_gcp/kms/outputs.py +242 -0
  58. pulumi_gcp/monitoring/_inputs.py +2 -0
  59. pulumi_gcp/monitoring/outputs.py +2 -0
  60. pulumi_gcp/networksecurity/__init__.py +1 -0
  61. pulumi_gcp/networksecurity/firewall_endpoint.py +48 -0
  62. pulumi_gcp/networksecurity/firewall_endpoint_association.py +753 -0
  63. pulumi_gcp/notebooks/instance.py +8 -0
  64. pulumi_gcp/orgpolicy/policy.py +2 -2
  65. pulumi_gcp/provider.py +40 -0
  66. pulumi_gcp/pubsub/_inputs.py +108 -0
  67. pulumi_gcp/pubsub/get_topic.py +11 -1
  68. pulumi_gcp/pubsub/outputs.py +213 -0
  69. pulumi_gcp/pubsub/subscription.py +4 -4
  70. pulumi_gcp/pubsub/topic.py +92 -0
  71. pulumi_gcp/securityposture/posture.py +2 -2
  72. pulumi_gcp/securityposture/posture_deployment.py +2 -2
  73. pulumi_gcp/storage/_inputs.py +72 -15
  74. pulumi_gcp/storage/bucket.py +54 -0
  75. pulumi_gcp/storage/get_bucket.py +11 -1
  76. pulumi_gcp/storage/outputs.py +110 -14
  77. pulumi_gcp/workstations/_inputs.py +247 -4
  78. pulumi_gcp/workstations/outputs.py +261 -5
  79. pulumi_gcp/workstations/workstation_config.py +160 -0
  80. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/METADATA +1 -1
  81. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/RECORD +83 -61
  82. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/WHEEL +0 -0
  83. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,753 @@
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 pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+
12
+ __all__ = ['FirewallEndpointAssociationArgs', 'FirewallEndpointAssociation']
13
+
14
+ @pulumi.input_type
15
+ class FirewallEndpointAssociationArgs:
16
+ def __init__(__self__, *,
17
+ firewall_endpoint: pulumi.Input[str],
18
+ location: pulumi.Input[str],
19
+ network: pulumi.Input[str],
20
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
21
+ name: Optional[pulumi.Input[str]] = None,
22
+ parent: Optional[pulumi.Input[str]] = None,
23
+ tls_inspection_policy: Optional[pulumi.Input[str]] = None):
24
+ """
25
+ The set of arguments for constructing a FirewallEndpointAssociation resource.
26
+ :param pulumi.Input[str] firewall_endpoint: The URL of the firewall endpoint that is being associated.
27
+ :param pulumi.Input[str] location: The location (zone) of the firewall endpoint association.
28
+
29
+
30
+ - - -
31
+ :param pulumi.Input[str] network: The URL of the network that is being associated.
32
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value label pairs to assign to the resource.
33
+
34
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
35
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
36
+ :param pulumi.Input[str] name: The name of the firewall endpoint association resource.
37
+ :param pulumi.Input[str] parent: The name of the parent this firewall endpoint association belongs to.
38
+ Format: projects/{project_id}.
39
+ :param pulumi.Input[str] tls_inspection_policy: The URL of the TlsInspectionPolicy that is being associated.
40
+ """
41
+ pulumi.set(__self__, "firewall_endpoint", firewall_endpoint)
42
+ pulumi.set(__self__, "location", location)
43
+ pulumi.set(__self__, "network", network)
44
+ if labels is not None:
45
+ pulumi.set(__self__, "labels", labels)
46
+ if name is not None:
47
+ pulumi.set(__self__, "name", name)
48
+ if parent is not None:
49
+ pulumi.set(__self__, "parent", parent)
50
+ if tls_inspection_policy is not None:
51
+ pulumi.set(__self__, "tls_inspection_policy", tls_inspection_policy)
52
+
53
+ @property
54
+ @pulumi.getter(name="firewallEndpoint")
55
+ def firewall_endpoint(self) -> pulumi.Input[str]:
56
+ """
57
+ The URL of the firewall endpoint that is being associated.
58
+ """
59
+ return pulumi.get(self, "firewall_endpoint")
60
+
61
+ @firewall_endpoint.setter
62
+ def firewall_endpoint(self, value: pulumi.Input[str]):
63
+ pulumi.set(self, "firewall_endpoint", value)
64
+
65
+ @property
66
+ @pulumi.getter
67
+ def location(self) -> pulumi.Input[str]:
68
+ """
69
+ The location (zone) of the firewall endpoint association.
70
+
71
+
72
+ - - -
73
+ """
74
+ return pulumi.get(self, "location")
75
+
76
+ @location.setter
77
+ def location(self, value: pulumi.Input[str]):
78
+ pulumi.set(self, "location", value)
79
+
80
+ @property
81
+ @pulumi.getter
82
+ def network(self) -> pulumi.Input[str]:
83
+ """
84
+ The URL of the network that is being associated.
85
+ """
86
+ return pulumi.get(self, "network")
87
+
88
+ @network.setter
89
+ def network(self, value: pulumi.Input[str]):
90
+ pulumi.set(self, "network", value)
91
+
92
+ @property
93
+ @pulumi.getter
94
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
95
+ """
96
+ A map of key/value label pairs to assign to the resource.
97
+
98
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
99
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
100
+ """
101
+ return pulumi.get(self, "labels")
102
+
103
+ @labels.setter
104
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
105
+ pulumi.set(self, "labels", value)
106
+
107
+ @property
108
+ @pulumi.getter
109
+ def name(self) -> Optional[pulumi.Input[str]]:
110
+ """
111
+ The name of the firewall endpoint association resource.
112
+ """
113
+ return pulumi.get(self, "name")
114
+
115
+ @name.setter
116
+ def name(self, value: Optional[pulumi.Input[str]]):
117
+ pulumi.set(self, "name", value)
118
+
119
+ @property
120
+ @pulumi.getter
121
+ def parent(self) -> Optional[pulumi.Input[str]]:
122
+ """
123
+ The name of the parent this firewall endpoint association belongs to.
124
+ Format: projects/{project_id}.
125
+ """
126
+ return pulumi.get(self, "parent")
127
+
128
+ @parent.setter
129
+ def parent(self, value: Optional[pulumi.Input[str]]):
130
+ pulumi.set(self, "parent", value)
131
+
132
+ @property
133
+ @pulumi.getter(name="tlsInspectionPolicy")
134
+ def tls_inspection_policy(self) -> Optional[pulumi.Input[str]]:
135
+ """
136
+ The URL of the TlsInspectionPolicy that is being associated.
137
+ """
138
+ return pulumi.get(self, "tls_inspection_policy")
139
+
140
+ @tls_inspection_policy.setter
141
+ def tls_inspection_policy(self, value: Optional[pulumi.Input[str]]):
142
+ pulumi.set(self, "tls_inspection_policy", value)
143
+
144
+
145
+ @pulumi.input_type
146
+ class _FirewallEndpointAssociationState:
147
+ def __init__(__self__, *,
148
+ create_time: Optional[pulumi.Input[str]] = None,
149
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
150
+ firewall_endpoint: Optional[pulumi.Input[str]] = None,
151
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
152
+ location: Optional[pulumi.Input[str]] = None,
153
+ name: Optional[pulumi.Input[str]] = None,
154
+ network: Optional[pulumi.Input[str]] = None,
155
+ parent: Optional[pulumi.Input[str]] = None,
156
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
157
+ reconciling: Optional[pulumi.Input[bool]] = None,
158
+ self_link: Optional[pulumi.Input[str]] = None,
159
+ state: Optional[pulumi.Input[str]] = None,
160
+ tls_inspection_policy: Optional[pulumi.Input[str]] = None,
161
+ update_time: Optional[pulumi.Input[str]] = None):
162
+ """
163
+ Input properties used for looking up and filtering FirewallEndpointAssociation resources.
164
+ :param pulumi.Input[str] create_time: Time the firewall endpoint was created in UTC.
165
+ :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.
166
+ :param pulumi.Input[str] firewall_endpoint: The URL of the firewall endpoint that is being associated.
167
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value label pairs to assign to the resource.
168
+
169
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
170
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
171
+ :param pulumi.Input[str] location: The location (zone) of the firewall endpoint association.
172
+
173
+
174
+ - - -
175
+ :param pulumi.Input[str] name: The name of the firewall endpoint association resource.
176
+ :param pulumi.Input[str] network: The URL of the network that is being associated.
177
+ :param pulumi.Input[str] parent: The name of the parent this firewall endpoint association belongs to.
178
+ Format: projects/{project_id}.
179
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
180
+ and default labels configured on the provider.
181
+ :param pulumi.Input[bool] reconciling: Whether reconciling is in progress, recommended per https://google.aip.dev/128.
182
+ :param pulumi.Input[str] self_link: Server-defined URL of this resource.
183
+ :param pulumi.Input[str] state: The current state of the endpoint.
184
+ :param pulumi.Input[str] tls_inspection_policy: The URL of the TlsInspectionPolicy that is being associated.
185
+ :param pulumi.Input[str] update_time: Time the firewall endpoint was updated in UTC.
186
+ """
187
+ if create_time is not None:
188
+ pulumi.set(__self__, "create_time", create_time)
189
+ if effective_labels is not None:
190
+ pulumi.set(__self__, "effective_labels", effective_labels)
191
+ if firewall_endpoint is not None:
192
+ pulumi.set(__self__, "firewall_endpoint", firewall_endpoint)
193
+ if labels is not None:
194
+ pulumi.set(__self__, "labels", labels)
195
+ if location is not None:
196
+ pulumi.set(__self__, "location", location)
197
+ if name is not None:
198
+ pulumi.set(__self__, "name", name)
199
+ if network is not None:
200
+ pulumi.set(__self__, "network", network)
201
+ if parent is not None:
202
+ pulumi.set(__self__, "parent", parent)
203
+ if pulumi_labels is not None:
204
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
205
+ if reconciling is not None:
206
+ pulumi.set(__self__, "reconciling", reconciling)
207
+ if self_link is not None:
208
+ pulumi.set(__self__, "self_link", self_link)
209
+ if state is not None:
210
+ pulumi.set(__self__, "state", state)
211
+ if tls_inspection_policy is not None:
212
+ pulumi.set(__self__, "tls_inspection_policy", tls_inspection_policy)
213
+ if update_time is not None:
214
+ pulumi.set(__self__, "update_time", update_time)
215
+
216
+ @property
217
+ @pulumi.getter(name="createTime")
218
+ def create_time(self) -> Optional[pulumi.Input[str]]:
219
+ """
220
+ Time the firewall endpoint was created in UTC.
221
+ """
222
+ return pulumi.get(self, "create_time")
223
+
224
+ @create_time.setter
225
+ def create_time(self, value: Optional[pulumi.Input[str]]):
226
+ pulumi.set(self, "create_time", value)
227
+
228
+ @property
229
+ @pulumi.getter(name="effectiveLabels")
230
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
231
+ """
232
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
233
+ """
234
+ return pulumi.get(self, "effective_labels")
235
+
236
+ @effective_labels.setter
237
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
238
+ pulumi.set(self, "effective_labels", value)
239
+
240
+ @property
241
+ @pulumi.getter(name="firewallEndpoint")
242
+ def firewall_endpoint(self) -> Optional[pulumi.Input[str]]:
243
+ """
244
+ The URL of the firewall endpoint that is being associated.
245
+ """
246
+ return pulumi.get(self, "firewall_endpoint")
247
+
248
+ @firewall_endpoint.setter
249
+ def firewall_endpoint(self, value: Optional[pulumi.Input[str]]):
250
+ pulumi.set(self, "firewall_endpoint", value)
251
+
252
+ @property
253
+ @pulumi.getter
254
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
255
+ """
256
+ A map of key/value label pairs to assign to the resource.
257
+
258
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
259
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
260
+ """
261
+ return pulumi.get(self, "labels")
262
+
263
+ @labels.setter
264
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
265
+ pulumi.set(self, "labels", value)
266
+
267
+ @property
268
+ @pulumi.getter
269
+ def location(self) -> Optional[pulumi.Input[str]]:
270
+ """
271
+ The location (zone) of the firewall endpoint association.
272
+
273
+
274
+ - - -
275
+ """
276
+ return pulumi.get(self, "location")
277
+
278
+ @location.setter
279
+ def location(self, value: Optional[pulumi.Input[str]]):
280
+ pulumi.set(self, "location", value)
281
+
282
+ @property
283
+ @pulumi.getter
284
+ def name(self) -> Optional[pulumi.Input[str]]:
285
+ """
286
+ The name of the firewall endpoint association resource.
287
+ """
288
+ return pulumi.get(self, "name")
289
+
290
+ @name.setter
291
+ def name(self, value: Optional[pulumi.Input[str]]):
292
+ pulumi.set(self, "name", value)
293
+
294
+ @property
295
+ @pulumi.getter
296
+ def network(self) -> Optional[pulumi.Input[str]]:
297
+ """
298
+ The URL of the network that is being associated.
299
+ """
300
+ return pulumi.get(self, "network")
301
+
302
+ @network.setter
303
+ def network(self, value: Optional[pulumi.Input[str]]):
304
+ pulumi.set(self, "network", value)
305
+
306
+ @property
307
+ @pulumi.getter
308
+ def parent(self) -> Optional[pulumi.Input[str]]:
309
+ """
310
+ The name of the parent this firewall endpoint association belongs to.
311
+ Format: projects/{project_id}.
312
+ """
313
+ return pulumi.get(self, "parent")
314
+
315
+ @parent.setter
316
+ def parent(self, value: Optional[pulumi.Input[str]]):
317
+ pulumi.set(self, "parent", value)
318
+
319
+ @property
320
+ @pulumi.getter(name="pulumiLabels")
321
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
322
+ """
323
+ The combination of labels configured directly on the resource
324
+ and default labels configured on the provider.
325
+ """
326
+ return pulumi.get(self, "pulumi_labels")
327
+
328
+ @pulumi_labels.setter
329
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
330
+ pulumi.set(self, "pulumi_labels", value)
331
+
332
+ @property
333
+ @pulumi.getter
334
+ def reconciling(self) -> Optional[pulumi.Input[bool]]:
335
+ """
336
+ Whether reconciling is in progress, recommended per https://google.aip.dev/128.
337
+ """
338
+ return pulumi.get(self, "reconciling")
339
+
340
+ @reconciling.setter
341
+ def reconciling(self, value: Optional[pulumi.Input[bool]]):
342
+ pulumi.set(self, "reconciling", value)
343
+
344
+ @property
345
+ @pulumi.getter(name="selfLink")
346
+ def self_link(self) -> Optional[pulumi.Input[str]]:
347
+ """
348
+ Server-defined URL of this resource.
349
+ """
350
+ return pulumi.get(self, "self_link")
351
+
352
+ @self_link.setter
353
+ def self_link(self, value: Optional[pulumi.Input[str]]):
354
+ pulumi.set(self, "self_link", value)
355
+
356
+ @property
357
+ @pulumi.getter
358
+ def state(self) -> Optional[pulumi.Input[str]]:
359
+ """
360
+ The current state of the endpoint.
361
+ """
362
+ return pulumi.get(self, "state")
363
+
364
+ @state.setter
365
+ def state(self, value: Optional[pulumi.Input[str]]):
366
+ pulumi.set(self, "state", value)
367
+
368
+ @property
369
+ @pulumi.getter(name="tlsInspectionPolicy")
370
+ def tls_inspection_policy(self) -> Optional[pulumi.Input[str]]:
371
+ """
372
+ The URL of the TlsInspectionPolicy that is being associated.
373
+ """
374
+ return pulumi.get(self, "tls_inspection_policy")
375
+
376
+ @tls_inspection_policy.setter
377
+ def tls_inspection_policy(self, value: Optional[pulumi.Input[str]]):
378
+ pulumi.set(self, "tls_inspection_policy", value)
379
+
380
+ @property
381
+ @pulumi.getter(name="updateTime")
382
+ def update_time(self) -> Optional[pulumi.Input[str]]:
383
+ """
384
+ Time the firewall endpoint was updated in UTC.
385
+ """
386
+ return pulumi.get(self, "update_time")
387
+
388
+ @update_time.setter
389
+ def update_time(self, value: Optional[pulumi.Input[str]]):
390
+ pulumi.set(self, "update_time", value)
391
+
392
+
393
+ class FirewallEndpointAssociation(pulumi.CustomResource):
394
+ @overload
395
+ def __init__(__self__,
396
+ resource_name: str,
397
+ opts: Optional[pulumi.ResourceOptions] = None,
398
+ firewall_endpoint: Optional[pulumi.Input[str]] = None,
399
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
400
+ location: Optional[pulumi.Input[str]] = None,
401
+ name: Optional[pulumi.Input[str]] = None,
402
+ network: Optional[pulumi.Input[str]] = None,
403
+ parent: Optional[pulumi.Input[str]] = None,
404
+ tls_inspection_policy: Optional[pulumi.Input[str]] = None,
405
+ __props__=None):
406
+ """
407
+ ## Example Usage
408
+
409
+ ### Network Security Firewall Endpoint Association Basic
410
+
411
+ <!--Start PulumiCodeChooser -->
412
+ ```python
413
+ import pulumi
414
+ import pulumi_gcp as gcp
415
+
416
+ default = gcp.networksecurity.FirewallEndpoint("default",
417
+ name="my-firewall-endpoint",
418
+ parent="organizations/123456789",
419
+ location="us-central1-a",
420
+ labels={
421
+ "foo": "bar",
422
+ })
423
+ default_association = gcp.networksecurity.FirewallEndpointAssociation("default_association",
424
+ name="my-firewall-endpoint-association",
425
+ parent="projects/my-project-name",
426
+ location="us-central1-a",
427
+ labels={
428
+ "foo": "bar",
429
+ })
430
+ ```
431
+ <!--End PulumiCodeChooser -->
432
+
433
+ ## Import
434
+
435
+ FirewallEndpointAssociation can be imported using any of these accepted formats:
436
+
437
+ * `{{parent}}/locations/{{location}}/firewallEndpointAssociations/{{name}}`
438
+
439
+ When using the `pulumi import` command, FirewallEndpointAssociation can be imported using one of the formats above. For example:
440
+
441
+ ```sh
442
+ $ pulumi import gcp:networksecurity/firewallEndpointAssociation:FirewallEndpointAssociation default {{parent}}/locations/{{location}}/firewallEndpointAssociations/{{name}}
443
+ ```
444
+
445
+ :param str resource_name: The name of the resource.
446
+ :param pulumi.ResourceOptions opts: Options for the resource.
447
+ :param pulumi.Input[str] firewall_endpoint: The URL of the firewall endpoint that is being associated.
448
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value label pairs to assign to the resource.
449
+
450
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
451
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
452
+ :param pulumi.Input[str] location: The location (zone) of the firewall endpoint association.
453
+
454
+
455
+ - - -
456
+ :param pulumi.Input[str] name: The name of the firewall endpoint association resource.
457
+ :param pulumi.Input[str] network: The URL of the network that is being associated.
458
+ :param pulumi.Input[str] parent: The name of the parent this firewall endpoint association belongs to.
459
+ Format: projects/{project_id}.
460
+ :param pulumi.Input[str] tls_inspection_policy: The URL of the TlsInspectionPolicy that is being associated.
461
+ """
462
+ ...
463
+ @overload
464
+ def __init__(__self__,
465
+ resource_name: str,
466
+ args: FirewallEndpointAssociationArgs,
467
+ opts: Optional[pulumi.ResourceOptions] = None):
468
+ """
469
+ ## Example Usage
470
+
471
+ ### Network Security Firewall Endpoint Association Basic
472
+
473
+ <!--Start PulumiCodeChooser -->
474
+ ```python
475
+ import pulumi
476
+ import pulumi_gcp as gcp
477
+
478
+ default = gcp.networksecurity.FirewallEndpoint("default",
479
+ name="my-firewall-endpoint",
480
+ parent="organizations/123456789",
481
+ location="us-central1-a",
482
+ labels={
483
+ "foo": "bar",
484
+ })
485
+ default_association = gcp.networksecurity.FirewallEndpointAssociation("default_association",
486
+ name="my-firewall-endpoint-association",
487
+ parent="projects/my-project-name",
488
+ location="us-central1-a",
489
+ labels={
490
+ "foo": "bar",
491
+ })
492
+ ```
493
+ <!--End PulumiCodeChooser -->
494
+
495
+ ## Import
496
+
497
+ FirewallEndpointAssociation can be imported using any of these accepted formats:
498
+
499
+ * `{{parent}}/locations/{{location}}/firewallEndpointAssociations/{{name}}`
500
+
501
+ When using the `pulumi import` command, FirewallEndpointAssociation can be imported using one of the formats above. For example:
502
+
503
+ ```sh
504
+ $ pulumi import gcp:networksecurity/firewallEndpointAssociation:FirewallEndpointAssociation default {{parent}}/locations/{{location}}/firewallEndpointAssociations/{{name}}
505
+ ```
506
+
507
+ :param str resource_name: The name of the resource.
508
+ :param FirewallEndpointAssociationArgs args: The arguments to use to populate this resource's properties.
509
+ :param pulumi.ResourceOptions opts: Options for the resource.
510
+ """
511
+ ...
512
+ def __init__(__self__, resource_name: str, *args, **kwargs):
513
+ resource_args, opts = _utilities.get_resource_args_opts(FirewallEndpointAssociationArgs, pulumi.ResourceOptions, *args, **kwargs)
514
+ if resource_args is not None:
515
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
516
+ else:
517
+ __self__._internal_init(resource_name, *args, **kwargs)
518
+
519
+ def _internal_init(__self__,
520
+ resource_name: str,
521
+ opts: Optional[pulumi.ResourceOptions] = None,
522
+ firewall_endpoint: Optional[pulumi.Input[str]] = None,
523
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
524
+ location: Optional[pulumi.Input[str]] = None,
525
+ name: Optional[pulumi.Input[str]] = None,
526
+ network: Optional[pulumi.Input[str]] = None,
527
+ parent: Optional[pulumi.Input[str]] = None,
528
+ tls_inspection_policy: Optional[pulumi.Input[str]] = None,
529
+ __props__=None):
530
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
531
+ if not isinstance(opts, pulumi.ResourceOptions):
532
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
533
+ if opts.id is None:
534
+ if __props__ is not None:
535
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
536
+ __props__ = FirewallEndpointAssociationArgs.__new__(FirewallEndpointAssociationArgs)
537
+
538
+ if firewall_endpoint is None and not opts.urn:
539
+ raise TypeError("Missing required property 'firewall_endpoint'")
540
+ __props__.__dict__["firewall_endpoint"] = firewall_endpoint
541
+ __props__.__dict__["labels"] = labels
542
+ if location is None and not opts.urn:
543
+ raise TypeError("Missing required property 'location'")
544
+ __props__.__dict__["location"] = location
545
+ __props__.__dict__["name"] = name
546
+ if network is None and not opts.urn:
547
+ raise TypeError("Missing required property 'network'")
548
+ __props__.__dict__["network"] = network
549
+ __props__.__dict__["parent"] = parent
550
+ __props__.__dict__["tls_inspection_policy"] = tls_inspection_policy
551
+ __props__.__dict__["create_time"] = None
552
+ __props__.__dict__["effective_labels"] = None
553
+ __props__.__dict__["pulumi_labels"] = None
554
+ __props__.__dict__["reconciling"] = None
555
+ __props__.__dict__["self_link"] = None
556
+ __props__.__dict__["state"] = None
557
+ __props__.__dict__["update_time"] = None
558
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
559
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
560
+ super(FirewallEndpointAssociation, __self__).__init__(
561
+ 'gcp:networksecurity/firewallEndpointAssociation:FirewallEndpointAssociation',
562
+ resource_name,
563
+ __props__,
564
+ opts)
565
+
566
+ @staticmethod
567
+ def get(resource_name: str,
568
+ id: pulumi.Input[str],
569
+ opts: Optional[pulumi.ResourceOptions] = None,
570
+ create_time: Optional[pulumi.Input[str]] = None,
571
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
572
+ firewall_endpoint: Optional[pulumi.Input[str]] = None,
573
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
574
+ location: Optional[pulumi.Input[str]] = None,
575
+ name: Optional[pulumi.Input[str]] = None,
576
+ network: Optional[pulumi.Input[str]] = None,
577
+ parent: Optional[pulumi.Input[str]] = None,
578
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
579
+ reconciling: Optional[pulumi.Input[bool]] = None,
580
+ self_link: Optional[pulumi.Input[str]] = None,
581
+ state: Optional[pulumi.Input[str]] = None,
582
+ tls_inspection_policy: Optional[pulumi.Input[str]] = None,
583
+ update_time: Optional[pulumi.Input[str]] = None) -> 'FirewallEndpointAssociation':
584
+ """
585
+ Get an existing FirewallEndpointAssociation resource's state with the given name, id, and optional extra
586
+ properties used to qualify the lookup.
587
+
588
+ :param str resource_name: The unique name of the resulting resource.
589
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
590
+ :param pulumi.ResourceOptions opts: Options for the resource.
591
+ :param pulumi.Input[str] create_time: Time the firewall endpoint was created in UTC.
592
+ :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.
593
+ :param pulumi.Input[str] firewall_endpoint: The URL of the firewall endpoint that is being associated.
594
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value label pairs to assign to the resource.
595
+
596
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
597
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
598
+ :param pulumi.Input[str] location: The location (zone) of the firewall endpoint association.
599
+
600
+
601
+ - - -
602
+ :param pulumi.Input[str] name: The name of the firewall endpoint association resource.
603
+ :param pulumi.Input[str] network: The URL of the network that is being associated.
604
+ :param pulumi.Input[str] parent: The name of the parent this firewall endpoint association belongs to.
605
+ Format: projects/{project_id}.
606
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
607
+ and default labels configured on the provider.
608
+ :param pulumi.Input[bool] reconciling: Whether reconciling is in progress, recommended per https://google.aip.dev/128.
609
+ :param pulumi.Input[str] self_link: Server-defined URL of this resource.
610
+ :param pulumi.Input[str] state: The current state of the endpoint.
611
+ :param pulumi.Input[str] tls_inspection_policy: The URL of the TlsInspectionPolicy that is being associated.
612
+ :param pulumi.Input[str] update_time: Time the firewall endpoint was updated in UTC.
613
+ """
614
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
615
+
616
+ __props__ = _FirewallEndpointAssociationState.__new__(_FirewallEndpointAssociationState)
617
+
618
+ __props__.__dict__["create_time"] = create_time
619
+ __props__.__dict__["effective_labels"] = effective_labels
620
+ __props__.__dict__["firewall_endpoint"] = firewall_endpoint
621
+ __props__.__dict__["labels"] = labels
622
+ __props__.__dict__["location"] = location
623
+ __props__.__dict__["name"] = name
624
+ __props__.__dict__["network"] = network
625
+ __props__.__dict__["parent"] = parent
626
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
627
+ __props__.__dict__["reconciling"] = reconciling
628
+ __props__.__dict__["self_link"] = self_link
629
+ __props__.__dict__["state"] = state
630
+ __props__.__dict__["tls_inspection_policy"] = tls_inspection_policy
631
+ __props__.__dict__["update_time"] = update_time
632
+ return FirewallEndpointAssociation(resource_name, opts=opts, __props__=__props__)
633
+
634
+ @property
635
+ @pulumi.getter(name="createTime")
636
+ def create_time(self) -> pulumi.Output[str]:
637
+ """
638
+ Time the firewall endpoint was created in UTC.
639
+ """
640
+ return pulumi.get(self, "create_time")
641
+
642
+ @property
643
+ @pulumi.getter(name="effectiveLabels")
644
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
645
+ """
646
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
647
+ """
648
+ return pulumi.get(self, "effective_labels")
649
+
650
+ @property
651
+ @pulumi.getter(name="firewallEndpoint")
652
+ def firewall_endpoint(self) -> pulumi.Output[str]:
653
+ """
654
+ The URL of the firewall endpoint that is being associated.
655
+ """
656
+ return pulumi.get(self, "firewall_endpoint")
657
+
658
+ @property
659
+ @pulumi.getter
660
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
661
+ """
662
+ A map of key/value label pairs to assign to the resource.
663
+
664
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
665
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
666
+ """
667
+ return pulumi.get(self, "labels")
668
+
669
+ @property
670
+ @pulumi.getter
671
+ def location(self) -> pulumi.Output[str]:
672
+ """
673
+ The location (zone) of the firewall endpoint association.
674
+
675
+
676
+ - - -
677
+ """
678
+ return pulumi.get(self, "location")
679
+
680
+ @property
681
+ @pulumi.getter
682
+ def name(self) -> pulumi.Output[str]:
683
+ """
684
+ The name of the firewall endpoint association resource.
685
+ """
686
+ return pulumi.get(self, "name")
687
+
688
+ @property
689
+ @pulumi.getter
690
+ def network(self) -> pulumi.Output[str]:
691
+ """
692
+ The URL of the network that is being associated.
693
+ """
694
+ return pulumi.get(self, "network")
695
+
696
+ @property
697
+ @pulumi.getter
698
+ def parent(self) -> pulumi.Output[Optional[str]]:
699
+ """
700
+ The name of the parent this firewall endpoint association belongs to.
701
+ Format: projects/{project_id}.
702
+ """
703
+ return pulumi.get(self, "parent")
704
+
705
+ @property
706
+ @pulumi.getter(name="pulumiLabels")
707
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
708
+ """
709
+ The combination of labels configured directly on the resource
710
+ and default labels configured on the provider.
711
+ """
712
+ return pulumi.get(self, "pulumi_labels")
713
+
714
+ @property
715
+ @pulumi.getter
716
+ def reconciling(self) -> pulumi.Output[bool]:
717
+ """
718
+ Whether reconciling is in progress, recommended per https://google.aip.dev/128.
719
+ """
720
+ return pulumi.get(self, "reconciling")
721
+
722
+ @property
723
+ @pulumi.getter(name="selfLink")
724
+ def self_link(self) -> pulumi.Output[str]:
725
+ """
726
+ Server-defined URL of this resource.
727
+ """
728
+ return pulumi.get(self, "self_link")
729
+
730
+ @property
731
+ @pulumi.getter
732
+ def state(self) -> pulumi.Output[str]:
733
+ """
734
+ The current state of the endpoint.
735
+ """
736
+ return pulumi.get(self, "state")
737
+
738
+ @property
739
+ @pulumi.getter(name="tlsInspectionPolicy")
740
+ def tls_inspection_policy(self) -> pulumi.Output[Optional[str]]:
741
+ """
742
+ The URL of the TlsInspectionPolicy that is being associated.
743
+ """
744
+ return pulumi.get(self, "tls_inspection_policy")
745
+
746
+ @property
747
+ @pulumi.getter(name="updateTime")
748
+ def update_time(self) -> pulumi.Output[str]:
749
+ """
750
+ Time the firewall endpoint was updated in UTC.
751
+ """
752
+ return pulumi.get(self, "update_time")
753
+