pulumi-gcp 8.3.1a1727284265__py3-none-any.whl → 8.4.0a1727795436__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 (49) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/apigee/nat_address.py +155 -2
  3. pulumi_gcp/bigquery/_inputs.py +102 -0
  4. pulumi_gcp/bigquery/outputs.py +83 -0
  5. pulumi_gcp/bigquery/table.py +47 -0
  6. pulumi_gcp/cloudrun/_inputs.py +26 -0
  7. pulumi_gcp/cloudrun/outputs.py +33 -0
  8. pulumi_gcp/cloudrun/service.py +76 -0
  9. pulumi_gcp/cloudrunv2/_inputs.py +65 -9
  10. pulumi_gcp/cloudrunv2/outputs.py +73 -8
  11. pulumi_gcp/cloudrunv2/service.py +64 -0
  12. pulumi_gcp/compute/__init__.py +3 -0
  13. pulumi_gcp/compute/_inputs.py +1941 -2
  14. pulumi_gcp/compute/get_region_instance_group_manager.py +438 -0
  15. pulumi_gcp/compute/get_router_nat.py +11 -1
  16. pulumi_gcp/compute/instance.py +7 -7
  17. pulumi_gcp/compute/instance_from_machine_image.py +7 -7
  18. pulumi_gcp/compute/instance_from_template.py +7 -7
  19. pulumi_gcp/compute/interconnect.py +76 -64
  20. pulumi_gcp/compute/outputs.py +4637 -2640
  21. pulumi_gcp/compute/region_commitment.py +47 -0
  22. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +835 -0
  23. pulumi_gcp/compute/router_nat.py +56 -2
  24. pulumi_gcp/compute/router_nat_address.py +514 -0
  25. pulumi_gcp/compute/subnetwork.py +14 -14
  26. pulumi_gcp/container/_inputs.py +222 -0
  27. pulumi_gcp/container/outputs.py +279 -2
  28. pulumi_gcp/logging/__init__.py +1 -0
  29. pulumi_gcp/logging/log_scope.py +492 -0
  30. pulumi_gcp/looker/_inputs.py +157 -0
  31. pulumi_gcp/looker/instance.py +143 -0
  32. pulumi_gcp/looker/outputs.py +136 -0
  33. pulumi_gcp/networkconnectivity/_inputs.py +72 -3
  34. pulumi_gcp/networkconnectivity/outputs.py +51 -3
  35. pulumi_gcp/networkconnectivity/spoke.py +310 -0
  36. pulumi_gcp/networksecurity/security_profile.py +2 -2
  37. pulumi_gcp/privilegedaccessmanager/__init__.py +1 -0
  38. pulumi_gcp/privilegedaccessmanager/get_entitlement.py +219 -0
  39. pulumi_gcp/privilegedaccessmanager/outputs.py +312 -0
  40. pulumi_gcp/pulumi-plugin.json +1 -1
  41. pulumi_gcp/secretmanager/__init__.py +2 -0
  42. pulumi_gcp/secretmanager/get_regional_secret_version.py +2 -2
  43. pulumi_gcp/secretmanager/get_regional_secret_version_access.py +188 -0
  44. pulumi_gcp/secretmanager/get_regional_secrets.py +156 -0
  45. pulumi_gcp/secretmanager/outputs.py +265 -0
  46. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/METADATA +1 -1
  47. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/RECORD +49 -42
  48. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/WHEEL +0 -0
  49. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,514 @@
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__ = ['RouterNatAddressArgs', 'RouterNatAddress']
18
+
19
+ @pulumi.input_type
20
+ class RouterNatAddressArgs:
21
+ def __init__(__self__, *,
22
+ nat_ips: pulumi.Input[Sequence[pulumi.Input[str]]],
23
+ router: pulumi.Input[str],
24
+ router_nat: pulumi.Input[str],
25
+ drain_nat_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
26
+ project: Optional[pulumi.Input[str]] = None,
27
+ region: Optional[pulumi.Input[str]] = None):
28
+ """
29
+ The set of arguments for constructing a RouterNatAddress resource.
30
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] nat_ips: Self-links of NAT IPs to be used in a Nat service. Only valid if the referenced RouterNat
31
+ natIpAllocateOption is set to MANUAL_ONLY.
32
+ :param pulumi.Input[str] router: The name of the Cloud Router in which the referenced NAT service is configured.
33
+ :param pulumi.Input[str] router_nat: The name of the Nat service in which this address will be configured.
34
+
35
+
36
+ - - -
37
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] drain_nat_ips: A list of URLs of the IP resources to be drained. These IPs must be
38
+ valid static external IPs that have been assigned to the NAT.
39
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
40
+ If it is not provided, the provider project is used.
41
+ :param pulumi.Input[str] region: Region where the NAT service reside.
42
+ """
43
+ pulumi.set(__self__, "nat_ips", nat_ips)
44
+ pulumi.set(__self__, "router", router)
45
+ pulumi.set(__self__, "router_nat", router_nat)
46
+ if drain_nat_ips is not None:
47
+ pulumi.set(__self__, "drain_nat_ips", drain_nat_ips)
48
+ if project is not None:
49
+ pulumi.set(__self__, "project", project)
50
+ if region is not None:
51
+ pulumi.set(__self__, "region", region)
52
+
53
+ @property
54
+ @pulumi.getter(name="natIps")
55
+ def nat_ips(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
56
+ """
57
+ Self-links of NAT IPs to be used in a Nat service. Only valid if the referenced RouterNat
58
+ natIpAllocateOption is set to MANUAL_ONLY.
59
+ """
60
+ return pulumi.get(self, "nat_ips")
61
+
62
+ @nat_ips.setter
63
+ def nat_ips(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
64
+ pulumi.set(self, "nat_ips", value)
65
+
66
+ @property
67
+ @pulumi.getter
68
+ def router(self) -> pulumi.Input[str]:
69
+ """
70
+ The name of the Cloud Router in which the referenced NAT service is configured.
71
+ """
72
+ return pulumi.get(self, "router")
73
+
74
+ @router.setter
75
+ def router(self, value: pulumi.Input[str]):
76
+ pulumi.set(self, "router", value)
77
+
78
+ @property
79
+ @pulumi.getter(name="routerNat")
80
+ def router_nat(self) -> pulumi.Input[str]:
81
+ """
82
+ The name of the Nat service in which this address will be configured.
83
+
84
+
85
+ - - -
86
+ """
87
+ return pulumi.get(self, "router_nat")
88
+
89
+ @router_nat.setter
90
+ def router_nat(self, value: pulumi.Input[str]):
91
+ pulumi.set(self, "router_nat", value)
92
+
93
+ @property
94
+ @pulumi.getter(name="drainNatIps")
95
+ def drain_nat_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
96
+ """
97
+ A list of URLs of the IP resources to be drained. These IPs must be
98
+ valid static external IPs that have been assigned to the NAT.
99
+ """
100
+ return pulumi.get(self, "drain_nat_ips")
101
+
102
+ @drain_nat_ips.setter
103
+ def drain_nat_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
104
+ pulumi.set(self, "drain_nat_ips", 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
+ @property
120
+ @pulumi.getter
121
+ def region(self) -> Optional[pulumi.Input[str]]:
122
+ """
123
+ Region where the NAT service reside.
124
+ """
125
+ return pulumi.get(self, "region")
126
+
127
+ @region.setter
128
+ def region(self, value: Optional[pulumi.Input[str]]):
129
+ pulumi.set(self, "region", value)
130
+
131
+
132
+ @pulumi.input_type
133
+ class _RouterNatAddressState:
134
+ def __init__(__self__, *,
135
+ drain_nat_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
136
+ nat_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
137
+ project: Optional[pulumi.Input[str]] = None,
138
+ region: Optional[pulumi.Input[str]] = None,
139
+ router: Optional[pulumi.Input[str]] = None,
140
+ router_nat: Optional[pulumi.Input[str]] = None):
141
+ """
142
+ Input properties used for looking up and filtering RouterNatAddress resources.
143
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] drain_nat_ips: A list of URLs of the IP resources to be drained. These IPs must be
144
+ valid static external IPs that have been assigned to the NAT.
145
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] nat_ips: Self-links of NAT IPs to be used in a Nat service. Only valid if the referenced RouterNat
146
+ natIpAllocateOption is set to MANUAL_ONLY.
147
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
148
+ If it is not provided, the provider project is used.
149
+ :param pulumi.Input[str] region: Region where the NAT service reside.
150
+ :param pulumi.Input[str] router: The name of the Cloud Router in which the referenced NAT service is configured.
151
+ :param pulumi.Input[str] router_nat: The name of the Nat service in which this address will be configured.
152
+
153
+
154
+ - - -
155
+ """
156
+ if drain_nat_ips is not None:
157
+ pulumi.set(__self__, "drain_nat_ips", drain_nat_ips)
158
+ if nat_ips is not None:
159
+ pulumi.set(__self__, "nat_ips", nat_ips)
160
+ if project is not None:
161
+ pulumi.set(__self__, "project", project)
162
+ if region is not None:
163
+ pulumi.set(__self__, "region", region)
164
+ if router is not None:
165
+ pulumi.set(__self__, "router", router)
166
+ if router_nat is not None:
167
+ pulumi.set(__self__, "router_nat", router_nat)
168
+
169
+ @property
170
+ @pulumi.getter(name="drainNatIps")
171
+ def drain_nat_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
172
+ """
173
+ A list of URLs of the IP resources to be drained. These IPs must be
174
+ valid static external IPs that have been assigned to the NAT.
175
+ """
176
+ return pulumi.get(self, "drain_nat_ips")
177
+
178
+ @drain_nat_ips.setter
179
+ def drain_nat_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
180
+ pulumi.set(self, "drain_nat_ips", value)
181
+
182
+ @property
183
+ @pulumi.getter(name="natIps")
184
+ def nat_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
185
+ """
186
+ Self-links of NAT IPs to be used in a Nat service. Only valid if the referenced RouterNat
187
+ natIpAllocateOption is set to MANUAL_ONLY.
188
+ """
189
+ return pulumi.get(self, "nat_ips")
190
+
191
+ @nat_ips.setter
192
+ def nat_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
193
+ pulumi.set(self, "nat_ips", value)
194
+
195
+ @property
196
+ @pulumi.getter
197
+ def project(self) -> Optional[pulumi.Input[str]]:
198
+ """
199
+ The ID of the project in which the resource belongs.
200
+ If it is not provided, the provider project is used.
201
+ """
202
+ return pulumi.get(self, "project")
203
+
204
+ @project.setter
205
+ def project(self, value: Optional[pulumi.Input[str]]):
206
+ pulumi.set(self, "project", value)
207
+
208
+ @property
209
+ @pulumi.getter
210
+ def region(self) -> Optional[pulumi.Input[str]]:
211
+ """
212
+ Region where the NAT service reside.
213
+ """
214
+ return pulumi.get(self, "region")
215
+
216
+ @region.setter
217
+ def region(self, value: Optional[pulumi.Input[str]]):
218
+ pulumi.set(self, "region", value)
219
+
220
+ @property
221
+ @pulumi.getter
222
+ def router(self) -> Optional[pulumi.Input[str]]:
223
+ """
224
+ The name of the Cloud Router in which the referenced NAT service is configured.
225
+ """
226
+ return pulumi.get(self, "router")
227
+
228
+ @router.setter
229
+ def router(self, value: Optional[pulumi.Input[str]]):
230
+ pulumi.set(self, "router", value)
231
+
232
+ @property
233
+ @pulumi.getter(name="routerNat")
234
+ def router_nat(self) -> Optional[pulumi.Input[str]]:
235
+ """
236
+ The name of the Nat service in which this address will be configured.
237
+
238
+
239
+ - - -
240
+ """
241
+ return pulumi.get(self, "router_nat")
242
+
243
+ @router_nat.setter
244
+ def router_nat(self, value: Optional[pulumi.Input[str]]):
245
+ pulumi.set(self, "router_nat", value)
246
+
247
+
248
+ class RouterNatAddress(pulumi.CustomResource):
249
+ @overload
250
+ def __init__(__self__,
251
+ resource_name: str,
252
+ opts: Optional[pulumi.ResourceOptions] = None,
253
+ drain_nat_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
254
+ nat_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
255
+ project: Optional[pulumi.Input[str]] = None,
256
+ region: Optional[pulumi.Input[str]] = None,
257
+ router: Optional[pulumi.Input[str]] = None,
258
+ router_nat: Optional[pulumi.Input[str]] = None,
259
+ __props__=None):
260
+ """
261
+ A resource used to set the list of IP addresses to be used in a NAT service and manage the draining of destroyed IPs.
262
+
263
+ > **Note:** This resource is to be used alongside a `compute.RouterNat` resource,
264
+ the router nat resource must have no defined `nat_ips` or `drain_nat_ips` parameters,
265
+ instead using the `initial_nat_ips` parameter to set at least one IP for the creation of the resource.
266
+
267
+ To get more information about RouterNatAddress, see:
268
+
269
+ * [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/routers)
270
+ * How-to Guides
271
+ * [Google Cloud Router](https://cloud.google.com/router/docs/)
272
+
273
+ ## Example Usage
274
+
275
+ ## Import
276
+
277
+ RouterNatAddress can be imported using any of these accepted formats:
278
+
279
+ * `projects/{{project}}/regions/{{region}}/routers/{{router}}/{{router_nat}}`
280
+
281
+ * `{{project}}/{{region}}/{{router}}/{{router_nat}}`
282
+
283
+ * `{{region}}/{{router}}/{{router_nat}}`
284
+
285
+ * `{{router}}/{{router_nat}}`
286
+
287
+ When using the `pulumi import` command, RouterNatAddress can be imported using one of the formats above. For example:
288
+
289
+ ```sh
290
+ $ pulumi import gcp:compute/routerNatAddress:RouterNatAddress default projects/{{project}}/regions/{{region}}/routers/{{router}}/{{router_nat}}
291
+ ```
292
+
293
+ ```sh
294
+ $ pulumi import gcp:compute/routerNatAddress:RouterNatAddress default {{project}}/{{region}}/{{router}}/{{router_nat}}
295
+ ```
296
+
297
+ ```sh
298
+ $ pulumi import gcp:compute/routerNatAddress:RouterNatAddress default {{region}}/{{router}}/{{router_nat}}
299
+ ```
300
+
301
+ ```sh
302
+ $ pulumi import gcp:compute/routerNatAddress:RouterNatAddress default {{router}}/{{router_nat}}
303
+ ```
304
+
305
+ :param str resource_name: The name of the resource.
306
+ :param pulumi.ResourceOptions opts: Options for the resource.
307
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] drain_nat_ips: A list of URLs of the IP resources to be drained. These IPs must be
308
+ valid static external IPs that have been assigned to the NAT.
309
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] nat_ips: Self-links of NAT IPs to be used in a Nat service. Only valid if the referenced RouterNat
310
+ natIpAllocateOption is set to MANUAL_ONLY.
311
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
312
+ If it is not provided, the provider project is used.
313
+ :param pulumi.Input[str] region: Region where the NAT service reside.
314
+ :param pulumi.Input[str] router: The name of the Cloud Router in which the referenced NAT service is configured.
315
+ :param pulumi.Input[str] router_nat: The name of the Nat service in which this address will be configured.
316
+
317
+
318
+ - - -
319
+ """
320
+ ...
321
+ @overload
322
+ def __init__(__self__,
323
+ resource_name: str,
324
+ args: RouterNatAddressArgs,
325
+ opts: Optional[pulumi.ResourceOptions] = None):
326
+ """
327
+ A resource used to set the list of IP addresses to be used in a NAT service and manage the draining of destroyed IPs.
328
+
329
+ > **Note:** This resource is to be used alongside a `compute.RouterNat` resource,
330
+ the router nat resource must have no defined `nat_ips` or `drain_nat_ips` parameters,
331
+ instead using the `initial_nat_ips` parameter to set at least one IP for the creation of the resource.
332
+
333
+ To get more information about RouterNatAddress, see:
334
+
335
+ * [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/routers)
336
+ * How-to Guides
337
+ * [Google Cloud Router](https://cloud.google.com/router/docs/)
338
+
339
+ ## Example Usage
340
+
341
+ ## Import
342
+
343
+ RouterNatAddress can be imported using any of these accepted formats:
344
+
345
+ * `projects/{{project}}/regions/{{region}}/routers/{{router}}/{{router_nat}}`
346
+
347
+ * `{{project}}/{{region}}/{{router}}/{{router_nat}}`
348
+
349
+ * `{{region}}/{{router}}/{{router_nat}}`
350
+
351
+ * `{{router}}/{{router_nat}}`
352
+
353
+ When using the `pulumi import` command, RouterNatAddress can be imported using one of the formats above. For example:
354
+
355
+ ```sh
356
+ $ pulumi import gcp:compute/routerNatAddress:RouterNatAddress default projects/{{project}}/regions/{{region}}/routers/{{router}}/{{router_nat}}
357
+ ```
358
+
359
+ ```sh
360
+ $ pulumi import gcp:compute/routerNatAddress:RouterNatAddress default {{project}}/{{region}}/{{router}}/{{router_nat}}
361
+ ```
362
+
363
+ ```sh
364
+ $ pulumi import gcp:compute/routerNatAddress:RouterNatAddress default {{region}}/{{router}}/{{router_nat}}
365
+ ```
366
+
367
+ ```sh
368
+ $ pulumi import gcp:compute/routerNatAddress:RouterNatAddress default {{router}}/{{router_nat}}
369
+ ```
370
+
371
+ :param str resource_name: The name of the resource.
372
+ :param RouterNatAddressArgs args: The arguments to use to populate this resource's properties.
373
+ :param pulumi.ResourceOptions opts: Options for the resource.
374
+ """
375
+ ...
376
+ def __init__(__self__, resource_name: str, *args, **kwargs):
377
+ resource_args, opts = _utilities.get_resource_args_opts(RouterNatAddressArgs, pulumi.ResourceOptions, *args, **kwargs)
378
+ if resource_args is not None:
379
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
380
+ else:
381
+ __self__._internal_init(resource_name, *args, **kwargs)
382
+
383
+ def _internal_init(__self__,
384
+ resource_name: str,
385
+ opts: Optional[pulumi.ResourceOptions] = None,
386
+ drain_nat_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
387
+ nat_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
388
+ project: Optional[pulumi.Input[str]] = None,
389
+ region: Optional[pulumi.Input[str]] = None,
390
+ router: Optional[pulumi.Input[str]] = None,
391
+ router_nat: Optional[pulumi.Input[str]] = None,
392
+ __props__=None):
393
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
394
+ if not isinstance(opts, pulumi.ResourceOptions):
395
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
396
+ if opts.id is None:
397
+ if __props__ is not None:
398
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
399
+ __props__ = RouterNatAddressArgs.__new__(RouterNatAddressArgs)
400
+
401
+ __props__.__dict__["drain_nat_ips"] = drain_nat_ips
402
+ if nat_ips is None and not opts.urn:
403
+ raise TypeError("Missing required property 'nat_ips'")
404
+ __props__.__dict__["nat_ips"] = nat_ips
405
+ __props__.__dict__["project"] = project
406
+ __props__.__dict__["region"] = region
407
+ if router is None and not opts.urn:
408
+ raise TypeError("Missing required property 'router'")
409
+ __props__.__dict__["router"] = router
410
+ if router_nat is None and not opts.urn:
411
+ raise TypeError("Missing required property 'router_nat'")
412
+ __props__.__dict__["router_nat"] = router_nat
413
+ super(RouterNatAddress, __self__).__init__(
414
+ 'gcp:compute/routerNatAddress:RouterNatAddress',
415
+ resource_name,
416
+ __props__,
417
+ opts)
418
+
419
+ @staticmethod
420
+ def get(resource_name: str,
421
+ id: pulumi.Input[str],
422
+ opts: Optional[pulumi.ResourceOptions] = None,
423
+ drain_nat_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
424
+ nat_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
425
+ project: Optional[pulumi.Input[str]] = None,
426
+ region: Optional[pulumi.Input[str]] = None,
427
+ router: Optional[pulumi.Input[str]] = None,
428
+ router_nat: Optional[pulumi.Input[str]] = None) -> 'RouterNatAddress':
429
+ """
430
+ Get an existing RouterNatAddress resource's state with the given name, id, and optional extra
431
+ properties used to qualify the lookup.
432
+
433
+ :param str resource_name: The unique name of the resulting resource.
434
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
435
+ :param pulumi.ResourceOptions opts: Options for the resource.
436
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] drain_nat_ips: A list of URLs of the IP resources to be drained. These IPs must be
437
+ valid static external IPs that have been assigned to the NAT.
438
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] nat_ips: Self-links of NAT IPs to be used in a Nat service. Only valid if the referenced RouterNat
439
+ natIpAllocateOption is set to MANUAL_ONLY.
440
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
441
+ If it is not provided, the provider project is used.
442
+ :param pulumi.Input[str] region: Region where the NAT service reside.
443
+ :param pulumi.Input[str] router: The name of the Cloud Router in which the referenced NAT service is configured.
444
+ :param pulumi.Input[str] router_nat: The name of the Nat service in which this address will be configured.
445
+
446
+
447
+ - - -
448
+ """
449
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
450
+
451
+ __props__ = _RouterNatAddressState.__new__(_RouterNatAddressState)
452
+
453
+ __props__.__dict__["drain_nat_ips"] = drain_nat_ips
454
+ __props__.__dict__["nat_ips"] = nat_ips
455
+ __props__.__dict__["project"] = project
456
+ __props__.__dict__["region"] = region
457
+ __props__.__dict__["router"] = router
458
+ __props__.__dict__["router_nat"] = router_nat
459
+ return RouterNatAddress(resource_name, opts=opts, __props__=__props__)
460
+
461
+ @property
462
+ @pulumi.getter(name="drainNatIps")
463
+ def drain_nat_ips(self) -> pulumi.Output[Optional[Sequence[str]]]:
464
+ """
465
+ A list of URLs of the IP resources to be drained. These IPs must be
466
+ valid static external IPs that have been assigned to the NAT.
467
+ """
468
+ return pulumi.get(self, "drain_nat_ips")
469
+
470
+ @property
471
+ @pulumi.getter(name="natIps")
472
+ def nat_ips(self) -> pulumi.Output[Sequence[str]]:
473
+ """
474
+ Self-links of NAT IPs to be used in a Nat service. Only valid if the referenced RouterNat
475
+ natIpAllocateOption is set to MANUAL_ONLY.
476
+ """
477
+ return pulumi.get(self, "nat_ips")
478
+
479
+ @property
480
+ @pulumi.getter
481
+ def project(self) -> pulumi.Output[str]:
482
+ """
483
+ The ID of the project in which the resource belongs.
484
+ If it is not provided, the provider project is used.
485
+ """
486
+ return pulumi.get(self, "project")
487
+
488
+ @property
489
+ @pulumi.getter
490
+ def region(self) -> pulumi.Output[str]:
491
+ """
492
+ Region where the NAT service reside.
493
+ """
494
+ return pulumi.get(self, "region")
495
+
496
+ @property
497
+ @pulumi.getter
498
+ def router(self) -> pulumi.Output[str]:
499
+ """
500
+ The name of the Cloud Router in which the referenced NAT service is configured.
501
+ """
502
+ return pulumi.get(self, "router")
503
+
504
+ @property
505
+ @pulumi.getter(name="routerNat")
506
+ def router_nat(self) -> pulumi.Output[str]:
507
+ """
508
+ The name of the Nat service in which this address will be configured.
509
+
510
+
511
+ - - -
512
+ """
513
+ return pulumi.get(self, "router_nat")
514
+
@@ -80,13 +80,13 @@ class SubnetworkArgs:
80
80
  :param pulumi.Input[str] private_ipv6_google_access: The private IPv6 google access type for the VMs in this subnet.
81
81
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
82
82
  If it is not provided, the provider project is used.
83
- :param pulumi.Input[str] purpose: The purpose of the resource. This field can be either `PRIVATE_RFC_1918`, `REGIONAL_MANAGED_PROXY`, `GLOBAL_MANAGED_PROXY`, `PRIVATE_SERVICE_CONNECT` or `PRIVATE_NAT`.
83
+ :param pulumi.Input[str] purpose: The purpose of the resource. This field can be either `PRIVATE`, `REGIONAL_MANAGED_PROXY`, `GLOBAL_MANAGED_PROXY`, `PRIVATE_SERVICE_CONNECT` or `PRIVATE_NAT`.
84
84
  A subnet with purpose set to `REGIONAL_MANAGED_PROXY` is a user-created subnetwork that is reserved for regional Envoy-based load balancers.
85
85
  A subnetwork in a given region with purpose set to `GLOBAL_MANAGED_PROXY` is a proxy-only subnet and is shared between all the cross-regional Envoy-based load balancers.
86
86
  A subnetwork with purpose set to `PRIVATE_SERVICE_CONNECT` reserves the subnet for hosting a Private Service Connect published service.
87
87
  A subnetwork with purpose set to `PRIVATE_NAT` is used as source range for Private NAT gateways.
88
88
  Note that `REGIONAL_MANAGED_PROXY` is the preferred setting for all regional Envoy load balancers.
89
- If unspecified, the purpose defaults to `PRIVATE_RFC_1918`.
89
+ If unspecified, the purpose defaults to `PRIVATE`.
90
90
  :param pulumi.Input[str] region: The GCP region for this subnetwork.
91
91
  :param pulumi.Input[str] reserved_internal_range: The ID of the reserved internal range. Must be prefixed with `networkconnectivity.googleapis.com`
92
92
  E.g. `networkconnectivity.googleapis.com/projects/{project}/locations/global/internalRanges/{rangeId}`
@@ -311,13 +311,13 @@ class SubnetworkArgs:
311
311
  @pulumi.getter
312
312
  def purpose(self) -> Optional[pulumi.Input[str]]:
313
313
  """
314
- The purpose of the resource. This field can be either `PRIVATE_RFC_1918`, `REGIONAL_MANAGED_PROXY`, `GLOBAL_MANAGED_PROXY`, `PRIVATE_SERVICE_CONNECT` or `PRIVATE_NAT`.
314
+ The purpose of the resource. This field can be either `PRIVATE`, `REGIONAL_MANAGED_PROXY`, `GLOBAL_MANAGED_PROXY`, `PRIVATE_SERVICE_CONNECT` or `PRIVATE_NAT`.
315
315
  A subnet with purpose set to `REGIONAL_MANAGED_PROXY` is a user-created subnetwork that is reserved for regional Envoy-based load balancers.
316
316
  A subnetwork in a given region with purpose set to `GLOBAL_MANAGED_PROXY` is a proxy-only subnet and is shared between all the cross-regional Envoy-based load balancers.
317
317
  A subnetwork with purpose set to `PRIVATE_SERVICE_CONNECT` reserves the subnet for hosting a Private Service Connect published service.
318
318
  A subnetwork with purpose set to `PRIVATE_NAT` is used as source range for Private NAT gateways.
319
319
  Note that `REGIONAL_MANAGED_PROXY` is the preferred setting for all regional Envoy load balancers.
320
- If unspecified, the purpose defaults to `PRIVATE_RFC_1918`.
320
+ If unspecified, the purpose defaults to `PRIVATE`.
321
321
  """
322
322
  return pulumi.get(self, "purpose")
323
323
 
@@ -489,13 +489,13 @@ class _SubnetworkState:
489
489
  :param pulumi.Input[str] private_ipv6_google_access: The private IPv6 google access type for the VMs in this subnet.
490
490
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
491
491
  If it is not provided, the provider project is used.
492
- :param pulumi.Input[str] purpose: The purpose of the resource. This field can be either `PRIVATE_RFC_1918`, `REGIONAL_MANAGED_PROXY`, `GLOBAL_MANAGED_PROXY`, `PRIVATE_SERVICE_CONNECT` or `PRIVATE_NAT`.
492
+ :param pulumi.Input[str] purpose: The purpose of the resource. This field can be either `PRIVATE`, `REGIONAL_MANAGED_PROXY`, `GLOBAL_MANAGED_PROXY`, `PRIVATE_SERVICE_CONNECT` or `PRIVATE_NAT`.
493
493
  A subnet with purpose set to `REGIONAL_MANAGED_PROXY` is a user-created subnetwork that is reserved for regional Envoy-based load balancers.
494
494
  A subnetwork in a given region with purpose set to `GLOBAL_MANAGED_PROXY` is a proxy-only subnet and is shared between all the cross-regional Envoy-based load balancers.
495
495
  A subnetwork with purpose set to `PRIVATE_SERVICE_CONNECT` reserves the subnet for hosting a Private Service Connect published service.
496
496
  A subnetwork with purpose set to `PRIVATE_NAT` is used as source range for Private NAT gateways.
497
497
  Note that `REGIONAL_MANAGED_PROXY` is the preferred setting for all regional Envoy load balancers.
498
- If unspecified, the purpose defaults to `PRIVATE_RFC_1918`.
498
+ If unspecified, the purpose defaults to `PRIVATE`.
499
499
  :param pulumi.Input[str] region: The GCP region for this subnetwork.
500
500
  :param pulumi.Input[str] reserved_internal_range: The ID of the reserved internal range. Must be prefixed with `networkconnectivity.googleapis.com`
501
501
  E.g. `networkconnectivity.googleapis.com/projects/{project}/locations/global/internalRanges/{rangeId}`
@@ -799,13 +799,13 @@ class _SubnetworkState:
799
799
  @pulumi.getter
800
800
  def purpose(self) -> Optional[pulumi.Input[str]]:
801
801
  """
802
- The purpose of the resource. This field can be either `PRIVATE_RFC_1918`, `REGIONAL_MANAGED_PROXY`, `GLOBAL_MANAGED_PROXY`, `PRIVATE_SERVICE_CONNECT` or `PRIVATE_NAT`.
802
+ The purpose of the resource. This field can be either `PRIVATE`, `REGIONAL_MANAGED_PROXY`, `GLOBAL_MANAGED_PROXY`, `PRIVATE_SERVICE_CONNECT` or `PRIVATE_NAT`.
803
803
  A subnet with purpose set to `REGIONAL_MANAGED_PROXY` is a user-created subnetwork that is reserved for regional Envoy-based load balancers.
804
804
  A subnetwork in a given region with purpose set to `GLOBAL_MANAGED_PROXY` is a proxy-only subnet and is shared between all the cross-regional Envoy-based load balancers.
805
805
  A subnetwork with purpose set to `PRIVATE_SERVICE_CONNECT` reserves the subnet for hosting a Private Service Connect published service.
806
806
  A subnetwork with purpose set to `PRIVATE_NAT` is used as source range for Private NAT gateways.
807
807
  Note that `REGIONAL_MANAGED_PROXY` is the preferred setting for all regional Envoy load balancers.
808
- If unspecified, the purpose defaults to `PRIVATE_RFC_1918`.
808
+ If unspecified, the purpose defaults to `PRIVATE`.
809
809
  """
810
810
  return pulumi.get(self, "purpose")
811
811
 
@@ -1222,13 +1222,13 @@ class Subnetwork(pulumi.CustomResource):
1222
1222
  :param pulumi.Input[str] private_ipv6_google_access: The private IPv6 google access type for the VMs in this subnet.
1223
1223
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
1224
1224
  If it is not provided, the provider project is used.
1225
- :param pulumi.Input[str] purpose: The purpose of the resource. This field can be either `PRIVATE_RFC_1918`, `REGIONAL_MANAGED_PROXY`, `GLOBAL_MANAGED_PROXY`, `PRIVATE_SERVICE_CONNECT` or `PRIVATE_NAT`.
1225
+ :param pulumi.Input[str] purpose: The purpose of the resource. This field can be either `PRIVATE`, `REGIONAL_MANAGED_PROXY`, `GLOBAL_MANAGED_PROXY`, `PRIVATE_SERVICE_CONNECT` or `PRIVATE_NAT`.
1226
1226
  A subnet with purpose set to `REGIONAL_MANAGED_PROXY` is a user-created subnetwork that is reserved for regional Envoy-based load balancers.
1227
1227
  A subnetwork in a given region with purpose set to `GLOBAL_MANAGED_PROXY` is a proxy-only subnet and is shared between all the cross-regional Envoy-based load balancers.
1228
1228
  A subnetwork with purpose set to `PRIVATE_SERVICE_CONNECT` reserves the subnet for hosting a Private Service Connect published service.
1229
1229
  A subnetwork with purpose set to `PRIVATE_NAT` is used as source range for Private NAT gateways.
1230
1230
  Note that `REGIONAL_MANAGED_PROXY` is the preferred setting for all regional Envoy load balancers.
1231
- If unspecified, the purpose defaults to `PRIVATE_RFC_1918`.
1231
+ If unspecified, the purpose defaults to `PRIVATE`.
1232
1232
  :param pulumi.Input[str] region: The GCP region for this subnetwork.
1233
1233
  :param pulumi.Input[str] reserved_internal_range: The ID of the reserved internal range. Must be prefixed with `networkconnectivity.googleapis.com`
1234
1234
  E.g. `networkconnectivity.googleapis.com/projects/{project}/locations/global/internalRanges/{rangeId}`
@@ -1655,13 +1655,13 @@ class Subnetwork(pulumi.CustomResource):
1655
1655
  :param pulumi.Input[str] private_ipv6_google_access: The private IPv6 google access type for the VMs in this subnet.
1656
1656
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
1657
1657
  If it is not provided, the provider project is used.
1658
- :param pulumi.Input[str] purpose: The purpose of the resource. This field can be either `PRIVATE_RFC_1918`, `REGIONAL_MANAGED_PROXY`, `GLOBAL_MANAGED_PROXY`, `PRIVATE_SERVICE_CONNECT` or `PRIVATE_NAT`.
1658
+ :param pulumi.Input[str] purpose: The purpose of the resource. This field can be either `PRIVATE`, `REGIONAL_MANAGED_PROXY`, `GLOBAL_MANAGED_PROXY`, `PRIVATE_SERVICE_CONNECT` or `PRIVATE_NAT`.
1659
1659
  A subnet with purpose set to `REGIONAL_MANAGED_PROXY` is a user-created subnetwork that is reserved for regional Envoy-based load balancers.
1660
1660
  A subnetwork in a given region with purpose set to `GLOBAL_MANAGED_PROXY` is a proxy-only subnet and is shared between all the cross-regional Envoy-based load balancers.
1661
1661
  A subnetwork with purpose set to `PRIVATE_SERVICE_CONNECT` reserves the subnet for hosting a Private Service Connect published service.
1662
1662
  A subnetwork with purpose set to `PRIVATE_NAT` is used as source range for Private NAT gateways.
1663
1663
  Note that `REGIONAL_MANAGED_PROXY` is the preferred setting for all regional Envoy load balancers.
1664
- If unspecified, the purpose defaults to `PRIVATE_RFC_1918`.
1664
+ If unspecified, the purpose defaults to `PRIVATE`.
1665
1665
  :param pulumi.Input[str] region: The GCP region for this subnetwork.
1666
1666
  :param pulumi.Input[str] reserved_internal_range: The ID of the reserved internal range. Must be prefixed with `networkconnectivity.googleapis.com`
1667
1667
  E.g. `networkconnectivity.googleapis.com/projects/{project}/locations/global/internalRanges/{rangeId}`
@@ -1879,13 +1879,13 @@ class Subnetwork(pulumi.CustomResource):
1879
1879
  @pulumi.getter
1880
1880
  def purpose(self) -> pulumi.Output[str]:
1881
1881
  """
1882
- The purpose of the resource. This field can be either `PRIVATE_RFC_1918`, `REGIONAL_MANAGED_PROXY`, `GLOBAL_MANAGED_PROXY`, `PRIVATE_SERVICE_CONNECT` or `PRIVATE_NAT`.
1882
+ The purpose of the resource. This field can be either `PRIVATE`, `REGIONAL_MANAGED_PROXY`, `GLOBAL_MANAGED_PROXY`, `PRIVATE_SERVICE_CONNECT` or `PRIVATE_NAT`.
1883
1883
  A subnet with purpose set to `REGIONAL_MANAGED_PROXY` is a user-created subnetwork that is reserved for regional Envoy-based load balancers.
1884
1884
  A subnetwork in a given region with purpose set to `GLOBAL_MANAGED_PROXY` is a proxy-only subnet and is shared between all the cross-regional Envoy-based load balancers.
1885
1885
  A subnetwork with purpose set to `PRIVATE_SERVICE_CONNECT` reserves the subnet for hosting a Private Service Connect published service.
1886
1886
  A subnetwork with purpose set to `PRIVATE_NAT` is used as source range for Private NAT gateways.
1887
1887
  Note that `REGIONAL_MANAGED_PROXY` is the preferred setting for all regional Envoy load balancers.
1888
- If unspecified, the purpose defaults to `PRIVATE_RFC_1918`.
1888
+ If unspecified, the purpose defaults to `PRIVATE`.
1889
1889
  """
1890
1890
  return pulumi.get(self, "purpose")
1891
1891