1. Packages
  2. Alibaba Cloud Provider
  3. API Docs
  4. cen
  5. getTransitRouterVpnAttachments
Alibaba Cloud v3.81.0 published on Monday, Jun 23, 2025 by Pulumi

alicloud.cen.getTransitRouterVpnAttachments

Explore with Pulumi AI

alicloud logo
Alibaba Cloud v3.81.0 published on Monday, Jun 23, 2025 by Pulumi

    This data source provides Cen Transit Router Vpn Attachment available to the user.What is Transit Router Vpn Attachment

    NOTE: Available since v1.183.0.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as alicloud from "@pulumi/alicloud";
    
    const config = new pulumi.Config();
    const name = config.get("name") || "terraform-example";
    const _default = alicloud.getAccount({});
    const defaultInstance = new alicloud.cen.Instance("default", {cenInstanceName: name});
    const defaultTransitRouter = new alicloud.cen.TransitRouter("default", {cenId: defaultInstance.id});
    const defaultTransitRouterCidr = new alicloud.cen.TransitRouterCidr("default", {
        cidr: "192.168.10.0/24",
        transitRouterId: defaultTransitRouter.transitRouterId,
        publishCidrRoute: true,
    });
    const defaultCustomerGateway = new alicloud.vpn.CustomerGateway("default", {
        ipAddress: "1.1.1.8",
        customerGatewayName: name,
    }, {
        dependsOn: [defaultTransitRouterCidr],
    });
    const defaultGatewayVpnAttachment = new alicloud.vpn.GatewayVpnAttachment("default", {
        networkType: "public",
        localSubnet: "0.0.0.0/0",
        enableTunnelsBgp: false,
        vpnAttachmentName: name,
        tunnelOptionsSpecifications: [
            {
                customerGatewayId: defaultCustomerGateway.id,
                enableDpd: true,
                enableNatTraversal: true,
                tunnelIndex: 1,
                tunnelIkeConfig: {
                    remoteId: "2.2.2.2",
                    ikeEncAlg: "aes",
                    ikeMode: "main",
                    ikeVersion: "ikev1",
                    localId: "1.1.1.1",
                    ikeAuthAlg: "md5",
                    ikeLifetime: 86100,
                    ikePfs: "group2",
                    psk: "12345678",
                },
                tunnelIpsecConfig: {
                    ipsecAuthAlg: "md5",
                    ipsecEncAlg: "aes",
                    ipsecLifetime: 86200,
                    ipsecPfs: "group5",
                },
            },
            {
                enableNatTraversal: true,
                tunnelIndex: 2,
                tunnelIkeConfig: {
                    localId: "4.4.4.4",
                    remoteId: "5.5.5.5",
                    ikeLifetime: 86400,
                    ikePfs: "group5",
                    ikeMode: "main",
                    ikeVersion: "ikev2",
                    psk: "32333442",
                    ikeAuthAlg: "md5",
                    ikeEncAlg: "aes",
                },
                tunnelIpsecConfig: {
                    ipsecEncAlg: "aes",
                    ipsecLifetime: 86400,
                    ipsecPfs: "group5",
                    ipsecAuthAlg: "sha256",
                },
                customerGatewayId: defaultCustomerGateway.id,
                enableDpd: true,
            },
        ],
        remoteSubnet: "0.0.0.0/0",
    });
    const defaultTransitRouterVpnAttachment = new alicloud.cen.TransitRouterVpnAttachment("default", {
        autoPublishRouteEnabled: false,
        transitRouterAttachmentDescription: name,
        transitRouterAttachmentName: name,
        cenId: defaultTransitRouter.cenId,
        transitRouterId: defaultTransitRouter.transitRouterId,
        vpnId: defaultGatewayVpnAttachment.id,
        vpnOwnerId: _default.then(_default => _default.id),
        chargeType: "POSTPAY",
        tags: {
            Created: "TF",
            For: "VpnAttachment",
        },
    });
    const ids = pulumi.all([defaultTransitRouterVpnAttachment.id, defaultTransitRouterVpnAttachment.cenId, defaultTransitRouterVpnAttachment.transitRouterId]).apply(([id, cenId, transitRouterId]) => alicloud.cen.getTransitRouterVpnAttachmentsOutput({
        ids: [id],
        cenId: cenId,
        transitRouterId: transitRouterId,
    }));
    export const cenTransitRouterVpnAttachmentId0 = ids.apply(ids => ids.attachments?.[0]?.id);
    
    import pulumi
    import pulumi_alicloud as alicloud
    
    config = pulumi.Config()
    name = config.get("name")
    if name is None:
        name = "terraform-example"
    default = alicloud.get_account()
    default_instance = alicloud.cen.Instance("default", cen_instance_name=name)
    default_transit_router = alicloud.cen.TransitRouter("default", cen_id=default_instance.id)
    default_transit_router_cidr = alicloud.cen.TransitRouterCidr("default",
        cidr="192.168.10.0/24",
        transit_router_id=default_transit_router.transit_router_id,
        publish_cidr_route=True)
    default_customer_gateway = alicloud.vpn.CustomerGateway("default",
        ip_address="1.1.1.8",
        customer_gateway_name=name,
        opts = pulumi.ResourceOptions(depends_on=[default_transit_router_cidr]))
    default_gateway_vpn_attachment = alicloud.vpn.GatewayVpnAttachment("default",
        network_type="public",
        local_subnet="0.0.0.0/0",
        enable_tunnels_bgp=False,
        vpn_attachment_name=name,
        tunnel_options_specifications=[
            {
                "customer_gateway_id": default_customer_gateway.id,
                "enable_dpd": True,
                "enable_nat_traversal": True,
                "tunnel_index": 1,
                "tunnel_ike_config": {
                    "remote_id": "2.2.2.2",
                    "ike_enc_alg": "aes",
                    "ike_mode": "main",
                    "ike_version": "ikev1",
                    "local_id": "1.1.1.1",
                    "ike_auth_alg": "md5",
                    "ike_lifetime": 86100,
                    "ike_pfs": "group2",
                    "psk": "12345678",
                },
                "tunnel_ipsec_config": {
                    "ipsec_auth_alg": "md5",
                    "ipsec_enc_alg": "aes",
                    "ipsec_lifetime": 86200,
                    "ipsec_pfs": "group5",
                },
            },
            {
                "enable_nat_traversal": True,
                "tunnel_index": 2,
                "tunnel_ike_config": {
                    "local_id": "4.4.4.4",
                    "remote_id": "5.5.5.5",
                    "ike_lifetime": 86400,
                    "ike_pfs": "group5",
                    "ike_mode": "main",
                    "ike_version": "ikev2",
                    "psk": "32333442",
                    "ike_auth_alg": "md5",
                    "ike_enc_alg": "aes",
                },
                "tunnel_ipsec_config": {
                    "ipsec_enc_alg": "aes",
                    "ipsec_lifetime": 86400,
                    "ipsec_pfs": "group5",
                    "ipsec_auth_alg": "sha256",
                },
                "customer_gateway_id": default_customer_gateway.id,
                "enable_dpd": True,
            },
        ],
        remote_subnet="0.0.0.0/0")
    default_transit_router_vpn_attachment = alicloud.cen.TransitRouterVpnAttachment("default",
        auto_publish_route_enabled=False,
        transit_router_attachment_description=name,
        transit_router_attachment_name=name,
        cen_id=default_transit_router.cen_id,
        transit_router_id=default_transit_router.transit_router_id,
        vpn_id=default_gateway_vpn_attachment.id,
        vpn_owner_id=default.id,
        charge_type="POSTPAY",
        tags={
            "Created": "TF",
            "For": "VpnAttachment",
        })
    ids = pulumi.Output.all(
        id=default_transit_router_vpn_attachment.id,
        cen_id=default_transit_router_vpn_attachment.cen_id,
        transit_router_id=default_transit_router_vpn_attachment.transit_router_id
    ).apply(lambda resolved_outputs: alicloud.cen.get_transit_router_vpn_attachments_output(ids=[resolved_outputs['id']],
        cen_id=resolved_outputs['cen_id'],
        transit_router_id=resolved_outputs['transit_router_id']))
    
    pulumi.export("cenTransitRouterVpnAttachmentId0", ids.attachments[0].id)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		cfg := config.New(ctx, "")
    		name := "terraform-example"
    		if param := cfg.Get("name"); param != "" {
    			name = param
    		}
    		_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)
    		if err != nil {
    			return err
    		}
    		defaultInstance, err := cen.NewInstance(ctx, "default", &cen.InstanceArgs{
    			CenInstanceName: pulumi.String(name),
    		})
    		if err != nil {
    			return err
    		}
    		defaultTransitRouter, err := cen.NewTransitRouter(ctx, "default", &cen.TransitRouterArgs{
    			CenId: defaultInstance.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		defaultTransitRouterCidr, err := cen.NewTransitRouterCidr(ctx, "default", &cen.TransitRouterCidrArgs{
    			Cidr:             pulumi.String("192.168.10.0/24"),
    			TransitRouterId:  defaultTransitRouter.TransitRouterId,
    			PublishCidrRoute: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		defaultCustomerGateway, err := vpn.NewCustomerGateway(ctx, "default", &vpn.CustomerGatewayArgs{
    			IpAddress:           pulumi.String("1.1.1.8"),
    			CustomerGatewayName: pulumi.String(name),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			defaultTransitRouterCidr,
    		}))
    		if err != nil {
    			return err
    		}
    		defaultGatewayVpnAttachment, err := vpn.NewGatewayVpnAttachment(ctx, "default", &vpn.GatewayVpnAttachmentArgs{
    			NetworkType:       pulumi.String("public"),
    			LocalSubnet:       pulumi.String("0.0.0.0/0"),
    			EnableTunnelsBgp:  pulumi.Bool(false),
    			VpnAttachmentName: pulumi.String(name),
    			TunnelOptionsSpecifications: vpn.GatewayVpnAttachmentTunnelOptionsSpecificationArray{
    				&vpn.GatewayVpnAttachmentTunnelOptionsSpecificationArgs{
    					CustomerGatewayId:  defaultCustomerGateway.ID(),
    					EnableDpd:          pulumi.Bool(true),
    					EnableNatTraversal: pulumi.Bool(true),
    					TunnelIndex:        pulumi.Int(1),
    					TunnelIkeConfig: &vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs{
    						RemoteId:    pulumi.String("2.2.2.2"),
    						IkeEncAlg:   pulumi.String("aes"),
    						IkeMode:     pulumi.String("main"),
    						IkeVersion:  pulumi.String("ikev1"),
    						LocalId:     pulumi.String("1.1.1.1"),
    						IkeAuthAlg:  pulumi.String("md5"),
    						IkeLifetime: pulumi.Int(86100),
    						IkePfs:      pulumi.String("group2"),
    						Psk:         pulumi.String("12345678"),
    					},
    					TunnelIpsecConfig: &vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs{
    						IpsecAuthAlg:  pulumi.String("md5"),
    						IpsecEncAlg:   pulumi.String("aes"),
    						IpsecLifetime: pulumi.Int(86200),
    						IpsecPfs:      pulumi.String("group5"),
    					},
    				},
    				&vpn.GatewayVpnAttachmentTunnelOptionsSpecificationArgs{
    					EnableNatTraversal: pulumi.Bool(true),
    					TunnelIndex:        pulumi.Int(2),
    					TunnelIkeConfig: &vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs{
    						LocalId:     pulumi.String("4.4.4.4"),
    						RemoteId:    pulumi.String("5.5.5.5"),
    						IkeLifetime: pulumi.Int(86400),
    						IkePfs:      pulumi.String("group5"),
    						IkeMode:     pulumi.String("main"),
    						IkeVersion:  pulumi.String("ikev2"),
    						Psk:         pulumi.String("32333442"),
    						IkeAuthAlg:  pulumi.String("md5"),
    						IkeEncAlg:   pulumi.String("aes"),
    					},
    					TunnelIpsecConfig: &vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs{
    						IpsecEncAlg:   pulumi.String("aes"),
    						IpsecLifetime: pulumi.Int(86400),
    						IpsecPfs:      pulumi.String("group5"),
    						IpsecAuthAlg:  pulumi.String("sha256"),
    					},
    					CustomerGatewayId: defaultCustomerGateway.ID(),
    					EnableDpd:         pulumi.Bool(true),
    				},
    			},
    			RemoteSubnet: pulumi.String("0.0.0.0/0"),
    		})
    		if err != nil {
    			return err
    		}
    		defaultTransitRouterVpnAttachment, err := cen.NewTransitRouterVpnAttachment(ctx, "default", &cen.TransitRouterVpnAttachmentArgs{
    			AutoPublishRouteEnabled:            pulumi.Bool(false),
    			TransitRouterAttachmentDescription: pulumi.String(name),
    			TransitRouterAttachmentName:        pulumi.String(name),
    			CenId:                              defaultTransitRouter.CenId,
    			TransitRouterId:                    defaultTransitRouter.TransitRouterId,
    			VpnId:                              defaultGatewayVpnAttachment.ID(),
    			VpnOwnerId:                         pulumi.String(_default.Id),
    			ChargeType:                         pulumi.String("POSTPAY"),
    			Tags: pulumi.StringMap{
    				"Created": pulumi.String("TF"),
    				"For":     pulumi.String("VpnAttachment"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		ids := pulumi.All(defaultTransitRouterVpnAttachment.ID(), defaultTransitRouterVpnAttachment.CenId, defaultTransitRouterVpnAttachment.TransitRouterId).ApplyT(func(_args []interface{}) (cen.GetTransitRouterVpnAttachmentsResult, error) {
    			id := _args[0].(string)
    			cenId := _args[1].(string)
    			transitRouterId := _args[2].(*string)
    			return cen.GetTransitRouterVpnAttachmentsResult(interface{}(cen.GetTransitRouterVpnAttachmentsOutput(ctx, cen.GetTransitRouterVpnAttachmentsOutputArgs{
    				Ids: []string{
    					id,
    				},
    				CenId:           cenId,
    				TransitRouterId: transitRouterId,
    			}, nil))), nil
    		}).(cen.GetTransitRouterVpnAttachmentsResultOutput)
    		ctx.Export("cenTransitRouterVpnAttachmentId0", ids.ApplyT(func(ids cen.GetTransitRouterVpnAttachmentsResult) (*string, error) {
    			return &ids.Attachments[0].Id, nil
    		}).(pulumi.StringPtrOutput))
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AliCloud = Pulumi.AliCloud;
    
    return await Deployment.RunAsync(() => 
    {
        var config = new Config();
        var name = config.Get("name") ?? "terraform-example";
        var @default = AliCloud.GetAccount.Invoke();
    
        var defaultInstance = new AliCloud.Cen.Instance("default", new()
        {
            CenInstanceName = name,
        });
    
        var defaultTransitRouter = new AliCloud.Cen.TransitRouter("default", new()
        {
            CenId = defaultInstance.Id,
        });
    
        var defaultTransitRouterCidr = new AliCloud.Cen.TransitRouterCidr("default", new()
        {
            Cidr = "192.168.10.0/24",
            TransitRouterId = defaultTransitRouter.TransitRouterId,
            PublishCidrRoute = true,
        });
    
        var defaultCustomerGateway = new AliCloud.Vpn.CustomerGateway("default", new()
        {
            IpAddress = "1.1.1.8",
            CustomerGatewayName = name,
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                defaultTransitRouterCidr,
            },
        });
    
        var defaultGatewayVpnAttachment = new AliCloud.Vpn.GatewayVpnAttachment("default", new()
        {
            NetworkType = "public",
            LocalSubnet = "0.0.0.0/0",
            EnableTunnelsBgp = false,
            VpnAttachmentName = name,
            TunnelOptionsSpecifications = new[]
            {
                new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationArgs
                {
                    CustomerGatewayId = defaultCustomerGateway.Id,
                    EnableDpd = true,
                    EnableNatTraversal = true,
                    TunnelIndex = 1,
                    TunnelIkeConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs
                    {
                        RemoteId = "2.2.2.2",
                        IkeEncAlg = "aes",
                        IkeMode = "main",
                        IkeVersion = "ikev1",
                        LocalId = "1.1.1.1",
                        IkeAuthAlg = "md5",
                        IkeLifetime = 86100,
                        IkePfs = "group2",
                        Psk = "12345678",
                    },
                    TunnelIpsecConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs
                    {
                        IpsecAuthAlg = "md5",
                        IpsecEncAlg = "aes",
                        IpsecLifetime = 86200,
                        IpsecPfs = "group5",
                    },
                },
                new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationArgs
                {
                    EnableNatTraversal = true,
                    TunnelIndex = 2,
                    TunnelIkeConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs
                    {
                        LocalId = "4.4.4.4",
                        RemoteId = "5.5.5.5",
                        IkeLifetime = 86400,
                        IkePfs = "group5",
                        IkeMode = "main",
                        IkeVersion = "ikev2",
                        Psk = "32333442",
                        IkeAuthAlg = "md5",
                        IkeEncAlg = "aes",
                    },
                    TunnelIpsecConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs
                    {
                        IpsecEncAlg = "aes",
                        IpsecLifetime = 86400,
                        IpsecPfs = "group5",
                        IpsecAuthAlg = "sha256",
                    },
                    CustomerGatewayId = defaultCustomerGateway.Id,
                    EnableDpd = true,
                },
            },
            RemoteSubnet = "0.0.0.0/0",
        });
    
        var defaultTransitRouterVpnAttachment = new AliCloud.Cen.TransitRouterVpnAttachment("default", new()
        {
            AutoPublishRouteEnabled = false,
            TransitRouterAttachmentDescription = name,
            TransitRouterAttachmentName = name,
            CenId = defaultTransitRouter.CenId,
            TransitRouterId = defaultTransitRouter.TransitRouterId,
            VpnId = defaultGatewayVpnAttachment.Id,
            VpnOwnerId = @default.Apply(@default => @default.Apply(getAccountResult => getAccountResult.Id)),
            ChargeType = "POSTPAY",
            Tags = 
            {
                { "Created", "TF" },
                { "For", "VpnAttachment" },
            },
        });
    
        var ids = AliCloud.Cen.GetTransitRouterVpnAttachments.Invoke(new()
        {
            Ids = new[]
            {
                defaultTransitRouterVpnAttachment.Id,
            },
            CenId = defaultTransitRouterVpnAttachment.CenId,
            TransitRouterId = defaultTransitRouterVpnAttachment.TransitRouterId,
        });
    
        return new Dictionary<string, object?>
        {
            ["cenTransitRouterVpnAttachmentId0"] = ids.Apply(getTransitRouterVpnAttachmentsResult => getTransitRouterVpnAttachmentsResult.Attachments[0]?.Id),
        };
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.alicloud.AlicloudFunctions;
    import com.pulumi.alicloud.cen.Instance;
    import com.pulumi.alicloud.cen.InstanceArgs;
    import com.pulumi.alicloud.cen.TransitRouter;
    import com.pulumi.alicloud.cen.TransitRouterArgs;
    import com.pulumi.alicloud.cen.TransitRouterCidr;
    import com.pulumi.alicloud.cen.TransitRouterCidrArgs;
    import com.pulumi.alicloud.vpn.CustomerGateway;
    import com.pulumi.alicloud.vpn.CustomerGatewayArgs;
    import com.pulumi.alicloud.vpn.GatewayVpnAttachment;
    import com.pulumi.alicloud.vpn.GatewayVpnAttachmentArgs;
    import com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentTunnelOptionsSpecificationArgs;
    import com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs;
    import com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs;
    import com.pulumi.alicloud.cen.TransitRouterVpnAttachment;
    import com.pulumi.alicloud.cen.TransitRouterVpnAttachmentArgs;
    import com.pulumi.alicloud.cen.CenFunctions;
    import com.pulumi.alicloud.cen.inputs.GetTransitRouterVpnAttachmentsArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var config = ctx.config();
            final var name = config.get("name").orElse("terraform-example");
            final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);
    
            var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
                .cenInstanceName(name)
                .build());
    
            var defaultTransitRouter = new TransitRouter("defaultTransitRouter", TransitRouterArgs.builder()
                .cenId(defaultInstance.id())
                .build());
    
            var defaultTransitRouterCidr = new TransitRouterCidr("defaultTransitRouterCidr", TransitRouterCidrArgs.builder()
                .cidr("192.168.10.0/24")
                .transitRouterId(defaultTransitRouter.transitRouterId())
                .publishCidrRoute(true)
                .build());
    
            var defaultCustomerGateway = new CustomerGateway("defaultCustomerGateway", CustomerGatewayArgs.builder()
                .ipAddress("1.1.1.8")
                .customerGatewayName(name)
                .build(), CustomResourceOptions.builder()
                    .dependsOn(defaultTransitRouterCidr)
                    .build());
    
            var defaultGatewayVpnAttachment = new GatewayVpnAttachment("defaultGatewayVpnAttachment", GatewayVpnAttachmentArgs.builder()
                .networkType("public")
                .localSubnet("0.0.0.0/0")
                .enableTunnelsBgp(false)
                .vpnAttachmentName(name)
                .tunnelOptionsSpecifications(            
                    GatewayVpnAttachmentTunnelOptionsSpecificationArgs.builder()
                        .customerGatewayId(defaultCustomerGateway.id())
                        .enableDpd(true)
                        .enableNatTraversal(true)
                        .tunnelIndex(1)
                        .tunnelIkeConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()
                            .remoteId("2.2.2.2")
                            .ikeEncAlg("aes")
                            .ikeMode("main")
                            .ikeVersion("ikev1")
                            .localId("1.1.1.1")
                            .ikeAuthAlg("md5")
                            .ikeLifetime(86100)
                            .ikePfs("group2")
                            .psk("12345678")
                            .build())
                        .tunnelIpsecConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()
                            .ipsecAuthAlg("md5")
                            .ipsecEncAlg("aes")
                            .ipsecLifetime(86200)
                            .ipsecPfs("group5")
                            .build())
                        .build(),
                    GatewayVpnAttachmentTunnelOptionsSpecificationArgs.builder()
                        .enableNatTraversal(true)
                        .tunnelIndex(2)
                        .tunnelIkeConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()
                            .localId("4.4.4.4")
                            .remoteId("5.5.5.5")
                            .ikeLifetime(86400)
                            .ikePfs("group5")
                            .ikeMode("main")
                            .ikeVersion("ikev2")
                            .psk("32333442")
                            .ikeAuthAlg("md5")
                            .ikeEncAlg("aes")
                            .build())
                        .tunnelIpsecConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()
                            .ipsecEncAlg("aes")
                            .ipsecLifetime(86400)
                            .ipsecPfs("group5")
                            .ipsecAuthAlg("sha256")
                            .build())
                        .customerGatewayId(defaultCustomerGateway.id())
                        .enableDpd(true)
                        .build())
                .remoteSubnet("0.0.0.0/0")
                .build());
    
            var defaultTransitRouterVpnAttachment = new TransitRouterVpnAttachment("defaultTransitRouterVpnAttachment", TransitRouterVpnAttachmentArgs.builder()
                .autoPublishRouteEnabled(false)
                .transitRouterAttachmentDescription(name)
                .transitRouterAttachmentName(name)
                .cenId(defaultTransitRouter.cenId())
                .transitRouterId(defaultTransitRouter.transitRouterId())
                .vpnId(defaultGatewayVpnAttachment.id())
                .vpnOwnerId(default_.id())
                .chargeType("POSTPAY")
                .tags(Map.ofEntries(
                    Map.entry("Created", "TF"),
                    Map.entry("For", "VpnAttachment")
                ))
                .build());
    
            final var ids = Output.tuple(defaultTransitRouterVpnAttachment.id(), defaultTransitRouterVpnAttachment.cenId(), defaultTransitRouterVpnAttachment.transitRouterId()).applyValue(values -> {
                var id = values.t1;
                var cenId = values.t2;
                var transitRouterId = values.t3;
                return CenFunctions.getTransitRouterVpnAttachments(GetTransitRouterVpnAttachmentsArgs.builder()
                    .ids(id)
                    .cenId(cenId)
                    .transitRouterId(transitRouterId)
                    .build());
            });
    
            ctx.export("cenTransitRouterVpnAttachmentId0", ids.applyValue(_ids -> _ids.attachments()[0].id()));
        }
    }
    
    configuration:
      name:
        type: string
        default: terraform-example
    resources:
      defaultInstance:
        type: alicloud:cen:Instance
        name: default
        properties:
          cenInstanceName: ${name}
      defaultTransitRouter:
        type: alicloud:cen:TransitRouter
        name: default
        properties:
          cenId: ${defaultInstance.id}
      defaultTransitRouterCidr:
        type: alicloud:cen:TransitRouterCidr
        name: default
        properties:
          cidr: 192.168.10.0/24
          transitRouterId: ${defaultTransitRouter.transitRouterId}
          publishCidrRoute: true
      defaultCustomerGateway:
        type: alicloud:vpn:CustomerGateway
        name: default
        properties:
          ipAddress: 1.1.1.8
          customerGatewayName: ${name}
        options:
          dependsOn:
            - ${defaultTransitRouterCidr}
      defaultGatewayVpnAttachment:
        type: alicloud:vpn:GatewayVpnAttachment
        name: default
        properties:
          networkType: public
          localSubnet: 0.0.0.0/0
          enableTunnelsBgp: 'false'
          vpnAttachmentName: ${name}
          tunnelOptionsSpecifications:
            - customerGatewayId: ${defaultCustomerGateway.id}
              enableDpd: 'true'
              enableNatTraversal: 'true'
              tunnelIndex: '1'
              tunnelIkeConfig:
                remoteId: 2.2.2.2
                ikeEncAlg: aes
                ikeMode: main
                ikeVersion: ikev1
                localId: 1.1.1.1
                ikeAuthAlg: md5
                ikeLifetime: '86100'
                ikePfs: group2
                psk: '12345678'
              tunnelIpsecConfig:
                ipsecAuthAlg: md5
                ipsecEncAlg: aes
                ipsecLifetime: '86200'
                ipsecPfs: group5
            - enableNatTraversal: 'true'
              tunnelIndex: '2'
              tunnelIkeConfig:
                localId: 4.4.4.4
                remoteId: 5.5.5.5
                ikeLifetime: '86400'
                ikePfs: group5
                ikeMode: main
                ikeVersion: ikev2
                psk: '32333442'
                ikeAuthAlg: md5
                ikeEncAlg: aes
              tunnelIpsecConfig:
                ipsecEncAlg: aes
                ipsecLifetime: '86400'
                ipsecPfs: group5
                ipsecAuthAlg: sha256
              customerGatewayId: ${defaultCustomerGateway.id}
              enableDpd: 'true'
          remoteSubnet: 0.0.0.0/0
      defaultTransitRouterVpnAttachment:
        type: alicloud:cen:TransitRouterVpnAttachment
        name: default
        properties:
          autoPublishRouteEnabled: false
          transitRouterAttachmentDescription: ${name}
          transitRouterAttachmentName: ${name}
          cenId: ${defaultTransitRouter.cenId}
          transitRouterId: ${defaultTransitRouter.transitRouterId}
          vpnId: ${defaultGatewayVpnAttachment.id}
          vpnOwnerId: ${default.id}
          chargeType: POSTPAY
          tags:
            Created: TF
            For: VpnAttachment
    variables:
      default:
        fn::invoke:
          function: alicloud:getAccount
          arguments: {}
      ids:
        fn::invoke:
          function: alicloud:cen:getTransitRouterVpnAttachments
          arguments:
            ids:
              - ${defaultTransitRouterVpnAttachment.id}
            cenId: ${defaultTransitRouterVpnAttachment.cenId}
            transitRouterId: ${defaultTransitRouterVpnAttachment.transitRouterId}
    outputs:
      cenTransitRouterVpnAttachmentId0: ${ids.attachments[0].id}
    

    Using getTransitRouterVpnAttachments

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getTransitRouterVpnAttachments(args: GetTransitRouterVpnAttachmentsArgs, opts?: InvokeOptions): Promise<GetTransitRouterVpnAttachmentsResult>
    function getTransitRouterVpnAttachmentsOutput(args: GetTransitRouterVpnAttachmentsOutputArgs, opts?: InvokeOptions): Output<GetTransitRouterVpnAttachmentsResult>
    def get_transit_router_vpn_attachments(cen_id: Optional[str] = None,
                                           ids: Optional[Sequence[str]] = None,
                                           name_regex: Optional[str] = None,
                                           output_file: Optional[str] = None,
                                           status: Optional[str] = None,
                                           tags: Optional[Mapping[str, str]] = None,
                                           transit_router_attachment_id: Optional[str] = None,
                                           transit_router_id: Optional[str] = None,
                                           opts: Optional[InvokeOptions] = None) -> GetTransitRouterVpnAttachmentsResult
    def get_transit_router_vpn_attachments_output(cen_id: Optional[pulumi.Input[str]] = None,
                                           ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                                           name_regex: Optional[pulumi.Input[str]] = None,
                                           output_file: Optional[pulumi.Input[str]] = None,
                                           status: Optional[pulumi.Input[str]] = None,
                                           tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                                           transit_router_attachment_id: Optional[pulumi.Input[str]] = None,
                                           transit_router_id: Optional[pulumi.Input[str]] = None,
                                           opts: Optional[InvokeOptions] = None) -> Output[GetTransitRouterVpnAttachmentsResult]
    func GetTransitRouterVpnAttachments(ctx *Context, args *GetTransitRouterVpnAttachmentsArgs, opts ...InvokeOption) (*GetTransitRouterVpnAttachmentsResult, error)
    func GetTransitRouterVpnAttachmentsOutput(ctx *Context, args *GetTransitRouterVpnAttachmentsOutputArgs, opts ...InvokeOption) GetTransitRouterVpnAttachmentsResultOutput

    > Note: This function is named GetTransitRouterVpnAttachments in the Go SDK.

    public static class GetTransitRouterVpnAttachments 
    {
        public static Task<GetTransitRouterVpnAttachmentsResult> InvokeAsync(GetTransitRouterVpnAttachmentsArgs args, InvokeOptions? opts = null)
        public static Output<GetTransitRouterVpnAttachmentsResult> Invoke(GetTransitRouterVpnAttachmentsInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetTransitRouterVpnAttachmentsResult> getTransitRouterVpnAttachments(GetTransitRouterVpnAttachmentsArgs args, InvokeOptions options)
    public static Output<GetTransitRouterVpnAttachmentsResult> getTransitRouterVpnAttachments(GetTransitRouterVpnAttachmentsArgs args, InvokeOptions options)
    
    fn::invoke:
      function: alicloud:cen/getTransitRouterVpnAttachments:getTransitRouterVpnAttachments
      arguments:
        # arguments dictionary

    The following arguments are supported:

    CenId string
    The ID of the Cloud Enterprise Network (CEN) instance.
    Ids List<string>
    A list of Transit Router Vpn Attachment IDs.
    NameRegex string
    A regex string to filter results by Transit Router Vpn Attachment name.
    OutputFile string
    File name where to save data source results (after running pulumi preview).
    Status string
    The Status of Transit Router Vpn Attachment. Valid values: Attached, Attaching, Detaching.
    Tags Dictionary<string, string>
    The tag of the resource.
    TransitRouterAttachmentId string
    The ID of the VPN attachment.
    TransitRouterId string
    The ID of the transit router.
    CenId string
    The ID of the Cloud Enterprise Network (CEN) instance.
    Ids []string
    A list of Transit Router Vpn Attachment IDs.
    NameRegex string
    A regex string to filter results by Transit Router Vpn Attachment name.
    OutputFile string
    File name where to save data source results (after running pulumi preview).
    Status string
    The Status of Transit Router Vpn Attachment. Valid values: Attached, Attaching, Detaching.
    Tags map[string]string
    The tag of the resource.
    TransitRouterAttachmentId string
    The ID of the VPN attachment.
    TransitRouterId string
    The ID of the transit router.
    cenId String
    The ID of the Cloud Enterprise Network (CEN) instance.
    ids List<String>
    A list of Transit Router Vpn Attachment IDs.
    nameRegex String
    A regex string to filter results by Transit Router Vpn Attachment name.
    outputFile String
    File name where to save data source results (after running pulumi preview).
    status String
    The Status of Transit Router Vpn Attachment. Valid values: Attached, Attaching, Detaching.
    tags Map<String,String>
    The tag of the resource.
    transitRouterAttachmentId String
    The ID of the VPN attachment.
    transitRouterId String
    The ID of the transit router.
    cenId string
    The ID of the Cloud Enterprise Network (CEN) instance.
    ids string[]
    A list of Transit Router Vpn Attachment IDs.
    nameRegex string
    A regex string to filter results by Transit Router Vpn Attachment name.
    outputFile string
    File name where to save data source results (after running pulumi preview).
    status string
    The Status of Transit Router Vpn Attachment. Valid values: Attached, Attaching, Detaching.
    tags {[key: string]: string}
    The tag of the resource.
    transitRouterAttachmentId string
    The ID of the VPN attachment.
    transitRouterId string
    The ID of the transit router.
    cen_id str
    The ID of the Cloud Enterprise Network (CEN) instance.
    ids Sequence[str]
    A list of Transit Router Vpn Attachment IDs.
    name_regex str
    A regex string to filter results by Transit Router Vpn Attachment name.
    output_file str
    File name where to save data source results (after running pulumi preview).
    status str
    The Status of Transit Router Vpn Attachment. Valid values: Attached, Attaching, Detaching.
    tags Mapping[str, str]
    The tag of the resource.
    transit_router_attachment_id str
    The ID of the VPN attachment.
    transit_router_id str
    The ID of the transit router.
    cenId String
    The ID of the Cloud Enterprise Network (CEN) instance.
    ids List<String>
    A list of Transit Router Vpn Attachment IDs.
    nameRegex String
    A regex string to filter results by Transit Router Vpn Attachment name.
    outputFile String
    File name where to save data source results (after running pulumi preview).
    status String
    The Status of Transit Router Vpn Attachment. Valid values: Attached, Attaching, Detaching.
    tags Map<String>
    The tag of the resource.
    transitRouterAttachmentId String
    The ID of the VPN attachment.
    transitRouterId String
    The ID of the transit router.

    getTransitRouterVpnAttachments Result

    The following output properties are available:

    Attachments List<Pulumi.AliCloud.Cen.Outputs.GetTransitRouterVpnAttachmentsAttachment>
    A list of Transit Router Vpn Attachment Entries. Each element contains the following attributes:
    Id string
    The provider-assigned unique ID for this managed resource.
    Ids List<string>
    Names List<string>
    A list of name of Transit Router Vpn Attachments.
    CenId string
    (Available since v1.245.0) The ID of the Cloud Enterprise Network (CEN) instance.
    NameRegex string
    OutputFile string
    Status string
    The status of the VPN connection.
    Tags Dictionary<string, string>
    (Available since v1.245.0) The tag of the resource.
    TransitRouterAttachmentId string
    (Available since v1.245.0) The ID of the VPN attachment.
    TransitRouterId string
    The ID of the transit router.
    Attachments []GetTransitRouterVpnAttachmentsAttachment
    A list of Transit Router Vpn Attachment Entries. Each element contains the following attributes:
    Id string
    The provider-assigned unique ID for this managed resource.
    Ids []string
    Names []string
    A list of name of Transit Router Vpn Attachments.
    CenId string
    (Available since v1.245.0) The ID of the Cloud Enterprise Network (CEN) instance.
    NameRegex string
    OutputFile string
    Status string
    The status of the VPN connection.
    Tags map[string]string
    (Available since v1.245.0) The tag of the resource.
    TransitRouterAttachmentId string
    (Available since v1.245.0) The ID of the VPN attachment.
    TransitRouterId string
    The ID of the transit router.
    attachments List<GetTransitRouterVpnAttachmentsAttachment>
    A list of Transit Router Vpn Attachment Entries. Each element contains the following attributes:
    id String
    The provider-assigned unique ID for this managed resource.
    ids List<String>
    names List<String>
    A list of name of Transit Router Vpn Attachments.
    cenId String
    (Available since v1.245.0) The ID of the Cloud Enterprise Network (CEN) instance.
    nameRegex String
    outputFile String
    status String
    The status of the VPN connection.
    tags Map<String,String>
    (Available since v1.245.0) The tag of the resource.
    transitRouterAttachmentId String
    (Available since v1.245.0) The ID of the VPN attachment.
    transitRouterId String
    The ID of the transit router.
    attachments GetTransitRouterVpnAttachmentsAttachment[]
    A list of Transit Router Vpn Attachment Entries. Each element contains the following attributes:
    id string
    The provider-assigned unique ID for this managed resource.
    ids string[]
    names string[]
    A list of name of Transit Router Vpn Attachments.
    cenId string
    (Available since v1.245.0) The ID of the Cloud Enterprise Network (CEN) instance.
    nameRegex string
    outputFile string
    status string
    The status of the VPN connection.
    tags {[key: string]: string}
    (Available since v1.245.0) The tag of the resource.
    transitRouterAttachmentId string
    (Available since v1.245.0) The ID of the VPN attachment.
    transitRouterId string
    The ID of the transit router.
    attachments Sequence[GetTransitRouterVpnAttachmentsAttachment]
    A list of Transit Router Vpn Attachment Entries. Each element contains the following attributes:
    id str
    The provider-assigned unique ID for this managed resource.
    ids Sequence[str]
    names Sequence[str]
    A list of name of Transit Router Vpn Attachments.
    cen_id str
    (Available since v1.245.0) The ID of the Cloud Enterprise Network (CEN) instance.
    name_regex str
    output_file str
    status str
    The status of the VPN connection.
    tags Mapping[str, str]
    (Available since v1.245.0) The tag of the resource.
    transit_router_attachment_id str
    (Available since v1.245.0) The ID of the VPN attachment.
    transit_router_id str
    The ID of the transit router.
    attachments List<Property Map>
    A list of Transit Router Vpn Attachment Entries. Each element contains the following attributes:
    id String
    The provider-assigned unique ID for this managed resource.
    ids List<String>
    names List<String>
    A list of name of Transit Router Vpn Attachments.
    cenId String
    (Available since v1.245.0) The ID of the Cloud Enterprise Network (CEN) instance.
    nameRegex String
    outputFile String
    status String
    The status of the VPN connection.
    tags Map<String>
    (Available since v1.245.0) The tag of the resource.
    transitRouterAttachmentId String
    (Available since v1.245.0) The ID of the VPN attachment.
    transitRouterId String
    The ID of the transit router.

    Supporting Types

    GetTransitRouterVpnAttachmentsAttachment

    AutoPublishRouteEnabled bool
    Specifies whether to allow the transit router to automatically advertise routes to the IPsec-VPN attachment.
    CenId string
    The ID of the Cloud Enterprise Network (CEN) instance.
    ChargeType string
    (Available since v1.245.0) The billing method of the VPN attachment.
    CreateTime string
    The time when the VPN connection was created.
    Id string
    The ID of the resource supplied above.
    ResourceType string
    The type of resource attached to the transit router.
    Status string
    The Status of Transit Router Vpn Attachment. Valid values: Attached, Attaching, Detaching.
    Tags Dictionary<string, string>
    The tag of the resource.
    TransitRouterAttachmentDescription string
    The description of the IPsec-VPN connection.
    TransitRouterAttachmentId string
    The ID of the VPN attachment.
    TransitRouterAttachmentName string
    The name of the VPN attachment.
    TransitRouterId string
    The ID of the transit router.
    VpnId string
    The ID of the IPsec-VPN attachment.
    VpnOwnerId int
    The ID of the Alibaba Cloud account to which the IPsec-VPN connection belongs.
    Zones List<Pulumi.AliCloud.Cen.Inputs.GetTransitRouterVpnAttachmentsAttachmentZone>
    The Zone ID in the current region.System will create resources under the Zone that you specify.Left blank if associated IPSec connection is in dual-tunnel mode.
    AutoPublishRouteEnabled bool
    Specifies whether to allow the transit router to automatically advertise routes to the IPsec-VPN attachment.
    CenId string
    The ID of the Cloud Enterprise Network (CEN) instance.
    ChargeType string
    (Available since v1.245.0) The billing method of the VPN attachment.
    CreateTime string
    The time when the VPN connection was created.
    Id string
    The ID of the resource supplied above.
    ResourceType string
    The type of resource attached to the transit router.
    Status string
    The Status of Transit Router Vpn Attachment. Valid values: Attached, Attaching, Detaching.
    Tags map[string]string
    The tag of the resource.
    TransitRouterAttachmentDescription string
    The description of the IPsec-VPN connection.
    TransitRouterAttachmentId string
    The ID of the VPN attachment.
    TransitRouterAttachmentName string
    The name of the VPN attachment.
    TransitRouterId string
    The ID of the transit router.
    VpnId string
    The ID of the IPsec-VPN attachment.
    VpnOwnerId int
    The ID of the Alibaba Cloud account to which the IPsec-VPN connection belongs.
    Zones []GetTransitRouterVpnAttachmentsAttachmentZone
    The Zone ID in the current region.System will create resources under the Zone that you specify.Left blank if associated IPSec connection is in dual-tunnel mode.
    autoPublishRouteEnabled Boolean
    Specifies whether to allow the transit router to automatically advertise routes to the IPsec-VPN attachment.
    cenId String
    The ID of the Cloud Enterprise Network (CEN) instance.
    chargeType String
    (Available since v1.245.0) The billing method of the VPN attachment.
    createTime String
    The time when the VPN connection was created.
    id String
    The ID of the resource supplied above.
    resourceType String
    The type of resource attached to the transit router.
    status String
    The Status of Transit Router Vpn Attachment. Valid values: Attached, Attaching, Detaching.
    tags Map<String,String>
    The tag of the resource.
    transitRouterAttachmentDescription String
    The description of the IPsec-VPN connection.
    transitRouterAttachmentId String
    The ID of the VPN attachment.
    transitRouterAttachmentName String
    The name of the VPN attachment.
    transitRouterId String
    The ID of the transit router.
    vpnId String
    The ID of the IPsec-VPN attachment.
    vpnOwnerId Integer
    The ID of the Alibaba Cloud account to which the IPsec-VPN connection belongs.
    zones List<GetTransitRouterVpnAttachmentsAttachmentZone>
    The Zone ID in the current region.System will create resources under the Zone that you specify.Left blank if associated IPSec connection is in dual-tunnel mode.
    autoPublishRouteEnabled boolean
    Specifies whether to allow the transit router to automatically advertise routes to the IPsec-VPN attachment.
    cenId string
    The ID of the Cloud Enterprise Network (CEN) instance.
    chargeType string
    (Available since v1.245.0) The billing method of the VPN attachment.
    createTime string
    The time when the VPN connection was created.
    id string
    The ID of the resource supplied above.
    resourceType string
    The type of resource attached to the transit router.
    status string
    The Status of Transit Router Vpn Attachment. Valid values: Attached, Attaching, Detaching.
    tags {[key: string]: string}
    The tag of the resource.
    transitRouterAttachmentDescription string
    The description of the IPsec-VPN connection.
    transitRouterAttachmentId string
    The ID of the VPN attachment.
    transitRouterAttachmentName string
    The name of the VPN attachment.
    transitRouterId string
    The ID of the transit router.
    vpnId string
    The ID of the IPsec-VPN attachment.
    vpnOwnerId number
    The ID of the Alibaba Cloud account to which the IPsec-VPN connection belongs.
    zones GetTransitRouterVpnAttachmentsAttachmentZone[]
    The Zone ID in the current region.System will create resources under the Zone that you specify.Left blank if associated IPSec connection is in dual-tunnel mode.
    auto_publish_route_enabled bool
    Specifies whether to allow the transit router to automatically advertise routes to the IPsec-VPN attachment.
    cen_id str
    The ID of the Cloud Enterprise Network (CEN) instance.
    charge_type str
    (Available since v1.245.0) The billing method of the VPN attachment.
    create_time str
    The time when the VPN connection was created.
    id str
    The ID of the resource supplied above.
    resource_type str
    The type of resource attached to the transit router.
    status str
    The Status of Transit Router Vpn Attachment. Valid values: Attached, Attaching, Detaching.
    tags Mapping[str, str]
    The tag of the resource.
    transit_router_attachment_description str
    The description of the IPsec-VPN connection.
    transit_router_attachment_id str
    The ID of the VPN attachment.
    transit_router_attachment_name str
    The name of the VPN attachment.
    transit_router_id str
    The ID of the transit router.
    vpn_id str
    The ID of the IPsec-VPN attachment.
    vpn_owner_id int
    The ID of the Alibaba Cloud account to which the IPsec-VPN connection belongs.
    zones Sequence[GetTransitRouterVpnAttachmentsAttachmentZone]
    The Zone ID in the current region.System will create resources under the Zone that you specify.Left blank if associated IPSec connection is in dual-tunnel mode.
    autoPublishRouteEnabled Boolean
    Specifies whether to allow the transit router to automatically advertise routes to the IPsec-VPN attachment.
    cenId String
    The ID of the Cloud Enterprise Network (CEN) instance.
    chargeType String
    (Available since v1.245.0) The billing method of the VPN attachment.
    createTime String
    The time when the VPN connection was created.
    id String
    The ID of the resource supplied above.
    resourceType String
    The type of resource attached to the transit router.
    status String
    The Status of Transit Router Vpn Attachment. Valid values: Attached, Attaching, Detaching.
    tags Map<String>
    The tag of the resource.
    transitRouterAttachmentDescription String
    The description of the IPsec-VPN connection.
    transitRouterAttachmentId String
    The ID of the VPN attachment.
    transitRouterAttachmentName String
    The name of the VPN attachment.
    transitRouterId String
    The ID of the transit router.
    vpnId String
    The ID of the IPsec-VPN attachment.
    vpnOwnerId Number
    The ID of the Alibaba Cloud account to which the IPsec-VPN connection belongs.
    zones List<Property Map>
    The Zone ID in the current region.System will create resources under the Zone that you specify.Left blank if associated IPSec connection is in dual-tunnel mode.

    GetTransitRouterVpnAttachmentsAttachmentZone

    ZoneId string
    The zone ID of the read-only instance.
    ZoneId string
    The zone ID of the read-only instance.
    zoneId String
    The zone ID of the read-only instance.
    zoneId string
    The zone ID of the read-only instance.
    zone_id str
    The zone ID of the read-only instance.
    zoneId String
    The zone ID of the read-only instance.

    Package Details

    Repository
    Alibaba Cloud pulumi/pulumi-alicloud
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the alicloud Terraform Provider.
    alicloud logo
    Alibaba Cloud v3.81.0 published on Monday, Jun 23, 2025 by Pulumi