pulumi-alicloud 3.56.0a1717132537__py3-none-any.whl → 3.56.0a1717175543__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.

Potentially problematic release.


This version of pulumi-alicloud might be problematic. Click here for more details.

Files changed (43) hide show
  1. pulumi_alicloud/__init__.py +96 -0
  2. pulumi_alicloud/alikafka/instance.py +47 -0
  3. pulumi_alicloud/apigateway/__init__.py +1 -0
  4. pulumi_alicloud/apigateway/_inputs.py +40 -0
  5. pulumi_alicloud/apigateway/access_control_list.py +322 -0
  6. pulumi_alicloud/apigateway/get_apis.py +96 -23
  7. pulumi_alicloud/apigateway/outputs.py +72 -14
  8. pulumi_alicloud/apigateway/plugin.py +225 -73
  9. pulumi_alicloud/cen/get_transit_router_vpc_attachments.py +171 -18
  10. pulumi_alicloud/cen/outputs.py +51 -22
  11. pulumi_alicloud/cloudfirewall/__init__.py +2 -0
  12. pulumi_alicloud/cloudfirewall/_inputs.py +68 -0
  13. pulumi_alicloud/cloudfirewall/nat_firewall.py +811 -0
  14. pulumi_alicloud/cloudfirewall/nat_firewall_control_policy.py +1589 -0
  15. pulumi_alicloud/cloudfirewall/outputs.py +75 -0
  16. pulumi_alicloud/ecs/security_group_rule.py +75 -53
  17. pulumi_alicloud/ess/_inputs.py +56 -0
  18. pulumi_alicloud/ess/outputs.py +61 -0
  19. pulumi_alicloud/ess/scaling_group.py +101 -7
  20. pulumi_alicloud/kms/key.py +251 -333
  21. pulumi_alicloud/kms/secret.py +210 -125
  22. pulumi_alicloud/nas/__init__.py +2 -0
  23. pulumi_alicloud/nas/_inputs.py +126 -0
  24. pulumi_alicloud/nas/access_point.py +743 -0
  25. pulumi_alicloud/nas/outputs.py +128 -0
  26. pulumi_alicloud/oss/__init__.py +7 -0
  27. pulumi_alicloud/oss/account_public_access_block.py +200 -0
  28. pulumi_alicloud/oss/bucket_access_monitor.py +206 -0
  29. pulumi_alicloud/oss/bucket_data_redundancy_transition.py +290 -0
  30. pulumi_alicloud/oss/bucket_meta_query.py +270 -0
  31. pulumi_alicloud/oss/bucket_public_access_block.py +258 -0
  32. pulumi_alicloud/oss/bucket_transfer_acceleration.py +205 -0
  33. pulumi_alicloud/oss/bucket_user_defined_log_fields.py +328 -0
  34. pulumi_alicloud/pulumi-plugin.json +1 -1
  35. pulumi_alicloud/redis/tair_instance.py +188 -0
  36. pulumi_alicloud/sls/__init__.py +1 -0
  37. pulumi_alicloud/sls/_inputs.py +384 -0
  38. pulumi_alicloud/sls/outputs.py +358 -0
  39. pulumi_alicloud/sls/scheduled_sql.py +523 -0
  40. {pulumi_alicloud-3.56.0a1717132537.dist-info → pulumi_alicloud-3.56.0a1717175543.dist-info}/METADATA +1 -1
  41. {pulumi_alicloud-3.56.0a1717132537.dist-info → pulumi_alicloud-3.56.0a1717175543.dist-info}/RECORD +43 -30
  42. {pulumi_alicloud-3.56.0a1717132537.dist-info → pulumi_alicloud-3.56.0a1717175543.dist-info}/WHEEL +0 -0
  43. {pulumi_alicloud-3.56.0a1717132537.dist-info → pulumi_alicloud-3.56.0a1717175543.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,811 @@
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
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = ['NatFirewallArgs', 'NatFirewall']
15
+
16
+ @pulumi.input_type
17
+ class NatFirewallArgs:
18
+ def __init__(__self__, *,
19
+ nat_gateway_id: pulumi.Input[str],
20
+ nat_route_entry_lists: pulumi.Input[Sequence[pulumi.Input['NatFirewallNatRouteEntryListArgs']]],
21
+ proxy_name: pulumi.Input[str],
22
+ region_no: pulumi.Input[str],
23
+ vpc_id: pulumi.Input[str],
24
+ firewall_switch: Optional[pulumi.Input[str]] = None,
25
+ lang: Optional[pulumi.Input[str]] = None,
26
+ status: Optional[pulumi.Input[str]] = None,
27
+ strict_mode: Optional[pulumi.Input[int]] = None,
28
+ vswitch_auto: Optional[pulumi.Input[str]] = None,
29
+ vswitch_cidr: Optional[pulumi.Input[str]] = None,
30
+ vswitch_id: Optional[pulumi.Input[str]] = None):
31
+ """
32
+ The set of arguments for constructing a NatFirewall resource.
33
+ :param pulumi.Input[str] nat_gateway_id: NAT gateway ID.
34
+ :param pulumi.Input[Sequence[pulumi.Input['NatFirewallNatRouteEntryListArgs']]] nat_route_entry_lists: The list of routes to be switched by the NAT gateway. See `nat_route_entry_list` below.
35
+ :param pulumi.Input[str] proxy_name: NAT firewall name.
36
+ :param pulumi.Input[str] region_no: Region.
37
+ :param pulumi.Input[str] vpc_id: The ID of the VPC instance.
38
+ :param pulumi.Input[str] firewall_switch: Safety protection switch. Value:-**open**: open-**close**: close.
39
+ :param pulumi.Input[str] lang: Lang.
40
+ :param pulumi.Input[str] status: The status of the resource.
41
+ :param pulumi.Input[int] strict_mode: Whether strict mode is enabled 1-Enable strict mode 0-Disable strict mode.
42
+ :param pulumi.Input[str] vswitch_auto: Whether to use switch automatic mode. Value: **true**: Use automatic mode: **false**: Use manual mode.
43
+ :param pulumi.Input[str] vswitch_cidr: The network segment of the virtual switch. Required for Switch automatic mode.
44
+ :param pulumi.Input[str] vswitch_id: The switch ID. Required for switch manual mode.
45
+ """
46
+ pulumi.set(__self__, "nat_gateway_id", nat_gateway_id)
47
+ pulumi.set(__self__, "nat_route_entry_lists", nat_route_entry_lists)
48
+ pulumi.set(__self__, "proxy_name", proxy_name)
49
+ pulumi.set(__self__, "region_no", region_no)
50
+ pulumi.set(__self__, "vpc_id", vpc_id)
51
+ if firewall_switch is not None:
52
+ pulumi.set(__self__, "firewall_switch", firewall_switch)
53
+ if lang is not None:
54
+ pulumi.set(__self__, "lang", lang)
55
+ if status is not None:
56
+ pulumi.set(__self__, "status", status)
57
+ if strict_mode is not None:
58
+ pulumi.set(__self__, "strict_mode", strict_mode)
59
+ if vswitch_auto is not None:
60
+ pulumi.set(__self__, "vswitch_auto", vswitch_auto)
61
+ if vswitch_cidr is not None:
62
+ pulumi.set(__self__, "vswitch_cidr", vswitch_cidr)
63
+ if vswitch_id is not None:
64
+ pulumi.set(__self__, "vswitch_id", vswitch_id)
65
+
66
+ @property
67
+ @pulumi.getter(name="natGatewayId")
68
+ def nat_gateway_id(self) -> pulumi.Input[str]:
69
+ """
70
+ NAT gateway ID.
71
+ """
72
+ return pulumi.get(self, "nat_gateway_id")
73
+
74
+ @nat_gateway_id.setter
75
+ def nat_gateway_id(self, value: pulumi.Input[str]):
76
+ pulumi.set(self, "nat_gateway_id", value)
77
+
78
+ @property
79
+ @pulumi.getter(name="natRouteEntryLists")
80
+ def nat_route_entry_lists(self) -> pulumi.Input[Sequence[pulumi.Input['NatFirewallNatRouteEntryListArgs']]]:
81
+ """
82
+ The list of routes to be switched by the NAT gateway. See `nat_route_entry_list` below.
83
+ """
84
+ return pulumi.get(self, "nat_route_entry_lists")
85
+
86
+ @nat_route_entry_lists.setter
87
+ def nat_route_entry_lists(self, value: pulumi.Input[Sequence[pulumi.Input['NatFirewallNatRouteEntryListArgs']]]):
88
+ pulumi.set(self, "nat_route_entry_lists", value)
89
+
90
+ @property
91
+ @pulumi.getter(name="proxyName")
92
+ def proxy_name(self) -> pulumi.Input[str]:
93
+ """
94
+ NAT firewall name.
95
+ """
96
+ return pulumi.get(self, "proxy_name")
97
+
98
+ @proxy_name.setter
99
+ def proxy_name(self, value: pulumi.Input[str]):
100
+ pulumi.set(self, "proxy_name", value)
101
+
102
+ @property
103
+ @pulumi.getter(name="regionNo")
104
+ def region_no(self) -> pulumi.Input[str]:
105
+ """
106
+ Region.
107
+ """
108
+ return pulumi.get(self, "region_no")
109
+
110
+ @region_no.setter
111
+ def region_no(self, value: pulumi.Input[str]):
112
+ pulumi.set(self, "region_no", value)
113
+
114
+ @property
115
+ @pulumi.getter(name="vpcId")
116
+ def vpc_id(self) -> pulumi.Input[str]:
117
+ """
118
+ The ID of the VPC instance.
119
+ """
120
+ return pulumi.get(self, "vpc_id")
121
+
122
+ @vpc_id.setter
123
+ def vpc_id(self, value: pulumi.Input[str]):
124
+ pulumi.set(self, "vpc_id", value)
125
+
126
+ @property
127
+ @pulumi.getter(name="firewallSwitch")
128
+ def firewall_switch(self) -> Optional[pulumi.Input[str]]:
129
+ """
130
+ Safety protection switch. Value:-**open**: open-**close**: close.
131
+ """
132
+ return pulumi.get(self, "firewall_switch")
133
+
134
+ @firewall_switch.setter
135
+ def firewall_switch(self, value: Optional[pulumi.Input[str]]):
136
+ pulumi.set(self, "firewall_switch", value)
137
+
138
+ @property
139
+ @pulumi.getter
140
+ def lang(self) -> Optional[pulumi.Input[str]]:
141
+ """
142
+ Lang.
143
+ """
144
+ return pulumi.get(self, "lang")
145
+
146
+ @lang.setter
147
+ def lang(self, value: Optional[pulumi.Input[str]]):
148
+ pulumi.set(self, "lang", value)
149
+
150
+ @property
151
+ @pulumi.getter
152
+ def status(self) -> Optional[pulumi.Input[str]]:
153
+ """
154
+ The status of the resource.
155
+ """
156
+ return pulumi.get(self, "status")
157
+
158
+ @status.setter
159
+ def status(self, value: Optional[pulumi.Input[str]]):
160
+ pulumi.set(self, "status", value)
161
+
162
+ @property
163
+ @pulumi.getter(name="strictMode")
164
+ def strict_mode(self) -> Optional[pulumi.Input[int]]:
165
+ """
166
+ Whether strict mode is enabled 1-Enable strict mode 0-Disable strict mode.
167
+ """
168
+ return pulumi.get(self, "strict_mode")
169
+
170
+ @strict_mode.setter
171
+ def strict_mode(self, value: Optional[pulumi.Input[int]]):
172
+ pulumi.set(self, "strict_mode", value)
173
+
174
+ @property
175
+ @pulumi.getter(name="vswitchAuto")
176
+ def vswitch_auto(self) -> Optional[pulumi.Input[str]]:
177
+ """
178
+ Whether to use switch automatic mode. Value: **true**: Use automatic mode: **false**: Use manual mode.
179
+ """
180
+ return pulumi.get(self, "vswitch_auto")
181
+
182
+ @vswitch_auto.setter
183
+ def vswitch_auto(self, value: Optional[pulumi.Input[str]]):
184
+ pulumi.set(self, "vswitch_auto", value)
185
+
186
+ @property
187
+ @pulumi.getter(name="vswitchCidr")
188
+ def vswitch_cidr(self) -> Optional[pulumi.Input[str]]:
189
+ """
190
+ The network segment of the virtual switch. Required for Switch automatic mode.
191
+ """
192
+ return pulumi.get(self, "vswitch_cidr")
193
+
194
+ @vswitch_cidr.setter
195
+ def vswitch_cidr(self, value: Optional[pulumi.Input[str]]):
196
+ pulumi.set(self, "vswitch_cidr", value)
197
+
198
+ @property
199
+ @pulumi.getter(name="vswitchId")
200
+ def vswitch_id(self) -> Optional[pulumi.Input[str]]:
201
+ """
202
+ The switch ID. Required for switch manual mode.
203
+ """
204
+ return pulumi.get(self, "vswitch_id")
205
+
206
+ @vswitch_id.setter
207
+ def vswitch_id(self, value: Optional[pulumi.Input[str]]):
208
+ pulumi.set(self, "vswitch_id", value)
209
+
210
+
211
+ @pulumi.input_type
212
+ class _NatFirewallState:
213
+ def __init__(__self__, *,
214
+ firewall_switch: Optional[pulumi.Input[str]] = None,
215
+ lang: Optional[pulumi.Input[str]] = None,
216
+ nat_gateway_id: Optional[pulumi.Input[str]] = None,
217
+ nat_route_entry_lists: Optional[pulumi.Input[Sequence[pulumi.Input['NatFirewallNatRouteEntryListArgs']]]] = None,
218
+ proxy_name: Optional[pulumi.Input[str]] = None,
219
+ region_no: Optional[pulumi.Input[str]] = None,
220
+ status: Optional[pulumi.Input[str]] = None,
221
+ strict_mode: Optional[pulumi.Input[int]] = None,
222
+ vpc_id: Optional[pulumi.Input[str]] = None,
223
+ vswitch_auto: Optional[pulumi.Input[str]] = None,
224
+ vswitch_cidr: Optional[pulumi.Input[str]] = None,
225
+ vswitch_id: Optional[pulumi.Input[str]] = None):
226
+ """
227
+ Input properties used for looking up and filtering NatFirewall resources.
228
+ :param pulumi.Input[str] firewall_switch: Safety protection switch. Value:-**open**: open-**close**: close.
229
+ :param pulumi.Input[str] lang: Lang.
230
+ :param pulumi.Input[str] nat_gateway_id: NAT gateway ID.
231
+ :param pulumi.Input[Sequence[pulumi.Input['NatFirewallNatRouteEntryListArgs']]] nat_route_entry_lists: The list of routes to be switched by the NAT gateway. See `nat_route_entry_list` below.
232
+ :param pulumi.Input[str] proxy_name: NAT firewall name.
233
+ :param pulumi.Input[str] region_no: Region.
234
+ :param pulumi.Input[str] status: The status of the resource.
235
+ :param pulumi.Input[int] strict_mode: Whether strict mode is enabled 1-Enable strict mode 0-Disable strict mode.
236
+ :param pulumi.Input[str] vpc_id: The ID of the VPC instance.
237
+ :param pulumi.Input[str] vswitch_auto: Whether to use switch automatic mode. Value: **true**: Use automatic mode: **false**: Use manual mode.
238
+ :param pulumi.Input[str] vswitch_cidr: The network segment of the virtual switch. Required for Switch automatic mode.
239
+ :param pulumi.Input[str] vswitch_id: The switch ID. Required for switch manual mode.
240
+ """
241
+ if firewall_switch is not None:
242
+ pulumi.set(__self__, "firewall_switch", firewall_switch)
243
+ if lang is not None:
244
+ pulumi.set(__self__, "lang", lang)
245
+ if nat_gateway_id is not None:
246
+ pulumi.set(__self__, "nat_gateway_id", nat_gateway_id)
247
+ if nat_route_entry_lists is not None:
248
+ pulumi.set(__self__, "nat_route_entry_lists", nat_route_entry_lists)
249
+ if proxy_name is not None:
250
+ pulumi.set(__self__, "proxy_name", proxy_name)
251
+ if region_no is not None:
252
+ pulumi.set(__self__, "region_no", region_no)
253
+ if status is not None:
254
+ pulumi.set(__self__, "status", status)
255
+ if strict_mode is not None:
256
+ pulumi.set(__self__, "strict_mode", strict_mode)
257
+ if vpc_id is not None:
258
+ pulumi.set(__self__, "vpc_id", vpc_id)
259
+ if vswitch_auto is not None:
260
+ pulumi.set(__self__, "vswitch_auto", vswitch_auto)
261
+ if vswitch_cidr is not None:
262
+ pulumi.set(__self__, "vswitch_cidr", vswitch_cidr)
263
+ if vswitch_id is not None:
264
+ pulumi.set(__self__, "vswitch_id", vswitch_id)
265
+
266
+ @property
267
+ @pulumi.getter(name="firewallSwitch")
268
+ def firewall_switch(self) -> Optional[pulumi.Input[str]]:
269
+ """
270
+ Safety protection switch. Value:-**open**: open-**close**: close.
271
+ """
272
+ return pulumi.get(self, "firewall_switch")
273
+
274
+ @firewall_switch.setter
275
+ def firewall_switch(self, value: Optional[pulumi.Input[str]]):
276
+ pulumi.set(self, "firewall_switch", value)
277
+
278
+ @property
279
+ @pulumi.getter
280
+ def lang(self) -> Optional[pulumi.Input[str]]:
281
+ """
282
+ Lang.
283
+ """
284
+ return pulumi.get(self, "lang")
285
+
286
+ @lang.setter
287
+ def lang(self, value: Optional[pulumi.Input[str]]):
288
+ pulumi.set(self, "lang", value)
289
+
290
+ @property
291
+ @pulumi.getter(name="natGatewayId")
292
+ def nat_gateway_id(self) -> Optional[pulumi.Input[str]]:
293
+ """
294
+ NAT gateway ID.
295
+ """
296
+ return pulumi.get(self, "nat_gateway_id")
297
+
298
+ @nat_gateway_id.setter
299
+ def nat_gateway_id(self, value: Optional[pulumi.Input[str]]):
300
+ pulumi.set(self, "nat_gateway_id", value)
301
+
302
+ @property
303
+ @pulumi.getter(name="natRouteEntryLists")
304
+ def nat_route_entry_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NatFirewallNatRouteEntryListArgs']]]]:
305
+ """
306
+ The list of routes to be switched by the NAT gateway. See `nat_route_entry_list` below.
307
+ """
308
+ return pulumi.get(self, "nat_route_entry_lists")
309
+
310
+ @nat_route_entry_lists.setter
311
+ def nat_route_entry_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NatFirewallNatRouteEntryListArgs']]]]):
312
+ pulumi.set(self, "nat_route_entry_lists", value)
313
+
314
+ @property
315
+ @pulumi.getter(name="proxyName")
316
+ def proxy_name(self) -> Optional[pulumi.Input[str]]:
317
+ """
318
+ NAT firewall name.
319
+ """
320
+ return pulumi.get(self, "proxy_name")
321
+
322
+ @proxy_name.setter
323
+ def proxy_name(self, value: Optional[pulumi.Input[str]]):
324
+ pulumi.set(self, "proxy_name", value)
325
+
326
+ @property
327
+ @pulumi.getter(name="regionNo")
328
+ def region_no(self) -> Optional[pulumi.Input[str]]:
329
+ """
330
+ Region.
331
+ """
332
+ return pulumi.get(self, "region_no")
333
+
334
+ @region_no.setter
335
+ def region_no(self, value: Optional[pulumi.Input[str]]):
336
+ pulumi.set(self, "region_no", value)
337
+
338
+ @property
339
+ @pulumi.getter
340
+ def status(self) -> Optional[pulumi.Input[str]]:
341
+ """
342
+ The status of the resource.
343
+ """
344
+ return pulumi.get(self, "status")
345
+
346
+ @status.setter
347
+ def status(self, value: Optional[pulumi.Input[str]]):
348
+ pulumi.set(self, "status", value)
349
+
350
+ @property
351
+ @pulumi.getter(name="strictMode")
352
+ def strict_mode(self) -> Optional[pulumi.Input[int]]:
353
+ """
354
+ Whether strict mode is enabled 1-Enable strict mode 0-Disable strict mode.
355
+ """
356
+ return pulumi.get(self, "strict_mode")
357
+
358
+ @strict_mode.setter
359
+ def strict_mode(self, value: Optional[pulumi.Input[int]]):
360
+ pulumi.set(self, "strict_mode", value)
361
+
362
+ @property
363
+ @pulumi.getter(name="vpcId")
364
+ def vpc_id(self) -> Optional[pulumi.Input[str]]:
365
+ """
366
+ The ID of the VPC instance.
367
+ """
368
+ return pulumi.get(self, "vpc_id")
369
+
370
+ @vpc_id.setter
371
+ def vpc_id(self, value: Optional[pulumi.Input[str]]):
372
+ pulumi.set(self, "vpc_id", value)
373
+
374
+ @property
375
+ @pulumi.getter(name="vswitchAuto")
376
+ def vswitch_auto(self) -> Optional[pulumi.Input[str]]:
377
+ """
378
+ Whether to use switch automatic mode. Value: **true**: Use automatic mode: **false**: Use manual mode.
379
+ """
380
+ return pulumi.get(self, "vswitch_auto")
381
+
382
+ @vswitch_auto.setter
383
+ def vswitch_auto(self, value: Optional[pulumi.Input[str]]):
384
+ pulumi.set(self, "vswitch_auto", value)
385
+
386
+ @property
387
+ @pulumi.getter(name="vswitchCidr")
388
+ def vswitch_cidr(self) -> Optional[pulumi.Input[str]]:
389
+ """
390
+ The network segment of the virtual switch. Required for Switch automatic mode.
391
+ """
392
+ return pulumi.get(self, "vswitch_cidr")
393
+
394
+ @vswitch_cidr.setter
395
+ def vswitch_cidr(self, value: Optional[pulumi.Input[str]]):
396
+ pulumi.set(self, "vswitch_cidr", value)
397
+
398
+ @property
399
+ @pulumi.getter(name="vswitchId")
400
+ def vswitch_id(self) -> Optional[pulumi.Input[str]]:
401
+ """
402
+ The switch ID. Required for switch manual mode.
403
+ """
404
+ return pulumi.get(self, "vswitch_id")
405
+
406
+ @vswitch_id.setter
407
+ def vswitch_id(self, value: Optional[pulumi.Input[str]]):
408
+ pulumi.set(self, "vswitch_id", value)
409
+
410
+
411
+ class NatFirewall(pulumi.CustomResource):
412
+ @overload
413
+ def __init__(__self__,
414
+ resource_name: str,
415
+ opts: Optional[pulumi.ResourceOptions] = None,
416
+ firewall_switch: Optional[pulumi.Input[str]] = None,
417
+ lang: Optional[pulumi.Input[str]] = None,
418
+ nat_gateway_id: Optional[pulumi.Input[str]] = None,
419
+ nat_route_entry_lists: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NatFirewallNatRouteEntryListArgs']]]]] = None,
420
+ proxy_name: Optional[pulumi.Input[str]] = None,
421
+ region_no: Optional[pulumi.Input[str]] = None,
422
+ status: Optional[pulumi.Input[str]] = None,
423
+ strict_mode: Optional[pulumi.Input[int]] = None,
424
+ vpc_id: Optional[pulumi.Input[str]] = None,
425
+ vswitch_auto: Optional[pulumi.Input[str]] = None,
426
+ vswitch_cidr: Optional[pulumi.Input[str]] = None,
427
+ vswitch_id: Optional[pulumi.Input[str]] = None,
428
+ __props__=None):
429
+ """
430
+ Provides a Cloud Firewall Nat Firewall resource.
431
+
432
+ For information about Cloud Firewall Nat Firewall and how to use it, see [What is Nat Firewall](https://www.alibabacloud.com/help/zh/cloud-firewall/developer-reference/api-cloudfw-2017-12-07-createsecurityproxy).
433
+
434
+ > **NOTE:** Available since v1.224.0.
435
+
436
+ ## Example Usage
437
+
438
+ Basic Usage
439
+
440
+ ```python
441
+ import pulumi
442
+ import pulumi_alicloud as alicloud
443
+
444
+ config = pulumi.Config()
445
+ name = config.get("name")
446
+ if name is None:
447
+ name = "terraform-example"
448
+ default = alicloud.get_zones(available_resource_creation="VSwitch")
449
+ defaultik_z0g_d = alicloud.vpc.Network("defaultikZ0gD",
450
+ cidr_block="172.16.0.0/12",
451
+ vpc_name=name)
452
+ defaultp4_o7qi = alicloud.vpc.Switch("defaultp4O7qi",
453
+ vpc_id=defaultik_z0g_d.id,
454
+ cidr_block="172.16.6.0/24",
455
+ vswitch_name=name,
456
+ zone_id=default.zones[0].id)
457
+ default2i_r_zp_c = alicloud.vpc.NatGateway("default2iRZpC",
458
+ eip_bind_mode="MULTI_BINDED",
459
+ vpc_id=defaultik_z0g_d.id,
460
+ nat_gateway_name=name,
461
+ payment_type="PayAsYouGo",
462
+ vswitch_id=defaultp4_o7qi.id,
463
+ nat_type="Enhanced",
464
+ network_type="internet")
465
+ defaultyi_rwgs = alicloud.ecs.EipAddress("defaultyiRwgs", address_name=name)
466
+ defaults2_m_tu_o = alicloud.ecs.EipAssociation("defaults2MTuO",
467
+ instance_id=default2i_r_zp_c.id,
468
+ allocation_id=defaultyi_rwgs.id,
469
+ mode="NAT",
470
+ instance_type="Nat")
471
+ default_ake43g = alicloud.vpc.SnatEntry("defaultAKE43g",
472
+ snat_ip=defaultyi_rwgs.ip_address,
473
+ snat_table_id=default2i_r_zp_c.snat_table_ids,
474
+ source_vswitch_id=defaultp4_o7qi.id)
475
+ default_nat_firewall = alicloud.cloudfirewall.NatFirewall("default",
476
+ nat_gateway_id=default2i_r_zp_c.id,
477
+ nat_route_entry_lists=[alicloud.cloudfirewall.NatFirewallNatRouteEntryListArgs(
478
+ nexthop_type="NatGateway",
479
+ route_table_id=defaultik_z0g_d.route_table_id,
480
+ nexthop_id=default2i_r_zp_c.id,
481
+ destination_cidr="0.0.0.0/0",
482
+ )],
483
+ firewall_switch="close",
484
+ vswitch_auto="true",
485
+ status="closed",
486
+ region_no="cn-shenzhen",
487
+ lang="zh",
488
+ proxy_name="CFW-example",
489
+ vswitch_id=default_ake43g.source_vswitch_id,
490
+ strict_mode=0,
491
+ vpc_id=defaultik_z0g_d.id,
492
+ vswitch_cidr="172.16.5.0/24")
493
+ ```
494
+
495
+ ## Import
496
+
497
+ Cloud Firewall Nat Firewall can be imported using the id, e.g.
498
+
499
+ ```sh
500
+ $ pulumi import alicloud:cloudfirewall/natFirewall:NatFirewall example <id>
501
+ ```
502
+
503
+ :param str resource_name: The name of the resource.
504
+ :param pulumi.ResourceOptions opts: Options for the resource.
505
+ :param pulumi.Input[str] firewall_switch: Safety protection switch. Value:-**open**: open-**close**: close.
506
+ :param pulumi.Input[str] lang: Lang.
507
+ :param pulumi.Input[str] nat_gateway_id: NAT gateway ID.
508
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NatFirewallNatRouteEntryListArgs']]]] nat_route_entry_lists: The list of routes to be switched by the NAT gateway. See `nat_route_entry_list` below.
509
+ :param pulumi.Input[str] proxy_name: NAT firewall name.
510
+ :param pulumi.Input[str] region_no: Region.
511
+ :param pulumi.Input[str] status: The status of the resource.
512
+ :param pulumi.Input[int] strict_mode: Whether strict mode is enabled 1-Enable strict mode 0-Disable strict mode.
513
+ :param pulumi.Input[str] vpc_id: The ID of the VPC instance.
514
+ :param pulumi.Input[str] vswitch_auto: Whether to use switch automatic mode. Value: **true**: Use automatic mode: **false**: Use manual mode.
515
+ :param pulumi.Input[str] vswitch_cidr: The network segment of the virtual switch. Required for Switch automatic mode.
516
+ :param pulumi.Input[str] vswitch_id: The switch ID. Required for switch manual mode.
517
+ """
518
+ ...
519
+ @overload
520
+ def __init__(__self__,
521
+ resource_name: str,
522
+ args: NatFirewallArgs,
523
+ opts: Optional[pulumi.ResourceOptions] = None):
524
+ """
525
+ Provides a Cloud Firewall Nat Firewall resource.
526
+
527
+ For information about Cloud Firewall Nat Firewall and how to use it, see [What is Nat Firewall](https://www.alibabacloud.com/help/zh/cloud-firewall/developer-reference/api-cloudfw-2017-12-07-createsecurityproxy).
528
+
529
+ > **NOTE:** Available since v1.224.0.
530
+
531
+ ## Example Usage
532
+
533
+ Basic Usage
534
+
535
+ ```python
536
+ import pulumi
537
+ import pulumi_alicloud as alicloud
538
+
539
+ config = pulumi.Config()
540
+ name = config.get("name")
541
+ if name is None:
542
+ name = "terraform-example"
543
+ default = alicloud.get_zones(available_resource_creation="VSwitch")
544
+ defaultik_z0g_d = alicloud.vpc.Network("defaultikZ0gD",
545
+ cidr_block="172.16.0.0/12",
546
+ vpc_name=name)
547
+ defaultp4_o7qi = alicloud.vpc.Switch("defaultp4O7qi",
548
+ vpc_id=defaultik_z0g_d.id,
549
+ cidr_block="172.16.6.0/24",
550
+ vswitch_name=name,
551
+ zone_id=default.zones[0].id)
552
+ default2i_r_zp_c = alicloud.vpc.NatGateway("default2iRZpC",
553
+ eip_bind_mode="MULTI_BINDED",
554
+ vpc_id=defaultik_z0g_d.id,
555
+ nat_gateway_name=name,
556
+ payment_type="PayAsYouGo",
557
+ vswitch_id=defaultp4_o7qi.id,
558
+ nat_type="Enhanced",
559
+ network_type="internet")
560
+ defaultyi_rwgs = alicloud.ecs.EipAddress("defaultyiRwgs", address_name=name)
561
+ defaults2_m_tu_o = alicloud.ecs.EipAssociation("defaults2MTuO",
562
+ instance_id=default2i_r_zp_c.id,
563
+ allocation_id=defaultyi_rwgs.id,
564
+ mode="NAT",
565
+ instance_type="Nat")
566
+ default_ake43g = alicloud.vpc.SnatEntry("defaultAKE43g",
567
+ snat_ip=defaultyi_rwgs.ip_address,
568
+ snat_table_id=default2i_r_zp_c.snat_table_ids,
569
+ source_vswitch_id=defaultp4_o7qi.id)
570
+ default_nat_firewall = alicloud.cloudfirewall.NatFirewall("default",
571
+ nat_gateway_id=default2i_r_zp_c.id,
572
+ nat_route_entry_lists=[alicloud.cloudfirewall.NatFirewallNatRouteEntryListArgs(
573
+ nexthop_type="NatGateway",
574
+ route_table_id=defaultik_z0g_d.route_table_id,
575
+ nexthop_id=default2i_r_zp_c.id,
576
+ destination_cidr="0.0.0.0/0",
577
+ )],
578
+ firewall_switch="close",
579
+ vswitch_auto="true",
580
+ status="closed",
581
+ region_no="cn-shenzhen",
582
+ lang="zh",
583
+ proxy_name="CFW-example",
584
+ vswitch_id=default_ake43g.source_vswitch_id,
585
+ strict_mode=0,
586
+ vpc_id=defaultik_z0g_d.id,
587
+ vswitch_cidr="172.16.5.0/24")
588
+ ```
589
+
590
+ ## Import
591
+
592
+ Cloud Firewall Nat Firewall can be imported using the id, e.g.
593
+
594
+ ```sh
595
+ $ pulumi import alicloud:cloudfirewall/natFirewall:NatFirewall example <id>
596
+ ```
597
+
598
+ :param str resource_name: The name of the resource.
599
+ :param NatFirewallArgs args: The arguments to use to populate this resource's properties.
600
+ :param pulumi.ResourceOptions opts: Options for the resource.
601
+ """
602
+ ...
603
+ def __init__(__self__, resource_name: str, *args, **kwargs):
604
+ resource_args, opts = _utilities.get_resource_args_opts(NatFirewallArgs, pulumi.ResourceOptions, *args, **kwargs)
605
+ if resource_args is not None:
606
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
607
+ else:
608
+ __self__._internal_init(resource_name, *args, **kwargs)
609
+
610
+ def _internal_init(__self__,
611
+ resource_name: str,
612
+ opts: Optional[pulumi.ResourceOptions] = None,
613
+ firewall_switch: Optional[pulumi.Input[str]] = None,
614
+ lang: Optional[pulumi.Input[str]] = None,
615
+ nat_gateway_id: Optional[pulumi.Input[str]] = None,
616
+ nat_route_entry_lists: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NatFirewallNatRouteEntryListArgs']]]]] = None,
617
+ proxy_name: Optional[pulumi.Input[str]] = None,
618
+ region_no: Optional[pulumi.Input[str]] = None,
619
+ status: Optional[pulumi.Input[str]] = None,
620
+ strict_mode: Optional[pulumi.Input[int]] = None,
621
+ vpc_id: Optional[pulumi.Input[str]] = None,
622
+ vswitch_auto: Optional[pulumi.Input[str]] = None,
623
+ vswitch_cidr: Optional[pulumi.Input[str]] = None,
624
+ vswitch_id: Optional[pulumi.Input[str]] = None,
625
+ __props__=None):
626
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
627
+ if not isinstance(opts, pulumi.ResourceOptions):
628
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
629
+ if opts.id is None:
630
+ if __props__ is not None:
631
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
632
+ __props__ = NatFirewallArgs.__new__(NatFirewallArgs)
633
+
634
+ __props__.__dict__["firewall_switch"] = firewall_switch
635
+ __props__.__dict__["lang"] = lang
636
+ if nat_gateway_id is None and not opts.urn:
637
+ raise TypeError("Missing required property 'nat_gateway_id'")
638
+ __props__.__dict__["nat_gateway_id"] = nat_gateway_id
639
+ if nat_route_entry_lists is None and not opts.urn:
640
+ raise TypeError("Missing required property 'nat_route_entry_lists'")
641
+ __props__.__dict__["nat_route_entry_lists"] = nat_route_entry_lists
642
+ if proxy_name is None and not opts.urn:
643
+ raise TypeError("Missing required property 'proxy_name'")
644
+ __props__.__dict__["proxy_name"] = proxy_name
645
+ if region_no is None and not opts.urn:
646
+ raise TypeError("Missing required property 'region_no'")
647
+ __props__.__dict__["region_no"] = region_no
648
+ __props__.__dict__["status"] = status
649
+ __props__.__dict__["strict_mode"] = strict_mode
650
+ if vpc_id is None and not opts.urn:
651
+ raise TypeError("Missing required property 'vpc_id'")
652
+ __props__.__dict__["vpc_id"] = vpc_id
653
+ __props__.__dict__["vswitch_auto"] = vswitch_auto
654
+ __props__.__dict__["vswitch_cidr"] = vswitch_cidr
655
+ __props__.__dict__["vswitch_id"] = vswitch_id
656
+ super(NatFirewall, __self__).__init__(
657
+ 'alicloud:cloudfirewall/natFirewall:NatFirewall',
658
+ resource_name,
659
+ __props__,
660
+ opts)
661
+
662
+ @staticmethod
663
+ def get(resource_name: str,
664
+ id: pulumi.Input[str],
665
+ opts: Optional[pulumi.ResourceOptions] = None,
666
+ firewall_switch: Optional[pulumi.Input[str]] = None,
667
+ lang: Optional[pulumi.Input[str]] = None,
668
+ nat_gateway_id: Optional[pulumi.Input[str]] = None,
669
+ nat_route_entry_lists: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NatFirewallNatRouteEntryListArgs']]]]] = None,
670
+ proxy_name: Optional[pulumi.Input[str]] = None,
671
+ region_no: Optional[pulumi.Input[str]] = None,
672
+ status: Optional[pulumi.Input[str]] = None,
673
+ strict_mode: Optional[pulumi.Input[int]] = None,
674
+ vpc_id: Optional[pulumi.Input[str]] = None,
675
+ vswitch_auto: Optional[pulumi.Input[str]] = None,
676
+ vswitch_cidr: Optional[pulumi.Input[str]] = None,
677
+ vswitch_id: Optional[pulumi.Input[str]] = None) -> 'NatFirewall':
678
+ """
679
+ Get an existing NatFirewall resource's state with the given name, id, and optional extra
680
+ properties used to qualify the lookup.
681
+
682
+ :param str resource_name: The unique name of the resulting resource.
683
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
684
+ :param pulumi.ResourceOptions opts: Options for the resource.
685
+ :param pulumi.Input[str] firewall_switch: Safety protection switch. Value:-**open**: open-**close**: close.
686
+ :param pulumi.Input[str] lang: Lang.
687
+ :param pulumi.Input[str] nat_gateway_id: NAT gateway ID.
688
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NatFirewallNatRouteEntryListArgs']]]] nat_route_entry_lists: The list of routes to be switched by the NAT gateway. See `nat_route_entry_list` below.
689
+ :param pulumi.Input[str] proxy_name: NAT firewall name.
690
+ :param pulumi.Input[str] region_no: Region.
691
+ :param pulumi.Input[str] status: The status of the resource.
692
+ :param pulumi.Input[int] strict_mode: Whether strict mode is enabled 1-Enable strict mode 0-Disable strict mode.
693
+ :param pulumi.Input[str] vpc_id: The ID of the VPC instance.
694
+ :param pulumi.Input[str] vswitch_auto: Whether to use switch automatic mode. Value: **true**: Use automatic mode: **false**: Use manual mode.
695
+ :param pulumi.Input[str] vswitch_cidr: The network segment of the virtual switch. Required for Switch automatic mode.
696
+ :param pulumi.Input[str] vswitch_id: The switch ID. Required for switch manual mode.
697
+ """
698
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
699
+
700
+ __props__ = _NatFirewallState.__new__(_NatFirewallState)
701
+
702
+ __props__.__dict__["firewall_switch"] = firewall_switch
703
+ __props__.__dict__["lang"] = lang
704
+ __props__.__dict__["nat_gateway_id"] = nat_gateway_id
705
+ __props__.__dict__["nat_route_entry_lists"] = nat_route_entry_lists
706
+ __props__.__dict__["proxy_name"] = proxy_name
707
+ __props__.__dict__["region_no"] = region_no
708
+ __props__.__dict__["status"] = status
709
+ __props__.__dict__["strict_mode"] = strict_mode
710
+ __props__.__dict__["vpc_id"] = vpc_id
711
+ __props__.__dict__["vswitch_auto"] = vswitch_auto
712
+ __props__.__dict__["vswitch_cidr"] = vswitch_cidr
713
+ __props__.__dict__["vswitch_id"] = vswitch_id
714
+ return NatFirewall(resource_name, opts=opts, __props__=__props__)
715
+
716
+ @property
717
+ @pulumi.getter(name="firewallSwitch")
718
+ def firewall_switch(self) -> pulumi.Output[Optional[str]]:
719
+ """
720
+ Safety protection switch. Value:-**open**: open-**close**: close.
721
+ """
722
+ return pulumi.get(self, "firewall_switch")
723
+
724
+ @property
725
+ @pulumi.getter
726
+ def lang(self) -> pulumi.Output[Optional[str]]:
727
+ """
728
+ Lang.
729
+ """
730
+ return pulumi.get(self, "lang")
731
+
732
+ @property
733
+ @pulumi.getter(name="natGatewayId")
734
+ def nat_gateway_id(self) -> pulumi.Output[str]:
735
+ """
736
+ NAT gateway ID.
737
+ """
738
+ return pulumi.get(self, "nat_gateway_id")
739
+
740
+ @property
741
+ @pulumi.getter(name="natRouteEntryLists")
742
+ def nat_route_entry_lists(self) -> pulumi.Output[Sequence['outputs.NatFirewallNatRouteEntryList']]:
743
+ """
744
+ The list of routes to be switched by the NAT gateway. See `nat_route_entry_list` below.
745
+ """
746
+ return pulumi.get(self, "nat_route_entry_lists")
747
+
748
+ @property
749
+ @pulumi.getter(name="proxyName")
750
+ def proxy_name(self) -> pulumi.Output[str]:
751
+ """
752
+ NAT firewall name.
753
+ """
754
+ return pulumi.get(self, "proxy_name")
755
+
756
+ @property
757
+ @pulumi.getter(name="regionNo")
758
+ def region_no(self) -> pulumi.Output[str]:
759
+ """
760
+ Region.
761
+ """
762
+ return pulumi.get(self, "region_no")
763
+
764
+ @property
765
+ @pulumi.getter
766
+ def status(self) -> pulumi.Output[str]:
767
+ """
768
+ The status of the resource.
769
+ """
770
+ return pulumi.get(self, "status")
771
+
772
+ @property
773
+ @pulumi.getter(name="strictMode")
774
+ def strict_mode(self) -> pulumi.Output[Optional[int]]:
775
+ """
776
+ Whether strict mode is enabled 1-Enable strict mode 0-Disable strict mode.
777
+ """
778
+ return pulumi.get(self, "strict_mode")
779
+
780
+ @property
781
+ @pulumi.getter(name="vpcId")
782
+ def vpc_id(self) -> pulumi.Output[str]:
783
+ """
784
+ The ID of the VPC instance.
785
+ """
786
+ return pulumi.get(self, "vpc_id")
787
+
788
+ @property
789
+ @pulumi.getter(name="vswitchAuto")
790
+ def vswitch_auto(self) -> pulumi.Output[Optional[str]]:
791
+ """
792
+ Whether to use switch automatic mode. Value: **true**: Use automatic mode: **false**: Use manual mode.
793
+ """
794
+ return pulumi.get(self, "vswitch_auto")
795
+
796
+ @property
797
+ @pulumi.getter(name="vswitchCidr")
798
+ def vswitch_cidr(self) -> pulumi.Output[Optional[str]]:
799
+ """
800
+ The network segment of the virtual switch. Required for Switch automatic mode.
801
+ """
802
+ return pulumi.get(self, "vswitch_cidr")
803
+
804
+ @property
805
+ @pulumi.getter(name="vswitchId")
806
+ def vswitch_id(self) -> pulumi.Output[Optional[str]]:
807
+ """
808
+ The switch ID. Required for switch manual mode.
809
+ """
810
+ return pulumi.get(self, "vswitch_id")
811
+