vcd 3.14.1 published on Monday, Apr 14, 2025 by vmware
vcd.getNsxtEdgegatewayL2VpnTunnel
Explore with Pulumi AI
Supported in provider v3.11+ and VCD 10.4+ with NSX-T.
Provides a data source to read NSX-T Edge Gateway L2 VPN Tunnel sessions and their configurations.
Example Usage
Reading A Tunnel’s Server Session To Get The Peer Code For The Client Session)
import * as pulumi from "@pulumi/pulumi";
import * as vcd from "@pulumi/vcd";
const existing = vcd.getOrgVdc({
name: "existing-vdc",
});
const server_testing = existing.then(existing => vcd.getNsxtEdgegateway({
ownerId: existing.id,
name: "server-testing",
}));
const client_testing = existing.then(existing => vcd.getNsxtEdgegateway({
ownerId: existing.id,
name: "client-testing",
}));
const server_session = server_testing.then(server_testing => vcd.getNsxtEdgegatewayL2VpnTunnel({
org: "datacloud",
edgeGatewayId: server_testing.id,
name: "server-session",
}));
const client_session = new vcd.NsxtEdgegatewayL2VpnTunnel("client-session", {
org: "datacloud",
edgeGatewayId: client_testing.then(client_testing => client_testing.id),
sessionMode: "CLIENT",
enabled: true,
localEndpointIp: "101.22.30.3",
remoteEndpointIp: "1.2.2.3",
peerCode: server_session.then(server_session => server_session.peerCode),
});
import pulumi
import pulumi_vcd as vcd
existing = vcd.get_org_vdc(name="existing-vdc")
server_testing = vcd.get_nsxt_edgegateway(owner_id=existing.id,
name="server-testing")
client_testing = vcd.get_nsxt_edgegateway(owner_id=existing.id,
name="client-testing")
server_session = vcd.get_nsxt_edgegateway_l2_vpn_tunnel(org="datacloud",
edge_gateway_id=server_testing.id,
name="server-session")
client_session = vcd.NsxtEdgegatewayL2VpnTunnel("client-session",
org="datacloud",
edge_gateway_id=client_testing.id,
session_mode="CLIENT",
enabled=True,
local_endpoint_ip="101.22.30.3",
remote_endpoint_ip="1.2.2.3",
peer_code=server_session.peer_code)
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/vcd/v3/vcd"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
existing, err := vcd.LookupOrgVdc(ctx, &vcd.LookupOrgVdcArgs{
Name: "existing-vdc",
}, nil)
if err != nil {
return err
}
server_testing, err := vcd.LookupNsxtEdgegateway(ctx, &vcd.LookupNsxtEdgegatewayArgs{
OwnerId: pulumi.StringRef(existing.Id),
Name: "server-testing",
}, nil)
if err != nil {
return err
}
client_testing, err := vcd.LookupNsxtEdgegateway(ctx, &vcd.LookupNsxtEdgegatewayArgs{
OwnerId: pulumi.StringRef(existing.Id),
Name: "client-testing",
}, nil)
if err != nil {
return err
}
server_session, err := vcd.LookupNsxtEdgegatewayL2VpnTunnel(ctx, &vcd.LookupNsxtEdgegatewayL2VpnTunnelArgs{
Org: pulumi.StringRef("datacloud"),
EdgeGatewayId: server_testing.Id,
Name: "server-session",
}, nil)
if err != nil {
return err
}
_, err = vcd.NewNsxtEdgegatewayL2VpnTunnel(ctx, "client-session", &vcd.NsxtEdgegatewayL2VpnTunnelArgs{
Org: pulumi.String("datacloud"),
EdgeGatewayId: pulumi.String(client_testing.Id),
SessionMode: pulumi.String("CLIENT"),
Enabled: pulumi.Bool(true),
LocalEndpointIp: pulumi.String("101.22.30.3"),
RemoteEndpointIp: pulumi.String("1.2.2.3"),
PeerCode: pulumi.String(server_session.PeerCode),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Vcd = Pulumi.Vcd;
return await Deployment.RunAsync(() =>
{
var existing = Vcd.GetOrgVdc.Invoke(new()
{
Name = "existing-vdc",
});
var server_testing = Vcd.GetNsxtEdgegateway.Invoke(new()
{
OwnerId = existing.Apply(getOrgVdcResult => getOrgVdcResult.Id),
Name = "server-testing",
});
var client_testing = Vcd.GetNsxtEdgegateway.Invoke(new()
{
OwnerId = existing.Apply(getOrgVdcResult => getOrgVdcResult.Id),
Name = "client-testing",
});
var server_session = Vcd.GetNsxtEdgegatewayL2VpnTunnel.Invoke(new()
{
Org = "datacloud",
EdgeGatewayId = server_testing.Apply(getNsxtEdgegatewayResult => getNsxtEdgegatewayResult.Id),
Name = "server-session",
});
var client_session = new Vcd.NsxtEdgegatewayL2VpnTunnel("client-session", new()
{
Org = "datacloud",
EdgeGatewayId = client_testing.Apply(client_testing => client_testing.Apply(getNsxtEdgegatewayResult => getNsxtEdgegatewayResult.Id)),
SessionMode = "CLIENT",
Enabled = true,
LocalEndpointIp = "101.22.30.3",
RemoteEndpointIp = "1.2.2.3",
PeerCode = server_session.Apply(server_session => server_session.Apply(getNsxtEdgegatewayL2VpnTunnelResult => getNsxtEdgegatewayL2VpnTunnelResult.PeerCode)),
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vcd.VcdFunctions;
import com.pulumi.vcd.inputs.GetOrgVdcArgs;
import com.pulumi.vcd.inputs.GetNsxtEdgegatewayArgs;
import com.pulumi.vcd.inputs.GetNsxtEdgegatewayL2VpnTunnelArgs;
import com.pulumi.vcd.NsxtEdgegatewayL2VpnTunnel;
import com.pulumi.vcd.NsxtEdgegatewayL2VpnTunnelArgs;
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 existing = VcdFunctions.getOrgVdc(GetOrgVdcArgs.builder()
.name("existing-vdc")
.build());
final var server-testing = VcdFunctions.getNsxtEdgegateway(GetNsxtEdgegatewayArgs.builder()
.ownerId(existing.applyValue(getOrgVdcResult -> getOrgVdcResult.id()))
.name("server-testing")
.build());
final var client-testing = VcdFunctions.getNsxtEdgegateway(GetNsxtEdgegatewayArgs.builder()
.ownerId(existing.applyValue(getOrgVdcResult -> getOrgVdcResult.id()))
.name("client-testing")
.build());
final var server-session = VcdFunctions.getNsxtEdgegatewayL2VpnTunnel(GetNsxtEdgegatewayL2VpnTunnelArgs.builder()
.org("datacloud")
.edgeGatewayId(server_testing.id())
.name("server-session")
.build());
var client_session = new NsxtEdgegatewayL2VpnTunnel("client-session", NsxtEdgegatewayL2VpnTunnelArgs.builder()
.org("datacloud")
.edgeGatewayId(client_testing.id())
.sessionMode("CLIENT")
.enabled(true)
.localEndpointIp("101.22.30.3")
.remoteEndpointIp("1.2.2.3")
.peerCode(server_session.peerCode())
.build());
}
}
resources:
client-session:
type: vcd:NsxtEdgegatewayL2VpnTunnel
properties:
org: datacloud
# Note that this is a different Edge Gateway, as one Edge Gateway
# # can function only in SERVER or CLIENT mode
edgeGatewayId: ${["client-testing"].id}
sessionMode: CLIENT
enabled: true
# must be sub-allocated on the Edge Gateway
localEndpointIp: 101.22.30.3
remoteEndpointIp: 1.2.2.3
peerCode: ${["server-session"].peerCode}
variables:
existing:
fn::invoke:
function: vcd:getOrgVdc
arguments:
name: existing-vdc
server-testing:
fn::invoke:
function: vcd:getNsxtEdgegateway
arguments:
ownerId: ${existing.id}
name: server-testing
client-testing:
fn::invoke:
function: vcd:getNsxtEdgegateway
arguments:
ownerId: ${existing.id}
name: client-testing
server-session:
fn::invoke:
function: vcd:getNsxtEdgegatewayL2VpnTunnel
arguments:
org: datacloud
edgeGatewayId: ${["server-testing"].id}
name: server-session
Using getNsxtEdgegatewayL2VpnTunnel
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 getNsxtEdgegatewayL2VpnTunnel(args: GetNsxtEdgegatewayL2VpnTunnelArgs, opts?: InvokeOptions): Promise<GetNsxtEdgegatewayL2VpnTunnelResult>
function getNsxtEdgegatewayL2VpnTunnelOutput(args: GetNsxtEdgegatewayL2VpnTunnelOutputArgs, opts?: InvokeOptions): Output<GetNsxtEdgegatewayL2VpnTunnelResult>
def get_nsxt_edgegateway_l2_vpn_tunnel(edge_gateway_id: Optional[str] = None,
id: Optional[str] = None,
name: Optional[str] = None,
org: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetNsxtEdgegatewayL2VpnTunnelResult
def get_nsxt_edgegateway_l2_vpn_tunnel_output(edge_gateway_id: Optional[pulumi.Input[str]] = None,
id: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
org: Optional[pulumi.Input[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetNsxtEdgegatewayL2VpnTunnelResult]
func LookupNsxtEdgegatewayL2VpnTunnel(ctx *Context, args *LookupNsxtEdgegatewayL2VpnTunnelArgs, opts ...InvokeOption) (*LookupNsxtEdgegatewayL2VpnTunnelResult, error)
func LookupNsxtEdgegatewayL2VpnTunnelOutput(ctx *Context, args *LookupNsxtEdgegatewayL2VpnTunnelOutputArgs, opts ...InvokeOption) LookupNsxtEdgegatewayL2VpnTunnelResultOutput
> Note: This function is named LookupNsxtEdgegatewayL2VpnTunnel
in the Go SDK.
public static class GetNsxtEdgegatewayL2VpnTunnel
{
public static Task<GetNsxtEdgegatewayL2VpnTunnelResult> InvokeAsync(GetNsxtEdgegatewayL2VpnTunnelArgs args, InvokeOptions? opts = null)
public static Output<GetNsxtEdgegatewayL2VpnTunnelResult> Invoke(GetNsxtEdgegatewayL2VpnTunnelInvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetNsxtEdgegatewayL2VpnTunnelResult> getNsxtEdgegatewayL2VpnTunnel(GetNsxtEdgegatewayL2VpnTunnelArgs args, InvokeOptions options)
public static Output<GetNsxtEdgegatewayL2VpnTunnelResult> getNsxtEdgegatewayL2VpnTunnel(GetNsxtEdgegatewayL2VpnTunnelArgs args, InvokeOptions options)
fn::invoke:
function: vcd:index/getNsxtEdgegatewayL2VpnTunnel:getNsxtEdgegatewayL2VpnTunnel
arguments:
# arguments dictionary
The following arguments are supported:
- Edge
Gateway stringId - The ID of the Edge Gateway (NSX-T only).
Can be looked up using
vcd.NsxtEdgegateway
data source - Name string
- The name of the tunnel.
- Id string
- Org string
- The name of organization to use, optional if defined at provider level. Useful when connected as sysadmin working across different organisations
- Edge
Gateway stringId - The ID of the Edge Gateway (NSX-T only).
Can be looked up using
vcd.NsxtEdgegateway
data source - Name string
- The name of the tunnel.
- Id string
- Org string
- The name of organization to use, optional if defined at provider level. Useful when connected as sysadmin working across different organisations
- edge
Gateway StringId - The ID of the Edge Gateway (NSX-T only).
Can be looked up using
vcd.NsxtEdgegateway
data source - name String
- The name of the tunnel.
- id String
- org String
- The name of organization to use, optional if defined at provider level. Useful when connected as sysadmin working across different organisations
- edge
Gateway stringId - The ID of the Edge Gateway (NSX-T only).
Can be looked up using
vcd.NsxtEdgegateway
data source - name string
- The name of the tunnel.
- id string
- org string
- The name of organization to use, optional if defined at provider level. Useful when connected as sysadmin working across different organisations
- edge_
gateway_ strid - The ID of the Edge Gateway (NSX-T only).
Can be looked up using
vcd.NsxtEdgegateway
data source - name str
- The name of the tunnel.
- id str
- org str
- The name of organization to use, optional if defined at provider level. Useful when connected as sysadmin working across different organisations
- edge
Gateway StringId - The ID of the Edge Gateway (NSX-T only).
Can be looked up using
vcd.NsxtEdgegateway
data source - name String
- The name of the tunnel.
- id String
- org String
- The name of organization to use, optional if defined at provider level. Useful when connected as sysadmin working across different organisations
getNsxtEdgegatewayL2VpnTunnel Result
The following output properties are available:
- Connector
Initiation stringMode - Description string
- Edge
Gateway stringId - Enabled bool
- Id string
- Local
Endpoint stringIp - Name string
- Peer
Code string - string
- Remote
Endpoint stringIp - Session
Mode string - Stretched
Networks List<GetNsxt Edgegateway L2Vpn Tunnel Stretched Network> - Tunnel
Interface string - Org string
- Connector
Initiation stringMode - Description string
- Edge
Gateway stringId - Enabled bool
- Id string
- Local
Endpoint stringIp - Name string
- Peer
Code string - string
- Remote
Endpoint stringIp - Session
Mode string - Stretched
Networks []GetNsxt Edgegateway L2Vpn Tunnel Stretched Network - Tunnel
Interface string - Org string
- connector
Initiation StringMode - description String
- edge
Gateway StringId - enabled Boolean
- id String
- local
Endpoint StringIp - name String
- peer
Code String - String
- remote
Endpoint StringIp - session
Mode String - stretched
Networks List<GetNsxt Edgegateway L2Vpn Tunnel Stretched Network> - tunnel
Interface String - org String
- connector
Initiation stringMode - description string
- edge
Gateway stringId - enabled boolean
- id string
- local
Endpoint stringIp - name string
- peer
Code string - string
- remote
Endpoint stringIp - session
Mode string - stretched
Networks GetNsxt Edgegateway L2Vpn Tunnel Stretched Network[] - tunnel
Interface string - org string
- connector_
initiation_ strmode - description str
- edge_
gateway_ strid - enabled bool
- id str
- local_
endpoint_ strip - name str
- peer_
code str - str
- remote_
endpoint_ strip - session_
mode str - stretched_
networks Sequence[GetNsxt Edgegateway L2Vpn Tunnel Stretched Network] - tunnel_
interface str - org str
- connector
Initiation StringMode - description String
- edge
Gateway StringId - enabled Boolean
- id String
- local
Endpoint StringIp - name String
- peer
Code String - String
- remote
Endpoint StringIp - session
Mode String - stretched
Networks List<Property Map> - tunnel
Interface String - org String
Supporting Types
GetNsxtEdgegatewayL2VpnTunnelStretchedNetwork
- network_
id str - tunnel_
id float
Package Details
- Repository
- vcd vmware/terraform-provider-vcd
- License
- Notes
- This Pulumi package is based on the
vcd
Terraform Provider.