pulumi-alicloud 3.56.0a1717175543__py3-none-any.whl → 3.57.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_alicloud/__init__.py +72 -0
- pulumi_alicloud/cen/get_transit_router_available_resources.py +32 -11
- pulumi_alicloud/cen/outputs.py +23 -1
- pulumi_alicloud/cfg/remediation.py +10 -2
- pulumi_alicloud/clickhouse/db_cluster.py +47 -0
- pulumi_alicloud/cms/__init__.py +1 -0
- pulumi_alicloud/cms/_inputs.py +18 -18
- pulumi_alicloud/cms/alarm.py +38 -26
- pulumi_alicloud/cms/get_site_monitors.py +243 -0
- pulumi_alicloud/cms/outputs.py +92 -18
- pulumi_alicloud/cs/node_pool.py +7 -7
- pulumi_alicloud/ecs/_inputs.py +10 -14
- pulumi_alicloud/ecs/image_import.py +162 -100
- pulumi_alicloud/ecs/outputs.py +10 -14
- pulumi_alicloud/ecs/security_group_rule.py +2 -2
- pulumi_alicloud/eds/network_package.py +22 -8
- pulumi_alicloud/expressconnect/__init__.py +8 -0
- pulumi_alicloud/expressconnect/_inputs.py +40 -0
- pulumi_alicloud/expressconnect/outputs.py +51 -0
- pulumi_alicloud/expressconnect/router_express_connect_router.py +458 -0
- pulumi_alicloud/expressconnect/router_tr_association.py +578 -0
- pulumi_alicloud/expressconnect/router_vbr_child_instance.py +475 -0
- pulumi_alicloud/expressconnect/router_vpc_association.py +500 -0
- pulumi_alicloud/expressconnect/traffic_qos.py +284 -0
- pulumi_alicloud/expressconnect/traffic_qos_association.py +336 -0
- pulumi_alicloud/expressconnect/traffic_qos_queue.py +520 -0
- pulumi_alicloud/expressconnect/traffic_qos_rule.py +1174 -0
- pulumi_alicloud/gpdb/__init__.py +1 -0
- pulumi_alicloud/gpdb/db_resource_group.py +364 -0
- pulumi_alicloud/gpdb/instance.py +47 -0
- pulumi_alicloud/hbase/get_instance_types.py +2 -2
- pulumi_alicloud/mongodb/instance.py +7 -7
- pulumi_alicloud/oss/bucket_cors.py +8 -4
- pulumi_alicloud/oss/bucket_data_redundancy_transition.py +12 -4
- pulumi_alicloud/oss/bucket_public_access_block.py +12 -4
- pulumi_alicloud/ots/instance.py +7 -7
- pulumi_alicloud/ots/table.py +149 -8
- pulumi_alicloud/pulumi-plugin.json +1 -1
- pulumi_alicloud/sae/load_balancer_internet.py +4 -2
- pulumi_alicloud/sae/load_balancer_intranet.py +4 -2
- pulumi_alicloud/servicemesh/_inputs.py +0 -6
- pulumi_alicloud/servicemesh/outputs.py +0 -6
- pulumi_alicloud/servicemesh/service_mesh.py +2 -2
- pulumi_alicloud/simpleapplicationserver/snapshot.py +10 -2
- pulumi_alicloud/vpc/bgp_peer.py +36 -8
- pulumi_alicloud/vpc/network.py +0 -4
- pulumi_alicloud/vpn/connection.py +220 -0
- pulumi_alicloud/vpn/gateway_vpn_attachment.py +2 -2
- pulumi_alicloud/vpn/ipsec_server.py +20 -12
- pulumi_alicloud/vpn/pbr_route_entry.py +152 -16
- pulumi_alicloud/vpn/route_entry.py +158 -44
- {pulumi_alicloud-3.56.0a1717175543.dist-info → pulumi_alicloud-3.57.0.dist-info}/METADATA +1 -1
- {pulumi_alicloud-3.56.0a1717175543.dist-info → pulumi_alicloud-3.57.0.dist-info}/RECORD +55 -45
- {pulumi_alicloud-3.56.0a1717175543.dist-info → pulumi_alicloud-3.57.0.dist-info}/WHEEL +0 -0
- {pulumi_alicloud-3.56.0a1717175543.dist-info → pulumi_alicloud-3.57.0.dist-info}/top_level.txt +0 -0
|
@@ -127,11 +127,15 @@ class Snapshot(pulumi.CustomResource):
|
|
|
127
127
|
```python
|
|
128
128
|
import pulumi
|
|
129
129
|
import pulumi_alicloud as alicloud
|
|
130
|
+
import pulumi_random as random
|
|
130
131
|
|
|
131
132
|
config = pulumi.Config()
|
|
132
133
|
name = config.get("name")
|
|
133
134
|
if name is None:
|
|
134
135
|
name = "tf_example"
|
|
136
|
+
default_integer = random.index.Integer("default",
|
|
137
|
+
min=10000,
|
|
138
|
+
max=99999)
|
|
135
139
|
default = alicloud.simpleapplicationserver.get_images(platform="Linux")
|
|
136
140
|
default_get_server_plans = alicloud.simpleapplicationserver.get_server_plans(platform="Linux")
|
|
137
141
|
default_instance = alicloud.simpleapplicationserver.Instance("default",
|
|
@@ -144,7 +148,7 @@ class Snapshot(pulumi.CustomResource):
|
|
|
144
148
|
default_get_server_disks = alicloud.simpleapplicationserver.get_server_disks_output(instance_id=default_instance.id)
|
|
145
149
|
default_snapshot = alicloud.simpleapplicationserver.Snapshot("default",
|
|
146
150
|
disk_id=default_get_server_disks.ids[0],
|
|
147
|
-
snapshot_name=name)
|
|
151
|
+
snapshot_name=f"{name}-{default_integer['result']}")
|
|
148
152
|
```
|
|
149
153
|
|
|
150
154
|
## Import
|
|
@@ -180,11 +184,15 @@ class Snapshot(pulumi.CustomResource):
|
|
|
180
184
|
```python
|
|
181
185
|
import pulumi
|
|
182
186
|
import pulumi_alicloud as alicloud
|
|
187
|
+
import pulumi_random as random
|
|
183
188
|
|
|
184
189
|
config = pulumi.Config()
|
|
185
190
|
name = config.get("name")
|
|
186
191
|
if name is None:
|
|
187
192
|
name = "tf_example"
|
|
193
|
+
default_integer = random.index.Integer("default",
|
|
194
|
+
min=10000,
|
|
195
|
+
max=99999)
|
|
188
196
|
default = alicloud.simpleapplicationserver.get_images(platform="Linux")
|
|
189
197
|
default_get_server_plans = alicloud.simpleapplicationserver.get_server_plans(platform="Linux")
|
|
190
198
|
default_instance = alicloud.simpleapplicationserver.Instance("default",
|
|
@@ -197,7 +205,7 @@ class Snapshot(pulumi.CustomResource):
|
|
|
197
205
|
default_get_server_disks = alicloud.simpleapplicationserver.get_server_disks_output(instance_id=default_instance.id)
|
|
198
206
|
default_snapshot = alicloud.simpleapplicationserver.Snapshot("default",
|
|
199
207
|
disk_id=default_get_server_disks.ids[0],
|
|
200
|
-
snapshot_name=name)
|
|
208
|
+
snapshot_name=f"{name}-{default_integer['result']}")
|
|
201
209
|
```
|
|
202
210
|
|
|
203
211
|
## Import
|
pulumi_alicloud/vpc/bgp_peer.py
CHANGED
|
@@ -103,6 +103,7 @@ class _BgpPeerState:
|
|
|
103
103
|
def __init__(__self__, *,
|
|
104
104
|
bfd_multi_hop: Optional[pulumi.Input[int]] = None,
|
|
105
105
|
bgp_group_id: Optional[pulumi.Input[str]] = None,
|
|
106
|
+
bgp_peer_name: Optional[pulumi.Input[str]] = None,
|
|
106
107
|
enable_bfd: Optional[pulumi.Input[bool]] = None,
|
|
107
108
|
ip_version: Optional[pulumi.Input[str]] = None,
|
|
108
109
|
peer_ip_address: Optional[pulumi.Input[str]] = None,
|
|
@@ -111,15 +112,18 @@ class _BgpPeerState:
|
|
|
111
112
|
Input properties used for looking up and filtering BgpPeer resources.
|
|
112
113
|
:param pulumi.Input[int] bfd_multi_hop: The BFD hop count. Valid values: `1` to `255`. **NOTE:** The attribute is valid when the attribute `enable_bfd` is `true`. The parameter specifies the maximum number of network devices that a packet can traverse from the source to the destination. You can set a proper value based on the factors that affect the physical connection.
|
|
113
114
|
:param pulumi.Input[str] bgp_group_id: The ID of the BGP group.
|
|
115
|
+
:param pulumi.Input[str] bgp_peer_name: The name of the BGP neighbor.
|
|
114
116
|
:param pulumi.Input[bool] enable_bfd: Specifies whether to enable the Bidirectional Forwarding Detection (BFD) feature.
|
|
115
117
|
:param pulumi.Input[str] ip_version: The IP version.
|
|
116
118
|
:param pulumi.Input[str] peer_ip_address: The IP address of the BGP peer.
|
|
117
|
-
:param pulumi.Input[str] status:
|
|
119
|
+
:param pulumi.Input[str] status: Status of BGP neighbors.
|
|
118
120
|
"""
|
|
119
121
|
if bfd_multi_hop is not None:
|
|
120
122
|
pulumi.set(__self__, "bfd_multi_hop", bfd_multi_hop)
|
|
121
123
|
if bgp_group_id is not None:
|
|
122
124
|
pulumi.set(__self__, "bgp_group_id", bgp_group_id)
|
|
125
|
+
if bgp_peer_name is not None:
|
|
126
|
+
pulumi.set(__self__, "bgp_peer_name", bgp_peer_name)
|
|
123
127
|
if enable_bfd is not None:
|
|
124
128
|
pulumi.set(__self__, "enable_bfd", enable_bfd)
|
|
125
129
|
if ip_version is not None:
|
|
@@ -153,6 +157,18 @@ class _BgpPeerState:
|
|
|
153
157
|
def bgp_group_id(self, value: Optional[pulumi.Input[str]]):
|
|
154
158
|
pulumi.set(self, "bgp_group_id", value)
|
|
155
159
|
|
|
160
|
+
@property
|
|
161
|
+
@pulumi.getter(name="bgpPeerName")
|
|
162
|
+
def bgp_peer_name(self) -> Optional[pulumi.Input[str]]:
|
|
163
|
+
"""
|
|
164
|
+
The name of the BGP neighbor.
|
|
165
|
+
"""
|
|
166
|
+
return pulumi.get(self, "bgp_peer_name")
|
|
167
|
+
|
|
168
|
+
@bgp_peer_name.setter
|
|
169
|
+
def bgp_peer_name(self, value: Optional[pulumi.Input[str]]):
|
|
170
|
+
pulumi.set(self, "bgp_peer_name", value)
|
|
171
|
+
|
|
156
172
|
@property
|
|
157
173
|
@pulumi.getter(name="enableBfd")
|
|
158
174
|
def enable_bfd(self) -> Optional[pulumi.Input[bool]]:
|
|
@@ -193,7 +209,7 @@ class _BgpPeerState:
|
|
|
193
209
|
@pulumi.getter
|
|
194
210
|
def status(self) -> Optional[pulumi.Input[str]]:
|
|
195
211
|
"""
|
|
196
|
-
|
|
212
|
+
Status of BGP neighbors.
|
|
197
213
|
"""
|
|
198
214
|
return pulumi.get(self, "status")
|
|
199
215
|
|
|
@@ -214,7 +230,7 @@ class BgpPeer(pulumi.CustomResource):
|
|
|
214
230
|
peer_ip_address: Optional[pulumi.Input[str]] = None,
|
|
215
231
|
__props__=None):
|
|
216
232
|
"""
|
|
217
|
-
Provides a
|
|
233
|
+
Provides a Express Connect Bgp Peer resource.
|
|
218
234
|
|
|
219
235
|
For information about VPC Bgp Peer and how to use it, see [What is Bgp Peer](https://www.alibabacloud.com/help/en/doc-detail/91267.html).
|
|
220
236
|
|
|
@@ -264,7 +280,7 @@ class BgpPeer(pulumi.CustomResource):
|
|
|
264
280
|
|
|
265
281
|
## Import
|
|
266
282
|
|
|
267
|
-
|
|
283
|
+
Express Connect Bgp Peer can be imported using the id, e.g.
|
|
268
284
|
|
|
269
285
|
```sh
|
|
270
286
|
$ pulumi import alicloud:vpc/bgpPeer:BgpPeer example <id>
|
|
@@ -285,7 +301,7 @@ class BgpPeer(pulumi.CustomResource):
|
|
|
285
301
|
args: BgpPeerArgs,
|
|
286
302
|
opts: Optional[pulumi.ResourceOptions] = None):
|
|
287
303
|
"""
|
|
288
|
-
Provides a
|
|
304
|
+
Provides a Express Connect Bgp Peer resource.
|
|
289
305
|
|
|
290
306
|
For information about VPC Bgp Peer and how to use it, see [What is Bgp Peer](https://www.alibabacloud.com/help/en/doc-detail/91267.html).
|
|
291
307
|
|
|
@@ -335,7 +351,7 @@ class BgpPeer(pulumi.CustomResource):
|
|
|
335
351
|
|
|
336
352
|
## Import
|
|
337
353
|
|
|
338
|
-
|
|
354
|
+
Express Connect Bgp Peer can be imported using the id, e.g.
|
|
339
355
|
|
|
340
356
|
```sh
|
|
341
357
|
$ pulumi import alicloud:vpc/bgpPeer:BgpPeer example <id>
|
|
@@ -377,6 +393,7 @@ class BgpPeer(pulumi.CustomResource):
|
|
|
377
393
|
__props__.__dict__["enable_bfd"] = enable_bfd
|
|
378
394
|
__props__.__dict__["ip_version"] = ip_version
|
|
379
395
|
__props__.__dict__["peer_ip_address"] = peer_ip_address
|
|
396
|
+
__props__.__dict__["bgp_peer_name"] = None
|
|
380
397
|
__props__.__dict__["status"] = None
|
|
381
398
|
super(BgpPeer, __self__).__init__(
|
|
382
399
|
'alicloud:vpc/bgpPeer:BgpPeer',
|
|
@@ -390,6 +407,7 @@ class BgpPeer(pulumi.CustomResource):
|
|
|
390
407
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
391
408
|
bfd_multi_hop: Optional[pulumi.Input[int]] = None,
|
|
392
409
|
bgp_group_id: Optional[pulumi.Input[str]] = None,
|
|
410
|
+
bgp_peer_name: Optional[pulumi.Input[str]] = None,
|
|
393
411
|
enable_bfd: Optional[pulumi.Input[bool]] = None,
|
|
394
412
|
ip_version: Optional[pulumi.Input[str]] = None,
|
|
395
413
|
peer_ip_address: Optional[pulumi.Input[str]] = None,
|
|
@@ -403,10 +421,11 @@ class BgpPeer(pulumi.CustomResource):
|
|
|
403
421
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
404
422
|
:param pulumi.Input[int] bfd_multi_hop: The BFD hop count. Valid values: `1` to `255`. **NOTE:** The attribute is valid when the attribute `enable_bfd` is `true`. The parameter specifies the maximum number of network devices that a packet can traverse from the source to the destination. You can set a proper value based on the factors that affect the physical connection.
|
|
405
423
|
:param pulumi.Input[str] bgp_group_id: The ID of the BGP group.
|
|
424
|
+
:param pulumi.Input[str] bgp_peer_name: The name of the BGP neighbor.
|
|
406
425
|
:param pulumi.Input[bool] enable_bfd: Specifies whether to enable the Bidirectional Forwarding Detection (BFD) feature.
|
|
407
426
|
:param pulumi.Input[str] ip_version: The IP version.
|
|
408
427
|
:param pulumi.Input[str] peer_ip_address: The IP address of the BGP peer.
|
|
409
|
-
:param pulumi.Input[str] status:
|
|
428
|
+
:param pulumi.Input[str] status: Status of BGP neighbors.
|
|
410
429
|
"""
|
|
411
430
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
412
431
|
|
|
@@ -414,6 +433,7 @@ class BgpPeer(pulumi.CustomResource):
|
|
|
414
433
|
|
|
415
434
|
__props__.__dict__["bfd_multi_hop"] = bfd_multi_hop
|
|
416
435
|
__props__.__dict__["bgp_group_id"] = bgp_group_id
|
|
436
|
+
__props__.__dict__["bgp_peer_name"] = bgp_peer_name
|
|
417
437
|
__props__.__dict__["enable_bfd"] = enable_bfd
|
|
418
438
|
__props__.__dict__["ip_version"] = ip_version
|
|
419
439
|
__props__.__dict__["peer_ip_address"] = peer_ip_address
|
|
@@ -436,6 +456,14 @@ class BgpPeer(pulumi.CustomResource):
|
|
|
436
456
|
"""
|
|
437
457
|
return pulumi.get(self, "bgp_group_id")
|
|
438
458
|
|
|
459
|
+
@property
|
|
460
|
+
@pulumi.getter(name="bgpPeerName")
|
|
461
|
+
def bgp_peer_name(self) -> pulumi.Output[str]:
|
|
462
|
+
"""
|
|
463
|
+
The name of the BGP neighbor.
|
|
464
|
+
"""
|
|
465
|
+
return pulumi.get(self, "bgp_peer_name")
|
|
466
|
+
|
|
439
467
|
@property
|
|
440
468
|
@pulumi.getter(name="enableBfd")
|
|
441
469
|
def enable_bfd(self) -> pulumi.Output[Optional[bool]]:
|
|
@@ -464,7 +492,7 @@ class BgpPeer(pulumi.CustomResource):
|
|
|
464
492
|
@pulumi.getter
|
|
465
493
|
def status(self) -> pulumi.Output[str]:
|
|
466
494
|
"""
|
|
467
|
-
|
|
495
|
+
Status of BGP neighbors.
|
|
468
496
|
"""
|
|
469
497
|
return pulumi.get(self, "status")
|
|
470
498
|
|
pulumi_alicloud/vpc/network.py
CHANGED
|
@@ -649,8 +649,6 @@ class Network(pulumi.CustomResource):
|
|
|
649
649
|
|
|
650
650
|
> **NOTE:** This resource will auto build a router and a route table while it uses `vpc.Network` to build a vpc resource.
|
|
651
651
|
|
|
652
|
-
> **NOTE:** Currently, the IPv4 / IPv6 dual-stack VPC function is under public testing. Only the following regions support IPv4 / IPv6 dual-stack VPC: `cn-hangzhou`, `cn-shanghai`, `cn-shenzhen`, `cn-beijing`, `cn-huhehaote`, `cn-hongkong` and `ap-southeast-1`, and need to apply for public beta qualification. To use, please [submit an application](https://www.alibabacloud.com/help/en/vpc/getting-started/create-a-vpc-with-an-ipv6-cidr-block).
|
|
653
|
-
|
|
654
652
|
## Module Support
|
|
655
653
|
|
|
656
654
|
You can use the existing vpc module
|
|
@@ -725,8 +723,6 @@ class Network(pulumi.CustomResource):
|
|
|
725
723
|
|
|
726
724
|
> **NOTE:** This resource will auto build a router and a route table while it uses `vpc.Network` to build a vpc resource.
|
|
727
725
|
|
|
728
|
-
> **NOTE:** Currently, the IPv4 / IPv6 dual-stack VPC function is under public testing. Only the following regions support IPv4 / IPv6 dual-stack VPC: `cn-hangzhou`, `cn-shanghai`, `cn-shenzhen`, `cn-beijing`, `cn-huhehaote`, `cn-hongkong` and `ap-southeast-1`, and need to apply for public beta qualification. To use, please [submit an application](https://www.alibabacloud.com/help/en/vpc/getting-started/create-a-vpc-with-an-ipv6-cidr-block).
|
|
729
|
-
|
|
730
726
|
## Module Support
|
|
731
727
|
|
|
732
728
|
You can use the existing vpc module
|
|
@@ -715,6 +715,116 @@ class Connection(pulumi.CustomResource):
|
|
|
715
715
|
|
|
716
716
|
Basic Usage
|
|
717
717
|
|
|
718
|
+
[IPsec-VPN connections support the dual-tunnel mode](https://www.alibabacloud.com/help/en/vpn/product-overview/ipsec-vpn-connections-support-the-dual-tunnel-mode)
|
|
719
|
+
|
|
720
|
+
```python
|
|
721
|
+
import pulumi
|
|
722
|
+
import pulumi_alicloud as alicloud
|
|
723
|
+
|
|
724
|
+
config = pulumi.Config()
|
|
725
|
+
name = config.get("name")
|
|
726
|
+
if name is None:
|
|
727
|
+
name = "terraform-example"
|
|
728
|
+
spec = config.get("spec")
|
|
729
|
+
if spec is None:
|
|
730
|
+
spec = "5"
|
|
731
|
+
default = alicloud.vpn.get_gateway_zones(spec="5M")
|
|
732
|
+
default_get_networks = alicloud.vpc.get_networks(name_regex="^default-NODELETING$",
|
|
733
|
+
cidr_block="172.16.0.0/16")
|
|
734
|
+
default0 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],
|
|
735
|
+
zone_id=default.ids[0])
|
|
736
|
+
default1 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],
|
|
737
|
+
zone_id=default.ids[1])
|
|
738
|
+
h_a__vpn = alicloud.vpn.Gateway("HA-VPN",
|
|
739
|
+
vpn_type="Normal",
|
|
740
|
+
disaster_recovery_vswitch_id=default1.ids[0],
|
|
741
|
+
vpn_gateway_name=name,
|
|
742
|
+
vswitch_id=default0.ids[0],
|
|
743
|
+
auto_pay=True,
|
|
744
|
+
vpc_id=default_get_networks.ids[0],
|
|
745
|
+
network_type="public",
|
|
746
|
+
payment_type="Subscription",
|
|
747
|
+
enable_ipsec=True,
|
|
748
|
+
bandwidth=spec)
|
|
749
|
+
default_customer_gateway = alicloud.vpn.CustomerGateway("defaultCustomerGateway",
|
|
750
|
+
description="defaultCustomerGateway",
|
|
751
|
+
ip_address="2.2.2.5",
|
|
752
|
+
asn="2224",
|
|
753
|
+
customer_gateway_name=name)
|
|
754
|
+
change_customer_gateway = alicloud.vpn.CustomerGateway("changeCustomerGateway",
|
|
755
|
+
description="changeCustomerGateway",
|
|
756
|
+
ip_address="2.2.2.6",
|
|
757
|
+
asn="2225",
|
|
758
|
+
customer_gateway_name=name)
|
|
759
|
+
default_connection = alicloud.vpn.Connection("default",
|
|
760
|
+
vpn_gateway_id=h_a__vpn.id,
|
|
761
|
+
vpn_connection_name=name,
|
|
762
|
+
local_subnets=["3.0.0.0/24"],
|
|
763
|
+
remote_subnets=[
|
|
764
|
+
"10.0.0.0/24",
|
|
765
|
+
"10.0.1.0/24",
|
|
766
|
+
],
|
|
767
|
+
tags={
|
|
768
|
+
"Created": "TF",
|
|
769
|
+
"For": "example",
|
|
770
|
+
},
|
|
771
|
+
enable_tunnels_bgp=True,
|
|
772
|
+
tunnel_options_specifications=[
|
|
773
|
+
alicloud.vpn.ConnectionTunnelOptionsSpecificationArgs(
|
|
774
|
+
tunnel_ipsec_config=alicloud.vpn.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs(
|
|
775
|
+
ipsec_auth_alg="md5",
|
|
776
|
+
ipsec_enc_alg="aes256",
|
|
777
|
+
ipsec_lifetime=16400,
|
|
778
|
+
ipsec_pfs="group5",
|
|
779
|
+
),
|
|
780
|
+
customer_gateway_id=default_customer_gateway.id,
|
|
781
|
+
role="master",
|
|
782
|
+
tunnel_bgp_config=alicloud.vpn.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs(
|
|
783
|
+
local_asn="1219002",
|
|
784
|
+
tunnel_cidr="169.254.30.0/30",
|
|
785
|
+
local_bgp_ip="169.254.30.1",
|
|
786
|
+
),
|
|
787
|
+
tunnel_ike_config=alicloud.vpn.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs(
|
|
788
|
+
ike_mode="aggressive",
|
|
789
|
+
ike_version="ikev2",
|
|
790
|
+
local_id="localid_tunnel2",
|
|
791
|
+
psk="12345678",
|
|
792
|
+
remote_id="remote2",
|
|
793
|
+
ike_auth_alg="md5",
|
|
794
|
+
ike_enc_alg="aes256",
|
|
795
|
+
ike_lifetime=3600,
|
|
796
|
+
ike_pfs="group14",
|
|
797
|
+
),
|
|
798
|
+
),
|
|
799
|
+
alicloud.vpn.ConnectionTunnelOptionsSpecificationArgs(
|
|
800
|
+
tunnel_ike_config=alicloud.vpn.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs(
|
|
801
|
+
remote_id="remote24",
|
|
802
|
+
ike_enc_alg="aes256",
|
|
803
|
+
ike_lifetime=27000,
|
|
804
|
+
ike_mode="aggressive",
|
|
805
|
+
ike_pfs="group5",
|
|
806
|
+
ike_auth_alg="md5",
|
|
807
|
+
ike_version="ikev2",
|
|
808
|
+
local_id="localid_tunnel2",
|
|
809
|
+
psk="12345678",
|
|
810
|
+
),
|
|
811
|
+
tunnel_ipsec_config=alicloud.vpn.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs(
|
|
812
|
+
ipsec_lifetime=2700,
|
|
813
|
+
ipsec_pfs="group14",
|
|
814
|
+
ipsec_auth_alg="md5",
|
|
815
|
+
ipsec_enc_alg="aes256",
|
|
816
|
+
),
|
|
817
|
+
customer_gateway_id=default_customer_gateway.id,
|
|
818
|
+
role="slave",
|
|
819
|
+
tunnel_bgp_config=alicloud.vpn.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs(
|
|
820
|
+
local_asn="1219002",
|
|
821
|
+
local_bgp_ip="169.254.40.1",
|
|
822
|
+
tunnel_cidr="169.254.40.0/30",
|
|
823
|
+
),
|
|
824
|
+
),
|
|
825
|
+
])
|
|
826
|
+
```
|
|
827
|
+
|
|
718
828
|
## Import
|
|
719
829
|
|
|
720
830
|
VPN connection can be imported using the id, e.g.
|
|
@@ -761,6 +871,116 @@ class Connection(pulumi.CustomResource):
|
|
|
761
871
|
|
|
762
872
|
Basic Usage
|
|
763
873
|
|
|
874
|
+
[IPsec-VPN connections support the dual-tunnel mode](https://www.alibabacloud.com/help/en/vpn/product-overview/ipsec-vpn-connections-support-the-dual-tunnel-mode)
|
|
875
|
+
|
|
876
|
+
```python
|
|
877
|
+
import pulumi
|
|
878
|
+
import pulumi_alicloud as alicloud
|
|
879
|
+
|
|
880
|
+
config = pulumi.Config()
|
|
881
|
+
name = config.get("name")
|
|
882
|
+
if name is None:
|
|
883
|
+
name = "terraform-example"
|
|
884
|
+
spec = config.get("spec")
|
|
885
|
+
if spec is None:
|
|
886
|
+
spec = "5"
|
|
887
|
+
default = alicloud.vpn.get_gateway_zones(spec="5M")
|
|
888
|
+
default_get_networks = alicloud.vpc.get_networks(name_regex="^default-NODELETING$",
|
|
889
|
+
cidr_block="172.16.0.0/16")
|
|
890
|
+
default0 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],
|
|
891
|
+
zone_id=default.ids[0])
|
|
892
|
+
default1 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],
|
|
893
|
+
zone_id=default.ids[1])
|
|
894
|
+
h_a__vpn = alicloud.vpn.Gateway("HA-VPN",
|
|
895
|
+
vpn_type="Normal",
|
|
896
|
+
disaster_recovery_vswitch_id=default1.ids[0],
|
|
897
|
+
vpn_gateway_name=name,
|
|
898
|
+
vswitch_id=default0.ids[0],
|
|
899
|
+
auto_pay=True,
|
|
900
|
+
vpc_id=default_get_networks.ids[0],
|
|
901
|
+
network_type="public",
|
|
902
|
+
payment_type="Subscription",
|
|
903
|
+
enable_ipsec=True,
|
|
904
|
+
bandwidth=spec)
|
|
905
|
+
default_customer_gateway = alicloud.vpn.CustomerGateway("defaultCustomerGateway",
|
|
906
|
+
description="defaultCustomerGateway",
|
|
907
|
+
ip_address="2.2.2.5",
|
|
908
|
+
asn="2224",
|
|
909
|
+
customer_gateway_name=name)
|
|
910
|
+
change_customer_gateway = alicloud.vpn.CustomerGateway("changeCustomerGateway",
|
|
911
|
+
description="changeCustomerGateway",
|
|
912
|
+
ip_address="2.2.2.6",
|
|
913
|
+
asn="2225",
|
|
914
|
+
customer_gateway_name=name)
|
|
915
|
+
default_connection = alicloud.vpn.Connection("default",
|
|
916
|
+
vpn_gateway_id=h_a__vpn.id,
|
|
917
|
+
vpn_connection_name=name,
|
|
918
|
+
local_subnets=["3.0.0.0/24"],
|
|
919
|
+
remote_subnets=[
|
|
920
|
+
"10.0.0.0/24",
|
|
921
|
+
"10.0.1.0/24",
|
|
922
|
+
],
|
|
923
|
+
tags={
|
|
924
|
+
"Created": "TF",
|
|
925
|
+
"For": "example",
|
|
926
|
+
},
|
|
927
|
+
enable_tunnels_bgp=True,
|
|
928
|
+
tunnel_options_specifications=[
|
|
929
|
+
alicloud.vpn.ConnectionTunnelOptionsSpecificationArgs(
|
|
930
|
+
tunnel_ipsec_config=alicloud.vpn.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs(
|
|
931
|
+
ipsec_auth_alg="md5",
|
|
932
|
+
ipsec_enc_alg="aes256",
|
|
933
|
+
ipsec_lifetime=16400,
|
|
934
|
+
ipsec_pfs="group5",
|
|
935
|
+
),
|
|
936
|
+
customer_gateway_id=default_customer_gateway.id,
|
|
937
|
+
role="master",
|
|
938
|
+
tunnel_bgp_config=alicloud.vpn.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs(
|
|
939
|
+
local_asn="1219002",
|
|
940
|
+
tunnel_cidr="169.254.30.0/30",
|
|
941
|
+
local_bgp_ip="169.254.30.1",
|
|
942
|
+
),
|
|
943
|
+
tunnel_ike_config=alicloud.vpn.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs(
|
|
944
|
+
ike_mode="aggressive",
|
|
945
|
+
ike_version="ikev2",
|
|
946
|
+
local_id="localid_tunnel2",
|
|
947
|
+
psk="12345678",
|
|
948
|
+
remote_id="remote2",
|
|
949
|
+
ike_auth_alg="md5",
|
|
950
|
+
ike_enc_alg="aes256",
|
|
951
|
+
ike_lifetime=3600,
|
|
952
|
+
ike_pfs="group14",
|
|
953
|
+
),
|
|
954
|
+
),
|
|
955
|
+
alicloud.vpn.ConnectionTunnelOptionsSpecificationArgs(
|
|
956
|
+
tunnel_ike_config=alicloud.vpn.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs(
|
|
957
|
+
remote_id="remote24",
|
|
958
|
+
ike_enc_alg="aes256",
|
|
959
|
+
ike_lifetime=27000,
|
|
960
|
+
ike_mode="aggressive",
|
|
961
|
+
ike_pfs="group5",
|
|
962
|
+
ike_auth_alg="md5",
|
|
963
|
+
ike_version="ikev2",
|
|
964
|
+
local_id="localid_tunnel2",
|
|
965
|
+
psk="12345678",
|
|
966
|
+
),
|
|
967
|
+
tunnel_ipsec_config=alicloud.vpn.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs(
|
|
968
|
+
ipsec_lifetime=2700,
|
|
969
|
+
ipsec_pfs="group14",
|
|
970
|
+
ipsec_auth_alg="md5",
|
|
971
|
+
ipsec_enc_alg="aes256",
|
|
972
|
+
),
|
|
973
|
+
customer_gateway_id=default_customer_gateway.id,
|
|
974
|
+
role="slave",
|
|
975
|
+
tunnel_bgp_config=alicloud.vpn.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs(
|
|
976
|
+
local_asn="1219002",
|
|
977
|
+
local_bgp_ip="169.254.40.1",
|
|
978
|
+
tunnel_cidr="169.254.40.0/30",
|
|
979
|
+
),
|
|
980
|
+
),
|
|
981
|
+
])
|
|
982
|
+
```
|
|
983
|
+
|
|
764
984
|
## Import
|
|
765
985
|
|
|
766
986
|
VPN connection can be imported using the id, e.g.
|
|
@@ -480,7 +480,7 @@ class GatewayVpnAttachment(pulumi.CustomResource):
|
|
|
480
480
|
if name is None:
|
|
481
481
|
name = "tf-example"
|
|
482
482
|
default = alicloud.vpn.CustomerGateway("default",
|
|
483
|
-
|
|
483
|
+
customer_gateway_name=name,
|
|
484
484
|
ip_address="42.104.22.210",
|
|
485
485
|
asn="45014",
|
|
486
486
|
description=name)
|
|
@@ -575,7 +575,7 @@ class GatewayVpnAttachment(pulumi.CustomResource):
|
|
|
575
575
|
if name is None:
|
|
576
576
|
name = "tf-example"
|
|
577
577
|
default = alicloud.vpn.CustomerGateway("default",
|
|
578
|
-
|
|
578
|
+
customer_gateway_name=name,
|
|
579
579
|
ip_address="42.104.22.210",
|
|
580
580
|
asn="45014",
|
|
581
581
|
description=name)
|
|
@@ -380,19 +380,23 @@ class IpsecServer(pulumi.CustomResource):
|
|
|
380
380
|
config = pulumi.Config()
|
|
381
381
|
name = config.get("name")
|
|
382
382
|
if name is None:
|
|
383
|
-
name = "
|
|
383
|
+
name = "terraform-example"
|
|
384
384
|
default = alicloud.get_zones(available_resource_creation="VSwitch")
|
|
385
|
-
default_get_networks = alicloud.vpc.get_networks(name_regex="^default-NODELETING$"
|
|
386
|
-
|
|
385
|
+
default_get_networks = alicloud.vpc.get_networks(name_regex="^default-NODELETING$",
|
|
386
|
+
cidr_block="172.16.0.0/16")
|
|
387
|
+
default0 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],
|
|
387
388
|
zone_id=default.ids[0])
|
|
389
|
+
default1 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],
|
|
390
|
+
zone_id=default.ids[1])
|
|
388
391
|
default_gateway = alicloud.vpn.Gateway("default",
|
|
389
|
-
|
|
392
|
+
vpn_gateway_name=name,
|
|
390
393
|
vpc_id=default_get_networks.ids[0],
|
|
391
394
|
bandwidth=10,
|
|
392
395
|
enable_ssl=True,
|
|
393
396
|
description=name,
|
|
394
|
-
|
|
395
|
-
vswitch_id=
|
|
397
|
+
payment_type="Subscription",
|
|
398
|
+
vswitch_id=default0.ids[0],
|
|
399
|
+
disaster_recovery_vswitch_id=default1.ids[0])
|
|
396
400
|
foo = alicloud.vpn.IpsecServer("foo",
|
|
397
401
|
client_ip_pool="10.0.0.0/24",
|
|
398
402
|
ipsec_server_name=name,
|
|
@@ -446,19 +450,23 @@ class IpsecServer(pulumi.CustomResource):
|
|
|
446
450
|
config = pulumi.Config()
|
|
447
451
|
name = config.get("name")
|
|
448
452
|
if name is None:
|
|
449
|
-
name = "
|
|
453
|
+
name = "terraform-example"
|
|
450
454
|
default = alicloud.get_zones(available_resource_creation="VSwitch")
|
|
451
|
-
default_get_networks = alicloud.vpc.get_networks(name_regex="^default-NODELETING$"
|
|
452
|
-
|
|
455
|
+
default_get_networks = alicloud.vpc.get_networks(name_regex="^default-NODELETING$",
|
|
456
|
+
cidr_block="172.16.0.0/16")
|
|
457
|
+
default0 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],
|
|
453
458
|
zone_id=default.ids[0])
|
|
459
|
+
default1 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],
|
|
460
|
+
zone_id=default.ids[1])
|
|
454
461
|
default_gateway = alicloud.vpn.Gateway("default",
|
|
455
|
-
|
|
462
|
+
vpn_gateway_name=name,
|
|
456
463
|
vpc_id=default_get_networks.ids[0],
|
|
457
464
|
bandwidth=10,
|
|
458
465
|
enable_ssl=True,
|
|
459
466
|
description=name,
|
|
460
|
-
|
|
461
|
-
vswitch_id=
|
|
467
|
+
payment_type="Subscription",
|
|
468
|
+
vswitch_id=default0.ids[0],
|
|
469
|
+
disaster_recovery_vswitch_id=default1.ids[0])
|
|
462
470
|
foo = alicloud.vpn.IpsecServer("foo",
|
|
463
471
|
client_ip_pool="10.0.0.0/24",
|
|
464
472
|
ipsec_server_name=name,
|