pulumi-gcp 7.7.1__py3-none-any.whl → 7.8.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 (37) hide show
  1. pulumi_gcp/__init__.py +43 -0
  2. pulumi_gcp/alloydb/instance.py +1 -1
  3. pulumi_gcp/blockchainnodeengine/__init__.py +10 -0
  4. pulumi_gcp/blockchainnodeengine/_inputs.py +388 -0
  5. pulumi_gcp/blockchainnodeengine/blockchain_nodes.py +791 -0
  6. pulumi_gcp/blockchainnodeengine/outputs.py +441 -0
  7. pulumi_gcp/compute/__init__.py +2 -0
  8. pulumi_gcp/compute/disk.py +28 -0
  9. pulumi_gcp/compute/get_disk.py +11 -1
  10. pulumi_gcp/compute/get_instance_group_manager.py +11 -1
  11. pulumi_gcp/compute/get_machine_types.py +143 -0
  12. pulumi_gcp/compute/instance_group_manager.py +28 -0
  13. pulumi_gcp/compute/interconnect_attachment.py +75 -0
  14. pulumi_gcp/compute/outputs.py +219 -0
  15. pulumi_gcp/compute/region_instance_group_manager.py +28 -0
  16. pulumi_gcp/compute/region_network_endpoint.py +556 -0
  17. pulumi_gcp/compute/region_network_endpoint_group.py +128 -71
  18. pulumi_gcp/config/__init__.pyi +2 -2
  19. pulumi_gcp/config/vars.py +4 -4
  20. pulumi_gcp/discoveryengine/__init__.py +4 -0
  21. pulumi_gcp/discoveryengine/_inputs.py +237 -0
  22. pulumi_gcp/discoveryengine/chat_engine.py +822 -0
  23. pulumi_gcp/discoveryengine/outputs.py +304 -0
  24. pulumi_gcp/discoveryengine/search_engine.py +752 -0
  25. pulumi_gcp/filestore/_inputs.py +1 -3
  26. pulumi_gcp/filestore/outputs.py +1 -3
  27. pulumi_gcp/memcache/instance.py +61 -0
  28. pulumi_gcp/netapp/__init__.py +1 -0
  29. pulumi_gcp/netapp/storage_pool.py +34 -6
  30. pulumi_gcp/netapp/volume.py +65 -2
  31. pulumi_gcp/netapp/volume_snapshot.py +625 -0
  32. pulumi_gcp/provider.py +20 -0
  33. pulumi_gcp/vmwareengine/private_cloud.py +0 -7
  34. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/METADATA +1 -1
  35. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/RECORD +37 -26
  36. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/WHEEL +0 -0
  37. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/top_level.txt +0 -0
@@ -429,6 +429,7 @@ class _RegionInstanceGroupManagerState:
429
429
  all_instances_config: Optional[pulumi.Input['RegionInstanceGroupManagerAllInstancesConfigArgs']] = None,
430
430
  auto_healing_policies: Optional[pulumi.Input['RegionInstanceGroupManagerAutoHealingPoliciesArgs']] = None,
431
431
  base_instance_name: Optional[pulumi.Input[str]] = None,
432
+ creation_timestamp: Optional[pulumi.Input[str]] = None,
432
433
  description: Optional[pulumi.Input[str]] = None,
433
434
  distribution_policy_target_shape: Optional[pulumi.Input[str]] = None,
434
435
  distribution_policy_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -464,6 +465,7 @@ class _RegionInstanceGroupManagerState:
464
465
  are lowercase letters, numbers, and hyphens (-). Instances are named by
465
466
  appending a hyphen and a random four-character string to the base instance
466
467
  name.
468
+ :param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
467
469
  :param pulumi.Input[str] description: An optional textual description of the instance
468
470
  group manager.
469
471
  :param pulumi.Input[str] distribution_policy_target_shape: The shape to which the group converges either proactively or on resize events (depending on the value set in update_policy.0.instance_redistribution_type). For more information see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/regional-mig-distribution-shape).
@@ -519,6 +521,8 @@ class _RegionInstanceGroupManagerState:
519
521
  pulumi.set(__self__, "auto_healing_policies", auto_healing_policies)
520
522
  if base_instance_name is not None:
521
523
  pulumi.set(__self__, "base_instance_name", base_instance_name)
524
+ if creation_timestamp is not None:
525
+ pulumi.set(__self__, "creation_timestamp", creation_timestamp)
522
526
  if description is not None:
523
527
  pulumi.set(__self__, "description", description)
524
528
  if distribution_policy_target_shape is not None:
@@ -608,6 +612,18 @@ class _RegionInstanceGroupManagerState:
608
612
  def base_instance_name(self, value: Optional[pulumi.Input[str]]):
609
613
  pulumi.set(self, "base_instance_name", value)
610
614
 
615
+ @property
616
+ @pulumi.getter(name="creationTimestamp")
617
+ def creation_timestamp(self) -> Optional[pulumi.Input[str]]:
618
+ """
619
+ Creation timestamp in RFC3339 text format.
620
+ """
621
+ return pulumi.get(self, "creation_timestamp")
622
+
623
+ @creation_timestamp.setter
624
+ def creation_timestamp(self, value: Optional[pulumi.Input[str]]):
625
+ pulumi.set(self, "creation_timestamp", value)
626
+
611
627
  @property
612
628
  @pulumi.getter
613
629
  def description(self) -> Optional[pulumi.Input[str]]:
@@ -1236,6 +1252,7 @@ class RegionInstanceGroupManager(pulumi.CustomResource):
1236
1252
  __props__.__dict__["versions"] = versions
1237
1253
  __props__.__dict__["wait_for_instances"] = wait_for_instances
1238
1254
  __props__.__dict__["wait_for_instances_status"] = wait_for_instances_status
1255
+ __props__.__dict__["creation_timestamp"] = None
1239
1256
  __props__.__dict__["fingerprint"] = None
1240
1257
  __props__.__dict__["instance_group"] = None
1241
1258
  __props__.__dict__["self_link"] = None
@@ -1253,6 +1270,7 @@ class RegionInstanceGroupManager(pulumi.CustomResource):
1253
1270
  all_instances_config: Optional[pulumi.Input[pulumi.InputType['RegionInstanceGroupManagerAllInstancesConfigArgs']]] = None,
1254
1271
  auto_healing_policies: Optional[pulumi.Input[pulumi.InputType['RegionInstanceGroupManagerAutoHealingPoliciesArgs']]] = None,
1255
1272
  base_instance_name: Optional[pulumi.Input[str]] = None,
1273
+ creation_timestamp: Optional[pulumi.Input[str]] = None,
1256
1274
  description: Optional[pulumi.Input[str]] = None,
1257
1275
  distribution_policy_target_shape: Optional[pulumi.Input[str]] = None,
1258
1276
  distribution_policy_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -1293,6 +1311,7 @@ class RegionInstanceGroupManager(pulumi.CustomResource):
1293
1311
  are lowercase letters, numbers, and hyphens (-). Instances are named by
1294
1312
  appending a hyphen and a random four-character string to the base instance
1295
1313
  name.
1314
+ :param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
1296
1315
  :param pulumi.Input[str] description: An optional textual description of the instance
1297
1316
  group manager.
1298
1317
  :param pulumi.Input[str] distribution_policy_target_shape: The shape to which the group converges either proactively or on resize events (depending on the value set in update_policy.0.instance_redistribution_type). For more information see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/regional-mig-distribution-shape).
@@ -1349,6 +1368,7 @@ class RegionInstanceGroupManager(pulumi.CustomResource):
1349
1368
  __props__.__dict__["all_instances_config"] = all_instances_config
1350
1369
  __props__.__dict__["auto_healing_policies"] = auto_healing_policies
1351
1370
  __props__.__dict__["base_instance_name"] = base_instance_name
1371
+ __props__.__dict__["creation_timestamp"] = creation_timestamp
1352
1372
  __props__.__dict__["description"] = description
1353
1373
  __props__.__dict__["distribution_policy_target_shape"] = distribution_policy_target_shape
1354
1374
  __props__.__dict__["distribution_policy_zones"] = distribution_policy_zones
@@ -1405,6 +1425,14 @@ class RegionInstanceGroupManager(pulumi.CustomResource):
1405
1425
  """
1406
1426
  return pulumi.get(self, "base_instance_name")
1407
1427
 
1428
+ @property
1429
+ @pulumi.getter(name="creationTimestamp")
1430
+ def creation_timestamp(self) -> pulumi.Output[str]:
1431
+ """
1432
+ Creation timestamp in RFC3339 text format.
1433
+ """
1434
+ return pulumi.get(self, "creation_timestamp")
1435
+
1408
1436
  @property
1409
1437
  @pulumi.getter
1410
1438
  def description(self) -> pulumi.Output[Optional[str]]:
@@ -0,0 +1,556 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+
12
+ __all__ = ['RegionNetworkEndpointArgs', 'RegionNetworkEndpoint']
13
+
14
+ @pulumi.input_type
15
+ class RegionNetworkEndpointArgs:
16
+ def __init__(__self__, *,
17
+ port: pulumi.Input[int],
18
+ region_network_endpoint_group: pulumi.Input[str],
19
+ fqdn: Optional[pulumi.Input[str]] = None,
20
+ ip_address: Optional[pulumi.Input[str]] = None,
21
+ project: Optional[pulumi.Input[str]] = None,
22
+ region: Optional[pulumi.Input[str]] = None):
23
+ """
24
+ The set of arguments for constructing a RegionNetworkEndpoint resource.
25
+ :param pulumi.Input[int] port: Port number of network endpoint.
26
+ :param pulumi.Input[str] region_network_endpoint_group: The network endpoint group this endpoint is part of.
27
+
28
+
29
+ - - -
30
+ :param pulumi.Input[str] fqdn: Fully qualified domain name of network endpoint.
31
+ This can only be specified when network_endpoint_type of the NEG is INTERNET_FQDN_PORT.
32
+ :param pulumi.Input[str] ip_address: IPv4 address external endpoint.
33
+ This can only be specified when network_endpoint_type of the NEG is INTERNET_IP_PORT.
34
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
35
+ If it is not provided, the provider project is used.
36
+ :param pulumi.Input[str] region: Region where the containing network endpoint group is located.
37
+ """
38
+ pulumi.set(__self__, "port", port)
39
+ pulumi.set(__self__, "region_network_endpoint_group", region_network_endpoint_group)
40
+ if fqdn is not None:
41
+ pulumi.set(__self__, "fqdn", fqdn)
42
+ if ip_address is not None:
43
+ pulumi.set(__self__, "ip_address", ip_address)
44
+ if project is not None:
45
+ pulumi.set(__self__, "project", project)
46
+ if region is not None:
47
+ pulumi.set(__self__, "region", region)
48
+
49
+ @property
50
+ @pulumi.getter
51
+ def port(self) -> pulumi.Input[int]:
52
+ """
53
+ Port number of network endpoint.
54
+ """
55
+ return pulumi.get(self, "port")
56
+
57
+ @port.setter
58
+ def port(self, value: pulumi.Input[int]):
59
+ pulumi.set(self, "port", value)
60
+
61
+ @property
62
+ @pulumi.getter(name="regionNetworkEndpointGroup")
63
+ def region_network_endpoint_group(self) -> pulumi.Input[str]:
64
+ """
65
+ The network endpoint group this endpoint is part of.
66
+
67
+
68
+ - - -
69
+ """
70
+ return pulumi.get(self, "region_network_endpoint_group")
71
+
72
+ @region_network_endpoint_group.setter
73
+ def region_network_endpoint_group(self, value: pulumi.Input[str]):
74
+ pulumi.set(self, "region_network_endpoint_group", value)
75
+
76
+ @property
77
+ @pulumi.getter
78
+ def fqdn(self) -> Optional[pulumi.Input[str]]:
79
+ """
80
+ Fully qualified domain name of network endpoint.
81
+ This can only be specified when network_endpoint_type of the NEG is INTERNET_FQDN_PORT.
82
+ """
83
+ return pulumi.get(self, "fqdn")
84
+
85
+ @fqdn.setter
86
+ def fqdn(self, value: Optional[pulumi.Input[str]]):
87
+ pulumi.set(self, "fqdn", value)
88
+
89
+ @property
90
+ @pulumi.getter(name="ipAddress")
91
+ def ip_address(self) -> Optional[pulumi.Input[str]]:
92
+ """
93
+ IPv4 address external endpoint.
94
+ This can only be specified when network_endpoint_type of the NEG is INTERNET_IP_PORT.
95
+ """
96
+ return pulumi.get(self, "ip_address")
97
+
98
+ @ip_address.setter
99
+ def ip_address(self, value: Optional[pulumi.Input[str]]):
100
+ pulumi.set(self, "ip_address", value)
101
+
102
+ @property
103
+ @pulumi.getter
104
+ def project(self) -> Optional[pulumi.Input[str]]:
105
+ """
106
+ The ID of the project in which the resource belongs.
107
+ If it is not provided, the provider project is used.
108
+ """
109
+ return pulumi.get(self, "project")
110
+
111
+ @project.setter
112
+ def project(self, value: Optional[pulumi.Input[str]]):
113
+ pulumi.set(self, "project", value)
114
+
115
+ @property
116
+ @pulumi.getter
117
+ def region(self) -> Optional[pulumi.Input[str]]:
118
+ """
119
+ Region where the containing network endpoint group is located.
120
+ """
121
+ return pulumi.get(self, "region")
122
+
123
+ @region.setter
124
+ def region(self, value: Optional[pulumi.Input[str]]):
125
+ pulumi.set(self, "region", value)
126
+
127
+
128
+ @pulumi.input_type
129
+ class _RegionNetworkEndpointState:
130
+ def __init__(__self__, *,
131
+ fqdn: Optional[pulumi.Input[str]] = None,
132
+ ip_address: Optional[pulumi.Input[str]] = None,
133
+ port: Optional[pulumi.Input[int]] = None,
134
+ project: Optional[pulumi.Input[str]] = None,
135
+ region: Optional[pulumi.Input[str]] = None,
136
+ region_network_endpoint_group: Optional[pulumi.Input[str]] = None):
137
+ """
138
+ Input properties used for looking up and filtering RegionNetworkEndpoint resources.
139
+ :param pulumi.Input[str] fqdn: Fully qualified domain name of network endpoint.
140
+ This can only be specified when network_endpoint_type of the NEG is INTERNET_FQDN_PORT.
141
+ :param pulumi.Input[str] ip_address: IPv4 address external endpoint.
142
+ This can only be specified when network_endpoint_type of the NEG is INTERNET_IP_PORT.
143
+ :param pulumi.Input[int] port: Port number of network endpoint.
144
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
145
+ If it is not provided, the provider project is used.
146
+ :param pulumi.Input[str] region: Region where the containing network endpoint group is located.
147
+ :param pulumi.Input[str] region_network_endpoint_group: The network endpoint group this endpoint is part of.
148
+
149
+
150
+ - - -
151
+ """
152
+ if fqdn is not None:
153
+ pulumi.set(__self__, "fqdn", fqdn)
154
+ if ip_address is not None:
155
+ pulumi.set(__self__, "ip_address", ip_address)
156
+ if port is not None:
157
+ pulumi.set(__self__, "port", port)
158
+ if project is not None:
159
+ pulumi.set(__self__, "project", project)
160
+ if region is not None:
161
+ pulumi.set(__self__, "region", region)
162
+ if region_network_endpoint_group is not None:
163
+ pulumi.set(__self__, "region_network_endpoint_group", region_network_endpoint_group)
164
+
165
+ @property
166
+ @pulumi.getter
167
+ def fqdn(self) -> Optional[pulumi.Input[str]]:
168
+ """
169
+ Fully qualified domain name of network endpoint.
170
+ This can only be specified when network_endpoint_type of the NEG is INTERNET_FQDN_PORT.
171
+ """
172
+ return pulumi.get(self, "fqdn")
173
+
174
+ @fqdn.setter
175
+ def fqdn(self, value: Optional[pulumi.Input[str]]):
176
+ pulumi.set(self, "fqdn", value)
177
+
178
+ @property
179
+ @pulumi.getter(name="ipAddress")
180
+ def ip_address(self) -> Optional[pulumi.Input[str]]:
181
+ """
182
+ IPv4 address external endpoint.
183
+ This can only be specified when network_endpoint_type of the NEG is INTERNET_IP_PORT.
184
+ """
185
+ return pulumi.get(self, "ip_address")
186
+
187
+ @ip_address.setter
188
+ def ip_address(self, value: Optional[pulumi.Input[str]]):
189
+ pulumi.set(self, "ip_address", value)
190
+
191
+ @property
192
+ @pulumi.getter
193
+ def port(self) -> Optional[pulumi.Input[int]]:
194
+ """
195
+ Port number of network endpoint.
196
+ """
197
+ return pulumi.get(self, "port")
198
+
199
+ @port.setter
200
+ def port(self, value: Optional[pulumi.Input[int]]):
201
+ pulumi.set(self, "port", value)
202
+
203
+ @property
204
+ @pulumi.getter
205
+ def project(self) -> Optional[pulumi.Input[str]]:
206
+ """
207
+ The ID of the project in which the resource belongs.
208
+ If it is not provided, the provider project is used.
209
+ """
210
+ return pulumi.get(self, "project")
211
+
212
+ @project.setter
213
+ def project(self, value: Optional[pulumi.Input[str]]):
214
+ pulumi.set(self, "project", value)
215
+
216
+ @property
217
+ @pulumi.getter
218
+ def region(self) -> Optional[pulumi.Input[str]]:
219
+ """
220
+ Region where the containing network endpoint group is located.
221
+ """
222
+ return pulumi.get(self, "region")
223
+
224
+ @region.setter
225
+ def region(self, value: Optional[pulumi.Input[str]]):
226
+ pulumi.set(self, "region", value)
227
+
228
+ @property
229
+ @pulumi.getter(name="regionNetworkEndpointGroup")
230
+ def region_network_endpoint_group(self) -> Optional[pulumi.Input[str]]:
231
+ """
232
+ The network endpoint group this endpoint is part of.
233
+
234
+
235
+ - - -
236
+ """
237
+ return pulumi.get(self, "region_network_endpoint_group")
238
+
239
+ @region_network_endpoint_group.setter
240
+ def region_network_endpoint_group(self, value: Optional[pulumi.Input[str]]):
241
+ pulumi.set(self, "region_network_endpoint_group", value)
242
+
243
+
244
+ class RegionNetworkEndpoint(pulumi.CustomResource):
245
+ @overload
246
+ def __init__(__self__,
247
+ resource_name: str,
248
+ opts: Optional[pulumi.ResourceOptions] = None,
249
+ fqdn: Optional[pulumi.Input[str]] = None,
250
+ ip_address: Optional[pulumi.Input[str]] = None,
251
+ port: Optional[pulumi.Input[int]] = None,
252
+ project: Optional[pulumi.Input[str]] = None,
253
+ region: Optional[pulumi.Input[str]] = None,
254
+ region_network_endpoint_group: Optional[pulumi.Input[str]] = None,
255
+ __props__=None):
256
+ """
257
+ A Region network endpoint represents a IP address/FQDN and port combination that is
258
+ part of a specific network endpoint group (NEG).
259
+
260
+ **NOTE**: Network endpoints cannot be created outside of a network endpoint group.
261
+
262
+ To get more information about RegionNetworkEndpoint, see:
263
+
264
+ * [API documentation](https://cloud.google.com/compute/docs/reference/rest/beta/regionNetworkEndpointGroups)
265
+ * How-to Guides
266
+ * [Official Documentation](https://cloud.google.com/load-balancing/docs/negs/)
267
+ * [Internet NEGs Official Documentation](https://cloud.google.com/load-balancing/docs/negs/internet-neg-concepts)
268
+
269
+ ## Example Usage
270
+ ### Region Network Endpoint Internet Ip Port
271
+
272
+ ```python
273
+ import pulumi
274
+ import pulumi_gcp as gcp
275
+
276
+ default = gcp.compute.Network("default", auto_create_subnetworks=False)
277
+ group = gcp.compute.RegionNetworkEndpointGroup("group",
278
+ network=default.id,
279
+ region="us-central1",
280
+ network_endpoint_type="INTERNET_IP_PORT")
281
+ region_internet_ip_port_endpoint = gcp.compute.RegionNetworkEndpoint("region-internet-ip-port-endpoint",
282
+ region_network_endpoint_group=group.name,
283
+ region="us-central1",
284
+ ip_address="8.8.8.8",
285
+ port=443)
286
+ ```
287
+ ### Region Network Endpoint Internet Fqdn Port
288
+
289
+ ```python
290
+ import pulumi
291
+ import pulumi_gcp as gcp
292
+
293
+ default = gcp.compute.Network("default", auto_create_subnetworks=False)
294
+ group = gcp.compute.RegionNetworkEndpointGroup("group",
295
+ network=default.id,
296
+ region="us-central1",
297
+ network_endpoint_type="INTERNET_FQDN_PORT")
298
+ region_internet_fqdn_port_endpoint = gcp.compute.RegionNetworkEndpoint("region-internet-fqdn-port-endpoint",
299
+ region_network_endpoint_group=group.name,
300
+ region="us-central1",
301
+ fqdn="backend.example.com",
302
+ port=443)
303
+ ```
304
+
305
+ ## Import
306
+
307
+ RegionNetworkEndpoint can be imported using any of these accepted formats* `projects/{{project}}/regions/{{region}}/networkEndpointGroups/{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}` * `{{project}}/{{region}}/{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}` * `{{region}}/{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}` * `{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}` When using the `pulumi import` command, RegionNetworkEndpoint can be imported using one of the formats above. For example
308
+
309
+ ```sh
310
+ $ pulumi import gcp:compute/regionNetworkEndpoint:RegionNetworkEndpoint default projects/{{project}}/regions/{{region}}/networkEndpointGroups/{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}
311
+ ```
312
+
313
+ ```sh
314
+ $ pulumi import gcp:compute/regionNetworkEndpoint:RegionNetworkEndpoint default {{project}}/{{region}}/{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}
315
+ ```
316
+
317
+ ```sh
318
+ $ pulumi import gcp:compute/regionNetworkEndpoint:RegionNetworkEndpoint default {{region}}/{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}
319
+ ```
320
+
321
+ ```sh
322
+ $ pulumi import gcp:compute/regionNetworkEndpoint:RegionNetworkEndpoint default {{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}
323
+ ```
324
+
325
+ :param str resource_name: The name of the resource.
326
+ :param pulumi.ResourceOptions opts: Options for the resource.
327
+ :param pulumi.Input[str] fqdn: Fully qualified domain name of network endpoint.
328
+ This can only be specified when network_endpoint_type of the NEG is INTERNET_FQDN_PORT.
329
+ :param pulumi.Input[str] ip_address: IPv4 address external endpoint.
330
+ This can only be specified when network_endpoint_type of the NEG is INTERNET_IP_PORT.
331
+ :param pulumi.Input[int] port: Port number of network endpoint.
332
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
333
+ If it is not provided, the provider project is used.
334
+ :param pulumi.Input[str] region: Region where the containing network endpoint group is located.
335
+ :param pulumi.Input[str] region_network_endpoint_group: The network endpoint group this endpoint is part of.
336
+
337
+
338
+ - - -
339
+ """
340
+ ...
341
+ @overload
342
+ def __init__(__self__,
343
+ resource_name: str,
344
+ args: RegionNetworkEndpointArgs,
345
+ opts: Optional[pulumi.ResourceOptions] = None):
346
+ """
347
+ A Region network endpoint represents a IP address/FQDN and port combination that is
348
+ part of a specific network endpoint group (NEG).
349
+
350
+ **NOTE**: Network endpoints cannot be created outside of a network endpoint group.
351
+
352
+ To get more information about RegionNetworkEndpoint, see:
353
+
354
+ * [API documentation](https://cloud.google.com/compute/docs/reference/rest/beta/regionNetworkEndpointGroups)
355
+ * How-to Guides
356
+ * [Official Documentation](https://cloud.google.com/load-balancing/docs/negs/)
357
+ * [Internet NEGs Official Documentation](https://cloud.google.com/load-balancing/docs/negs/internet-neg-concepts)
358
+
359
+ ## Example Usage
360
+ ### Region Network Endpoint Internet Ip Port
361
+
362
+ ```python
363
+ import pulumi
364
+ import pulumi_gcp as gcp
365
+
366
+ default = gcp.compute.Network("default", auto_create_subnetworks=False)
367
+ group = gcp.compute.RegionNetworkEndpointGroup("group",
368
+ network=default.id,
369
+ region="us-central1",
370
+ network_endpoint_type="INTERNET_IP_PORT")
371
+ region_internet_ip_port_endpoint = gcp.compute.RegionNetworkEndpoint("region-internet-ip-port-endpoint",
372
+ region_network_endpoint_group=group.name,
373
+ region="us-central1",
374
+ ip_address="8.8.8.8",
375
+ port=443)
376
+ ```
377
+ ### Region Network Endpoint Internet Fqdn Port
378
+
379
+ ```python
380
+ import pulumi
381
+ import pulumi_gcp as gcp
382
+
383
+ default = gcp.compute.Network("default", auto_create_subnetworks=False)
384
+ group = gcp.compute.RegionNetworkEndpointGroup("group",
385
+ network=default.id,
386
+ region="us-central1",
387
+ network_endpoint_type="INTERNET_FQDN_PORT")
388
+ region_internet_fqdn_port_endpoint = gcp.compute.RegionNetworkEndpoint("region-internet-fqdn-port-endpoint",
389
+ region_network_endpoint_group=group.name,
390
+ region="us-central1",
391
+ fqdn="backend.example.com",
392
+ port=443)
393
+ ```
394
+
395
+ ## Import
396
+
397
+ RegionNetworkEndpoint can be imported using any of these accepted formats* `projects/{{project}}/regions/{{region}}/networkEndpointGroups/{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}` * `{{project}}/{{region}}/{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}` * `{{region}}/{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}` * `{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}` When using the `pulumi import` command, RegionNetworkEndpoint can be imported using one of the formats above. For example
398
+
399
+ ```sh
400
+ $ pulumi import gcp:compute/regionNetworkEndpoint:RegionNetworkEndpoint default projects/{{project}}/regions/{{region}}/networkEndpointGroups/{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}
401
+ ```
402
+
403
+ ```sh
404
+ $ pulumi import gcp:compute/regionNetworkEndpoint:RegionNetworkEndpoint default {{project}}/{{region}}/{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}
405
+ ```
406
+
407
+ ```sh
408
+ $ pulumi import gcp:compute/regionNetworkEndpoint:RegionNetworkEndpoint default {{region}}/{{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}
409
+ ```
410
+
411
+ ```sh
412
+ $ pulumi import gcp:compute/regionNetworkEndpoint:RegionNetworkEndpoint default {{region_network_endpoint_group}}/{{ip_address}}/{{fqdn}}/{{port}}
413
+ ```
414
+
415
+ :param str resource_name: The name of the resource.
416
+ :param RegionNetworkEndpointArgs args: The arguments to use to populate this resource's properties.
417
+ :param pulumi.ResourceOptions opts: Options for the resource.
418
+ """
419
+ ...
420
+ def __init__(__self__, resource_name: str, *args, **kwargs):
421
+ resource_args, opts = _utilities.get_resource_args_opts(RegionNetworkEndpointArgs, pulumi.ResourceOptions, *args, **kwargs)
422
+ if resource_args is not None:
423
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
424
+ else:
425
+ __self__._internal_init(resource_name, *args, **kwargs)
426
+
427
+ def _internal_init(__self__,
428
+ resource_name: str,
429
+ opts: Optional[pulumi.ResourceOptions] = None,
430
+ fqdn: Optional[pulumi.Input[str]] = None,
431
+ ip_address: Optional[pulumi.Input[str]] = None,
432
+ port: Optional[pulumi.Input[int]] = None,
433
+ project: Optional[pulumi.Input[str]] = None,
434
+ region: Optional[pulumi.Input[str]] = None,
435
+ region_network_endpoint_group: Optional[pulumi.Input[str]] = None,
436
+ __props__=None):
437
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
438
+ if not isinstance(opts, pulumi.ResourceOptions):
439
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
440
+ if opts.id is None:
441
+ if __props__ is not None:
442
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
443
+ __props__ = RegionNetworkEndpointArgs.__new__(RegionNetworkEndpointArgs)
444
+
445
+ __props__.__dict__["fqdn"] = fqdn
446
+ __props__.__dict__["ip_address"] = ip_address
447
+ if port is None and not opts.urn:
448
+ raise TypeError("Missing required property 'port'")
449
+ __props__.__dict__["port"] = port
450
+ __props__.__dict__["project"] = project
451
+ __props__.__dict__["region"] = region
452
+ if region_network_endpoint_group is None and not opts.urn:
453
+ raise TypeError("Missing required property 'region_network_endpoint_group'")
454
+ __props__.__dict__["region_network_endpoint_group"] = region_network_endpoint_group
455
+ super(RegionNetworkEndpoint, __self__).__init__(
456
+ 'gcp:compute/regionNetworkEndpoint:RegionNetworkEndpoint',
457
+ resource_name,
458
+ __props__,
459
+ opts)
460
+
461
+ @staticmethod
462
+ def get(resource_name: str,
463
+ id: pulumi.Input[str],
464
+ opts: Optional[pulumi.ResourceOptions] = None,
465
+ fqdn: Optional[pulumi.Input[str]] = None,
466
+ ip_address: Optional[pulumi.Input[str]] = None,
467
+ port: Optional[pulumi.Input[int]] = None,
468
+ project: Optional[pulumi.Input[str]] = None,
469
+ region: Optional[pulumi.Input[str]] = None,
470
+ region_network_endpoint_group: Optional[pulumi.Input[str]] = None) -> 'RegionNetworkEndpoint':
471
+ """
472
+ Get an existing RegionNetworkEndpoint resource's state with the given name, id, and optional extra
473
+ properties used to qualify the lookup.
474
+
475
+ :param str resource_name: The unique name of the resulting resource.
476
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
477
+ :param pulumi.ResourceOptions opts: Options for the resource.
478
+ :param pulumi.Input[str] fqdn: Fully qualified domain name of network endpoint.
479
+ This can only be specified when network_endpoint_type of the NEG is INTERNET_FQDN_PORT.
480
+ :param pulumi.Input[str] ip_address: IPv4 address external endpoint.
481
+ This can only be specified when network_endpoint_type of the NEG is INTERNET_IP_PORT.
482
+ :param pulumi.Input[int] port: Port number of network endpoint.
483
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
484
+ If it is not provided, the provider project is used.
485
+ :param pulumi.Input[str] region: Region where the containing network endpoint group is located.
486
+ :param pulumi.Input[str] region_network_endpoint_group: The network endpoint group this endpoint is part of.
487
+
488
+
489
+ - - -
490
+ """
491
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
492
+
493
+ __props__ = _RegionNetworkEndpointState.__new__(_RegionNetworkEndpointState)
494
+
495
+ __props__.__dict__["fqdn"] = fqdn
496
+ __props__.__dict__["ip_address"] = ip_address
497
+ __props__.__dict__["port"] = port
498
+ __props__.__dict__["project"] = project
499
+ __props__.__dict__["region"] = region
500
+ __props__.__dict__["region_network_endpoint_group"] = region_network_endpoint_group
501
+ return RegionNetworkEndpoint(resource_name, opts=opts, __props__=__props__)
502
+
503
+ @property
504
+ @pulumi.getter
505
+ def fqdn(self) -> pulumi.Output[Optional[str]]:
506
+ """
507
+ Fully qualified domain name of network endpoint.
508
+ This can only be specified when network_endpoint_type of the NEG is INTERNET_FQDN_PORT.
509
+ """
510
+ return pulumi.get(self, "fqdn")
511
+
512
+ @property
513
+ @pulumi.getter(name="ipAddress")
514
+ def ip_address(self) -> pulumi.Output[Optional[str]]:
515
+ """
516
+ IPv4 address external endpoint.
517
+ This can only be specified when network_endpoint_type of the NEG is INTERNET_IP_PORT.
518
+ """
519
+ return pulumi.get(self, "ip_address")
520
+
521
+ @property
522
+ @pulumi.getter
523
+ def port(self) -> pulumi.Output[int]:
524
+ """
525
+ Port number of network endpoint.
526
+ """
527
+ return pulumi.get(self, "port")
528
+
529
+ @property
530
+ @pulumi.getter
531
+ def project(self) -> pulumi.Output[str]:
532
+ """
533
+ The ID of the project in which the resource belongs.
534
+ If it is not provided, the provider project is used.
535
+ """
536
+ return pulumi.get(self, "project")
537
+
538
+ @property
539
+ @pulumi.getter
540
+ def region(self) -> pulumi.Output[str]:
541
+ """
542
+ Region where the containing network endpoint group is located.
543
+ """
544
+ return pulumi.get(self, "region")
545
+
546
+ @property
547
+ @pulumi.getter(name="regionNetworkEndpointGroup")
548
+ def region_network_endpoint_group(self) -> pulumi.Output[str]:
549
+ """
550
+ The network endpoint group this endpoint is part of.
551
+
552
+
553
+ - - -
554
+ """
555
+ return pulumi.get(self, "region_network_endpoint_group")
556
+