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