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