pulumi-alicloud 3.76.0a1743571220__py3-none-any.whl → 3.76.0a1744139894__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.
- pulumi_alicloud/__init__.py +271 -4
- pulumi_alicloud/_inputs.py +20 -0
- pulumi_alicloud/actiontrail/global_events_storage_region.py +2 -2
- pulumi_alicloud/adb/db_cluster_lake_version.py +458 -49
- pulumi_alicloud/alb/load_balancer_access_log_config_attachment.py +2 -2
- pulumi_alicloud/alb/server_group.py +2 -2
- pulumi_alicloud/alikafka/sasl_acl.py +7 -7
- pulumi_alicloud/apigateway/_inputs.py +134 -0
- pulumi_alicloud/apigateway/group.py +117 -5
- pulumi_alicloud/apigateway/instance.py +148 -7
- pulumi_alicloud/apigateway/outputs.py +107 -0
- pulumi_alicloud/arms/alert_contact.py +2 -2
- pulumi_alicloud/arms/alert_contact_group.py +2 -2
- pulumi_alicloud/arms/get_prometheus.py +2 -6
- pulumi_alicloud/arms/grafana_workspace.py +511 -69
- pulumi_alicloud/arms/outputs.py +18 -18
- pulumi_alicloud/arms/prometheus_alert_rule.py +2 -2
- pulumi_alicloud/arms/prometheus_monitoring.py +2 -2
- pulumi_alicloud/cdn/domain_new.py +2 -2
- pulumi_alicloud/cen/_inputs.py +6 -3
- pulumi_alicloud/cen/get_transit_router_vpn_attachments.py +131 -19
- pulumi_alicloud/cen/instance.py +101 -59
- pulumi_alicloud/cen/inter_region_traffic_qos_policy.py +126 -81
- pulumi_alicloud/cen/inter_region_traffic_qos_queue.py +93 -47
- pulumi_alicloud/cen/outputs.py +69 -26
- pulumi_alicloud/cen/transit_route_table_aggregation.py +171 -55
- pulumi_alicloud/cen/transit_router.py +127 -53
- pulumi_alicloud/cen/transit_router_cidr.py +53 -35
- pulumi_alicloud/cen/transit_router_ecr_attachment.py +2 -2
- pulumi_alicloud/cen/transit_router_peer_attachment.py +360 -143
- pulumi_alicloud/cen/transit_router_route_table_association.py +33 -43
- pulumi_alicloud/cen/transit_router_vpn_attachment.py +438 -109
- pulumi_alicloud/clickhouse/db_cluster.py +179 -6
- pulumi_alicloud/clickhouseenterprisedbcluster/__init__.py +14 -0
- pulumi_alicloud/clickhouseenterprisedbcluster/_inputs.py +167 -0
- pulumi_alicloud/clickhouseenterprisedbcluster/account.py +554 -0
- pulumi_alicloud/clickhouseenterprisedbcluster/backup_policy.py +407 -0
- pulumi_alicloud/clickhouseenterprisedbcluster/click_house_enterprise_db_cluster.py +641 -0
- pulumi_alicloud/clickhouseenterprisedbcluster/outputs.py +147 -0
- pulumi_alicloud/clickhouseenterprisedbcluster/public_endpoint.py +364 -0
- pulumi_alicloud/clickhouseenterprisedbcluster/security_ip.py +357 -0
- pulumi_alicloud/cloudsso/scim_server_credential.py +178 -11
- pulumi_alicloud/config/outputs.py +12 -0
- pulumi_alicloud/cs/__init__.py +1 -0
- pulumi_alicloud/cs/get_kubernetes_node_pools.py +147 -0
- pulumi_alicloud/cs/managed_kubernetes.py +127 -24
- pulumi_alicloud/cs/node_pool.py +42 -42
- pulumi_alicloud/cs/outputs.py +1782 -4
- pulumi_alicloud/databasefilesystem/service_linked_role.py +2 -2
- pulumi_alicloud/dataworks/data_source.py +2 -2
- pulumi_alicloud/dataworks/data_source_shared_rule.py +2 -2
- pulumi_alicloud/dataworks/di_alarm_rule.py +2 -2
- pulumi_alicloud/dataworks/di_job.py +2 -2
- pulumi_alicloud/dataworks/dw_resource_group.py +2 -2
- pulumi_alicloud/dataworks/network.py +2 -2
- pulumi_alicloud/dataworks/project.py +2 -2
- pulumi_alicloud/dataworks/project_member.py +2 -2
- pulumi_alicloud/dbs/backup_plan.py +2 -2
- pulumi_alicloud/ddos/bgp_policy.py +2 -2
- pulumi_alicloud/eais/__init__.py +2 -0
- pulumi_alicloud/eais/_inputs.py +75 -0
- pulumi_alicloud/eais/client_instance_attachment.py +408 -0
- pulumi_alicloud/eais/instance.py +365 -118
- pulumi_alicloud/eais/outputs.py +32 -0
- pulumi_alicloud/ebs/disk_replica_group.py +512 -30
- pulumi_alicloud/ebs/disk_replica_pair.py +443 -113
- pulumi_alicloud/ebs/enterprise_snapshot_policy.py +2 -2
- pulumi_alicloud/ebs/enterprise_snapshot_policy_attachment.py +2 -2
- pulumi_alicloud/ecp/instance.py +2 -2
- pulumi_alicloud/ecp/key_pair.py +4 -4
- pulumi_alicloud/ecs/_inputs.py +33 -0
- pulumi_alicloud/ecs/disk.py +1 -1
- pulumi_alicloud/ecs/ecs_disk.py +1 -1
- pulumi_alicloud/ecs/ecs_launch_template.py +23 -23
- pulumi_alicloud/ecs/instance.py +1 -1
- pulumi_alicloud/ecs/outputs.py +26 -2
- pulumi_alicloud/eflo/__init__.py +5 -0
- pulumi_alicloud/eflo/_inputs.py +1717 -0
- pulumi_alicloud/eflo/cluster.py +935 -0
- pulumi_alicloud/eflo/invocation.py +1114 -0
- pulumi_alicloud/eflo/node.py +1013 -0
- pulumi_alicloud/eflo/node_group.py +1101 -0
- pulumi_alicloud/eflo/outputs.py +1366 -0
- pulumi_alicloud/ens/eip_instance_attachment.py +2 -2
- pulumi_alicloud/ens/image.py +81 -34
- pulumi_alicloud/esa/__init__.py +4 -0
- pulumi_alicloud/esa/_inputs.py +640 -18
- pulumi_alicloud/esa/cache_reserve_instance.py +522 -0
- pulumi_alicloud/esa/cache_rule.py +193 -179
- pulumi_alicloud/esa/certificate.py +99 -92
- pulumi_alicloud/esa/compression_rule.py +42 -28
- pulumi_alicloud/esa/edge_container_app.py +972 -0
- pulumi_alicloud/esa/edge_container_app_record.py +376 -0
- pulumi_alicloud/esa/http_request_header_modification_rule.py +56 -42
- pulumi_alicloud/esa/http_response_header_modification_rule.py +35 -56
- pulumi_alicloud/esa/https_application_configuration.py +42 -28
- pulumi_alicloud/esa/https_basic_configuration.py +56 -42
- pulumi_alicloud/esa/image_transform.py +42 -28
- pulumi_alicloud/esa/kv_namespace.py +11 -11
- pulumi_alicloud/esa/list.py +28 -28
- pulumi_alicloud/esa/network_optimization.py +56 -126
- pulumi_alicloud/esa/origin_pool.py +19 -19
- pulumi_alicloud/esa/origin_rule.py +67 -39
- pulumi_alicloud/esa/outputs.py +536 -12
- pulumi_alicloud/esa/page.py +28 -49
- pulumi_alicloud/esa/rate_plan_instance.py +86 -159
- pulumi_alicloud/esa/redirect_rule.py +42 -28
- pulumi_alicloud/esa/rewrite_url_rule.py +49 -63
- pulumi_alicloud/esa/site.py +67 -123
- pulumi_alicloud/esa/site_delivery_task.py +841 -0
- pulumi_alicloud/esa/waiting_room.py +269 -319
- pulumi_alicloud/esa/waiting_room_event.py +291 -305
- pulumi_alicloud/esa/waiting_room_rule.py +46 -53
- pulumi_alicloud/ess/_inputs.py +155 -0
- pulumi_alicloud/ess/outputs.py +128 -0
- pulumi_alicloud/ess/scaling_group.py +237 -2
- pulumi_alicloud/ess/scaling_rule.py +143 -2
- pulumi_alicloud/expressconnect/router_grant_association.py +2 -2
- pulumi_alicloud/expressconnect/virtual_border_router.py +4 -4
- pulumi_alicloud/gpdb/hadoop_data_source.py +2 -2
- pulumi_alicloud/gpdb/jdbc_data_source.py +2 -2
- pulumi_alicloud/gpdb/remote_adb_data_source.py +6 -6
- pulumi_alicloud/gpdb/streaming_data_source.py +2 -2
- pulumi_alicloud/gpdb/streaming_job.py +2 -2
- pulumi_alicloud/ims/oidc_provider.py +24 -13
- pulumi_alicloud/kvstore/account.py +9 -9
- pulumi_alicloud/kvstore/connection.py +2 -2
- pulumi_alicloud/kvstore/get_instance_classes.py +2 -2
- pulumi_alicloud/kvstore/get_instance_engines.py +2 -2
- pulumi_alicloud/kvstore/instance.py +7 -7
- pulumi_alicloud/kvstore/outputs.py +2 -2
- pulumi_alicloud/live/caster.py +2 -2
- pulumi_alicloud/maxcompute/__init__.py +1 -0
- pulumi_alicloud/maxcompute/_inputs.py +232 -3
- pulumi_alicloud/maxcompute/outputs.py +183 -2
- pulumi_alicloud/maxcompute/project.py +2 -2
- pulumi_alicloud/maxcompute/quota.py +438 -0
- pulumi_alicloud/nas/mount_target.py +149 -54
- pulumi_alicloud/nlb/__init__.py +1 -0
- pulumi_alicloud/nlb/_inputs.py +43 -6
- pulumi_alicloud/nlb/load_balancer.py +212 -24
- pulumi_alicloud/nlb/load_balancer_zone_shifted_attachment.py +397 -0
- pulumi_alicloud/nlb/outputs.py +30 -4
- pulumi_alicloud/nlb/server_group_server_attachment.py +118 -65
- pulumi_alicloud/oss/__init__.py +1 -0
- pulumi_alicloud/oss/_inputs.py +20 -0
- pulumi_alicloud/oss/access_point.py +2 -2
- pulumi_alicloud/oss/bucket_cname.py +2 -2
- pulumi_alicloud/oss/bucket_cors.py +2 -2
- pulumi_alicloud/oss/bucket_style.py +402 -0
- pulumi_alicloud/oss/bucket_website.py +2 -2
- pulumi_alicloud/oss/outputs.py +14 -0
- pulumi_alicloud/pai/service.py +59 -67
- pulumi_alicloud/polardb/cluster.py +75 -28
- pulumi_alicloud/privatelink/vpc_endpoint_zone.py +1 -1
- pulumi_alicloud/pulumi-plugin.json +1 -1
- pulumi_alicloud/ram/__init__.py +3 -0
- pulumi_alicloud/ram/_inputs.py +9 -9
- pulumi_alicloud/ram/access_key.py +77 -31
- pulumi_alicloud/ram/account_alias.py +18 -45
- pulumi_alicloud/ram/get_system_policys.py +189 -0
- pulumi_alicloud/ram/group.py +156 -35
- pulumi_alicloud/ram/group_policy_attachment.py +51 -29
- pulumi_alicloud/ram/login_profile.py +92 -38
- pulumi_alicloud/ram/outputs.py +91 -6
- pulumi_alicloud/ram/password_policy.py +779 -0
- pulumi_alicloud/ram/policy.py +199 -88
- pulumi_alicloud/ram/role_policy_attachment.py +51 -29
- pulumi_alicloud/ram/saml_provider.py +44 -37
- pulumi_alicloud/ram/user_group_attachment.py +273 -0
- pulumi_alicloud/ram/user_policy_attachment.py +49 -27
- pulumi_alicloud/rds/__init__.py +1 -0
- pulumi_alicloud/rds/custom_disk.py +1053 -0
- pulumi_alicloud/rds/instance.py +110 -14
- pulumi_alicloud/redis/tair_instance.py +14 -14
- pulumi_alicloud/resourcemanager/__init__.py +1 -0
- pulumi_alicloud/resourcemanager/_inputs.py +53 -0
- pulumi_alicloud/resourcemanager/auto_grouping_rule.py +796 -0
- pulumi_alicloud/resourcemanager/outputs.py +50 -0
- pulumi_alicloud/resourcemanager/shared_resource.py +7 -0
- pulumi_alicloud/rocketmq/__init__.py +1 -1
- pulumi_alicloud/rocketmq/_inputs.py +146 -4
- pulumi_alicloud/rocketmq/account.py +452 -0
- pulumi_alicloud/rocketmq/acl.py +473 -47
- pulumi_alicloud/rocketmq/client_user.py +8 -2
- pulumi_alicloud/rocketmq/consumer_group.py +121 -24
- pulumi_alicloud/rocketmq/dnat_entry.py +8 -2
- pulumi_alicloud/rocketmq/outputs.py +113 -4
- pulumi_alicloud/rocketmq/qos.py +8 -2
- pulumi_alicloud/rocketmq/qos_car.py +10 -4
- pulumi_alicloud/rocketmq/qos_policy.py +6 -0
- pulumi_alicloud/rocketmq/rocket_mq_instance.py +136 -7
- pulumi_alicloud/rocketmq/rocket_mq_topic.py +121 -24
- pulumi_alicloud/rocketmq/snat_entry.py +8 -2
- pulumi_alicloud/sag/__init__.py +8 -0
- pulumi_alicloud/sag/acl.py +200 -0
- pulumi_alicloud/{rocketmq → sag}/acl_rule.py +7 -7
- pulumi_alicloud/sag/client_user.py +560 -0
- pulumi_alicloud/sag/dnat_entry.py +512 -0
- pulumi_alicloud/sag/get_acls.py +2 -2
- pulumi_alicloud/sag/qos.py +202 -0
- pulumi_alicloud/sag/qos_car.py +654 -0
- pulumi_alicloud/sag/qos_policy.py +659 -0
- pulumi_alicloud/sag/snat_entry.py +313 -0
- pulumi_alicloud/securitycenter/group.py +2 -2
- pulumi_alicloud/selectdb/db_instance.py +60 -11
- pulumi_alicloud/slb/server_group_server_attachment.py +101 -111
- pulumi_alicloud/sls/oss_export_sink.py +2 -2
- pulumi_alicloud/threatdetection/__init__.py +3 -0
- pulumi_alicloud/threatdetection/anti_brute_force_rule.py +41 -65
- pulumi_alicloud/threatdetection/asset_bind.py +209 -0
- pulumi_alicloud/threatdetection/asset_selection_config.py +258 -0
- pulumi_alicloud/threatdetection/instance.py +271 -54
- pulumi_alicloud/threatdetection/log_meta.py +351 -0
- pulumi_alicloud/vpc/__init__.py +1 -0
- pulumi_alicloud/vpc/_inputs.py +281 -0
- pulumi_alicloud/vpc/gateway_endpoint.py +85 -27
- pulumi_alicloud/vpc/get_ipam_ipam_pool_allocations.py +2 -2
- pulumi_alicloud/vpc/get_ipam_ipam_pool_cidrs.py +2 -2
- pulumi_alicloud/vpc/get_ipam_ipam_pools.py +2 -2
- pulumi_alicloud/vpc/get_ipam_ipam_scopes.py +2 -2
- pulumi_alicloud/vpc/get_ipam_ipams.py +2 -2
- pulumi_alicloud/vpc/ipv6_address.py +85 -5
- pulumi_alicloud/vpc/outputs.py +232 -0
- pulumi_alicloud/vpc/peer_connection.py +84 -42
- pulumi_alicloud/vpc/peer_connection_accepter.py +7 -21
- pulumi_alicloud/vpc/route_table.py +100 -45
- pulumi_alicloud/vpc/vpc_route_entry.py +724 -0
- pulumi_alicloud/vpn/_inputs.py +716 -71
- pulumi_alicloud/vpn/gateway_vpn_attachment.py +622 -128
- pulumi_alicloud/vpn/get_gateway_vpn_attachments.py +20 -63
- pulumi_alicloud/vpn/ipsec_server.py +2 -2
- pulumi_alicloud/vpn/outputs.py +1963 -998
- {pulumi_alicloud-3.76.0a1743571220.dist-info → pulumi_alicloud-3.76.0a1744139894.dist-info}/METADATA +1 -1
- {pulumi_alicloud-3.76.0a1743571220.dist-info → pulumi_alicloud-3.76.0a1744139894.dist-info}/RECORD +237 -197
- {pulumi_alicloud-3.76.0a1743571220.dist-info → pulumi_alicloud-3.76.0a1744139894.dist-info}/WHEEL +0 -0
- {pulumi_alicloud-3.76.0a1743571220.dist-info → pulumi_alicloud-3.76.0a1744139894.dist-info}/top_level.txt +0 -0
|
@@ -21,44 +21,74 @@ __all__ = ['GatewayVpnAttachmentArgs', 'GatewayVpnAttachment']
|
|
|
21
21
|
@pulumi.input_type
|
|
22
22
|
class GatewayVpnAttachmentArgs:
|
|
23
23
|
def __init__(__self__, *,
|
|
24
|
-
customer_gateway_id: pulumi.Input[str],
|
|
25
24
|
local_subnet: pulumi.Input[str],
|
|
26
25
|
remote_subnet: pulumi.Input[str],
|
|
27
26
|
bgp_config: Optional[pulumi.Input['GatewayVpnAttachmentBgpConfigArgs']] = None,
|
|
27
|
+
customer_gateway_id: Optional[pulumi.Input[str]] = None,
|
|
28
28
|
effect_immediately: Optional[pulumi.Input[bool]] = None,
|
|
29
29
|
enable_dpd: Optional[pulumi.Input[bool]] = None,
|
|
30
30
|
enable_nat_traversal: Optional[pulumi.Input[bool]] = None,
|
|
31
|
+
enable_tunnels_bgp: Optional[pulumi.Input[bool]] = None,
|
|
31
32
|
health_check_config: Optional[pulumi.Input['GatewayVpnAttachmentHealthCheckConfigArgs']] = None,
|
|
32
33
|
ike_config: Optional[pulumi.Input['GatewayVpnAttachmentIkeConfigArgs']] = None,
|
|
33
34
|
ipsec_config: Optional[pulumi.Input['GatewayVpnAttachmentIpsecConfigArgs']] = None,
|
|
34
35
|
network_type: Optional[pulumi.Input[str]] = None,
|
|
36
|
+
resource_group_id: Optional[pulumi.Input[str]] = None,
|
|
37
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
38
|
+
tunnel_options_specifications: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayVpnAttachmentTunnelOptionsSpecificationArgs']]]] = None,
|
|
35
39
|
vpn_attachment_name: Optional[pulumi.Input[str]] = None):
|
|
36
40
|
"""
|
|
37
41
|
The set of arguments for constructing a GatewayVpnAttachment resource.
|
|
38
|
-
:param pulumi.Input[str]
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
:param pulumi.Input[
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
:param pulumi.Input[
|
|
45
|
-
|
|
46
|
-
:param pulumi.Input[
|
|
47
|
-
|
|
48
|
-
:param pulumi.Input[
|
|
49
|
-
:param pulumi.Input[
|
|
50
|
-
|
|
51
|
-
|
|
42
|
+
:param pulumi.Input[str] local_subnet: The CIDR block on the VPC side. The CIDR block is used in Phase 2 negotiations.Separate multiple CIDR blocks with commas (,). Example: 192.168.1.0/24,192.168.2.0/24.The following routing modes are supported:
|
|
43
|
+
- If you set LocalSubnet and RemoteSubnet to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.
|
|
44
|
+
- If you set LocalSubnet and RemoteSubnet to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.
|
|
45
|
+
:param pulumi.Input[str] remote_subnet: The CIDR block on the data center side. This CIDR block is used in Phase 2 negotiations.Separate multiple CIDR blocks with commas (,). Example: 192.168.3.0/24,192.168.4.0/24.The following routing modes are supported:
|
|
46
|
+
- If you set LocalSubnet and RemoteSubnet to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.
|
|
47
|
+
- If you set LocalSubnet and RemoteSubnet to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.
|
|
48
|
+
:param pulumi.Input['GatewayVpnAttachmentBgpConfigArgs'] bgp_config: Bgp configuration information.
|
|
49
|
+
- This parameter is supported when you create an vpn attachment in single-tunnel mode. See `bgp_config` below.
|
|
50
|
+
:param pulumi.Input[str] customer_gateway_id: Customer gateway ID.
|
|
51
|
+
- This parameter is required when creating a single-tunnel mode vpn attachment.
|
|
52
|
+
:param pulumi.Input[bool] effect_immediately: Specifies whether to immediately start IPsec negotiations after the configuration takes effect. Valid values:
|
|
53
|
+
:param pulumi.Input[bool] enable_dpd: This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
54
|
+
Whether to enable the DPD (peer survival detection) function.
|
|
55
|
+
- true (default): enables DPD. The initiator of the IPsec-VPN connection sends DPD packets to check the existence and availability of the peer. If no feedback is received from the peer within the specified period of time, the connection fails. In this case, ISAKMP SA and IPsec SA are deleted along with the security tunnel.
|
|
56
|
+
- false: disables DPD. The initiator of the IPsec-VPN connection does not send DPD packets.
|
|
57
|
+
:param pulumi.Input[bool] enable_nat_traversal: This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
58
|
+
Specifies whether to enable NAT traversal. Valid values:
|
|
59
|
+
- true (default): enables NAT traversal. After NAT traversal is enabled, the initiator does not check the UDP ports during IKE negotiations and can automatically discover NAT gateway devices along the vpn attachment tunnel.
|
|
60
|
+
- false: disables NAT traversal.
|
|
61
|
+
:param pulumi.Input[bool] enable_tunnels_bgp: You can configure this parameter when you create a vpn attachment in dual-tunnel mode.Whether to enable the BGP function for the tunnel. Value: `true` or `false` (default).
|
|
62
|
+
|
|
63
|
+
> **NOTE:** before adding BGP configuration, we recommend that you understand the working mechanism and usage restrictions of the BGP dynamic routing function.
|
|
64
|
+
:param pulumi.Input['GatewayVpnAttachmentHealthCheckConfigArgs'] health_check_config: This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
65
|
+
Health check configuration information. See `health_check_config` below.
|
|
66
|
+
:param pulumi.Input['GatewayVpnAttachmentIkeConfigArgs'] ike_config: The configurations of Phase 1 negotiations.
|
|
67
|
+
- This parameter is supported if you create an vpn attachment in single-tunnel mode. See `ike_config` below.
|
|
68
|
+
:param pulumi.Input['GatewayVpnAttachmentIpsecConfigArgs'] ipsec_config: Configuration negotiated in the second stage.
|
|
69
|
+
- This parameter is supported if you create an vpn attachment in single-tunnel mode. See `ipsec_config` below.
|
|
70
|
+
:param pulumi.Input[str] network_type: network type
|
|
71
|
+
:param pulumi.Input[str] resource_group_id: The ID of the resource group
|
|
72
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Tags
|
|
73
|
+
:param pulumi.Input[Sequence[pulumi.Input['GatewayVpnAttachmentTunnelOptionsSpecificationArgs']]] tunnel_options_specifications: Configure the tunnel.
|
|
74
|
+
- You can configure parameters in the `tunnel_options_specification` array when you create a vpn attachment in dual-tunnel mode.
|
|
75
|
+
- When creating a vpn attachment in dual-tunnel mode, you must add both tunnels for the vpn attachment to ensure that the vpn attachment has link redundancy. Only two tunnels can be added to a vpn attachment. See `tunnel_options_specification` below.
|
|
76
|
+
:param pulumi.Input[str] vpn_attachment_name: vpn attachment name
|
|
77
|
+
"""
|
|
52
78
|
pulumi.set(__self__, "local_subnet", local_subnet)
|
|
53
79
|
pulumi.set(__self__, "remote_subnet", remote_subnet)
|
|
54
80
|
if bgp_config is not None:
|
|
55
81
|
pulumi.set(__self__, "bgp_config", bgp_config)
|
|
82
|
+
if customer_gateway_id is not None:
|
|
83
|
+
pulumi.set(__self__, "customer_gateway_id", customer_gateway_id)
|
|
56
84
|
if effect_immediately is not None:
|
|
57
85
|
pulumi.set(__self__, "effect_immediately", effect_immediately)
|
|
58
86
|
if enable_dpd is not None:
|
|
59
87
|
pulumi.set(__self__, "enable_dpd", enable_dpd)
|
|
60
88
|
if enable_nat_traversal is not None:
|
|
61
89
|
pulumi.set(__self__, "enable_nat_traversal", enable_nat_traversal)
|
|
90
|
+
if enable_tunnels_bgp is not None:
|
|
91
|
+
pulumi.set(__self__, "enable_tunnels_bgp", enable_tunnels_bgp)
|
|
62
92
|
if health_check_config is not None:
|
|
63
93
|
pulumi.set(__self__, "health_check_config", health_check_config)
|
|
64
94
|
if ike_config is not None:
|
|
@@ -67,26 +97,22 @@ class GatewayVpnAttachmentArgs:
|
|
|
67
97
|
pulumi.set(__self__, "ipsec_config", ipsec_config)
|
|
68
98
|
if network_type is not None:
|
|
69
99
|
pulumi.set(__self__, "network_type", network_type)
|
|
100
|
+
if resource_group_id is not None:
|
|
101
|
+
pulumi.set(__self__, "resource_group_id", resource_group_id)
|
|
102
|
+
if tags is not None:
|
|
103
|
+
pulumi.set(__self__, "tags", tags)
|
|
104
|
+
if tunnel_options_specifications is not None:
|
|
105
|
+
pulumi.set(__self__, "tunnel_options_specifications", tunnel_options_specifications)
|
|
70
106
|
if vpn_attachment_name is not None:
|
|
71
107
|
pulumi.set(__self__, "vpn_attachment_name", vpn_attachment_name)
|
|
72
108
|
|
|
73
|
-
@property
|
|
74
|
-
@pulumi.getter(name="customerGatewayId")
|
|
75
|
-
def customer_gateway_id(self) -> pulumi.Input[str]:
|
|
76
|
-
"""
|
|
77
|
-
The ID of the customer gateway. From version 1.196.0, `customer_gateway_id` can be modified.
|
|
78
|
-
"""
|
|
79
|
-
return pulumi.get(self, "customer_gateway_id")
|
|
80
|
-
|
|
81
|
-
@customer_gateway_id.setter
|
|
82
|
-
def customer_gateway_id(self, value: pulumi.Input[str]):
|
|
83
|
-
pulumi.set(self, "customer_gateway_id", value)
|
|
84
|
-
|
|
85
109
|
@property
|
|
86
110
|
@pulumi.getter(name="localSubnet")
|
|
87
111
|
def local_subnet(self) -> pulumi.Input[str]:
|
|
88
112
|
"""
|
|
89
|
-
The CIDR block
|
|
113
|
+
The CIDR block on the VPC side. The CIDR block is used in Phase 2 negotiations.Separate multiple CIDR blocks with commas (,). Example: 192.168.1.0/24,192.168.2.0/24.The following routing modes are supported:
|
|
114
|
+
- If you set LocalSubnet and RemoteSubnet to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.
|
|
115
|
+
- If you set LocalSubnet and RemoteSubnet to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.
|
|
90
116
|
"""
|
|
91
117
|
return pulumi.get(self, "local_subnet")
|
|
92
118
|
|
|
@@ -98,7 +124,9 @@ class GatewayVpnAttachmentArgs:
|
|
|
98
124
|
@pulumi.getter(name="remoteSubnet")
|
|
99
125
|
def remote_subnet(self) -> pulumi.Input[str]:
|
|
100
126
|
"""
|
|
101
|
-
The CIDR block
|
|
127
|
+
The CIDR block on the data center side. This CIDR block is used in Phase 2 negotiations.Separate multiple CIDR blocks with commas (,). Example: 192.168.3.0/24,192.168.4.0/24.The following routing modes are supported:
|
|
128
|
+
- If you set LocalSubnet and RemoteSubnet to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.
|
|
129
|
+
- If you set LocalSubnet and RemoteSubnet to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.
|
|
102
130
|
"""
|
|
103
131
|
return pulumi.get(self, "remote_subnet")
|
|
104
132
|
|
|
@@ -110,7 +138,8 @@ class GatewayVpnAttachmentArgs:
|
|
|
110
138
|
@pulumi.getter(name="bgpConfig")
|
|
111
139
|
def bgp_config(self) -> Optional[pulumi.Input['GatewayVpnAttachmentBgpConfigArgs']]:
|
|
112
140
|
"""
|
|
113
|
-
Bgp configuration information.
|
|
141
|
+
Bgp configuration information.
|
|
142
|
+
- This parameter is supported when you create an vpn attachment in single-tunnel mode. See `bgp_config` below.
|
|
114
143
|
"""
|
|
115
144
|
return pulumi.get(self, "bgp_config")
|
|
116
145
|
|
|
@@ -118,11 +147,24 @@ class GatewayVpnAttachmentArgs:
|
|
|
118
147
|
def bgp_config(self, value: Optional[pulumi.Input['GatewayVpnAttachmentBgpConfigArgs']]):
|
|
119
148
|
pulumi.set(self, "bgp_config", value)
|
|
120
149
|
|
|
150
|
+
@property
|
|
151
|
+
@pulumi.getter(name="customerGatewayId")
|
|
152
|
+
def customer_gateway_id(self) -> Optional[pulumi.Input[str]]:
|
|
153
|
+
"""
|
|
154
|
+
Customer gateway ID.
|
|
155
|
+
- This parameter is required when creating a single-tunnel mode vpn attachment.
|
|
156
|
+
"""
|
|
157
|
+
return pulumi.get(self, "customer_gateway_id")
|
|
158
|
+
|
|
159
|
+
@customer_gateway_id.setter
|
|
160
|
+
def customer_gateway_id(self, value: Optional[pulumi.Input[str]]):
|
|
161
|
+
pulumi.set(self, "customer_gateway_id", value)
|
|
162
|
+
|
|
121
163
|
@property
|
|
122
164
|
@pulumi.getter(name="effectImmediately")
|
|
123
165
|
def effect_immediately(self) -> Optional[pulumi.Input[bool]]:
|
|
124
166
|
"""
|
|
125
|
-
|
|
167
|
+
Specifies whether to immediately start IPsec negotiations after the configuration takes effect. Valid values:
|
|
126
168
|
"""
|
|
127
169
|
return pulumi.get(self, "effect_immediately")
|
|
128
170
|
|
|
@@ -134,7 +176,10 @@ class GatewayVpnAttachmentArgs:
|
|
|
134
176
|
@pulumi.getter(name="enableDpd")
|
|
135
177
|
def enable_dpd(self) -> Optional[pulumi.Input[bool]]:
|
|
136
178
|
"""
|
|
179
|
+
This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
137
180
|
Whether to enable the DPD (peer survival detection) function.
|
|
181
|
+
- true (default): enables DPD. The initiator of the IPsec-VPN connection sends DPD packets to check the existence and availability of the peer. If no feedback is received from the peer within the specified period of time, the connection fails. In this case, ISAKMP SA and IPsec SA are deleted along with the security tunnel.
|
|
182
|
+
- false: disables DPD. The initiator of the IPsec-VPN connection does not send DPD packets.
|
|
138
183
|
"""
|
|
139
184
|
return pulumi.get(self, "enable_dpd")
|
|
140
185
|
|
|
@@ -146,7 +191,10 @@ class GatewayVpnAttachmentArgs:
|
|
|
146
191
|
@pulumi.getter(name="enableNatTraversal")
|
|
147
192
|
def enable_nat_traversal(self) -> Optional[pulumi.Input[bool]]:
|
|
148
193
|
"""
|
|
149
|
-
|
|
194
|
+
This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
195
|
+
Specifies whether to enable NAT traversal. Valid values:
|
|
196
|
+
- true (default): enables NAT traversal. After NAT traversal is enabled, the initiator does not check the UDP ports during IKE negotiations and can automatically discover NAT gateway devices along the vpn attachment tunnel.
|
|
197
|
+
- false: disables NAT traversal.
|
|
150
198
|
"""
|
|
151
199
|
return pulumi.get(self, "enable_nat_traversal")
|
|
152
200
|
|
|
@@ -154,10 +202,25 @@ class GatewayVpnAttachmentArgs:
|
|
|
154
202
|
def enable_nat_traversal(self, value: Optional[pulumi.Input[bool]]):
|
|
155
203
|
pulumi.set(self, "enable_nat_traversal", value)
|
|
156
204
|
|
|
205
|
+
@property
|
|
206
|
+
@pulumi.getter(name="enableTunnelsBgp")
|
|
207
|
+
def enable_tunnels_bgp(self) -> Optional[pulumi.Input[bool]]:
|
|
208
|
+
"""
|
|
209
|
+
You can configure this parameter when you create a vpn attachment in dual-tunnel mode.Whether to enable the BGP function for the tunnel. Value: `true` or `false` (default).
|
|
210
|
+
|
|
211
|
+
> **NOTE:** before adding BGP configuration, we recommend that you understand the working mechanism and usage restrictions of the BGP dynamic routing function.
|
|
212
|
+
"""
|
|
213
|
+
return pulumi.get(self, "enable_tunnels_bgp")
|
|
214
|
+
|
|
215
|
+
@enable_tunnels_bgp.setter
|
|
216
|
+
def enable_tunnels_bgp(self, value: Optional[pulumi.Input[bool]]):
|
|
217
|
+
pulumi.set(self, "enable_tunnels_bgp", value)
|
|
218
|
+
|
|
157
219
|
@property
|
|
158
220
|
@pulumi.getter(name="healthCheckConfig")
|
|
159
221
|
def health_check_config(self) -> Optional[pulumi.Input['GatewayVpnAttachmentHealthCheckConfigArgs']]:
|
|
160
222
|
"""
|
|
223
|
+
This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
161
224
|
Health check configuration information. See `health_check_config` below.
|
|
162
225
|
"""
|
|
163
226
|
return pulumi.get(self, "health_check_config")
|
|
@@ -170,7 +233,8 @@ class GatewayVpnAttachmentArgs:
|
|
|
170
233
|
@pulumi.getter(name="ikeConfig")
|
|
171
234
|
def ike_config(self) -> Optional[pulumi.Input['GatewayVpnAttachmentIkeConfigArgs']]:
|
|
172
235
|
"""
|
|
173
|
-
|
|
236
|
+
The configurations of Phase 1 negotiations.
|
|
237
|
+
- This parameter is supported if you create an vpn attachment in single-tunnel mode. See `ike_config` below.
|
|
174
238
|
"""
|
|
175
239
|
return pulumi.get(self, "ike_config")
|
|
176
240
|
|
|
@@ -182,7 +246,8 @@ class GatewayVpnAttachmentArgs:
|
|
|
182
246
|
@pulumi.getter(name="ipsecConfig")
|
|
183
247
|
def ipsec_config(self) -> Optional[pulumi.Input['GatewayVpnAttachmentIpsecConfigArgs']]:
|
|
184
248
|
"""
|
|
185
|
-
Configuration negotiated in the second stage.
|
|
249
|
+
Configuration negotiated in the second stage.
|
|
250
|
+
- This parameter is supported if you create an vpn attachment in single-tunnel mode. See `ipsec_config` below.
|
|
186
251
|
"""
|
|
187
252
|
return pulumi.get(self, "ipsec_config")
|
|
188
253
|
|
|
@@ -194,7 +259,7 @@ class GatewayVpnAttachmentArgs:
|
|
|
194
259
|
@pulumi.getter(name="networkType")
|
|
195
260
|
def network_type(self) -> Optional[pulumi.Input[str]]:
|
|
196
261
|
"""
|
|
197
|
-
|
|
262
|
+
network type
|
|
198
263
|
"""
|
|
199
264
|
return pulumi.get(self, "network_type")
|
|
200
265
|
|
|
@@ -202,11 +267,49 @@ class GatewayVpnAttachmentArgs:
|
|
|
202
267
|
def network_type(self, value: Optional[pulumi.Input[str]]):
|
|
203
268
|
pulumi.set(self, "network_type", value)
|
|
204
269
|
|
|
270
|
+
@property
|
|
271
|
+
@pulumi.getter(name="resourceGroupId")
|
|
272
|
+
def resource_group_id(self) -> Optional[pulumi.Input[str]]:
|
|
273
|
+
"""
|
|
274
|
+
The ID of the resource group
|
|
275
|
+
"""
|
|
276
|
+
return pulumi.get(self, "resource_group_id")
|
|
277
|
+
|
|
278
|
+
@resource_group_id.setter
|
|
279
|
+
def resource_group_id(self, value: Optional[pulumi.Input[str]]):
|
|
280
|
+
pulumi.set(self, "resource_group_id", value)
|
|
281
|
+
|
|
282
|
+
@property
|
|
283
|
+
@pulumi.getter
|
|
284
|
+
def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
|
285
|
+
"""
|
|
286
|
+
Tags
|
|
287
|
+
"""
|
|
288
|
+
return pulumi.get(self, "tags")
|
|
289
|
+
|
|
290
|
+
@tags.setter
|
|
291
|
+
def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
|
292
|
+
pulumi.set(self, "tags", value)
|
|
293
|
+
|
|
294
|
+
@property
|
|
295
|
+
@pulumi.getter(name="tunnelOptionsSpecifications")
|
|
296
|
+
def tunnel_options_specifications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GatewayVpnAttachmentTunnelOptionsSpecificationArgs']]]]:
|
|
297
|
+
"""
|
|
298
|
+
Configure the tunnel.
|
|
299
|
+
- You can configure parameters in the `tunnel_options_specification` array when you create a vpn attachment in dual-tunnel mode.
|
|
300
|
+
- When creating a vpn attachment in dual-tunnel mode, you must add both tunnels for the vpn attachment to ensure that the vpn attachment has link redundancy. Only two tunnels can be added to a vpn attachment. See `tunnel_options_specification` below.
|
|
301
|
+
"""
|
|
302
|
+
return pulumi.get(self, "tunnel_options_specifications")
|
|
303
|
+
|
|
304
|
+
@tunnel_options_specifications.setter
|
|
305
|
+
def tunnel_options_specifications(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayVpnAttachmentTunnelOptionsSpecificationArgs']]]]):
|
|
306
|
+
pulumi.set(self, "tunnel_options_specifications", value)
|
|
307
|
+
|
|
205
308
|
@property
|
|
206
309
|
@pulumi.getter(name="vpnAttachmentName")
|
|
207
310
|
def vpn_attachment_name(self) -> Optional[pulumi.Input[str]]:
|
|
208
311
|
"""
|
|
209
|
-
|
|
312
|
+
vpn attachment name
|
|
210
313
|
"""
|
|
211
314
|
return pulumi.get(self, "vpn_attachment_name")
|
|
212
315
|
|
|
@@ -219,38 +322,67 @@ class GatewayVpnAttachmentArgs:
|
|
|
219
322
|
class _GatewayVpnAttachmentState:
|
|
220
323
|
def __init__(__self__, *,
|
|
221
324
|
bgp_config: Optional[pulumi.Input['GatewayVpnAttachmentBgpConfigArgs']] = None,
|
|
325
|
+
create_time: Optional[pulumi.Input[str]] = None,
|
|
222
326
|
customer_gateway_id: Optional[pulumi.Input[str]] = None,
|
|
223
327
|
effect_immediately: Optional[pulumi.Input[bool]] = None,
|
|
224
328
|
enable_dpd: Optional[pulumi.Input[bool]] = None,
|
|
225
329
|
enable_nat_traversal: Optional[pulumi.Input[bool]] = None,
|
|
330
|
+
enable_tunnels_bgp: Optional[pulumi.Input[bool]] = None,
|
|
226
331
|
health_check_config: Optional[pulumi.Input['GatewayVpnAttachmentHealthCheckConfigArgs']] = None,
|
|
227
332
|
ike_config: Optional[pulumi.Input['GatewayVpnAttachmentIkeConfigArgs']] = None,
|
|
228
|
-
internet_ip: Optional[pulumi.Input[str]] = None,
|
|
229
333
|
ipsec_config: Optional[pulumi.Input['GatewayVpnAttachmentIpsecConfigArgs']] = None,
|
|
230
334
|
local_subnet: Optional[pulumi.Input[str]] = None,
|
|
231
335
|
network_type: Optional[pulumi.Input[str]] = None,
|
|
232
336
|
remote_subnet: Optional[pulumi.Input[str]] = None,
|
|
337
|
+
resource_group_id: Optional[pulumi.Input[str]] = None,
|
|
233
338
|
status: Optional[pulumi.Input[str]] = None,
|
|
339
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
340
|
+
tunnel_options_specifications: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayVpnAttachmentTunnelOptionsSpecificationArgs']]]] = None,
|
|
234
341
|
vpn_attachment_name: Optional[pulumi.Input[str]] = None):
|
|
235
342
|
"""
|
|
236
343
|
Input properties used for looking up and filtering GatewayVpnAttachment resources.
|
|
237
|
-
:param pulumi.Input['GatewayVpnAttachmentBgpConfigArgs'] bgp_config: Bgp configuration information.
|
|
238
|
-
|
|
239
|
-
:param pulumi.Input[
|
|
240
|
-
:param pulumi.Input[
|
|
241
|
-
|
|
242
|
-
:param pulumi.Input[
|
|
243
|
-
:param pulumi.Input[
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
:param pulumi.Input[
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
344
|
+
:param pulumi.Input['GatewayVpnAttachmentBgpConfigArgs'] bgp_config: Bgp configuration information.
|
|
345
|
+
- This parameter is supported when you create an vpn attachment in single-tunnel mode. See `bgp_config` below.
|
|
346
|
+
:param pulumi.Input[str] create_time: The creation time of the resource
|
|
347
|
+
:param pulumi.Input[str] customer_gateway_id: Customer gateway ID.
|
|
348
|
+
- This parameter is required when creating a single-tunnel mode vpn attachment.
|
|
349
|
+
:param pulumi.Input[bool] effect_immediately: Specifies whether to immediately start IPsec negotiations after the configuration takes effect. Valid values:
|
|
350
|
+
:param pulumi.Input[bool] enable_dpd: This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
351
|
+
Whether to enable the DPD (peer survival detection) function.
|
|
352
|
+
- true (default): enables DPD. The initiator of the IPsec-VPN connection sends DPD packets to check the existence and availability of the peer. If no feedback is received from the peer within the specified period of time, the connection fails. In this case, ISAKMP SA and IPsec SA are deleted along with the security tunnel.
|
|
353
|
+
- false: disables DPD. The initiator of the IPsec-VPN connection does not send DPD packets.
|
|
354
|
+
:param pulumi.Input[bool] enable_nat_traversal: This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
355
|
+
Specifies whether to enable NAT traversal. Valid values:
|
|
356
|
+
- true (default): enables NAT traversal. After NAT traversal is enabled, the initiator does not check the UDP ports during IKE negotiations and can automatically discover NAT gateway devices along the vpn attachment tunnel.
|
|
357
|
+
- false: disables NAT traversal.
|
|
358
|
+
:param pulumi.Input[bool] enable_tunnels_bgp: You can configure this parameter when you create a vpn attachment in dual-tunnel mode.Whether to enable the BGP function for the tunnel. Value: `true` or `false` (default).
|
|
359
|
+
|
|
360
|
+
> **NOTE:** before adding BGP configuration, we recommend that you understand the working mechanism and usage restrictions of the BGP dynamic routing function.
|
|
361
|
+
:param pulumi.Input['GatewayVpnAttachmentHealthCheckConfigArgs'] health_check_config: This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
362
|
+
Health check configuration information. See `health_check_config` below.
|
|
363
|
+
:param pulumi.Input['GatewayVpnAttachmentIkeConfigArgs'] ike_config: The configurations of Phase 1 negotiations.
|
|
364
|
+
- This parameter is supported if you create an vpn attachment in single-tunnel mode. See `ike_config` below.
|
|
365
|
+
:param pulumi.Input['GatewayVpnAttachmentIpsecConfigArgs'] ipsec_config: Configuration negotiated in the second stage.
|
|
366
|
+
- This parameter is supported if you create an vpn attachment in single-tunnel mode. See `ipsec_config` below.
|
|
367
|
+
:param pulumi.Input[str] local_subnet: The CIDR block on the VPC side. The CIDR block is used in Phase 2 negotiations.Separate multiple CIDR blocks with commas (,). Example: 192.168.1.0/24,192.168.2.0/24.The following routing modes are supported:
|
|
368
|
+
- If you set LocalSubnet and RemoteSubnet to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.
|
|
369
|
+
- If you set LocalSubnet and RemoteSubnet to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.
|
|
370
|
+
:param pulumi.Input[str] network_type: network type
|
|
371
|
+
:param pulumi.Input[str] remote_subnet: The CIDR block on the data center side. This CIDR block is used in Phase 2 negotiations.Separate multiple CIDR blocks with commas (,). Example: 192.168.3.0/24,192.168.4.0/24.The following routing modes are supported:
|
|
372
|
+
- If you set LocalSubnet and RemoteSubnet to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.
|
|
373
|
+
- If you set LocalSubnet and RemoteSubnet to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.
|
|
374
|
+
:param pulumi.Input[str] resource_group_id: The ID of the resource group
|
|
375
|
+
:param pulumi.Input[str] status: The negotiation status of Tunnel.
|
|
376
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Tags
|
|
377
|
+
:param pulumi.Input[Sequence[pulumi.Input['GatewayVpnAttachmentTunnelOptionsSpecificationArgs']]] tunnel_options_specifications: Configure the tunnel.
|
|
378
|
+
- You can configure parameters in the `tunnel_options_specification` array when you create a vpn attachment in dual-tunnel mode.
|
|
379
|
+
- When creating a vpn attachment in dual-tunnel mode, you must add both tunnels for the vpn attachment to ensure that the vpn attachment has link redundancy. Only two tunnels can be added to a vpn attachment. See `tunnel_options_specification` below.
|
|
380
|
+
:param pulumi.Input[str] vpn_attachment_name: vpn attachment name
|
|
251
381
|
"""
|
|
252
382
|
if bgp_config is not None:
|
|
253
383
|
pulumi.set(__self__, "bgp_config", bgp_config)
|
|
384
|
+
if create_time is not None:
|
|
385
|
+
pulumi.set(__self__, "create_time", create_time)
|
|
254
386
|
if customer_gateway_id is not None:
|
|
255
387
|
pulumi.set(__self__, "customer_gateway_id", customer_gateway_id)
|
|
256
388
|
if effect_immediately is not None:
|
|
@@ -259,12 +391,12 @@ class _GatewayVpnAttachmentState:
|
|
|
259
391
|
pulumi.set(__self__, "enable_dpd", enable_dpd)
|
|
260
392
|
if enable_nat_traversal is not None:
|
|
261
393
|
pulumi.set(__self__, "enable_nat_traversal", enable_nat_traversal)
|
|
394
|
+
if enable_tunnels_bgp is not None:
|
|
395
|
+
pulumi.set(__self__, "enable_tunnels_bgp", enable_tunnels_bgp)
|
|
262
396
|
if health_check_config is not None:
|
|
263
397
|
pulumi.set(__self__, "health_check_config", health_check_config)
|
|
264
398
|
if ike_config is not None:
|
|
265
399
|
pulumi.set(__self__, "ike_config", ike_config)
|
|
266
|
-
if internet_ip is not None:
|
|
267
|
-
pulumi.set(__self__, "internet_ip", internet_ip)
|
|
268
400
|
if ipsec_config is not None:
|
|
269
401
|
pulumi.set(__self__, "ipsec_config", ipsec_config)
|
|
270
402
|
if local_subnet is not None:
|
|
@@ -273,8 +405,14 @@ class _GatewayVpnAttachmentState:
|
|
|
273
405
|
pulumi.set(__self__, "network_type", network_type)
|
|
274
406
|
if remote_subnet is not None:
|
|
275
407
|
pulumi.set(__self__, "remote_subnet", remote_subnet)
|
|
408
|
+
if resource_group_id is not None:
|
|
409
|
+
pulumi.set(__self__, "resource_group_id", resource_group_id)
|
|
276
410
|
if status is not None:
|
|
277
411
|
pulumi.set(__self__, "status", status)
|
|
412
|
+
if tags is not None:
|
|
413
|
+
pulumi.set(__self__, "tags", tags)
|
|
414
|
+
if tunnel_options_specifications is not None:
|
|
415
|
+
pulumi.set(__self__, "tunnel_options_specifications", tunnel_options_specifications)
|
|
278
416
|
if vpn_attachment_name is not None:
|
|
279
417
|
pulumi.set(__self__, "vpn_attachment_name", vpn_attachment_name)
|
|
280
418
|
|
|
@@ -282,7 +420,8 @@ class _GatewayVpnAttachmentState:
|
|
|
282
420
|
@pulumi.getter(name="bgpConfig")
|
|
283
421
|
def bgp_config(self) -> Optional[pulumi.Input['GatewayVpnAttachmentBgpConfigArgs']]:
|
|
284
422
|
"""
|
|
285
|
-
Bgp configuration information.
|
|
423
|
+
Bgp configuration information.
|
|
424
|
+
- This parameter is supported when you create an vpn attachment in single-tunnel mode. See `bgp_config` below.
|
|
286
425
|
"""
|
|
287
426
|
return pulumi.get(self, "bgp_config")
|
|
288
427
|
|
|
@@ -290,11 +429,24 @@ class _GatewayVpnAttachmentState:
|
|
|
290
429
|
def bgp_config(self, value: Optional[pulumi.Input['GatewayVpnAttachmentBgpConfigArgs']]):
|
|
291
430
|
pulumi.set(self, "bgp_config", value)
|
|
292
431
|
|
|
432
|
+
@property
|
|
433
|
+
@pulumi.getter(name="createTime")
|
|
434
|
+
def create_time(self) -> Optional[pulumi.Input[str]]:
|
|
435
|
+
"""
|
|
436
|
+
The creation time of the resource
|
|
437
|
+
"""
|
|
438
|
+
return pulumi.get(self, "create_time")
|
|
439
|
+
|
|
440
|
+
@create_time.setter
|
|
441
|
+
def create_time(self, value: Optional[pulumi.Input[str]]):
|
|
442
|
+
pulumi.set(self, "create_time", value)
|
|
443
|
+
|
|
293
444
|
@property
|
|
294
445
|
@pulumi.getter(name="customerGatewayId")
|
|
295
446
|
def customer_gateway_id(self) -> Optional[pulumi.Input[str]]:
|
|
296
447
|
"""
|
|
297
|
-
|
|
448
|
+
Customer gateway ID.
|
|
449
|
+
- This parameter is required when creating a single-tunnel mode vpn attachment.
|
|
298
450
|
"""
|
|
299
451
|
return pulumi.get(self, "customer_gateway_id")
|
|
300
452
|
|
|
@@ -306,7 +458,7 @@ class _GatewayVpnAttachmentState:
|
|
|
306
458
|
@pulumi.getter(name="effectImmediately")
|
|
307
459
|
def effect_immediately(self) -> Optional[pulumi.Input[bool]]:
|
|
308
460
|
"""
|
|
309
|
-
|
|
461
|
+
Specifies whether to immediately start IPsec negotiations after the configuration takes effect. Valid values:
|
|
310
462
|
"""
|
|
311
463
|
return pulumi.get(self, "effect_immediately")
|
|
312
464
|
|
|
@@ -318,7 +470,10 @@ class _GatewayVpnAttachmentState:
|
|
|
318
470
|
@pulumi.getter(name="enableDpd")
|
|
319
471
|
def enable_dpd(self) -> Optional[pulumi.Input[bool]]:
|
|
320
472
|
"""
|
|
473
|
+
This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
321
474
|
Whether to enable the DPD (peer survival detection) function.
|
|
475
|
+
- true (default): enables DPD. The initiator of the IPsec-VPN connection sends DPD packets to check the existence and availability of the peer. If no feedback is received from the peer within the specified period of time, the connection fails. In this case, ISAKMP SA and IPsec SA are deleted along with the security tunnel.
|
|
476
|
+
- false: disables DPD. The initiator of the IPsec-VPN connection does not send DPD packets.
|
|
322
477
|
"""
|
|
323
478
|
return pulumi.get(self, "enable_dpd")
|
|
324
479
|
|
|
@@ -330,7 +485,10 @@ class _GatewayVpnAttachmentState:
|
|
|
330
485
|
@pulumi.getter(name="enableNatTraversal")
|
|
331
486
|
def enable_nat_traversal(self) -> Optional[pulumi.Input[bool]]:
|
|
332
487
|
"""
|
|
333
|
-
|
|
488
|
+
This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
489
|
+
Specifies whether to enable NAT traversal. Valid values:
|
|
490
|
+
- true (default): enables NAT traversal. After NAT traversal is enabled, the initiator does not check the UDP ports during IKE negotiations and can automatically discover NAT gateway devices along the vpn attachment tunnel.
|
|
491
|
+
- false: disables NAT traversal.
|
|
334
492
|
"""
|
|
335
493
|
return pulumi.get(self, "enable_nat_traversal")
|
|
336
494
|
|
|
@@ -338,10 +496,25 @@ class _GatewayVpnAttachmentState:
|
|
|
338
496
|
def enable_nat_traversal(self, value: Optional[pulumi.Input[bool]]):
|
|
339
497
|
pulumi.set(self, "enable_nat_traversal", value)
|
|
340
498
|
|
|
499
|
+
@property
|
|
500
|
+
@pulumi.getter(name="enableTunnelsBgp")
|
|
501
|
+
def enable_tunnels_bgp(self) -> Optional[pulumi.Input[bool]]:
|
|
502
|
+
"""
|
|
503
|
+
You can configure this parameter when you create a vpn attachment in dual-tunnel mode.Whether to enable the BGP function for the tunnel. Value: `true` or `false` (default).
|
|
504
|
+
|
|
505
|
+
> **NOTE:** before adding BGP configuration, we recommend that you understand the working mechanism and usage restrictions of the BGP dynamic routing function.
|
|
506
|
+
"""
|
|
507
|
+
return pulumi.get(self, "enable_tunnels_bgp")
|
|
508
|
+
|
|
509
|
+
@enable_tunnels_bgp.setter
|
|
510
|
+
def enable_tunnels_bgp(self, value: Optional[pulumi.Input[bool]]):
|
|
511
|
+
pulumi.set(self, "enable_tunnels_bgp", value)
|
|
512
|
+
|
|
341
513
|
@property
|
|
342
514
|
@pulumi.getter(name="healthCheckConfig")
|
|
343
515
|
def health_check_config(self) -> Optional[pulumi.Input['GatewayVpnAttachmentHealthCheckConfigArgs']]:
|
|
344
516
|
"""
|
|
517
|
+
This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
345
518
|
Health check configuration information. See `health_check_config` below.
|
|
346
519
|
"""
|
|
347
520
|
return pulumi.get(self, "health_check_config")
|
|
@@ -354,7 +527,8 @@ class _GatewayVpnAttachmentState:
|
|
|
354
527
|
@pulumi.getter(name="ikeConfig")
|
|
355
528
|
def ike_config(self) -> Optional[pulumi.Input['GatewayVpnAttachmentIkeConfigArgs']]:
|
|
356
529
|
"""
|
|
357
|
-
|
|
530
|
+
The configurations of Phase 1 negotiations.
|
|
531
|
+
- This parameter is supported if you create an vpn attachment in single-tunnel mode. See `ike_config` below.
|
|
358
532
|
"""
|
|
359
533
|
return pulumi.get(self, "ike_config")
|
|
360
534
|
|
|
@@ -362,23 +536,12 @@ class _GatewayVpnAttachmentState:
|
|
|
362
536
|
def ike_config(self, value: Optional[pulumi.Input['GatewayVpnAttachmentIkeConfigArgs']]):
|
|
363
537
|
pulumi.set(self, "ike_config", value)
|
|
364
538
|
|
|
365
|
-
@property
|
|
366
|
-
@pulumi.getter(name="internetIp")
|
|
367
|
-
def internet_ip(self) -> Optional[pulumi.Input[str]]:
|
|
368
|
-
"""
|
|
369
|
-
The VPN gateway IP.
|
|
370
|
-
"""
|
|
371
|
-
return pulumi.get(self, "internet_ip")
|
|
372
|
-
|
|
373
|
-
@internet_ip.setter
|
|
374
|
-
def internet_ip(self, value: Optional[pulumi.Input[str]]):
|
|
375
|
-
pulumi.set(self, "internet_ip", value)
|
|
376
|
-
|
|
377
539
|
@property
|
|
378
540
|
@pulumi.getter(name="ipsecConfig")
|
|
379
541
|
def ipsec_config(self) -> Optional[pulumi.Input['GatewayVpnAttachmentIpsecConfigArgs']]:
|
|
380
542
|
"""
|
|
381
|
-
Configuration negotiated in the second stage.
|
|
543
|
+
Configuration negotiated in the second stage.
|
|
544
|
+
- This parameter is supported if you create an vpn attachment in single-tunnel mode. See `ipsec_config` below.
|
|
382
545
|
"""
|
|
383
546
|
return pulumi.get(self, "ipsec_config")
|
|
384
547
|
|
|
@@ -390,7 +553,9 @@ class _GatewayVpnAttachmentState:
|
|
|
390
553
|
@pulumi.getter(name="localSubnet")
|
|
391
554
|
def local_subnet(self) -> Optional[pulumi.Input[str]]:
|
|
392
555
|
"""
|
|
393
|
-
The CIDR block
|
|
556
|
+
The CIDR block on the VPC side. The CIDR block is used in Phase 2 negotiations.Separate multiple CIDR blocks with commas (,). Example: 192.168.1.0/24,192.168.2.0/24.The following routing modes are supported:
|
|
557
|
+
- If you set LocalSubnet and RemoteSubnet to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.
|
|
558
|
+
- If you set LocalSubnet and RemoteSubnet to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.
|
|
394
559
|
"""
|
|
395
560
|
return pulumi.get(self, "local_subnet")
|
|
396
561
|
|
|
@@ -402,7 +567,7 @@ class _GatewayVpnAttachmentState:
|
|
|
402
567
|
@pulumi.getter(name="networkType")
|
|
403
568
|
def network_type(self) -> Optional[pulumi.Input[str]]:
|
|
404
569
|
"""
|
|
405
|
-
|
|
570
|
+
network type
|
|
406
571
|
"""
|
|
407
572
|
return pulumi.get(self, "network_type")
|
|
408
573
|
|
|
@@ -414,7 +579,9 @@ class _GatewayVpnAttachmentState:
|
|
|
414
579
|
@pulumi.getter(name="remoteSubnet")
|
|
415
580
|
def remote_subnet(self) -> Optional[pulumi.Input[str]]:
|
|
416
581
|
"""
|
|
417
|
-
The CIDR block
|
|
582
|
+
The CIDR block on the data center side. This CIDR block is used in Phase 2 negotiations.Separate multiple CIDR blocks with commas (,). Example: 192.168.3.0/24,192.168.4.0/24.The following routing modes are supported:
|
|
583
|
+
- If you set LocalSubnet and RemoteSubnet to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.
|
|
584
|
+
- If you set LocalSubnet and RemoteSubnet to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.
|
|
418
585
|
"""
|
|
419
586
|
return pulumi.get(self, "remote_subnet")
|
|
420
587
|
|
|
@@ -422,11 +589,23 @@ class _GatewayVpnAttachmentState:
|
|
|
422
589
|
def remote_subnet(self, value: Optional[pulumi.Input[str]]):
|
|
423
590
|
pulumi.set(self, "remote_subnet", value)
|
|
424
591
|
|
|
592
|
+
@property
|
|
593
|
+
@pulumi.getter(name="resourceGroupId")
|
|
594
|
+
def resource_group_id(self) -> Optional[pulumi.Input[str]]:
|
|
595
|
+
"""
|
|
596
|
+
The ID of the resource group
|
|
597
|
+
"""
|
|
598
|
+
return pulumi.get(self, "resource_group_id")
|
|
599
|
+
|
|
600
|
+
@resource_group_id.setter
|
|
601
|
+
def resource_group_id(self, value: Optional[pulumi.Input[str]]):
|
|
602
|
+
pulumi.set(self, "resource_group_id", value)
|
|
603
|
+
|
|
425
604
|
@property
|
|
426
605
|
@pulumi.getter
|
|
427
606
|
def status(self) -> Optional[pulumi.Input[str]]:
|
|
428
607
|
"""
|
|
429
|
-
The status of
|
|
608
|
+
The negotiation status of Tunnel.
|
|
430
609
|
"""
|
|
431
610
|
return pulumi.get(self, "status")
|
|
432
611
|
|
|
@@ -434,11 +613,37 @@ class _GatewayVpnAttachmentState:
|
|
|
434
613
|
def status(self, value: Optional[pulumi.Input[str]]):
|
|
435
614
|
pulumi.set(self, "status", value)
|
|
436
615
|
|
|
616
|
+
@property
|
|
617
|
+
@pulumi.getter
|
|
618
|
+
def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
|
619
|
+
"""
|
|
620
|
+
Tags
|
|
621
|
+
"""
|
|
622
|
+
return pulumi.get(self, "tags")
|
|
623
|
+
|
|
624
|
+
@tags.setter
|
|
625
|
+
def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
|
626
|
+
pulumi.set(self, "tags", value)
|
|
627
|
+
|
|
628
|
+
@property
|
|
629
|
+
@pulumi.getter(name="tunnelOptionsSpecifications")
|
|
630
|
+
def tunnel_options_specifications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GatewayVpnAttachmentTunnelOptionsSpecificationArgs']]]]:
|
|
631
|
+
"""
|
|
632
|
+
Configure the tunnel.
|
|
633
|
+
- You can configure parameters in the `tunnel_options_specification` array when you create a vpn attachment in dual-tunnel mode.
|
|
634
|
+
- When creating a vpn attachment in dual-tunnel mode, you must add both tunnels for the vpn attachment to ensure that the vpn attachment has link redundancy. Only two tunnels can be added to a vpn attachment. See `tunnel_options_specification` below.
|
|
635
|
+
"""
|
|
636
|
+
return pulumi.get(self, "tunnel_options_specifications")
|
|
637
|
+
|
|
638
|
+
@tunnel_options_specifications.setter
|
|
639
|
+
def tunnel_options_specifications(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayVpnAttachmentTunnelOptionsSpecificationArgs']]]]):
|
|
640
|
+
pulumi.set(self, "tunnel_options_specifications", value)
|
|
641
|
+
|
|
437
642
|
@property
|
|
438
643
|
@pulumi.getter(name="vpnAttachmentName")
|
|
439
644
|
def vpn_attachment_name(self) -> Optional[pulumi.Input[str]]:
|
|
440
645
|
"""
|
|
441
|
-
|
|
646
|
+
vpn attachment name
|
|
442
647
|
"""
|
|
443
648
|
return pulumi.get(self, "vpn_attachment_name")
|
|
444
649
|
|
|
@@ -457,17 +662,23 @@ class GatewayVpnAttachment(pulumi.CustomResource):
|
|
|
457
662
|
effect_immediately: Optional[pulumi.Input[bool]] = None,
|
|
458
663
|
enable_dpd: Optional[pulumi.Input[bool]] = None,
|
|
459
664
|
enable_nat_traversal: Optional[pulumi.Input[bool]] = None,
|
|
665
|
+
enable_tunnels_bgp: Optional[pulumi.Input[bool]] = None,
|
|
460
666
|
health_check_config: Optional[pulumi.Input[Union['GatewayVpnAttachmentHealthCheckConfigArgs', 'GatewayVpnAttachmentHealthCheckConfigArgsDict']]] = None,
|
|
461
667
|
ike_config: Optional[pulumi.Input[Union['GatewayVpnAttachmentIkeConfigArgs', 'GatewayVpnAttachmentIkeConfigArgsDict']]] = None,
|
|
462
668
|
ipsec_config: Optional[pulumi.Input[Union['GatewayVpnAttachmentIpsecConfigArgs', 'GatewayVpnAttachmentIpsecConfigArgsDict']]] = None,
|
|
463
669
|
local_subnet: Optional[pulumi.Input[str]] = None,
|
|
464
670
|
network_type: Optional[pulumi.Input[str]] = None,
|
|
465
671
|
remote_subnet: Optional[pulumi.Input[str]] = None,
|
|
672
|
+
resource_group_id: Optional[pulumi.Input[str]] = None,
|
|
673
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
674
|
+
tunnel_options_specifications: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GatewayVpnAttachmentTunnelOptionsSpecificationArgs', 'GatewayVpnAttachmentTunnelOptionsSpecificationArgsDict']]]]] = None,
|
|
466
675
|
vpn_attachment_name: Optional[pulumi.Input[str]] = None,
|
|
467
676
|
__props__=None):
|
|
468
677
|
"""
|
|
469
678
|
Provides a VPN Gateway Vpn Attachment resource.
|
|
470
679
|
|
|
680
|
+
VpnAttachment has been upgraded to dual-tunnel mode. When you create a VpnAttachment in dual tunnel mode, you can configure the following request parameters in addition to the required parameters: vpn_attachment_name, network_type, effectImmediately, tags array, resource_group_id, tunnel_options_specification array, and enable_tunnels_bgp.
|
|
681
|
+
|
|
471
682
|
For information about VPN Gateway Vpn Attachment and how to use it, see [What is Vpn Attachment](https://www.alibabacloud.com/help/zh/virtual-private-cloud/latest/createvpnattachment).
|
|
472
683
|
|
|
473
684
|
> **NOTE:** Available since v1.181.0.
|
|
@@ -531,6 +742,91 @@ class GatewayVpnAttachment(pulumi.CustomResource):
|
|
|
531
742
|
vpn_attachment_name=name)
|
|
532
743
|
```
|
|
533
744
|
|
|
745
|
+
Dual Tunnel Mode Usage
|
|
746
|
+
|
|
747
|
+
```python
|
|
748
|
+
import pulumi
|
|
749
|
+
import pulumi_alicloud as alicloud
|
|
750
|
+
|
|
751
|
+
config = pulumi.Config()
|
|
752
|
+
name = config.get("name")
|
|
753
|
+
if name is None:
|
|
754
|
+
name = "tf_example"
|
|
755
|
+
default = alicloud.resourcemanager.get_resource_groups()
|
|
756
|
+
cgw1 = alicloud.vpn.CustomerGateway("cgw1",
|
|
757
|
+
ip_address="2.2.2.2",
|
|
758
|
+
asn="1219001")
|
|
759
|
+
cgw2 = alicloud.vpn.CustomerGateway("cgw2",
|
|
760
|
+
ip_address="43.43.3.22",
|
|
761
|
+
asn="44331",
|
|
762
|
+
customer_gateway_name="example_amp")
|
|
763
|
+
default_gateway_vpn_attachment = alicloud.vpn.GatewayVpnAttachment("default",
|
|
764
|
+
local_subnet="0.0.0.0/0",
|
|
765
|
+
enable_tunnels_bgp=True,
|
|
766
|
+
vpn_attachment_name="tfaccvpngateway25800",
|
|
767
|
+
tunnel_options_specifications=[
|
|
768
|
+
{
|
|
769
|
+
"tunnel_ipsec_config": {
|
|
770
|
+
"ipsec_lifetime": 86200,
|
|
771
|
+
"ipsec_pfs": "group5",
|
|
772
|
+
"ipsec_auth_alg": "md5",
|
|
773
|
+
"ipsec_enc_alg": "aes",
|
|
774
|
+
},
|
|
775
|
+
"customer_gateway_id": cgw1.id,
|
|
776
|
+
"enable_dpd": True,
|
|
777
|
+
"enable_nat_traversal": True,
|
|
778
|
+
"tunnel_index": 1,
|
|
779
|
+
"tunnel_bgp_config": {
|
|
780
|
+
"local_asn": 1219001,
|
|
781
|
+
"local_bgp_ip": "169.254.10.1",
|
|
782
|
+
"tunnel_cidr": "169.254.10.0/30",
|
|
783
|
+
},
|
|
784
|
+
"tunnel_ike_config": {
|
|
785
|
+
"ike_mode": "main",
|
|
786
|
+
"ike_version": "ikev1",
|
|
787
|
+
"psk": "12345678",
|
|
788
|
+
"remote_id": "2.2.2.2",
|
|
789
|
+
"ike_auth_alg": "md5",
|
|
790
|
+
"ike_enc_alg": "aes",
|
|
791
|
+
"ike_lifetime": 86100,
|
|
792
|
+
"ike_pfs": "group2",
|
|
793
|
+
"local_id": "1.1.1.1",
|
|
794
|
+
},
|
|
795
|
+
},
|
|
796
|
+
{
|
|
797
|
+
"tunnel_ipsec_config": {
|
|
798
|
+
"ipsec_enc_alg": "aes",
|
|
799
|
+
"ipsec_lifetime": 86400,
|
|
800
|
+
"ipsec_pfs": "group5",
|
|
801
|
+
"ipsec_auth_alg": "sha256",
|
|
802
|
+
},
|
|
803
|
+
"customer_gateway_id": cgw1.id,
|
|
804
|
+
"enable_dpd": True,
|
|
805
|
+
"enable_nat_traversal": True,
|
|
806
|
+
"tunnel_index": 2,
|
|
807
|
+
"tunnel_bgp_config": {
|
|
808
|
+
"local_asn": 1219001,
|
|
809
|
+
"local_bgp_ip": "169.254.20.1",
|
|
810
|
+
"tunnel_cidr": "169.254.20.0/30",
|
|
811
|
+
},
|
|
812
|
+
"tunnel_ike_config": {
|
|
813
|
+
"local_id": "4.4.4.4",
|
|
814
|
+
"remote_id": "5.5.5.5",
|
|
815
|
+
"ike_lifetime": 86400,
|
|
816
|
+
"ike_mode": "main",
|
|
817
|
+
"ike_pfs": "group5",
|
|
818
|
+
"ike_version": "ikev2",
|
|
819
|
+
"ike_auth_alg": "md5",
|
|
820
|
+
"ike_enc_alg": "aes",
|
|
821
|
+
"psk": "32333442",
|
|
822
|
+
},
|
|
823
|
+
},
|
|
824
|
+
],
|
|
825
|
+
remote_subnet="0.0.0.0/0",
|
|
826
|
+
network_type="public",
|
|
827
|
+
resource_group_id=default.ids[0])
|
|
828
|
+
```
|
|
829
|
+
|
|
534
830
|
## Import
|
|
535
831
|
|
|
536
832
|
VPN Gateway Vpn Attachment can be imported using the id, e.g.
|
|
@@ -541,18 +837,41 @@ class GatewayVpnAttachment(pulumi.CustomResource):
|
|
|
541
837
|
|
|
542
838
|
:param str resource_name: The name of the resource.
|
|
543
839
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
544
|
-
:param pulumi.Input[Union['GatewayVpnAttachmentBgpConfigArgs', 'GatewayVpnAttachmentBgpConfigArgsDict']] bgp_config: Bgp configuration information.
|
|
545
|
-
|
|
546
|
-
:param pulumi.Input[
|
|
547
|
-
|
|
548
|
-
:param pulumi.Input[bool]
|
|
549
|
-
:param pulumi.Input[
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
:param pulumi.Input[
|
|
554
|
-
|
|
555
|
-
|
|
840
|
+
:param pulumi.Input[Union['GatewayVpnAttachmentBgpConfigArgs', 'GatewayVpnAttachmentBgpConfigArgsDict']] bgp_config: Bgp configuration information.
|
|
841
|
+
- This parameter is supported when you create an vpn attachment in single-tunnel mode. See `bgp_config` below.
|
|
842
|
+
:param pulumi.Input[str] customer_gateway_id: Customer gateway ID.
|
|
843
|
+
- This parameter is required when creating a single-tunnel mode vpn attachment.
|
|
844
|
+
:param pulumi.Input[bool] effect_immediately: Specifies whether to immediately start IPsec negotiations after the configuration takes effect. Valid values:
|
|
845
|
+
:param pulumi.Input[bool] enable_dpd: This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
846
|
+
Whether to enable the DPD (peer survival detection) function.
|
|
847
|
+
- true (default): enables DPD. The initiator of the IPsec-VPN connection sends DPD packets to check the existence and availability of the peer. If no feedback is received from the peer within the specified period of time, the connection fails. In this case, ISAKMP SA and IPsec SA are deleted along with the security tunnel.
|
|
848
|
+
- false: disables DPD. The initiator of the IPsec-VPN connection does not send DPD packets.
|
|
849
|
+
:param pulumi.Input[bool] enable_nat_traversal: This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
850
|
+
Specifies whether to enable NAT traversal. Valid values:
|
|
851
|
+
- true (default): enables NAT traversal. After NAT traversal is enabled, the initiator does not check the UDP ports during IKE negotiations and can automatically discover NAT gateway devices along the vpn attachment tunnel.
|
|
852
|
+
- false: disables NAT traversal.
|
|
853
|
+
:param pulumi.Input[bool] enable_tunnels_bgp: You can configure this parameter when you create a vpn attachment in dual-tunnel mode.Whether to enable the BGP function for the tunnel. Value: `true` or `false` (default).
|
|
854
|
+
|
|
855
|
+
> **NOTE:** before adding BGP configuration, we recommend that you understand the working mechanism and usage restrictions of the BGP dynamic routing function.
|
|
856
|
+
:param pulumi.Input[Union['GatewayVpnAttachmentHealthCheckConfigArgs', 'GatewayVpnAttachmentHealthCheckConfigArgsDict']] health_check_config: This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
857
|
+
Health check configuration information. See `health_check_config` below.
|
|
858
|
+
:param pulumi.Input[Union['GatewayVpnAttachmentIkeConfigArgs', 'GatewayVpnAttachmentIkeConfigArgsDict']] ike_config: The configurations of Phase 1 negotiations.
|
|
859
|
+
- This parameter is supported if you create an vpn attachment in single-tunnel mode. See `ike_config` below.
|
|
860
|
+
:param pulumi.Input[Union['GatewayVpnAttachmentIpsecConfigArgs', 'GatewayVpnAttachmentIpsecConfigArgsDict']] ipsec_config: Configuration negotiated in the second stage.
|
|
861
|
+
- This parameter is supported if you create an vpn attachment in single-tunnel mode. See `ipsec_config` below.
|
|
862
|
+
:param pulumi.Input[str] local_subnet: The CIDR block on the VPC side. The CIDR block is used in Phase 2 negotiations.Separate multiple CIDR blocks with commas (,). Example: 192.168.1.0/24,192.168.2.0/24.The following routing modes are supported:
|
|
863
|
+
- If you set LocalSubnet and RemoteSubnet to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.
|
|
864
|
+
- If you set LocalSubnet and RemoteSubnet to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.
|
|
865
|
+
:param pulumi.Input[str] network_type: network type
|
|
866
|
+
:param pulumi.Input[str] remote_subnet: The CIDR block on the data center side. This CIDR block is used in Phase 2 negotiations.Separate multiple CIDR blocks with commas (,). Example: 192.168.3.0/24,192.168.4.0/24.The following routing modes are supported:
|
|
867
|
+
- If you set LocalSubnet and RemoteSubnet to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.
|
|
868
|
+
- If you set LocalSubnet and RemoteSubnet to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.
|
|
869
|
+
:param pulumi.Input[str] resource_group_id: The ID of the resource group
|
|
870
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Tags
|
|
871
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['GatewayVpnAttachmentTunnelOptionsSpecificationArgs', 'GatewayVpnAttachmentTunnelOptionsSpecificationArgsDict']]]] tunnel_options_specifications: Configure the tunnel.
|
|
872
|
+
- You can configure parameters in the `tunnel_options_specification` array when you create a vpn attachment in dual-tunnel mode.
|
|
873
|
+
- When creating a vpn attachment in dual-tunnel mode, you must add both tunnels for the vpn attachment to ensure that the vpn attachment has link redundancy. Only two tunnels can be added to a vpn attachment. See `tunnel_options_specification` below.
|
|
874
|
+
:param pulumi.Input[str] vpn_attachment_name: vpn attachment name
|
|
556
875
|
"""
|
|
557
876
|
...
|
|
558
877
|
@overload
|
|
@@ -563,6 +882,8 @@ class GatewayVpnAttachment(pulumi.CustomResource):
|
|
|
563
882
|
"""
|
|
564
883
|
Provides a VPN Gateway Vpn Attachment resource.
|
|
565
884
|
|
|
885
|
+
VpnAttachment has been upgraded to dual-tunnel mode. When you create a VpnAttachment in dual tunnel mode, you can configure the following request parameters in addition to the required parameters: vpn_attachment_name, network_type, effectImmediately, tags array, resource_group_id, tunnel_options_specification array, and enable_tunnels_bgp.
|
|
886
|
+
|
|
566
887
|
For information about VPN Gateway Vpn Attachment and how to use it, see [What is Vpn Attachment](https://www.alibabacloud.com/help/zh/virtual-private-cloud/latest/createvpnattachment).
|
|
567
888
|
|
|
568
889
|
> **NOTE:** Available since v1.181.0.
|
|
@@ -626,6 +947,91 @@ class GatewayVpnAttachment(pulumi.CustomResource):
|
|
|
626
947
|
vpn_attachment_name=name)
|
|
627
948
|
```
|
|
628
949
|
|
|
950
|
+
Dual Tunnel Mode Usage
|
|
951
|
+
|
|
952
|
+
```python
|
|
953
|
+
import pulumi
|
|
954
|
+
import pulumi_alicloud as alicloud
|
|
955
|
+
|
|
956
|
+
config = pulumi.Config()
|
|
957
|
+
name = config.get("name")
|
|
958
|
+
if name is None:
|
|
959
|
+
name = "tf_example"
|
|
960
|
+
default = alicloud.resourcemanager.get_resource_groups()
|
|
961
|
+
cgw1 = alicloud.vpn.CustomerGateway("cgw1",
|
|
962
|
+
ip_address="2.2.2.2",
|
|
963
|
+
asn="1219001")
|
|
964
|
+
cgw2 = alicloud.vpn.CustomerGateway("cgw2",
|
|
965
|
+
ip_address="43.43.3.22",
|
|
966
|
+
asn="44331",
|
|
967
|
+
customer_gateway_name="example_amp")
|
|
968
|
+
default_gateway_vpn_attachment = alicloud.vpn.GatewayVpnAttachment("default",
|
|
969
|
+
local_subnet="0.0.0.0/0",
|
|
970
|
+
enable_tunnels_bgp=True,
|
|
971
|
+
vpn_attachment_name="tfaccvpngateway25800",
|
|
972
|
+
tunnel_options_specifications=[
|
|
973
|
+
{
|
|
974
|
+
"tunnel_ipsec_config": {
|
|
975
|
+
"ipsec_lifetime": 86200,
|
|
976
|
+
"ipsec_pfs": "group5",
|
|
977
|
+
"ipsec_auth_alg": "md5",
|
|
978
|
+
"ipsec_enc_alg": "aes",
|
|
979
|
+
},
|
|
980
|
+
"customer_gateway_id": cgw1.id,
|
|
981
|
+
"enable_dpd": True,
|
|
982
|
+
"enable_nat_traversal": True,
|
|
983
|
+
"tunnel_index": 1,
|
|
984
|
+
"tunnel_bgp_config": {
|
|
985
|
+
"local_asn": 1219001,
|
|
986
|
+
"local_bgp_ip": "169.254.10.1",
|
|
987
|
+
"tunnel_cidr": "169.254.10.0/30",
|
|
988
|
+
},
|
|
989
|
+
"tunnel_ike_config": {
|
|
990
|
+
"ike_mode": "main",
|
|
991
|
+
"ike_version": "ikev1",
|
|
992
|
+
"psk": "12345678",
|
|
993
|
+
"remote_id": "2.2.2.2",
|
|
994
|
+
"ike_auth_alg": "md5",
|
|
995
|
+
"ike_enc_alg": "aes",
|
|
996
|
+
"ike_lifetime": 86100,
|
|
997
|
+
"ike_pfs": "group2",
|
|
998
|
+
"local_id": "1.1.1.1",
|
|
999
|
+
},
|
|
1000
|
+
},
|
|
1001
|
+
{
|
|
1002
|
+
"tunnel_ipsec_config": {
|
|
1003
|
+
"ipsec_enc_alg": "aes",
|
|
1004
|
+
"ipsec_lifetime": 86400,
|
|
1005
|
+
"ipsec_pfs": "group5",
|
|
1006
|
+
"ipsec_auth_alg": "sha256",
|
|
1007
|
+
},
|
|
1008
|
+
"customer_gateway_id": cgw1.id,
|
|
1009
|
+
"enable_dpd": True,
|
|
1010
|
+
"enable_nat_traversal": True,
|
|
1011
|
+
"tunnel_index": 2,
|
|
1012
|
+
"tunnel_bgp_config": {
|
|
1013
|
+
"local_asn": 1219001,
|
|
1014
|
+
"local_bgp_ip": "169.254.20.1",
|
|
1015
|
+
"tunnel_cidr": "169.254.20.0/30",
|
|
1016
|
+
},
|
|
1017
|
+
"tunnel_ike_config": {
|
|
1018
|
+
"local_id": "4.4.4.4",
|
|
1019
|
+
"remote_id": "5.5.5.5",
|
|
1020
|
+
"ike_lifetime": 86400,
|
|
1021
|
+
"ike_mode": "main",
|
|
1022
|
+
"ike_pfs": "group5",
|
|
1023
|
+
"ike_version": "ikev2",
|
|
1024
|
+
"ike_auth_alg": "md5",
|
|
1025
|
+
"ike_enc_alg": "aes",
|
|
1026
|
+
"psk": "32333442",
|
|
1027
|
+
},
|
|
1028
|
+
},
|
|
1029
|
+
],
|
|
1030
|
+
remote_subnet="0.0.0.0/0",
|
|
1031
|
+
network_type="public",
|
|
1032
|
+
resource_group_id=default.ids[0])
|
|
1033
|
+
```
|
|
1034
|
+
|
|
629
1035
|
## Import
|
|
630
1036
|
|
|
631
1037
|
VPN Gateway Vpn Attachment can be imported using the id, e.g.
|
|
@@ -654,12 +1060,16 @@ class GatewayVpnAttachment(pulumi.CustomResource):
|
|
|
654
1060
|
effect_immediately: Optional[pulumi.Input[bool]] = None,
|
|
655
1061
|
enable_dpd: Optional[pulumi.Input[bool]] = None,
|
|
656
1062
|
enable_nat_traversal: Optional[pulumi.Input[bool]] = None,
|
|
1063
|
+
enable_tunnels_bgp: Optional[pulumi.Input[bool]] = None,
|
|
657
1064
|
health_check_config: Optional[pulumi.Input[Union['GatewayVpnAttachmentHealthCheckConfigArgs', 'GatewayVpnAttachmentHealthCheckConfigArgsDict']]] = None,
|
|
658
1065
|
ike_config: Optional[pulumi.Input[Union['GatewayVpnAttachmentIkeConfigArgs', 'GatewayVpnAttachmentIkeConfigArgsDict']]] = None,
|
|
659
1066
|
ipsec_config: Optional[pulumi.Input[Union['GatewayVpnAttachmentIpsecConfigArgs', 'GatewayVpnAttachmentIpsecConfigArgsDict']]] = None,
|
|
660
1067
|
local_subnet: Optional[pulumi.Input[str]] = None,
|
|
661
1068
|
network_type: Optional[pulumi.Input[str]] = None,
|
|
662
1069
|
remote_subnet: Optional[pulumi.Input[str]] = None,
|
|
1070
|
+
resource_group_id: Optional[pulumi.Input[str]] = None,
|
|
1071
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
1072
|
+
tunnel_options_specifications: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GatewayVpnAttachmentTunnelOptionsSpecificationArgs', 'GatewayVpnAttachmentTunnelOptionsSpecificationArgsDict']]]]] = None,
|
|
663
1073
|
vpn_attachment_name: Optional[pulumi.Input[str]] = None,
|
|
664
1074
|
__props__=None):
|
|
665
1075
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
@@ -671,12 +1081,11 @@ class GatewayVpnAttachment(pulumi.CustomResource):
|
|
|
671
1081
|
__props__ = GatewayVpnAttachmentArgs.__new__(GatewayVpnAttachmentArgs)
|
|
672
1082
|
|
|
673
1083
|
__props__.__dict__["bgp_config"] = bgp_config
|
|
674
|
-
if customer_gateway_id is None and not opts.urn:
|
|
675
|
-
raise TypeError("Missing required property 'customer_gateway_id'")
|
|
676
1084
|
__props__.__dict__["customer_gateway_id"] = customer_gateway_id
|
|
677
1085
|
__props__.__dict__["effect_immediately"] = effect_immediately
|
|
678
1086
|
__props__.__dict__["enable_dpd"] = enable_dpd
|
|
679
1087
|
__props__.__dict__["enable_nat_traversal"] = enable_nat_traversal
|
|
1088
|
+
__props__.__dict__["enable_tunnels_bgp"] = enable_tunnels_bgp
|
|
680
1089
|
__props__.__dict__["health_check_config"] = health_check_config
|
|
681
1090
|
__props__.__dict__["ike_config"] = ike_config
|
|
682
1091
|
__props__.__dict__["ipsec_config"] = ipsec_config
|
|
@@ -687,8 +1096,11 @@ class GatewayVpnAttachment(pulumi.CustomResource):
|
|
|
687
1096
|
if remote_subnet is None and not opts.urn:
|
|
688
1097
|
raise TypeError("Missing required property 'remote_subnet'")
|
|
689
1098
|
__props__.__dict__["remote_subnet"] = remote_subnet
|
|
1099
|
+
__props__.__dict__["resource_group_id"] = resource_group_id
|
|
1100
|
+
__props__.__dict__["tags"] = tags
|
|
1101
|
+
__props__.__dict__["tunnel_options_specifications"] = tunnel_options_specifications
|
|
690
1102
|
__props__.__dict__["vpn_attachment_name"] = vpn_attachment_name
|
|
691
|
-
__props__.__dict__["
|
|
1103
|
+
__props__.__dict__["create_time"] = None
|
|
692
1104
|
__props__.__dict__["status"] = None
|
|
693
1105
|
super(GatewayVpnAttachment, __self__).__init__(
|
|
694
1106
|
'alicloud:vpn/gatewayVpnAttachment:GatewayVpnAttachment',
|
|
@@ -701,18 +1113,22 @@ class GatewayVpnAttachment(pulumi.CustomResource):
|
|
|
701
1113
|
id: pulumi.Input[str],
|
|
702
1114
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
703
1115
|
bgp_config: Optional[pulumi.Input[Union['GatewayVpnAttachmentBgpConfigArgs', 'GatewayVpnAttachmentBgpConfigArgsDict']]] = None,
|
|
1116
|
+
create_time: Optional[pulumi.Input[str]] = None,
|
|
704
1117
|
customer_gateway_id: Optional[pulumi.Input[str]] = None,
|
|
705
1118
|
effect_immediately: Optional[pulumi.Input[bool]] = None,
|
|
706
1119
|
enable_dpd: Optional[pulumi.Input[bool]] = None,
|
|
707
1120
|
enable_nat_traversal: Optional[pulumi.Input[bool]] = None,
|
|
1121
|
+
enable_tunnels_bgp: Optional[pulumi.Input[bool]] = None,
|
|
708
1122
|
health_check_config: Optional[pulumi.Input[Union['GatewayVpnAttachmentHealthCheckConfigArgs', 'GatewayVpnAttachmentHealthCheckConfigArgsDict']]] = None,
|
|
709
1123
|
ike_config: Optional[pulumi.Input[Union['GatewayVpnAttachmentIkeConfigArgs', 'GatewayVpnAttachmentIkeConfigArgsDict']]] = None,
|
|
710
|
-
internet_ip: Optional[pulumi.Input[str]] = None,
|
|
711
1124
|
ipsec_config: Optional[pulumi.Input[Union['GatewayVpnAttachmentIpsecConfigArgs', 'GatewayVpnAttachmentIpsecConfigArgsDict']]] = None,
|
|
712
1125
|
local_subnet: Optional[pulumi.Input[str]] = None,
|
|
713
1126
|
network_type: Optional[pulumi.Input[str]] = None,
|
|
714
1127
|
remote_subnet: Optional[pulumi.Input[str]] = None,
|
|
1128
|
+
resource_group_id: Optional[pulumi.Input[str]] = None,
|
|
715
1129
|
status: Optional[pulumi.Input[str]] = None,
|
|
1130
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
1131
|
+
tunnel_options_specifications: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GatewayVpnAttachmentTunnelOptionsSpecificationArgs', 'GatewayVpnAttachmentTunnelOptionsSpecificationArgsDict']]]]] = None,
|
|
716
1132
|
vpn_attachment_name: Optional[pulumi.Input[str]] = None) -> 'GatewayVpnAttachment':
|
|
717
1133
|
"""
|
|
718
1134
|
Get an existing GatewayVpnAttachment resource's state with the given name, id, and optional extra
|
|
@@ -721,38 +1137,65 @@ class GatewayVpnAttachment(pulumi.CustomResource):
|
|
|
721
1137
|
:param str resource_name: The unique name of the resulting resource.
|
|
722
1138
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
723
1139
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
724
|
-
:param pulumi.Input[Union['GatewayVpnAttachmentBgpConfigArgs', 'GatewayVpnAttachmentBgpConfigArgsDict']] bgp_config: Bgp configuration information.
|
|
725
|
-
|
|
726
|
-
:param pulumi.Input[
|
|
727
|
-
:param pulumi.Input[
|
|
728
|
-
|
|
729
|
-
:param pulumi.Input[
|
|
730
|
-
:param pulumi.Input[
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
:param pulumi.Input[
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
1140
|
+
:param pulumi.Input[Union['GatewayVpnAttachmentBgpConfigArgs', 'GatewayVpnAttachmentBgpConfigArgsDict']] bgp_config: Bgp configuration information.
|
|
1141
|
+
- This parameter is supported when you create an vpn attachment in single-tunnel mode. See `bgp_config` below.
|
|
1142
|
+
:param pulumi.Input[str] create_time: The creation time of the resource
|
|
1143
|
+
:param pulumi.Input[str] customer_gateway_id: Customer gateway ID.
|
|
1144
|
+
- This parameter is required when creating a single-tunnel mode vpn attachment.
|
|
1145
|
+
:param pulumi.Input[bool] effect_immediately: Specifies whether to immediately start IPsec negotiations after the configuration takes effect. Valid values:
|
|
1146
|
+
:param pulumi.Input[bool] enable_dpd: This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
1147
|
+
Whether to enable the DPD (peer survival detection) function.
|
|
1148
|
+
- true (default): enables DPD. The initiator of the IPsec-VPN connection sends DPD packets to check the existence and availability of the peer. If no feedback is received from the peer within the specified period of time, the connection fails. In this case, ISAKMP SA and IPsec SA are deleted along with the security tunnel.
|
|
1149
|
+
- false: disables DPD. The initiator of the IPsec-VPN connection does not send DPD packets.
|
|
1150
|
+
:param pulumi.Input[bool] enable_nat_traversal: This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
1151
|
+
Specifies whether to enable NAT traversal. Valid values:
|
|
1152
|
+
- true (default): enables NAT traversal. After NAT traversal is enabled, the initiator does not check the UDP ports during IKE negotiations and can automatically discover NAT gateway devices along the vpn attachment tunnel.
|
|
1153
|
+
- false: disables NAT traversal.
|
|
1154
|
+
:param pulumi.Input[bool] enable_tunnels_bgp: You can configure this parameter when you create a vpn attachment in dual-tunnel mode.Whether to enable the BGP function for the tunnel. Value: `true` or `false` (default).
|
|
1155
|
+
|
|
1156
|
+
> **NOTE:** before adding BGP configuration, we recommend that you understand the working mechanism and usage restrictions of the BGP dynamic routing function.
|
|
1157
|
+
:param pulumi.Input[Union['GatewayVpnAttachmentHealthCheckConfigArgs', 'GatewayVpnAttachmentHealthCheckConfigArgsDict']] health_check_config: This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
1158
|
+
Health check configuration information. See `health_check_config` below.
|
|
1159
|
+
:param pulumi.Input[Union['GatewayVpnAttachmentIkeConfigArgs', 'GatewayVpnAttachmentIkeConfigArgsDict']] ike_config: The configurations of Phase 1 negotiations.
|
|
1160
|
+
- This parameter is supported if you create an vpn attachment in single-tunnel mode. See `ike_config` below.
|
|
1161
|
+
:param pulumi.Input[Union['GatewayVpnAttachmentIpsecConfigArgs', 'GatewayVpnAttachmentIpsecConfigArgsDict']] ipsec_config: Configuration negotiated in the second stage.
|
|
1162
|
+
- This parameter is supported if you create an vpn attachment in single-tunnel mode. See `ipsec_config` below.
|
|
1163
|
+
:param pulumi.Input[str] local_subnet: The CIDR block on the VPC side. The CIDR block is used in Phase 2 negotiations.Separate multiple CIDR blocks with commas (,). Example: 192.168.1.0/24,192.168.2.0/24.The following routing modes are supported:
|
|
1164
|
+
- If you set LocalSubnet and RemoteSubnet to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.
|
|
1165
|
+
- If you set LocalSubnet and RemoteSubnet to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.
|
|
1166
|
+
:param pulumi.Input[str] network_type: network type
|
|
1167
|
+
:param pulumi.Input[str] remote_subnet: The CIDR block on the data center side. This CIDR block is used in Phase 2 negotiations.Separate multiple CIDR blocks with commas (,). Example: 192.168.3.0/24,192.168.4.0/24.The following routing modes are supported:
|
|
1168
|
+
- If you set LocalSubnet and RemoteSubnet to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.
|
|
1169
|
+
- If you set LocalSubnet and RemoteSubnet to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.
|
|
1170
|
+
:param pulumi.Input[str] resource_group_id: The ID of the resource group
|
|
1171
|
+
:param pulumi.Input[str] status: The negotiation status of Tunnel.
|
|
1172
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Tags
|
|
1173
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['GatewayVpnAttachmentTunnelOptionsSpecificationArgs', 'GatewayVpnAttachmentTunnelOptionsSpecificationArgsDict']]]] tunnel_options_specifications: Configure the tunnel.
|
|
1174
|
+
- You can configure parameters in the `tunnel_options_specification` array when you create a vpn attachment in dual-tunnel mode.
|
|
1175
|
+
- When creating a vpn attachment in dual-tunnel mode, you must add both tunnels for the vpn attachment to ensure that the vpn attachment has link redundancy. Only two tunnels can be added to a vpn attachment. See `tunnel_options_specification` below.
|
|
1176
|
+
:param pulumi.Input[str] vpn_attachment_name: vpn attachment name
|
|
738
1177
|
"""
|
|
739
1178
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
740
1179
|
|
|
741
1180
|
__props__ = _GatewayVpnAttachmentState.__new__(_GatewayVpnAttachmentState)
|
|
742
1181
|
|
|
743
1182
|
__props__.__dict__["bgp_config"] = bgp_config
|
|
1183
|
+
__props__.__dict__["create_time"] = create_time
|
|
744
1184
|
__props__.__dict__["customer_gateway_id"] = customer_gateway_id
|
|
745
1185
|
__props__.__dict__["effect_immediately"] = effect_immediately
|
|
746
1186
|
__props__.__dict__["enable_dpd"] = enable_dpd
|
|
747
1187
|
__props__.__dict__["enable_nat_traversal"] = enable_nat_traversal
|
|
1188
|
+
__props__.__dict__["enable_tunnels_bgp"] = enable_tunnels_bgp
|
|
748
1189
|
__props__.__dict__["health_check_config"] = health_check_config
|
|
749
1190
|
__props__.__dict__["ike_config"] = ike_config
|
|
750
|
-
__props__.__dict__["internet_ip"] = internet_ip
|
|
751
1191
|
__props__.__dict__["ipsec_config"] = ipsec_config
|
|
752
1192
|
__props__.__dict__["local_subnet"] = local_subnet
|
|
753
1193
|
__props__.__dict__["network_type"] = network_type
|
|
754
1194
|
__props__.__dict__["remote_subnet"] = remote_subnet
|
|
1195
|
+
__props__.__dict__["resource_group_id"] = resource_group_id
|
|
755
1196
|
__props__.__dict__["status"] = status
|
|
1197
|
+
__props__.__dict__["tags"] = tags
|
|
1198
|
+
__props__.__dict__["tunnel_options_specifications"] = tunnel_options_specifications
|
|
756
1199
|
__props__.__dict__["vpn_attachment_name"] = vpn_attachment_name
|
|
757
1200
|
return GatewayVpnAttachment(resource_name, opts=opts, __props__=__props__)
|
|
758
1201
|
|
|
@@ -760,23 +1203,33 @@ class GatewayVpnAttachment(pulumi.CustomResource):
|
|
|
760
1203
|
@pulumi.getter(name="bgpConfig")
|
|
761
1204
|
def bgp_config(self) -> pulumi.Output['outputs.GatewayVpnAttachmentBgpConfig']:
|
|
762
1205
|
"""
|
|
763
|
-
Bgp configuration information.
|
|
1206
|
+
Bgp configuration information.
|
|
1207
|
+
- This parameter is supported when you create an vpn attachment in single-tunnel mode. See `bgp_config` below.
|
|
764
1208
|
"""
|
|
765
1209
|
return pulumi.get(self, "bgp_config")
|
|
766
1210
|
|
|
1211
|
+
@property
|
|
1212
|
+
@pulumi.getter(name="createTime")
|
|
1213
|
+
def create_time(self) -> pulumi.Output[str]:
|
|
1214
|
+
"""
|
|
1215
|
+
The creation time of the resource
|
|
1216
|
+
"""
|
|
1217
|
+
return pulumi.get(self, "create_time")
|
|
1218
|
+
|
|
767
1219
|
@property
|
|
768
1220
|
@pulumi.getter(name="customerGatewayId")
|
|
769
|
-
def customer_gateway_id(self) -> pulumi.Output[str]:
|
|
1221
|
+
def customer_gateway_id(self) -> pulumi.Output[Optional[str]]:
|
|
770
1222
|
"""
|
|
771
|
-
|
|
1223
|
+
Customer gateway ID.
|
|
1224
|
+
- This parameter is required when creating a single-tunnel mode vpn attachment.
|
|
772
1225
|
"""
|
|
773
1226
|
return pulumi.get(self, "customer_gateway_id")
|
|
774
1227
|
|
|
775
1228
|
@property
|
|
776
1229
|
@pulumi.getter(name="effectImmediately")
|
|
777
|
-
def effect_immediately(self) -> pulumi.Output[
|
|
1230
|
+
def effect_immediately(self) -> pulumi.Output[bool]:
|
|
778
1231
|
"""
|
|
779
|
-
|
|
1232
|
+
Specifies whether to immediately start IPsec negotiations after the configuration takes effect. Valid values:
|
|
780
1233
|
"""
|
|
781
1234
|
return pulumi.get(self, "effect_immediately")
|
|
782
1235
|
|
|
@@ -784,7 +1237,10 @@ class GatewayVpnAttachment(pulumi.CustomResource):
|
|
|
784
1237
|
@pulumi.getter(name="enableDpd")
|
|
785
1238
|
def enable_dpd(self) -> pulumi.Output[bool]:
|
|
786
1239
|
"""
|
|
1240
|
+
This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
787
1241
|
Whether to enable the DPD (peer survival detection) function.
|
|
1242
|
+
- true (default): enables DPD. The initiator of the IPsec-VPN connection sends DPD packets to check the existence and availability of the peer. If no feedback is received from the peer within the specified period of time, the connection fails. In this case, ISAKMP SA and IPsec SA are deleted along with the security tunnel.
|
|
1243
|
+
- false: disables DPD. The initiator of the IPsec-VPN connection does not send DPD packets.
|
|
788
1244
|
"""
|
|
789
1245
|
return pulumi.get(self, "enable_dpd")
|
|
790
1246
|
|
|
@@ -792,14 +1248,28 @@ class GatewayVpnAttachment(pulumi.CustomResource):
|
|
|
792
1248
|
@pulumi.getter(name="enableNatTraversal")
|
|
793
1249
|
def enable_nat_traversal(self) -> pulumi.Output[bool]:
|
|
794
1250
|
"""
|
|
795
|
-
|
|
1251
|
+
This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
1252
|
+
Specifies whether to enable NAT traversal. Valid values:
|
|
1253
|
+
- true (default): enables NAT traversal. After NAT traversal is enabled, the initiator does not check the UDP ports during IKE negotiations and can automatically discover NAT gateway devices along the vpn attachment tunnel.
|
|
1254
|
+
- false: disables NAT traversal.
|
|
796
1255
|
"""
|
|
797
1256
|
return pulumi.get(self, "enable_nat_traversal")
|
|
798
1257
|
|
|
1258
|
+
@property
|
|
1259
|
+
@pulumi.getter(name="enableTunnelsBgp")
|
|
1260
|
+
def enable_tunnels_bgp(self) -> pulumi.Output[bool]:
|
|
1261
|
+
"""
|
|
1262
|
+
You can configure this parameter when you create a vpn attachment in dual-tunnel mode.Whether to enable the BGP function for the tunnel. Value: `true` or `false` (default).
|
|
1263
|
+
|
|
1264
|
+
> **NOTE:** before adding BGP configuration, we recommend that you understand the working mechanism and usage restrictions of the BGP dynamic routing function.
|
|
1265
|
+
"""
|
|
1266
|
+
return pulumi.get(self, "enable_tunnels_bgp")
|
|
1267
|
+
|
|
799
1268
|
@property
|
|
800
1269
|
@pulumi.getter(name="healthCheckConfig")
|
|
801
1270
|
def health_check_config(self) -> pulumi.Output['outputs.GatewayVpnAttachmentHealthCheckConfig']:
|
|
802
1271
|
"""
|
|
1272
|
+
This parameter is supported if you create an vpn attachment in single-tunnel mode.
|
|
803
1273
|
Health check configuration information. See `health_check_config` below.
|
|
804
1274
|
"""
|
|
805
1275
|
return pulumi.get(self, "health_check_config")
|
|
@@ -808,23 +1278,17 @@ class GatewayVpnAttachment(pulumi.CustomResource):
|
|
|
808
1278
|
@pulumi.getter(name="ikeConfig")
|
|
809
1279
|
def ike_config(self) -> pulumi.Output['outputs.GatewayVpnAttachmentIkeConfig']:
|
|
810
1280
|
"""
|
|
811
|
-
|
|
1281
|
+
The configurations of Phase 1 negotiations.
|
|
1282
|
+
- This parameter is supported if you create an vpn attachment in single-tunnel mode. See `ike_config` below.
|
|
812
1283
|
"""
|
|
813
1284
|
return pulumi.get(self, "ike_config")
|
|
814
1285
|
|
|
815
|
-
@property
|
|
816
|
-
@pulumi.getter(name="internetIp")
|
|
817
|
-
def internet_ip(self) -> pulumi.Output[str]:
|
|
818
|
-
"""
|
|
819
|
-
The VPN gateway IP.
|
|
820
|
-
"""
|
|
821
|
-
return pulumi.get(self, "internet_ip")
|
|
822
|
-
|
|
823
1286
|
@property
|
|
824
1287
|
@pulumi.getter(name="ipsecConfig")
|
|
825
1288
|
def ipsec_config(self) -> pulumi.Output['outputs.GatewayVpnAttachmentIpsecConfig']:
|
|
826
1289
|
"""
|
|
827
|
-
Configuration negotiated in the second stage.
|
|
1290
|
+
Configuration negotiated in the second stage.
|
|
1291
|
+
- This parameter is supported if you create an vpn attachment in single-tunnel mode. See `ipsec_config` below.
|
|
828
1292
|
"""
|
|
829
1293
|
return pulumi.get(self, "ipsec_config")
|
|
830
1294
|
|
|
@@ -832,7 +1296,9 @@ class GatewayVpnAttachment(pulumi.CustomResource):
|
|
|
832
1296
|
@pulumi.getter(name="localSubnet")
|
|
833
1297
|
def local_subnet(self) -> pulumi.Output[str]:
|
|
834
1298
|
"""
|
|
835
|
-
The CIDR block
|
|
1299
|
+
The CIDR block on the VPC side. The CIDR block is used in Phase 2 negotiations.Separate multiple CIDR blocks with commas (,). Example: 192.168.1.0/24,192.168.2.0/24.The following routing modes are supported:
|
|
1300
|
+
- If you set LocalSubnet and RemoteSubnet to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.
|
|
1301
|
+
- If you set LocalSubnet and RemoteSubnet to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.
|
|
836
1302
|
"""
|
|
837
1303
|
return pulumi.get(self, "local_subnet")
|
|
838
1304
|
|
|
@@ -840,7 +1306,7 @@ class GatewayVpnAttachment(pulumi.CustomResource):
|
|
|
840
1306
|
@pulumi.getter(name="networkType")
|
|
841
1307
|
def network_type(self) -> pulumi.Output[str]:
|
|
842
1308
|
"""
|
|
843
|
-
|
|
1309
|
+
network type
|
|
844
1310
|
"""
|
|
845
1311
|
return pulumi.get(self, "network_type")
|
|
846
1312
|
|
|
@@ -848,23 +1314,51 @@ class GatewayVpnAttachment(pulumi.CustomResource):
|
|
|
848
1314
|
@pulumi.getter(name="remoteSubnet")
|
|
849
1315
|
def remote_subnet(self) -> pulumi.Output[str]:
|
|
850
1316
|
"""
|
|
851
|
-
The CIDR block
|
|
1317
|
+
The CIDR block on the data center side. This CIDR block is used in Phase 2 negotiations.Separate multiple CIDR blocks with commas (,). Example: 192.168.3.0/24,192.168.4.0/24.The following routing modes are supported:
|
|
1318
|
+
- If you set LocalSubnet and RemoteSubnet to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.
|
|
1319
|
+
- If you set LocalSubnet and RemoteSubnet to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.
|
|
852
1320
|
"""
|
|
853
1321
|
return pulumi.get(self, "remote_subnet")
|
|
854
1322
|
|
|
1323
|
+
@property
|
|
1324
|
+
@pulumi.getter(name="resourceGroupId")
|
|
1325
|
+
def resource_group_id(self) -> pulumi.Output[str]:
|
|
1326
|
+
"""
|
|
1327
|
+
The ID of the resource group
|
|
1328
|
+
"""
|
|
1329
|
+
return pulumi.get(self, "resource_group_id")
|
|
1330
|
+
|
|
855
1331
|
@property
|
|
856
1332
|
@pulumi.getter
|
|
857
1333
|
def status(self) -> pulumi.Output[str]:
|
|
858
1334
|
"""
|
|
859
|
-
The status of
|
|
1335
|
+
The negotiation status of Tunnel.
|
|
860
1336
|
"""
|
|
861
1337
|
return pulumi.get(self, "status")
|
|
862
1338
|
|
|
1339
|
+
@property
|
|
1340
|
+
@pulumi.getter
|
|
1341
|
+
def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
|
|
1342
|
+
"""
|
|
1343
|
+
Tags
|
|
1344
|
+
"""
|
|
1345
|
+
return pulumi.get(self, "tags")
|
|
1346
|
+
|
|
1347
|
+
@property
|
|
1348
|
+
@pulumi.getter(name="tunnelOptionsSpecifications")
|
|
1349
|
+
def tunnel_options_specifications(self) -> pulumi.Output[Sequence['outputs.GatewayVpnAttachmentTunnelOptionsSpecification']]:
|
|
1350
|
+
"""
|
|
1351
|
+
Configure the tunnel.
|
|
1352
|
+
- You can configure parameters in the `tunnel_options_specification` array when you create a vpn attachment in dual-tunnel mode.
|
|
1353
|
+
- When creating a vpn attachment in dual-tunnel mode, you must add both tunnels for the vpn attachment to ensure that the vpn attachment has link redundancy. Only two tunnels can be added to a vpn attachment. See `tunnel_options_specification` below.
|
|
1354
|
+
"""
|
|
1355
|
+
return pulumi.get(self, "tunnel_options_specifications")
|
|
1356
|
+
|
|
863
1357
|
@property
|
|
864
1358
|
@pulumi.getter(name="vpnAttachmentName")
|
|
865
1359
|
def vpn_attachment_name(self) -> pulumi.Output[Optional[str]]:
|
|
866
1360
|
"""
|
|
867
|
-
|
|
1361
|
+
vpn attachment name
|
|
868
1362
|
"""
|
|
869
1363
|
return pulumi.get(self, "vpn_attachment_name")
|
|
870
1364
|
|