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