1. Packages
  2. Vcd Provider
  3. API Docs
  4. getNsxvDnat
vcd 3.14.1 published on Monday, Apr 14, 2025 by vmware

vcd.getNsxvDnat

Explore with Pulumi AI

vcd logo
vcd 3.14.1 published on Monday, Apr 14, 2025 by vmware

    Provides a VMware Cloud Director DNAT data source for advanced edge gateways (NSX-V). This can be used to read existing rule by ID and use its attributes in other resources.

    Note: This data source requires advanced edge gateway.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as vcd from "@pulumi/vcd";
    
    const my_rule = vcd.getNsxvDnat({
        edgeGateway: "my-edge-gw",
        org: "my-org",
        ruleId: "197864",
        vdc: "my-org-vdc",
    });
    
    import pulumi
    import pulumi_vcd as vcd
    
    my_rule = vcd.get_nsxv_dnat(edge_gateway="my-edge-gw",
        org="my-org",
        rule_id="197864",
        vdc="my-org-vdc")
    
    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 {
    		_, err := vcd.LookupNsxvDnat(ctx, &vcd.LookupNsxvDnatArgs{
    			EdgeGateway: "my-edge-gw",
    			Org:         pulumi.StringRef("my-org"),
    			RuleId:      "197864",
    			Vdc:         pulumi.StringRef("my-org-vdc"),
    		}, nil)
    		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 my_rule = Vcd.GetNsxvDnat.Invoke(new()
        {
            EdgeGateway = "my-edge-gw",
            Org = "my-org",
            RuleId = "197864",
            Vdc = "my-org-vdc",
        });
    
    });
    
    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.GetNsxvDnatArgs;
    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 my-rule = VcdFunctions.getNsxvDnat(GetNsxvDnatArgs.builder()
                .edgeGateway("my-edge-gw")
                .org("my-org")
                .ruleId("197864")
                .vdc("my-org-vdc")
                .build());
    
        }
    }
    
    variables:
      my-rule:
        fn::invoke:
          function: vcd:getNsxvDnat
          arguments:
            edgeGateway: my-edge-gw
            org: my-org
            ruleId: '197864'
            vdc: my-org-vdc
    

    Using getNsxvDnat

    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 getNsxvDnat(args: GetNsxvDnatArgs, opts?: InvokeOptions): Promise<GetNsxvDnatResult>
    function getNsxvDnatOutput(args: GetNsxvDnatOutputArgs, opts?: InvokeOptions): Output<GetNsxvDnatResult>
    def get_nsxv_dnat(edge_gateway: Optional[str] = None,
                      id: Optional[str] = None,
                      org: Optional[str] = None,
                      rule_id: Optional[str] = None,
                      vdc: Optional[str] = None,
                      opts: Optional[InvokeOptions] = None) -> GetNsxvDnatResult
    def get_nsxv_dnat_output(edge_gateway: Optional[pulumi.Input[str]] = None,
                      id: Optional[pulumi.Input[str]] = None,
                      org: Optional[pulumi.Input[str]] = None,
                      rule_id: Optional[pulumi.Input[str]] = None,
                      vdc: Optional[pulumi.Input[str]] = None,
                      opts: Optional[InvokeOptions] = None) -> Output[GetNsxvDnatResult]
    func LookupNsxvDnat(ctx *Context, args *LookupNsxvDnatArgs, opts ...InvokeOption) (*LookupNsxvDnatResult, error)
    func LookupNsxvDnatOutput(ctx *Context, args *LookupNsxvDnatOutputArgs, opts ...InvokeOption) LookupNsxvDnatResultOutput

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

    public static class GetNsxvDnat 
    {
        public static Task<GetNsxvDnatResult> InvokeAsync(GetNsxvDnatArgs args, InvokeOptions? opts = null)
        public static Output<GetNsxvDnatResult> Invoke(GetNsxvDnatInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetNsxvDnatResult> getNsxvDnat(GetNsxvDnatArgs args, InvokeOptions options)
    public static Output<GetNsxvDnatResult> getNsxvDnat(GetNsxvDnatArgs args, InvokeOptions options)
    
    fn::invoke:
      function: vcd:index/getNsxvDnat:getNsxvDnat
      arguments:
        # arguments dictionary

    The following arguments are supported:

    EdgeGateway string
    The name of the edge gateway on which to apply the DNAT rule.
    RuleId string
    ID of DNAT rule as shown in the UI.
    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.
    Vdc string
    The name of VDC to use, optional if defined at provider level.
    EdgeGateway string
    The name of the edge gateway on which to apply the DNAT rule.
    RuleId string
    ID of DNAT rule as shown in the UI.
    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.
    Vdc string
    The name of VDC to use, optional if defined at provider level.
    edgeGateway String
    The name of the edge gateway on which to apply the DNAT rule.
    ruleId String
    ID of DNAT rule as shown in the UI.
    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.
    vdc String
    The name of VDC to use, optional if defined at provider level.
    edgeGateway string
    The name of the edge gateway on which to apply the DNAT rule.
    ruleId string
    ID of DNAT rule as shown in the UI.
    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.
    vdc string
    The name of VDC to use, optional if defined at provider level.
    edge_gateway str
    The name of the edge gateway on which to apply the DNAT rule.
    rule_id str
    ID of DNAT rule as shown in the UI.
    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.
    vdc str
    The name of VDC to use, optional if defined at provider level.
    edgeGateway String
    The name of the edge gateway on which to apply the DNAT rule.
    ruleId String
    ID of DNAT rule as shown in the UI.
    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.
    vdc String
    The name of VDC to use, optional if defined at provider level.

    getNsxvDnat Result

    The following output properties are available:

    Description string
    EdgeGateway string
    Enabled bool
    IcmpType string
    Id string
    LoggingEnabled bool
    NetworkName string
    NetworkType string
    OriginalAddress string
    OriginalPort string
    Protocol string
    RuleId string
    RuleTag double
    RuleType string
    TranslatedAddress string
    TranslatedPort string
    Org string
    Vdc string
    Description string
    EdgeGateway string
    Enabled bool
    IcmpType string
    Id string
    LoggingEnabled bool
    NetworkName string
    NetworkType string
    OriginalAddress string
    OriginalPort string
    Protocol string
    RuleId string
    RuleTag float64
    RuleType string
    TranslatedAddress string
    TranslatedPort string
    Org string
    Vdc string
    description String
    edgeGateway String
    enabled Boolean
    icmpType String
    id String
    loggingEnabled Boolean
    networkName String
    networkType String
    originalAddress String
    originalPort String
    protocol String
    ruleId String
    ruleTag Double
    ruleType String
    translatedAddress String
    translatedPort String
    org String
    vdc String
    description string
    edgeGateway string
    enabled boolean
    icmpType string
    id string
    loggingEnabled boolean
    networkName string
    networkType string
    originalAddress string
    originalPort string
    protocol string
    ruleId string
    ruleTag number
    ruleType string
    translatedAddress string
    translatedPort string
    org string
    vdc string
    description String
    edgeGateway String
    enabled Boolean
    icmpType String
    id String
    loggingEnabled Boolean
    networkName String
    networkType String
    originalAddress String
    originalPort String
    protocol String
    ruleId String
    ruleTag Number
    ruleType String
    translatedAddress String
    translatedPort String
    org String
    vdc String

    Package Details

    Repository
    vcd vmware/terraform-provider-vcd
    License
    Notes
    This Pulumi package is based on the vcd Terraform Provider.
    vcd logo
    vcd 3.14.1 published on Monday, Apr 14, 2025 by vmware