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.
- pulumi_gcp/__init__.py +24 -0
- pulumi_gcp/apigee/nat_address.py +155 -2
- pulumi_gcp/bigquery/_inputs.py +102 -0
- pulumi_gcp/bigquery/outputs.py +83 -0
- pulumi_gcp/bigquery/table.py +47 -0
- pulumi_gcp/cloudrun/_inputs.py +26 -0
- pulumi_gcp/cloudrun/outputs.py +33 -0
- pulumi_gcp/cloudrun/service.py +76 -0
- pulumi_gcp/cloudrunv2/_inputs.py +65 -9
- pulumi_gcp/cloudrunv2/outputs.py +73 -8
- pulumi_gcp/cloudrunv2/service.py +64 -0
- pulumi_gcp/compute/__init__.py +3 -0
- pulumi_gcp/compute/_inputs.py +1941 -2
- pulumi_gcp/compute/get_region_instance_group_manager.py +438 -0
- pulumi_gcp/compute/get_router_nat.py +11 -1
- pulumi_gcp/compute/instance.py +7 -7
- pulumi_gcp/compute/instance_from_machine_image.py +7 -7
- pulumi_gcp/compute/instance_from_template.py +7 -7
- pulumi_gcp/compute/interconnect.py +76 -64
- pulumi_gcp/compute/outputs.py +4637 -2640
- pulumi_gcp/compute/region_commitment.py +47 -0
- pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +835 -0
- pulumi_gcp/compute/router_nat.py +56 -2
- pulumi_gcp/compute/router_nat_address.py +514 -0
- pulumi_gcp/compute/subnetwork.py +14 -14
- pulumi_gcp/container/_inputs.py +222 -0
- pulumi_gcp/container/outputs.py +279 -2
- pulumi_gcp/logging/__init__.py +1 -0
- pulumi_gcp/logging/log_scope.py +492 -0
- pulumi_gcp/looker/_inputs.py +157 -0
- pulumi_gcp/looker/instance.py +143 -0
- pulumi_gcp/looker/outputs.py +136 -0
- pulumi_gcp/networkconnectivity/_inputs.py +72 -3
- pulumi_gcp/networkconnectivity/outputs.py +51 -3
- pulumi_gcp/networkconnectivity/spoke.py +310 -0
- pulumi_gcp/networksecurity/security_profile.py +2 -2
- pulumi_gcp/privilegedaccessmanager/__init__.py +1 -0
- pulumi_gcp/privilegedaccessmanager/get_entitlement.py +219 -0
- pulumi_gcp/privilegedaccessmanager/outputs.py +312 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/secretmanager/__init__.py +2 -0
- pulumi_gcp/secretmanager/get_regional_secret_version.py +2 -2
- pulumi_gcp/secretmanager/get_regional_secret_version_access.py +188 -0
- pulumi_gcp/secretmanager/get_regional_secrets.py +156 -0
- pulumi_gcp/secretmanager/outputs.py +265 -0
- {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/RECORD +49 -42
- {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/WHEEL +0 -0
- {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
|
+
|
pulumi_gcp/compute/subnetwork.py
CHANGED
@@ -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 `
|
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 `
|
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 `
|
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 `
|
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 `
|
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 `
|
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 `
|
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 `
|
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 `
|
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 `
|
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 `
|
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 `
|
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 `
|
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 `
|
1888
|
+
If unspecified, the purpose defaults to `PRIVATE`.
|
1889
1889
|
"""
|
1890
1890
|
return pulumi.get(self, "purpose")
|
1891
1891
|
|