1. Packages
  2. Strata Cloud Manager Provider
  3. API Docs
  4. NatRule
Strata Cloud Manager v0.4.3 published on Saturday, Nov 8, 2025 by Pulumi
scm logo
Strata Cloud Manager v0.4.3 published on Saturday, Nov 8, 2025 by Pulumi

    NatRule resource

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as scm from "@pulumi/scm";
    
    const exampleTag = new scm.Tag("example_tag", {
        folder: "All",
        name: "example-tag",
        color: "Red",
    });
    //Source Translation (SNAT) - Dynamic IP and Port
    const exampleNatRule = new scm.NatRule("example_nat_rule", {
        name: "snat-to-internet-1",
        froms: ["any"],
        tos: ["untrust"],
        sources: ["any"],
        destinations: ["any"],
        service: "service-https",
        description: "Dynamic SNAT for internal traffic accessing the internet. Updating",
        disabled: false,
        natType: "ipv4",
        folder: "All",
        tags: [exampleTag.name],
        sourceTranslation: {
            dynamicIpAndPort: {
                translatedAddresses: [
                    "1.1.1.1",
                    "1.1.1.5",
                ],
            },
        },
        destinationTranslation: {
            translatedAddress: "192.168.1.10",
            translatedPort: 8080,
        },
        activeActiveDeviceBinding: "1",
    });
    //Source Translation (SNAT) - Static IP - Bidirectional - no
    const exampleNatStaticRule = new scm.NatRule("example_nat_static_rule", {
        name: "snat-to-bid-1",
        froms: ["any"],
        tos: ["untrust"],
        sources: ["any"],
        destinations: ["any"],
        service: "service-https",
        description: "Dynamic SNAT for internal traffic accessing the internet. Updating",
        disabled: false,
        natType: "ipv4",
        folder: "All",
        tags: [exampleTag.name],
        sourceTranslation: {
            staticIp: {
                translatedAddress: "1.1.1.5",
                biDirectional: "no",
            },
        },
        destinationTranslation: {
            translatedAddress: "192.168.1.10",
            translatedPort: 8080,
        },
        activeActiveDeviceBinding: "1",
    });
    //Source Translation (SNAT) - Static IP - Bidirectional - yes
    const exampleNatStaticRule2 = new scm.NatRule("example_nat_static_rule_2", {
        name: "snat-to-bid-yes-1",
        froms: ["any"],
        tos: ["untrust"],
        sources: ["any"],
        destinations: ["any"],
        service: "service-https",
        description: "Dynamic SNAT for internal traffic accessing the internet. Updating",
        disabled: false,
        natType: "ipv4",
        folder: "All",
        tags: [exampleTag.name],
        sourceTranslation: {
            staticIp: {
                translatedAddress: "1.1.1.5",
                biDirectional: "yes",
            },
        },
        activeActiveDeviceBinding: "1",
    });
    //Source Translation (SNAT) - Dynamic IP 
    const exampleNatDynamicRule = new scm.NatRule("example_nat_dynamic_rule", {
        name: "snat-to-dyanamic-1",
        froms: ["any"],
        tos: ["untrust"],
        sources: ["any"],
        destinations: ["any"],
        service: "service-https",
        description: "Dynamic SNAT for internal traffic accessing the internet. Updating",
        disabled: false,
        natType: "ipv4",
        folder: "All",
        tags: [exampleTag.name],
        sourceTranslation: {
            dynamicIp: {
                translatedAddresses: ["1.1.1.0/24"],
                fallback: {
                    translatedAddresses: ["1.1.1.0"],
                    interfaceAddress: {
                        "interface": "ethernet1/1",
                        ip: "1.1.1.5",
                    },
                },
            },
        },
        destinationTranslation: {
            translatedAddress: "192.168.1.10",
            translatedPort: 8080,
        },
        activeActiveDeviceBinding: "1",
    });
    
    import pulumi
    import pulumi_scm as scm
    
    example_tag = scm.Tag("example_tag",
        folder="All",
        name="example-tag",
        color="Red")
    #Source Translation (SNAT) - Dynamic IP and Port
    example_nat_rule = scm.NatRule("example_nat_rule",
        name="snat-to-internet-1",
        froms=["any"],
        tos=["untrust"],
        sources=["any"],
        destinations=["any"],
        service="service-https",
        description="Dynamic SNAT for internal traffic accessing the internet. Updating",
        disabled=False,
        nat_type="ipv4",
        folder="All",
        tags=[example_tag.name],
        source_translation={
            "dynamic_ip_and_port": {
                "translated_addresses": [
                    "1.1.1.1",
                    "1.1.1.5",
                ],
            },
        },
        destination_translation={
            "translated_address": "192.168.1.10",
            "translated_port": 8080,
        },
        active_active_device_binding="1")
    #Source Translation (SNAT) - Static IP - Bidirectional - no
    example_nat_static_rule = scm.NatRule("example_nat_static_rule",
        name="snat-to-bid-1",
        froms=["any"],
        tos=["untrust"],
        sources=["any"],
        destinations=["any"],
        service="service-https",
        description="Dynamic SNAT for internal traffic accessing the internet. Updating",
        disabled=False,
        nat_type="ipv4",
        folder="All",
        tags=[example_tag.name],
        source_translation={
            "static_ip": {
                "translated_address": "1.1.1.5",
                "bi_directional": "no",
            },
        },
        destination_translation={
            "translated_address": "192.168.1.10",
            "translated_port": 8080,
        },
        active_active_device_binding="1")
    #Source Translation (SNAT) - Static IP - Bidirectional - yes
    example_nat_static_rule2 = scm.NatRule("example_nat_static_rule_2",
        name="snat-to-bid-yes-1",
        froms=["any"],
        tos=["untrust"],
        sources=["any"],
        destinations=["any"],
        service="service-https",
        description="Dynamic SNAT for internal traffic accessing the internet. Updating",
        disabled=False,
        nat_type="ipv4",
        folder="All",
        tags=[example_tag.name],
        source_translation={
            "static_ip": {
                "translated_address": "1.1.1.5",
                "bi_directional": "yes",
            },
        },
        active_active_device_binding="1")
    #Source Translation (SNAT) - Dynamic IP 
    example_nat_dynamic_rule = scm.NatRule("example_nat_dynamic_rule",
        name="snat-to-dyanamic-1",
        froms=["any"],
        tos=["untrust"],
        sources=["any"],
        destinations=["any"],
        service="service-https",
        description="Dynamic SNAT for internal traffic accessing the internet. Updating",
        disabled=False,
        nat_type="ipv4",
        folder="All",
        tags=[example_tag.name],
        source_translation={
            "dynamic_ip": {
                "translated_addresses": ["1.1.1.0/24"],
                "fallback": {
                    "translated_addresses": ["1.1.1.0"],
                    "interface_address": {
                        "interface": "ethernet1/1",
                        "ip": "1.1.1.5",
                    },
                },
            },
        },
        destination_translation={
            "translated_address": "192.168.1.10",
            "translated_port": 8080,
        },
        active_active_device_binding="1")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-scm/sdk/go/scm"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		exampleTag, err := scm.NewTag(ctx, "example_tag", &scm.TagArgs{
    			Folder: pulumi.String("All"),
    			Name:   pulumi.String("example-tag"),
    			Color:  pulumi.String("Red"),
    		})
    		if err != nil {
    			return err
    		}
    		// Source Translation (SNAT) - Dynamic IP and Port
    		_, err = scm.NewNatRule(ctx, "example_nat_rule", &scm.NatRuleArgs{
    			Name: pulumi.String("snat-to-internet-1"),
    			Froms: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Tos: pulumi.StringArray{
    				pulumi.String("untrust"),
    			},
    			Sources: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Destinations: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Service:     pulumi.String("service-https"),
    			Description: pulumi.String("Dynamic SNAT for internal traffic accessing the internet. Updating"),
    			Disabled:    pulumi.Bool(false),
    			NatType:     pulumi.String("ipv4"),
    			Folder:      pulumi.String("All"),
    			Tags: pulumi.StringArray{
    				exampleTag.Name,
    			},
    			SourceTranslation: &scm.NatRuleSourceTranslationArgs{
    				DynamicIpAndPort: &scm.NatRuleSourceTranslationDynamicIpAndPortArgs{
    					TranslatedAddresses: pulumi.StringArray{
    						pulumi.String("1.1.1.1"),
    						pulumi.String("1.1.1.5"),
    					},
    				},
    			},
    			DestinationTranslation: &scm.NatRuleDestinationTranslationArgs{
    				TranslatedAddress: pulumi.String("192.168.1.10"),
    				TranslatedPort:    pulumi.Int(8080),
    			},
    			ActiveActiveDeviceBinding: pulumi.String("1"),
    		})
    		if err != nil {
    			return err
    		}
    		// Source Translation (SNAT) - Static IP - Bidirectional - no
    		_, err = scm.NewNatRule(ctx, "example_nat_static_rule", &scm.NatRuleArgs{
    			Name: pulumi.String("snat-to-bid-1"),
    			Froms: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Tos: pulumi.StringArray{
    				pulumi.String("untrust"),
    			},
    			Sources: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Destinations: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Service:     pulumi.String("service-https"),
    			Description: pulumi.String("Dynamic SNAT for internal traffic accessing the internet. Updating"),
    			Disabled:    pulumi.Bool(false),
    			NatType:     pulumi.String("ipv4"),
    			Folder:      pulumi.String("All"),
    			Tags: pulumi.StringArray{
    				exampleTag.Name,
    			},
    			SourceTranslation: &scm.NatRuleSourceTranslationArgs{
    				StaticIp: &scm.NatRuleSourceTranslationStaticIpArgs{
    					TranslatedAddress: pulumi.String("1.1.1.5"),
    					BiDirectional:     pulumi.String("no"),
    				},
    			},
    			DestinationTranslation: &scm.NatRuleDestinationTranslationArgs{
    				TranslatedAddress: pulumi.String("192.168.1.10"),
    				TranslatedPort:    pulumi.Int(8080),
    			},
    			ActiveActiveDeviceBinding: pulumi.String("1"),
    		})
    		if err != nil {
    			return err
    		}
    		// Source Translation (SNAT) - Static IP - Bidirectional - yes
    		_, err = scm.NewNatRule(ctx, "example_nat_static_rule_2", &scm.NatRuleArgs{
    			Name: pulumi.String("snat-to-bid-yes-1"),
    			Froms: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Tos: pulumi.StringArray{
    				pulumi.String("untrust"),
    			},
    			Sources: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Destinations: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Service:     pulumi.String("service-https"),
    			Description: pulumi.String("Dynamic SNAT for internal traffic accessing the internet. Updating"),
    			Disabled:    pulumi.Bool(false),
    			NatType:     pulumi.String("ipv4"),
    			Folder:      pulumi.String("All"),
    			Tags: pulumi.StringArray{
    				exampleTag.Name,
    			},
    			SourceTranslation: &scm.NatRuleSourceTranslationArgs{
    				StaticIp: &scm.NatRuleSourceTranslationStaticIpArgs{
    					TranslatedAddress: pulumi.String("1.1.1.5"),
    					BiDirectional:     pulumi.String("yes"),
    				},
    			},
    			ActiveActiveDeviceBinding: pulumi.String("1"),
    		})
    		if err != nil {
    			return err
    		}
    		// Source Translation (SNAT) - Dynamic IP
    		_, err = scm.NewNatRule(ctx, "example_nat_dynamic_rule", &scm.NatRuleArgs{
    			Name: pulumi.String("snat-to-dyanamic-1"),
    			Froms: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Tos: pulumi.StringArray{
    				pulumi.String("untrust"),
    			},
    			Sources: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Destinations: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Service:     pulumi.String("service-https"),
    			Description: pulumi.String("Dynamic SNAT for internal traffic accessing the internet. Updating"),
    			Disabled:    pulumi.Bool(false),
    			NatType:     pulumi.String("ipv4"),
    			Folder:      pulumi.String("All"),
    			Tags: pulumi.StringArray{
    				exampleTag.Name,
    			},
    			SourceTranslation: &scm.NatRuleSourceTranslationArgs{
    				DynamicIp: &scm.NatRuleSourceTranslationDynamicIpArgs{
    					TranslatedAddresses: pulumi.StringArray{
    						pulumi.String("1.1.1.0/24"),
    					},
    					Fallback: &scm.NatRuleSourceTranslationDynamicIpFallbackArgs{
    						TranslatedAddresses: pulumi.StringArray{
    							pulumi.String("1.1.1.0"),
    						},
    						InterfaceAddress: &scm.NatRuleSourceTranslationDynamicIpFallbackInterfaceAddressArgs{
    							Interface: pulumi.String("ethernet1/1"),
    							Ip:        pulumi.String("1.1.1.5"),
    						},
    					},
    				},
    			},
    			DestinationTranslation: &scm.NatRuleDestinationTranslationArgs{
    				TranslatedAddress: pulumi.String("192.168.1.10"),
    				TranslatedPort:    pulumi.Int(8080),
    			},
    			ActiveActiveDeviceBinding: pulumi.String("1"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scm = Pulumi.Scm;
    
    return await Deployment.RunAsync(() => 
    {
        var exampleTag = new Scm.Tag("example_tag", new()
        {
            Folder = "All",
            Name = "example-tag",
            Color = "Red",
        });
    
        //Source Translation (SNAT) - Dynamic IP and Port
        var exampleNatRule = new Scm.NatRule("example_nat_rule", new()
        {
            Name = "snat-to-internet-1",
            Froms = new[]
            {
                "any",
            },
            Tos = new[]
            {
                "untrust",
            },
            Sources = new[]
            {
                "any",
            },
            Destinations = new[]
            {
                "any",
            },
            Service = "service-https",
            Description = "Dynamic SNAT for internal traffic accessing the internet. Updating",
            Disabled = false,
            NatType = "ipv4",
            Folder = "All",
            Tags = new[]
            {
                exampleTag.Name,
            },
            SourceTranslation = new Scm.Inputs.NatRuleSourceTranslationArgs
            {
                DynamicIpAndPort = new Scm.Inputs.NatRuleSourceTranslationDynamicIpAndPortArgs
                {
                    TranslatedAddresses = new[]
                    {
                        "1.1.1.1",
                        "1.1.1.5",
                    },
                },
            },
            DestinationTranslation = new Scm.Inputs.NatRuleDestinationTranslationArgs
            {
                TranslatedAddress = "192.168.1.10",
                TranslatedPort = 8080,
            },
            ActiveActiveDeviceBinding = "1",
        });
    
        //Source Translation (SNAT) - Static IP - Bidirectional - no
        var exampleNatStaticRule = new Scm.NatRule("example_nat_static_rule", new()
        {
            Name = "snat-to-bid-1",
            Froms = new[]
            {
                "any",
            },
            Tos = new[]
            {
                "untrust",
            },
            Sources = new[]
            {
                "any",
            },
            Destinations = new[]
            {
                "any",
            },
            Service = "service-https",
            Description = "Dynamic SNAT for internal traffic accessing the internet. Updating",
            Disabled = false,
            NatType = "ipv4",
            Folder = "All",
            Tags = new[]
            {
                exampleTag.Name,
            },
            SourceTranslation = new Scm.Inputs.NatRuleSourceTranslationArgs
            {
                StaticIp = new Scm.Inputs.NatRuleSourceTranslationStaticIpArgs
                {
                    TranslatedAddress = "1.1.1.5",
                    BiDirectional = "no",
                },
            },
            DestinationTranslation = new Scm.Inputs.NatRuleDestinationTranslationArgs
            {
                TranslatedAddress = "192.168.1.10",
                TranslatedPort = 8080,
            },
            ActiveActiveDeviceBinding = "1",
        });
    
        //Source Translation (SNAT) - Static IP - Bidirectional - yes
        var exampleNatStaticRule2 = new Scm.NatRule("example_nat_static_rule_2", new()
        {
            Name = "snat-to-bid-yes-1",
            Froms = new[]
            {
                "any",
            },
            Tos = new[]
            {
                "untrust",
            },
            Sources = new[]
            {
                "any",
            },
            Destinations = new[]
            {
                "any",
            },
            Service = "service-https",
            Description = "Dynamic SNAT for internal traffic accessing the internet. Updating",
            Disabled = false,
            NatType = "ipv4",
            Folder = "All",
            Tags = new[]
            {
                exampleTag.Name,
            },
            SourceTranslation = new Scm.Inputs.NatRuleSourceTranslationArgs
            {
                StaticIp = new Scm.Inputs.NatRuleSourceTranslationStaticIpArgs
                {
                    TranslatedAddress = "1.1.1.5",
                    BiDirectional = "yes",
                },
            },
            ActiveActiveDeviceBinding = "1",
        });
    
        //Source Translation (SNAT) - Dynamic IP 
        var exampleNatDynamicRule = new Scm.NatRule("example_nat_dynamic_rule", new()
        {
            Name = "snat-to-dyanamic-1",
            Froms = new[]
            {
                "any",
            },
            Tos = new[]
            {
                "untrust",
            },
            Sources = new[]
            {
                "any",
            },
            Destinations = new[]
            {
                "any",
            },
            Service = "service-https",
            Description = "Dynamic SNAT for internal traffic accessing the internet. Updating",
            Disabled = false,
            NatType = "ipv4",
            Folder = "All",
            Tags = new[]
            {
                exampleTag.Name,
            },
            SourceTranslation = new Scm.Inputs.NatRuleSourceTranslationArgs
            {
                DynamicIp = new Scm.Inputs.NatRuleSourceTranslationDynamicIpArgs
                {
                    TranslatedAddresses = new[]
                    {
                        "1.1.1.0/24",
                    },
                    Fallback = new Scm.Inputs.NatRuleSourceTranslationDynamicIpFallbackArgs
                    {
                        TranslatedAddresses = new[]
                        {
                            "1.1.1.0",
                        },
                        InterfaceAddress = new Scm.Inputs.NatRuleSourceTranslationDynamicIpFallbackInterfaceAddressArgs
                        {
                            Interface = "ethernet1/1",
                            Ip = "1.1.1.5",
                        },
                    },
                },
            },
            DestinationTranslation = new Scm.Inputs.NatRuleDestinationTranslationArgs
            {
                TranslatedAddress = "192.168.1.10",
                TranslatedPort = 8080,
            },
            ActiveActiveDeviceBinding = "1",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scm.Tag;
    import com.pulumi.scm.TagArgs;
    import com.pulumi.scm.NatRule;
    import com.pulumi.scm.NatRuleArgs;
    import com.pulumi.scm.inputs.NatRuleSourceTranslationArgs;
    import com.pulumi.scm.inputs.NatRuleSourceTranslationDynamicIpAndPortArgs;
    import com.pulumi.scm.inputs.NatRuleDestinationTranslationArgs;
    import com.pulumi.scm.inputs.NatRuleSourceTranslationStaticIpArgs;
    import com.pulumi.scm.inputs.NatRuleSourceTranslationDynamicIpArgs;
    import com.pulumi.scm.inputs.NatRuleSourceTranslationDynamicIpFallbackArgs;
    import com.pulumi.scm.inputs.NatRuleSourceTranslationDynamicIpFallbackInterfaceAddressArgs;
    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) {
            var exampleTag = new Tag("exampleTag", TagArgs.builder()
                .folder("All")
                .name("example-tag")
                .color("Red")
                .build());
    
            //Source Translation (SNAT) - Dynamic IP and Port
            var exampleNatRule = new NatRule("exampleNatRule", NatRuleArgs.builder()
                .name("snat-to-internet-1")
                .froms("any")
                .tos("untrust")
                .sources("any")
                .destinations("any")
                .service("service-https")
                .description("Dynamic SNAT for internal traffic accessing the internet. Updating")
                .disabled(false)
                .natType("ipv4")
                .folder("All")
                .tags(exampleTag.name())
                .sourceTranslation(NatRuleSourceTranslationArgs.builder()
                    .dynamicIpAndPort(NatRuleSourceTranslationDynamicIpAndPortArgs.builder()
                        .translatedAddresses(                    
                            "1.1.1.1",
                            "1.1.1.5")
                        .build())
                    .build())
                .destinationTranslation(NatRuleDestinationTranslationArgs.builder()
                    .translatedAddress("192.168.1.10")
                    .translatedPort(8080)
                    .build())
                .activeActiveDeviceBinding("1")
                .build());
    
            //Source Translation (SNAT) - Static IP - Bidirectional - no
            var exampleNatStaticRule = new NatRule("exampleNatStaticRule", NatRuleArgs.builder()
                .name("snat-to-bid-1")
                .froms("any")
                .tos("untrust")
                .sources("any")
                .destinations("any")
                .service("service-https")
                .description("Dynamic SNAT for internal traffic accessing the internet. Updating")
                .disabled(false)
                .natType("ipv4")
                .folder("All")
                .tags(exampleTag.name())
                .sourceTranslation(NatRuleSourceTranslationArgs.builder()
                    .staticIp(NatRuleSourceTranslationStaticIpArgs.builder()
                        .translatedAddress("1.1.1.5")
                        .biDirectional("no")
                        .build())
                    .build())
                .destinationTranslation(NatRuleDestinationTranslationArgs.builder()
                    .translatedAddress("192.168.1.10")
                    .translatedPort(8080)
                    .build())
                .activeActiveDeviceBinding("1")
                .build());
    
            //Source Translation (SNAT) - Static IP - Bidirectional - yes
            var exampleNatStaticRule2 = new NatRule("exampleNatStaticRule2", NatRuleArgs.builder()
                .name("snat-to-bid-yes-1")
                .froms("any")
                .tos("untrust")
                .sources("any")
                .destinations("any")
                .service("service-https")
                .description("Dynamic SNAT for internal traffic accessing the internet. Updating")
                .disabled(false)
                .natType("ipv4")
                .folder("All")
                .tags(exampleTag.name())
                .sourceTranslation(NatRuleSourceTranslationArgs.builder()
                    .staticIp(NatRuleSourceTranslationStaticIpArgs.builder()
                        .translatedAddress("1.1.1.5")
                        .biDirectional("yes")
                        .build())
                    .build())
                .activeActiveDeviceBinding("1")
                .build());
    
            //Source Translation (SNAT) - Dynamic IP 
            var exampleNatDynamicRule = new NatRule("exampleNatDynamicRule", NatRuleArgs.builder()
                .name("snat-to-dyanamic-1")
                .froms("any")
                .tos("untrust")
                .sources("any")
                .destinations("any")
                .service("service-https")
                .description("Dynamic SNAT for internal traffic accessing the internet. Updating")
                .disabled(false)
                .natType("ipv4")
                .folder("All")
                .tags(exampleTag.name())
                .sourceTranslation(NatRuleSourceTranslationArgs.builder()
                    .dynamicIp(NatRuleSourceTranslationDynamicIpArgs.builder()
                        .translatedAddresses("1.1.1.0/24")
                        .fallback(NatRuleSourceTranslationDynamicIpFallbackArgs.builder()
                            .translatedAddresses("1.1.1.0")
                            .interfaceAddress(NatRuleSourceTranslationDynamicIpFallbackInterfaceAddressArgs.builder()
                                .interface_("ethernet1/1")
                                .ip("1.1.1.5")
                                .build())
                            .build())
                        .build())
                    .build())
                .destinationTranslation(NatRuleDestinationTranslationArgs.builder()
                    .translatedAddress("192.168.1.10")
                    .translatedPort(8080)
                    .build())
                .activeActiveDeviceBinding("1")
                .build());
    
        }
    }
    
    resources:
      exampleTag:
        type: scm:Tag
        name: example_tag
        properties:
          folder: All
          name: example-tag
          color: Red
      #Source Translation (SNAT) - Dynamic IP and Port
      exampleNatRule:
        type: scm:NatRule
        name: example_nat_rule
        properties:
          name: snat-to-internet-1
          froms: # Source zone(s) of the original packet
            - any
          tos: # Destination zone of the original packet
            - untrust
          sources: # Source address(es) of the original packet
            - any
          destinations: # Destination address(es) of the original packet
            - any
          service: service-https
          description: Dynamic SNAT for internal traffic accessing the internet. Updating
          disabled: false
          natType: ipv4
          folder: All
          tags:
            - ${exampleTag.name}
          sourceTranslation:
            dynamicIpAndPort:
              translatedAddresses:
                - 1.1.1.1
                - 1.1.1.5
          destinationTranslation:
            translatedAddress: 192.168.1.10
            translatedPort: 8080
          activeActiveDeviceBinding: '1'
      #Source Translation (SNAT) - Static IP - Bidirectional - no
      exampleNatStaticRule:
        type: scm:NatRule
        name: example_nat_static_rule
        properties:
          name: snat-to-bid-1
          froms: # Source zone(s) of the original packet
            - any
          tos: # Destination zone of the original packet
            - untrust
          sources: # Source address(es) of the original packet
            - any
          destinations: # Destination address(es) of the original packet
            - any
          service: service-https
          description: Dynamic SNAT for internal traffic accessing the internet. Updating
          disabled: false
          natType: ipv4
          folder: All
          tags:
            - ${exampleTag.name}
          sourceTranslation:
            staticIp:
              translatedAddress: 1.1.1.5
              biDirectional: no
          destinationTranslation:
            translatedAddress: 192.168.1.10
            translatedPort: 8080
          activeActiveDeviceBinding: '1'
      #Source Translation (SNAT) - Static IP - Bidirectional - yes
      exampleNatStaticRule2:
        type: scm:NatRule
        name: example_nat_static_rule_2
        properties:
          name: snat-to-bid-yes-1
          froms: # Source zone(s) of the original packet
            - any
          tos: # Destination zone of the original packet
            - untrust
          sources: # Source address(es) of the original packet
            - any
          destinations: # Destination address(es) of the original packet
            - any
          service: service-https
          description: Dynamic SNAT for internal traffic accessing the internet. Updating
          disabled: false
          natType: ipv4
          folder: All
          tags:
            - ${exampleTag.name}
          sourceTranslation:
            staticIp:
              translatedAddress: 1.1.1.5
              biDirectional: yes
          activeActiveDeviceBinding: '1'
      #Source Translation (SNAT) - Dynamic IP
      exampleNatDynamicRule:
        type: scm:NatRule
        name: example_nat_dynamic_rule
        properties:
          name: snat-to-dyanamic-1
          froms: # Source zone(s) of the original packet
            - any
          tos: # Destination zone of the original packet
            - untrust
          sources: # Source address(es) of the original packet
            - any
          destinations: # Destination address(es) of the original packet
            - any
          service: service-https
          description: Dynamic SNAT for internal traffic accessing the internet. Updating
          disabled: false
          natType: ipv4
          folder: All
          tags:
            - ${exampleTag.name}
          sourceTranslation:
            dynamicIp:
              translatedAddresses:
                - 1.1.1.0/24
              fallback:
                translatedAddresses:
                  - 1.1.1.0
                interfaceAddress:
                  interface: ethernet1/1
                  ip: 1.1.1.5
          destinationTranslation:
            translatedAddress: 192.168.1.10
            translatedPort: 8080
          activeActiveDeviceBinding: '1'
    

    Create NatRule Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new NatRule(name: string, args: NatRuleArgs, opts?: CustomResourceOptions);
    @overload
    def NatRule(resource_name: str,
                args: NatRuleArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def NatRule(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                service: Optional[str] = None,
                froms: Optional[Sequence[str]] = None,
                tos: Optional[Sequence[str]] = None,
                sources: Optional[Sequence[str]] = None,
                destinations: Optional[Sequence[str]] = None,
                nat_type: Optional[str] = None,
                active_active_device_binding: Optional[str] = None,
                folder: Optional[str] = None,
                description: Optional[str] = None,
                disabled: Optional[bool] = None,
                device: Optional[str] = None,
                position: Optional[str] = None,
                dynamic_destination_translation: Optional[NatRuleDynamicDestinationTranslationArgs] = None,
                snippet: Optional[str] = None,
                source_translation: Optional[NatRuleSourceTranslationArgs] = None,
                name: Optional[str] = None,
                tags: Optional[Sequence[str]] = None,
                to_interface: Optional[str] = None,
                destination_translation: Optional[NatRuleDestinationTranslationArgs] = None)
    func NewNatRule(ctx *Context, name string, args NatRuleArgs, opts ...ResourceOption) (*NatRule, error)
    public NatRule(string name, NatRuleArgs args, CustomResourceOptions? opts = null)
    public NatRule(String name, NatRuleArgs args)
    public NatRule(String name, NatRuleArgs args, CustomResourceOptions options)
    
    type: scm:NatRule
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args NatRuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args NatRuleArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args NatRuleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args NatRuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args NatRuleArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var natRuleResource = new Scm.NatRule("natRuleResource", new()
    {
        Service = "string",
        Froms = new[]
        {
            "string",
        },
        Tos = new[]
        {
            "string",
        },
        Sources = new[]
        {
            "string",
        },
        Destinations = new[]
        {
            "string",
        },
        NatType = "string",
        ActiveActiveDeviceBinding = "string",
        Folder = "string",
        Description = "string",
        Disabled = false,
        Device = "string",
        Position = "string",
        DynamicDestinationTranslation = new Scm.Inputs.NatRuleDynamicDestinationTranslationArgs
        {
            Distribution = "string",
            TranslatedAddress = "string",
            TranslatedPort = 0,
        },
        Snippet = "string",
        SourceTranslation = new Scm.Inputs.NatRuleSourceTranslationArgs
        {
            DynamicIp = new Scm.Inputs.NatRuleSourceTranslationDynamicIpArgs
            {
                Fallback = new Scm.Inputs.NatRuleSourceTranslationDynamicIpFallbackArgs
                {
                    InterfaceAddress = new Scm.Inputs.NatRuleSourceTranslationDynamicIpFallbackInterfaceAddressArgs
                    {
                        FloatingIp = "string",
                        Interface = "string",
                        Ip = "string",
                    },
                    TranslatedAddresses = new[]
                    {
                        "string",
                    },
                },
                TranslatedAddresses = new[]
                {
                    "string",
                },
            },
            DynamicIpAndPort = new Scm.Inputs.NatRuleSourceTranslationDynamicIpAndPortArgs
            {
                InterfaceAddress = new Scm.Inputs.NatRuleSourceTranslationDynamicIpAndPortInterfaceAddressArgs
                {
                    FloatingIp = "string",
                    Interface = "string",
                    Ip = "string",
                },
                TranslatedAddresses = new[]
                {
                    "string",
                },
            },
            StaticIp = new Scm.Inputs.NatRuleSourceTranslationStaticIpArgs
            {
                BiDirectional = "string",
                TranslatedAddress = "string",
            },
        },
        Name = "string",
        Tags = new[]
        {
            "string",
        },
        ToInterface = "string",
        DestinationTranslation = new Scm.Inputs.NatRuleDestinationTranslationArgs
        {
            DnsRewrite = new Scm.Inputs.NatRuleDestinationTranslationDnsRewriteArgs
            {
                Direction = "string",
            },
            TranslatedAddress = "string",
            TranslatedPort = 0,
        },
    });
    
    example, err := scm.NewNatRule(ctx, "natRuleResource", &scm.NatRuleArgs{
    	Service: pulumi.String("string"),
    	Froms: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Tos: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Sources: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Destinations: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	NatType:                   pulumi.String("string"),
    	ActiveActiveDeviceBinding: pulumi.String("string"),
    	Folder:                    pulumi.String("string"),
    	Description:               pulumi.String("string"),
    	Disabled:                  pulumi.Bool(false),
    	Device:                    pulumi.String("string"),
    	Position:                  pulumi.String("string"),
    	DynamicDestinationTranslation: &scm.NatRuleDynamicDestinationTranslationArgs{
    		Distribution:      pulumi.String("string"),
    		TranslatedAddress: pulumi.String("string"),
    		TranslatedPort:    pulumi.Int(0),
    	},
    	Snippet: pulumi.String("string"),
    	SourceTranslation: &scm.NatRuleSourceTranslationArgs{
    		DynamicIp: &scm.NatRuleSourceTranslationDynamicIpArgs{
    			Fallback: &scm.NatRuleSourceTranslationDynamicIpFallbackArgs{
    				InterfaceAddress: &scm.NatRuleSourceTranslationDynamicIpFallbackInterfaceAddressArgs{
    					FloatingIp: pulumi.String("string"),
    					Interface:  pulumi.String("string"),
    					Ip:         pulumi.String("string"),
    				},
    				TranslatedAddresses: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			TranslatedAddresses: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		DynamicIpAndPort: &scm.NatRuleSourceTranslationDynamicIpAndPortArgs{
    			InterfaceAddress: &scm.NatRuleSourceTranslationDynamicIpAndPortInterfaceAddressArgs{
    				FloatingIp: pulumi.String("string"),
    				Interface:  pulumi.String("string"),
    				Ip:         pulumi.String("string"),
    			},
    			TranslatedAddresses: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		StaticIp: &scm.NatRuleSourceTranslationStaticIpArgs{
    			BiDirectional:     pulumi.String("string"),
    			TranslatedAddress: pulumi.String("string"),
    		},
    	},
    	Name: pulumi.String("string"),
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	ToInterface: pulumi.String("string"),
    	DestinationTranslation: &scm.NatRuleDestinationTranslationArgs{
    		DnsRewrite: &scm.NatRuleDestinationTranslationDnsRewriteArgs{
    			Direction: pulumi.String("string"),
    		},
    		TranslatedAddress: pulumi.String("string"),
    		TranslatedPort:    pulumi.Int(0),
    	},
    })
    
    var natRuleResource = new NatRule("natRuleResource", NatRuleArgs.builder()
        .service("string")
        .froms("string")
        .tos("string")
        .sources("string")
        .destinations("string")
        .natType("string")
        .activeActiveDeviceBinding("string")
        .folder("string")
        .description("string")
        .disabled(false)
        .device("string")
        .position("string")
        .dynamicDestinationTranslation(NatRuleDynamicDestinationTranslationArgs.builder()
            .distribution("string")
            .translatedAddress("string")
            .translatedPort(0)
            .build())
        .snippet("string")
        .sourceTranslation(NatRuleSourceTranslationArgs.builder()
            .dynamicIp(NatRuleSourceTranslationDynamicIpArgs.builder()
                .fallback(NatRuleSourceTranslationDynamicIpFallbackArgs.builder()
                    .interfaceAddress(NatRuleSourceTranslationDynamicIpFallbackInterfaceAddressArgs.builder()
                        .floatingIp("string")
                        .interface_("string")
                        .ip("string")
                        .build())
                    .translatedAddresses("string")
                    .build())
                .translatedAddresses("string")
                .build())
            .dynamicIpAndPort(NatRuleSourceTranslationDynamicIpAndPortArgs.builder()
                .interfaceAddress(NatRuleSourceTranslationDynamicIpAndPortInterfaceAddressArgs.builder()
                    .floatingIp("string")
                    .interface_("string")
                    .ip("string")
                    .build())
                .translatedAddresses("string")
                .build())
            .staticIp(NatRuleSourceTranslationStaticIpArgs.builder()
                .biDirectional("string")
                .translatedAddress("string")
                .build())
            .build())
        .name("string")
        .tags("string")
        .toInterface("string")
        .destinationTranslation(NatRuleDestinationTranslationArgs.builder()
            .dnsRewrite(NatRuleDestinationTranslationDnsRewriteArgs.builder()
                .direction("string")
                .build())
            .translatedAddress("string")
            .translatedPort(0)
            .build())
        .build());
    
    nat_rule_resource = scm.NatRule("natRuleResource",
        service="string",
        froms=["string"],
        tos=["string"],
        sources=["string"],
        destinations=["string"],
        nat_type="string",
        active_active_device_binding="string",
        folder="string",
        description="string",
        disabled=False,
        device="string",
        position="string",
        dynamic_destination_translation={
            "distribution": "string",
            "translated_address": "string",
            "translated_port": 0,
        },
        snippet="string",
        source_translation={
            "dynamic_ip": {
                "fallback": {
                    "interface_address": {
                        "floating_ip": "string",
                        "interface": "string",
                        "ip": "string",
                    },
                    "translated_addresses": ["string"],
                },
                "translated_addresses": ["string"],
            },
            "dynamic_ip_and_port": {
                "interface_address": {
                    "floating_ip": "string",
                    "interface": "string",
                    "ip": "string",
                },
                "translated_addresses": ["string"],
            },
            "static_ip": {
                "bi_directional": "string",
                "translated_address": "string",
            },
        },
        name="string",
        tags=["string"],
        to_interface="string",
        destination_translation={
            "dns_rewrite": {
                "direction": "string",
            },
            "translated_address": "string",
            "translated_port": 0,
        })
    
    const natRuleResource = new scm.NatRule("natRuleResource", {
        service: "string",
        froms: ["string"],
        tos: ["string"],
        sources: ["string"],
        destinations: ["string"],
        natType: "string",
        activeActiveDeviceBinding: "string",
        folder: "string",
        description: "string",
        disabled: false,
        device: "string",
        position: "string",
        dynamicDestinationTranslation: {
            distribution: "string",
            translatedAddress: "string",
            translatedPort: 0,
        },
        snippet: "string",
        sourceTranslation: {
            dynamicIp: {
                fallback: {
                    interfaceAddress: {
                        floatingIp: "string",
                        "interface": "string",
                        ip: "string",
                    },
                    translatedAddresses: ["string"],
                },
                translatedAddresses: ["string"],
            },
            dynamicIpAndPort: {
                interfaceAddress: {
                    floatingIp: "string",
                    "interface": "string",
                    ip: "string",
                },
                translatedAddresses: ["string"],
            },
            staticIp: {
                biDirectional: "string",
                translatedAddress: "string",
            },
        },
        name: "string",
        tags: ["string"],
        toInterface: "string",
        destinationTranslation: {
            dnsRewrite: {
                direction: "string",
            },
            translatedAddress: "string",
            translatedPort: 0,
        },
    });
    
    type: scm:NatRule
    properties:
        activeActiveDeviceBinding: string
        description: string
        destinationTranslation:
            dnsRewrite:
                direction: string
            translatedAddress: string
            translatedPort: 0
        destinations:
            - string
        device: string
        disabled: false
        dynamicDestinationTranslation:
            distribution: string
            translatedAddress: string
            translatedPort: 0
        folder: string
        froms:
            - string
        name: string
        natType: string
        position: string
        service: string
        snippet: string
        sourceTranslation:
            dynamicIp:
                fallback:
                    interfaceAddress:
                        floatingIp: string
                        interface: string
                        ip: string
                    translatedAddresses:
                        - string
                translatedAddresses:
                    - string
            dynamicIpAndPort:
                interfaceAddress:
                    floatingIp: string
                    interface: string
                    ip: string
                translatedAddresses:
                    - string
            staticIp:
                biDirectional: string
                translatedAddress: string
        sources:
            - string
        tags:
            - string
        toInterface: string
        tos:
            - string
    

    NatRule Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The NatRule resource accepts the following input properties:

    Destinations List<string>
    Destination address(es) of the original packet
    Froms List<string>
    Source zone(s) of the original packet
    Service string
    The service of the original packet
    Sources List<string>
    Source address(es) of the original packet
    Tos List<string>
    Destination zone of the original packet
    ActiveActiveDeviceBinding string
    Active active device binding
    Description string
    NAT rule description
    DestinationTranslation NatRuleDestinationTranslation
    Destination translation
    Device string
    The device in which the resource is defined
    Disabled bool
    Disable NAT rule?
    DynamicDestinationTranslation NatRuleDynamicDestinationTranslation
    Dynamic destination translation
    Folder string
    The folder in which the resource is defined
    Name string
    NAT rule name
    NatType string
    NAT type
    Position string
    The relative position of the rule
    Snippet string
    The snippet in which the resource is defined
    SourceTranslation NatRuleSourceTranslation
    Source translation
    Tags List<string>
    NAT rule tags
    ToInterface string
    Destination interface of the original packet
    Destinations []string
    Destination address(es) of the original packet
    Froms []string
    Source zone(s) of the original packet
    Service string
    The service of the original packet
    Sources []string
    Source address(es) of the original packet
    Tos []string
    Destination zone of the original packet
    ActiveActiveDeviceBinding string
    Active active device binding
    Description string
    NAT rule description
    DestinationTranslation NatRuleDestinationTranslationArgs
    Destination translation
    Device string
    The device in which the resource is defined
    Disabled bool
    Disable NAT rule?
    DynamicDestinationTranslation NatRuleDynamicDestinationTranslationArgs
    Dynamic destination translation
    Folder string
    The folder in which the resource is defined
    Name string
    NAT rule name
    NatType string
    NAT type
    Position string
    The relative position of the rule
    Snippet string
    The snippet in which the resource is defined
    SourceTranslation NatRuleSourceTranslationArgs
    Source translation
    Tags []string
    NAT rule tags
    ToInterface string
    Destination interface of the original packet
    destinations List<String>
    Destination address(es) of the original packet
    froms List<String>
    Source zone(s) of the original packet
    service String
    The service of the original packet
    sources List<String>
    Source address(es) of the original packet
    tos List<String>
    Destination zone of the original packet
    activeActiveDeviceBinding String
    Active active device binding
    description String
    NAT rule description
    destinationTranslation NatRuleDestinationTranslation
    Destination translation
    device String
    The device in which the resource is defined
    disabled Boolean
    Disable NAT rule?
    dynamicDestinationTranslation NatRuleDynamicDestinationTranslation
    Dynamic destination translation
    folder String
    The folder in which the resource is defined
    name String
    NAT rule name
    natType String
    NAT type
    position String
    The relative position of the rule
    snippet String
    The snippet in which the resource is defined
    sourceTranslation NatRuleSourceTranslation
    Source translation
    tags List<String>
    NAT rule tags
    toInterface String
    Destination interface of the original packet
    destinations string[]
    Destination address(es) of the original packet
    froms string[]
    Source zone(s) of the original packet
    service string
    The service of the original packet
    sources string[]
    Source address(es) of the original packet
    tos string[]
    Destination zone of the original packet
    activeActiveDeviceBinding string
    Active active device binding
    description string
    NAT rule description
    destinationTranslation NatRuleDestinationTranslation
    Destination translation
    device string
    The device in which the resource is defined
    disabled boolean
    Disable NAT rule?
    dynamicDestinationTranslation NatRuleDynamicDestinationTranslation
    Dynamic destination translation
    folder string
    The folder in which the resource is defined
    name string
    NAT rule name
    natType string
    NAT type
    position string
    The relative position of the rule
    snippet string
    The snippet in which the resource is defined
    sourceTranslation NatRuleSourceTranslation
    Source translation
    tags string[]
    NAT rule tags
    toInterface string
    Destination interface of the original packet
    destinations Sequence[str]
    Destination address(es) of the original packet
    froms Sequence[str]
    Source zone(s) of the original packet
    service str
    The service of the original packet
    sources Sequence[str]
    Source address(es) of the original packet
    tos Sequence[str]
    Destination zone of the original packet
    active_active_device_binding str
    Active active device binding
    description str
    NAT rule description
    destination_translation NatRuleDestinationTranslationArgs
    Destination translation
    device str
    The device in which the resource is defined
    disabled bool
    Disable NAT rule?
    dynamic_destination_translation NatRuleDynamicDestinationTranslationArgs
    Dynamic destination translation
    folder str
    The folder in which the resource is defined
    name str
    NAT rule name
    nat_type str
    NAT type
    position str
    The relative position of the rule
    snippet str
    The snippet in which the resource is defined
    source_translation NatRuleSourceTranslationArgs
    Source translation
    tags Sequence[str]
    NAT rule tags
    to_interface str
    Destination interface of the original packet
    destinations List<String>
    Destination address(es) of the original packet
    froms List<String>
    Source zone(s) of the original packet
    service String
    The service of the original packet
    sources List<String>
    Source address(es) of the original packet
    tos List<String>
    Destination zone of the original packet
    activeActiveDeviceBinding String
    Active active device binding
    description String
    NAT rule description
    destinationTranslation Property Map
    Destination translation
    device String
    The device in which the resource is defined
    disabled Boolean
    Disable NAT rule?
    dynamicDestinationTranslation Property Map
    Dynamic destination translation
    folder String
    The folder in which the resource is defined
    name String
    NAT rule name
    natType String
    NAT type
    position String
    The relative position of the rule
    snippet String
    The snippet in which the resource is defined
    sourceTranslation Property Map
    Source translation
    tags List<String>
    NAT rule tags
    toInterface String
    Destination interface of the original packet

    Outputs

    All input properties are implicitly available as output properties. Additionally, the NatRule resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Tfid string
    Id string
    The provider-assigned unique ID for this managed resource.
    Tfid string
    id String
    The provider-assigned unique ID for this managed resource.
    tfid String
    id string
    The provider-assigned unique ID for this managed resource.
    tfid string
    id str
    The provider-assigned unique ID for this managed resource.
    tfid str
    id String
    The provider-assigned unique ID for this managed resource.
    tfid String

    Look up Existing NatRule Resource

    Get an existing NatRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: NatRuleState, opts?: CustomResourceOptions): NatRule
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            active_active_device_binding: Optional[str] = None,
            description: Optional[str] = None,
            destination_translation: Optional[NatRuleDestinationTranslationArgs] = None,
            destinations: Optional[Sequence[str]] = None,
            device: Optional[str] = None,
            disabled: Optional[bool] = None,
            dynamic_destination_translation: Optional[NatRuleDynamicDestinationTranslationArgs] = None,
            folder: Optional[str] = None,
            froms: Optional[Sequence[str]] = None,
            name: Optional[str] = None,
            nat_type: Optional[str] = None,
            position: Optional[str] = None,
            service: Optional[str] = None,
            snippet: Optional[str] = None,
            source_translation: Optional[NatRuleSourceTranslationArgs] = None,
            sources: Optional[Sequence[str]] = None,
            tags: Optional[Sequence[str]] = None,
            tfid: Optional[str] = None,
            to_interface: Optional[str] = None,
            tos: Optional[Sequence[str]] = None) -> NatRule
    func GetNatRule(ctx *Context, name string, id IDInput, state *NatRuleState, opts ...ResourceOption) (*NatRule, error)
    public static NatRule Get(string name, Input<string> id, NatRuleState? state, CustomResourceOptions? opts = null)
    public static NatRule get(String name, Output<String> id, NatRuleState state, CustomResourceOptions options)
    resources:  _:    type: scm:NatRule    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    ActiveActiveDeviceBinding string
    Active active device binding
    Description string
    NAT rule description
    DestinationTranslation NatRuleDestinationTranslation
    Destination translation
    Destinations List<string>
    Destination address(es) of the original packet
    Device string
    The device in which the resource is defined
    Disabled bool
    Disable NAT rule?
    DynamicDestinationTranslation NatRuleDynamicDestinationTranslation
    Dynamic destination translation
    Folder string
    The folder in which the resource is defined
    Froms List<string>
    Source zone(s) of the original packet
    Name string
    NAT rule name
    NatType string
    NAT type
    Position string
    The relative position of the rule
    Service string
    The service of the original packet
    Snippet string
    The snippet in which the resource is defined
    SourceTranslation NatRuleSourceTranslation
    Source translation
    Sources List<string>
    Source address(es) of the original packet
    Tags List<string>
    NAT rule tags
    Tfid string
    ToInterface string
    Destination interface of the original packet
    Tos List<string>
    Destination zone of the original packet
    ActiveActiveDeviceBinding string
    Active active device binding
    Description string
    NAT rule description
    DestinationTranslation NatRuleDestinationTranslationArgs
    Destination translation
    Destinations []string
    Destination address(es) of the original packet
    Device string
    The device in which the resource is defined
    Disabled bool
    Disable NAT rule?
    DynamicDestinationTranslation NatRuleDynamicDestinationTranslationArgs
    Dynamic destination translation
    Folder string
    The folder in which the resource is defined
    Froms []string
    Source zone(s) of the original packet
    Name string
    NAT rule name
    NatType string
    NAT type
    Position string
    The relative position of the rule
    Service string
    The service of the original packet
    Snippet string
    The snippet in which the resource is defined
    SourceTranslation NatRuleSourceTranslationArgs
    Source translation
    Sources []string
    Source address(es) of the original packet
    Tags []string
    NAT rule tags
    Tfid string
    ToInterface string
    Destination interface of the original packet
    Tos []string
    Destination zone of the original packet
    activeActiveDeviceBinding String
    Active active device binding
    description String
    NAT rule description
    destinationTranslation NatRuleDestinationTranslation
    Destination translation
    destinations List<String>
    Destination address(es) of the original packet
    device String
    The device in which the resource is defined
    disabled Boolean
    Disable NAT rule?
    dynamicDestinationTranslation NatRuleDynamicDestinationTranslation
    Dynamic destination translation
    folder String
    The folder in which the resource is defined
    froms List<String>
    Source zone(s) of the original packet
    name String
    NAT rule name
    natType String
    NAT type
    position String
    The relative position of the rule
    service String
    The service of the original packet
    snippet String
    The snippet in which the resource is defined
    sourceTranslation NatRuleSourceTranslation
    Source translation
    sources List<String>
    Source address(es) of the original packet
    tags List<String>
    NAT rule tags
    tfid String
    toInterface String
    Destination interface of the original packet
    tos List<String>
    Destination zone of the original packet
    activeActiveDeviceBinding string
    Active active device binding
    description string
    NAT rule description
    destinationTranslation NatRuleDestinationTranslation
    Destination translation
    destinations string[]
    Destination address(es) of the original packet
    device string
    The device in which the resource is defined
    disabled boolean
    Disable NAT rule?
    dynamicDestinationTranslation NatRuleDynamicDestinationTranslation
    Dynamic destination translation
    folder string
    The folder in which the resource is defined
    froms string[]
    Source zone(s) of the original packet
    name string
    NAT rule name
    natType string
    NAT type
    position string
    The relative position of the rule
    service string
    The service of the original packet
    snippet string
    The snippet in which the resource is defined
    sourceTranslation NatRuleSourceTranslation
    Source translation
    sources string[]
    Source address(es) of the original packet
    tags string[]
    NAT rule tags
    tfid string
    toInterface string
    Destination interface of the original packet
    tos string[]
    Destination zone of the original packet
    active_active_device_binding str
    Active active device binding
    description str
    NAT rule description
    destination_translation NatRuleDestinationTranslationArgs
    Destination translation
    destinations Sequence[str]
    Destination address(es) of the original packet
    device str
    The device in which the resource is defined
    disabled bool
    Disable NAT rule?
    dynamic_destination_translation NatRuleDynamicDestinationTranslationArgs
    Dynamic destination translation
    folder str
    The folder in which the resource is defined
    froms Sequence[str]
    Source zone(s) of the original packet
    name str
    NAT rule name
    nat_type str
    NAT type
    position str
    The relative position of the rule
    service str
    The service of the original packet
    snippet str
    The snippet in which the resource is defined
    source_translation NatRuleSourceTranslationArgs
    Source translation
    sources Sequence[str]
    Source address(es) of the original packet
    tags Sequence[str]
    NAT rule tags
    tfid str
    to_interface str
    Destination interface of the original packet
    tos Sequence[str]
    Destination zone of the original packet
    activeActiveDeviceBinding String
    Active active device binding
    description String
    NAT rule description
    destinationTranslation Property Map
    Destination translation
    destinations List<String>
    Destination address(es) of the original packet
    device String
    The device in which the resource is defined
    disabled Boolean
    Disable NAT rule?
    dynamicDestinationTranslation Property Map
    Dynamic destination translation
    folder String
    The folder in which the resource is defined
    froms List<String>
    Source zone(s) of the original packet
    name String
    NAT rule name
    natType String
    NAT type
    position String
    The relative position of the rule
    service String
    The service of the original packet
    snippet String
    The snippet in which the resource is defined
    sourceTranslation Property Map
    Source translation
    sources List<String>
    Source address(es) of the original packet
    tags List<String>
    NAT rule tags
    tfid String
    toInterface String
    Destination interface of the original packet
    tos List<String>
    Destination zone of the original packet

    Supporting Types

    NatRuleDestinationTranslation, NatRuleDestinationTranslationArgs

    DnsRewrite NatRuleDestinationTranslationDnsRewrite
    DNS rewrite
    TranslatedAddress string
    Translated destination IP address
    TranslatedPort int
    Translated destination port
    DnsRewrite NatRuleDestinationTranslationDnsRewrite
    DNS rewrite
    TranslatedAddress string
    Translated destination IP address
    TranslatedPort int
    Translated destination port
    dnsRewrite NatRuleDestinationTranslationDnsRewrite
    DNS rewrite
    translatedAddress String
    Translated destination IP address
    translatedPort Integer
    Translated destination port
    dnsRewrite NatRuleDestinationTranslationDnsRewrite
    DNS rewrite
    translatedAddress string
    Translated destination IP address
    translatedPort number
    Translated destination port
    dns_rewrite NatRuleDestinationTranslationDnsRewrite
    DNS rewrite
    translated_address str
    Translated destination IP address
    translated_port int
    Translated destination port
    dnsRewrite Property Map
    DNS rewrite
    translatedAddress String
    Translated destination IP address
    translatedPort Number
    Translated destination port

    NatRuleDestinationTranslationDnsRewrite, NatRuleDestinationTranslationDnsRewriteArgs

    Direction string
    Direction
    Direction string
    Direction
    direction String
    Direction
    direction string
    Direction
    direction str
    Direction
    direction String
    Direction

    NatRuleDynamicDestinationTranslation, NatRuleDynamicDestinationTranslationArgs

    Distribution string
    Distribution method
    TranslatedAddress string
    Translated destination IP address
    TranslatedPort int
    Translated destination port
    Distribution string
    Distribution method
    TranslatedAddress string
    Translated destination IP address
    TranslatedPort int
    Translated destination port
    distribution String
    Distribution method
    translatedAddress String
    Translated destination IP address
    translatedPort Integer
    Translated destination port
    distribution string
    Distribution method
    translatedAddress string
    Translated destination IP address
    translatedPort number
    Translated destination port
    distribution str
    Distribution method
    translated_address str
    Translated destination IP address
    translated_port int
    Translated destination port
    distribution String
    Distribution method
    translatedAddress String
    Translated destination IP address
    translatedPort Number
    Translated destination port

    NatRuleSourceTranslation, NatRuleSourceTranslationArgs

    NatRuleSourceTranslationDynamicIp, NatRuleSourceTranslationDynamicIpArgs

    fallback NatRuleSourceTranslationDynamicIpFallback
    Fallback
    translated_addresses Sequence[str]
    Translated IP addresses
    fallback Property Map
    Fallback
    translatedAddresses List<String>
    Translated IP addresses

    NatRuleSourceTranslationDynamicIpAndPort, NatRuleSourceTranslationDynamicIpAndPortArgs

    InterfaceAddress NatRuleSourceTranslationDynamicIpAndPortInterfaceAddress
    Translated source interface
    TranslatedAddresses List<string>
    Translated source IP addresses
    InterfaceAddress NatRuleSourceTranslationDynamicIpAndPortInterfaceAddress
    Translated source interface
    TranslatedAddresses []string
    Translated source IP addresses
    interfaceAddress NatRuleSourceTranslationDynamicIpAndPortInterfaceAddress
    Translated source interface
    translatedAddresses List<String>
    Translated source IP addresses
    interfaceAddress NatRuleSourceTranslationDynamicIpAndPortInterfaceAddress
    Translated source interface
    translatedAddresses string[]
    Translated source IP addresses
    interface_address NatRuleSourceTranslationDynamicIpAndPortInterfaceAddress
    Translated source interface
    translated_addresses Sequence[str]
    Translated source IP addresses
    interfaceAddress Property Map
    Translated source interface
    translatedAddresses List<String>
    Translated source IP addresses

    NatRuleSourceTranslationDynamicIpAndPortInterfaceAddress, NatRuleSourceTranslationDynamicIpAndPortInterfaceAddressArgs

    FloatingIp string
    Floating IP address
    Interface string
    Interface name
    Ip string
    Translated source IP address
    FloatingIp string
    Floating IP address
    Interface string
    Interface name
    Ip string
    Translated source IP address
    floatingIp String
    Floating IP address
    interface_ String
    Interface name
    ip String
    Translated source IP address
    floatingIp string
    Floating IP address
    interface string
    Interface name
    ip string
    Translated source IP address
    floating_ip str
    Floating IP address
    interface str
    Interface name
    ip str
    Translated source IP address
    floatingIp String
    Floating IP address
    interface String
    Interface name
    ip String
    Translated source IP address

    NatRuleSourceTranslationDynamicIpFallback, NatRuleSourceTranslationDynamicIpFallbackArgs

    interfaceAddress Property Map
    Fallback interface
    translatedAddresses List<String>
    Fallback IP addresses

    NatRuleSourceTranslationDynamicIpFallbackInterfaceAddress, NatRuleSourceTranslationDynamicIpFallbackInterfaceAddressArgs

    FloatingIp string
    Floating IP address
    Interface string
    Interface name
    Ip string
    IP address
    FloatingIp string
    Floating IP address
    Interface string
    Interface name
    Ip string
    IP address
    floatingIp String
    Floating IP address
    interface_ String
    Interface name
    ip String
    IP address
    floatingIp string
    Floating IP address
    interface string
    Interface name
    ip string
    IP address
    floating_ip str
    Floating IP address
    interface str
    Interface name
    ip str
    IP address
    floatingIp String
    Floating IP address
    interface String
    Interface name
    ip String
    IP address

    NatRuleSourceTranslationStaticIp, NatRuleSourceTranslationStaticIpArgs

    BiDirectional string
    Bi directional
    TranslatedAddress string
    Translated IP address
    BiDirectional string
    Bi directional
    TranslatedAddress string
    Translated IP address
    biDirectional String
    Bi directional
    translatedAddress String
    Translated IP address
    biDirectional string
    Bi directional
    translatedAddress string
    Translated IP address
    bi_directional str
    Bi directional
    translated_address str
    Translated IP address
    biDirectional String
    Bi directional
    translatedAddress String
    Translated IP address

    Package Details

    Repository
    scm pulumi/pulumi-scm
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the scm Terraform Provider.
    scm logo
    Strata Cloud Manager v0.4.3 published on Saturday, Nov 8, 2025 by Pulumi
      Meet Neo: Your AI Platform Teammate