1. Packages
  2. Zscaler Internet Access (ZIA)
  3. API Docs
  4. TrafficForwardingGRETunnel
Zscaler Internet Access v0.0.6 published on Wednesday, Apr 10, 2024 by Zscaler

zia.TrafficForwardingGRETunnel

Explore with Pulumi AI

zia logo
Zscaler Internet Access v0.0.6 published on Wednesday, Apr 10, 2024 by Zscaler

    The zia_traffic_forwarding_gre_tunnel resource allows the creation and management of GRE tunnel configuration in the Zscaler Internet Access (ZIA) portal.

    Note: The provider automatically query the Zscaler cloud for the primary and secondary destination datacenter and virtual IP address (VIP) of the GRE tunnel. The parameter can be overriden if needed by setting the parameters: primary_dest_vip and secondary_dest_vip.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as zia from "@bdzscaler/pulumi-zia";
    
    // ZIA Traffic Forwarding - Static IP
    const exampleTrafficForwardingStaticIP = new zia.TrafficForwardingStaticIP("exampleTrafficForwardingStaticIP", {
        ipAddress: "1.1.1.1",
        routableIp: true,
        comment: "Example",
        geoOverride: true,
        latitude: 37.418171,
        longitude: -121.95314,
    });
    // Creates a numbered GRE Tunnel
    const exampleTrafficForwardingGRETunnel = new zia.TrafficForwardingGRETunnel("exampleTrafficForwardingGRETunnel", {
        sourceIp: exampleTrafficForwardingStaticIP.ipAddress,
        comment: "Example",
        withinCountry: true,
        countryCode: "US",
        ipUnnumbered: false,
    }, {
        dependsOn: [exampleTrafficForwardingStaticIP],
    });
    
    import pulumi
    import zscaler_pulumi_zia as zia
    
    # ZIA Traffic Forwarding - Static IP
    example_traffic_forwarding_static_ip = zia.TrafficForwardingStaticIP("exampleTrafficForwardingStaticIP",
        ip_address="1.1.1.1",
        routable_ip=True,
        comment="Example",
        geo_override=True,
        latitude=37.418171,
        longitude=-121.95314)
    # Creates a numbered GRE Tunnel
    example_traffic_forwarding_gre_tunnel = zia.TrafficForwardingGRETunnel("exampleTrafficForwardingGRETunnel",
        source_ip=example_traffic_forwarding_static_ip.ip_address,
        comment="Example",
        within_country=True,
        country_code="US",
        ip_unnumbered=False,
        opts=pulumi.ResourceOptions(depends_on=[example_traffic_forwarding_static_ip]))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/zscaler/pulumi-zia/sdk/go/zia"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// ZIA Traffic Forwarding - Static IP
    		exampleTrafficForwardingStaticIP, err := zia.NewTrafficForwardingStaticIP(ctx, "exampleTrafficForwardingStaticIP", &zia.TrafficForwardingStaticIPArgs{
    			IpAddress:   pulumi.String("1.1.1.1"),
    			RoutableIp:  pulumi.Bool(true),
    			Comment:     pulumi.String("Example"),
    			GeoOverride: pulumi.Bool(true),
    			Latitude:    pulumi.Float64(37.418171),
    			Longitude:   -121.95314,
    		})
    		if err != nil {
    			return err
    		}
    		// Creates a numbered GRE Tunnel
    		_, err = zia.NewTrafficForwardingGRETunnel(ctx, "exampleTrafficForwardingGRETunnel", &zia.TrafficForwardingGRETunnelArgs{
    			SourceIp:      exampleTrafficForwardingStaticIP.IpAddress,
    			Comment:       pulumi.String("Example"),
    			WithinCountry: pulumi.Bool(true),
    			CountryCode:   pulumi.String("US"),
    			IpUnnumbered:  pulumi.Bool(false),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			exampleTrafficForwardingStaticIP,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Zia = zscaler.PulumiPackage.Zia;
    
    return await Deployment.RunAsync(() => 
    {
        // ZIA Traffic Forwarding - Static IP
        var exampleTrafficForwardingStaticIP = new Zia.TrafficForwardingStaticIP("exampleTrafficForwardingStaticIP", new()
        {
            IpAddress = "1.1.1.1",
            RoutableIp = true,
            Comment = "Example",
            GeoOverride = true,
            Latitude = 37.418171,
            Longitude = -121.95314,
        });
    
        // Creates a numbered GRE Tunnel
        var exampleTrafficForwardingGRETunnel = new Zia.TrafficForwardingGRETunnel("exampleTrafficForwardingGRETunnel", new()
        {
            SourceIp = exampleTrafficForwardingStaticIP.IpAddress,
            Comment = "Example",
            WithinCountry = true,
            CountryCode = "US",
            IpUnnumbered = false,
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                exampleTrafficForwardingStaticIP, 
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.zia.TrafficForwardingStaticIP;
    import com.pulumi.zia.TrafficForwardingStaticIPArgs;
    import com.pulumi.zia.TrafficForwardingGRETunnel;
    import com.pulumi.zia.TrafficForwardingGRETunnelArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            // ZIA Traffic Forwarding - Static IP
            var exampleTrafficForwardingStaticIP = new TrafficForwardingStaticIP("exampleTrafficForwardingStaticIP", TrafficForwardingStaticIPArgs.builder()        
                .ipAddress("1.1.1.1")
                .routableIp(true)
                .comment("Example")
                .geoOverride(true)
                .latitude(37.418171)
                .longitude("TODO: GenUnaryOpExpression")
                .build());
    
            // Creates a numbered GRE Tunnel
            var exampleTrafficForwardingGRETunnel = new TrafficForwardingGRETunnel("exampleTrafficForwardingGRETunnel", TrafficForwardingGRETunnelArgs.builder()        
                .sourceIp(exampleTrafficForwardingStaticIP.ipAddress())
                .comment("Example")
                .withinCountry(true)
                .countryCode("US")
                .ipUnnumbered(false)
                .build(), CustomResourceOptions.builder()
                    .dependsOn(exampleTrafficForwardingStaticIP)
                    .build());
    
        }
    }
    
    Coming soon!
    
    import * as pulumi from "@pulumi/pulumi";
    import * as zia from "@bdzscaler/pulumi-zia";
    import * as zia from "@pulumi/zia";
    
    const thisTrafficForwardingStaticIP = new zia.TrafficForwardingStaticIP("thisTrafficForwardingStaticIP", {
        ipAddress: "50.98.112.169",
        routableIp: true,
        comment: "Created with Terraform",
        geoOverride: true,
        latitude: 49.0526,
        longitude: -122.8291,
    });
    const thisTrafficForwardingVIPRecommendedList = thisTrafficForwardingStaticIP.ipAddress.apply(ipAddress => zia.getTrafficForwardingVIPRecommendedListOutput({
        sourceIp: ipAddress,
        requiredCount: 2,
    }));
    const thisTrafficForwardingGREInternalIPRange = zia.getTrafficForwardingGREInternalIPRange({
        requiredCount: 10,
    });
    const thisTrafficForwardingGRETunnel = new zia.TrafficForwardingGRETunnel("thisTrafficForwardingGRETunnel", {
        sourceIp: thisTrafficForwardingStaticIP.ipAddress,
        comment: "GRE Tunnel Created with Terraform",
        withinCountry: false,
        countryCode: "CA",
        ipUnnumbered: false,
        primaryDestVips: [{
            datacenter: thisTrafficForwardingVIPRecommendedList.apply(thisTrafficForwardingVIPRecommendedList => thisTrafficForwardingVIPRecommendedList.lists?.[0]?.datacenter),
            virtualIp: thisTrafficForwardingVIPRecommendedList.apply(thisTrafficForwardingVIPRecommendedList => thisTrafficForwardingVIPRecommendedList.lists?.[0]?.virtualIp),
        }],
        secondaryDestVips: [{
            datacenter: thisTrafficForwardingVIPRecommendedList.apply(thisTrafficForwardingVIPRecommendedList => thisTrafficForwardingVIPRecommendedList.lists?.[1]?.datacenter),
            virtualIp: thisTrafficForwardingVIPRecommendedList.apply(thisTrafficForwardingVIPRecommendedList => thisTrafficForwardingVIPRecommendedList.lists?.[1]?.virtualIp),
        }],
    }, {
        dependsOn: [thisTrafficForwardingStaticIP],
    });
    
    import pulumi
    import pulumi_zia as zia
    import zscaler_pulumi_zia as zia
    
    this_traffic_forwarding_static_ip = zia.TrafficForwardingStaticIP("thisTrafficForwardingStaticIP",
        ip_address="50.98.112.169",
        routable_ip=True,
        comment="Created with Terraform",
        geo_override=True,
        latitude=49.0526,
        longitude=-122.8291)
    this_traffic_forwarding_vip_recommended_list = this_traffic_forwarding_static_ip.ip_address.apply(lambda ip_address: zia.get_traffic_forwarding_vip_recommended_list_output(source_ip=ip_address,
        required_count=2))
    this_traffic_forwarding_gre_internal_ip_range = zia.get_traffic_forwarding_gre_internal_ip_range(required_count=10)
    this_traffic_forwarding_gre_tunnel = zia.TrafficForwardingGRETunnel("thisTrafficForwardingGRETunnel",
        source_ip=this_traffic_forwarding_static_ip.ip_address,
        comment="GRE Tunnel Created with Terraform",
        within_country=False,
        country_code="CA",
        ip_unnumbered=False,
        primary_dest_vips=[zia.TrafficForwardingGRETunnelPrimaryDestVipArgs(
            datacenter=this_traffic_forwarding_vip_recommended_list.lists[0].datacenter,
            virtual_ip=this_traffic_forwarding_vip_recommended_list.lists[0].virtual_ip,
        )],
        secondary_dest_vips=[zia.TrafficForwardingGRETunnelSecondaryDestVipArgs(
            datacenter=this_traffic_forwarding_vip_recommended_list.lists[1].datacenter,
            virtual_ip=this_traffic_forwarding_vip_recommended_list.lists[1].virtual_ip,
        )],
        opts=pulumi.ResourceOptions(depends_on=[this_traffic_forwarding_static_ip]))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/zscaler/pulumi-zia/sdk/go/zia"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		thisTrafficForwardingStaticIP, err := zia.NewTrafficForwardingStaticIP(ctx, "thisTrafficForwardingStaticIP", &zia.TrafficForwardingStaticIPArgs{
    			IpAddress:   pulumi.String("50.98.112.169"),
    			RoutableIp:  pulumi.Bool(true),
    			Comment:     pulumi.String("Created with Terraform"),
    			GeoOverride: pulumi.Bool(true),
    			Latitude:    pulumi.Float64(49.0526),
    			Longitude:   -122.8291,
    		})
    		if err != nil {
    			return err
    		}
    		thisTrafficForwardingVIPRecommendedList := thisTrafficForwardingStaticIP.IpAddress.ApplyT(func(ipAddress string) (zia.GetTrafficForwardingVIPRecommendedListResult, error) {
    			return zia.GetTrafficForwardingVIPRecommendedListOutput(ctx, zia.GetTrafficForwardingVIPRecommendedListOutputArgs{
    				SourceIp:      ipAddress,
    				RequiredCount: 2,
    			}, nil), nil
    		}).(zia.GetTrafficForwardingVIPRecommendedListResultOutput)
    		_, err = zia.GetTrafficForwardingGREInternalIPRange(ctx, &zia.GetTrafficForwardingGREInternalIPRangeArgs{
    			RequiredCount: pulumi.IntRef(10),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = zia.NewTrafficForwardingGRETunnel(ctx, "thisTrafficForwardingGRETunnel", &zia.TrafficForwardingGRETunnelArgs{
    			SourceIp:      thisTrafficForwardingStaticIP.IpAddress,
    			Comment:       pulumi.String("GRE Tunnel Created with Terraform"),
    			WithinCountry: pulumi.Bool(false),
    			CountryCode:   pulumi.String("CA"),
    			IpUnnumbered:  pulumi.Bool(false),
    			PrimaryDestVips: zia.TrafficForwardingGRETunnelPrimaryDestVipArray{
    				&zia.TrafficForwardingGRETunnelPrimaryDestVipArgs{
    					Datacenter: thisTrafficForwardingVIPRecommendedList.ApplyT(func(thisTrafficForwardingVIPRecommendedList zia.GetTrafficForwardingVIPRecommendedListResult) (*string, error) {
    						return &thisTrafficForwardingVIPRecommendedList.Lists[0].Datacenter, nil
    					}).(pulumi.StringPtrOutput),
    					VirtualIp: thisTrafficForwardingVIPRecommendedList.ApplyT(func(thisTrafficForwardingVIPRecommendedList zia.GetTrafficForwardingVIPRecommendedListResult) (*string, error) {
    						return &thisTrafficForwardingVIPRecommendedList.Lists[0].VirtualIp, nil
    					}).(pulumi.StringPtrOutput),
    				},
    			},
    			SecondaryDestVips: zia.TrafficForwardingGRETunnelSecondaryDestVipArray{
    				&zia.TrafficForwardingGRETunnelSecondaryDestVipArgs{
    					Datacenter: thisTrafficForwardingVIPRecommendedList.ApplyT(func(thisTrafficForwardingVIPRecommendedList zia.GetTrafficForwardingVIPRecommendedListResult) (*string, error) {
    						return &thisTrafficForwardingVIPRecommendedList.Lists[1].Datacenter, nil
    					}).(pulumi.StringPtrOutput),
    					VirtualIp: thisTrafficForwardingVIPRecommendedList.ApplyT(func(thisTrafficForwardingVIPRecommendedList zia.GetTrafficForwardingVIPRecommendedListResult) (*string, error) {
    						return &thisTrafficForwardingVIPRecommendedList.Lists[1].VirtualIp, nil
    					}).(pulumi.StringPtrOutput),
    				},
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			thisTrafficForwardingStaticIP,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Zia = Pulumi.Zia;
    using Zia = zscaler.PulumiPackage.Zia;
    
    return await Deployment.RunAsync(() => 
    {
        var thisTrafficForwardingStaticIP = new Zia.TrafficForwardingStaticIP("thisTrafficForwardingStaticIP", new()
        {
            IpAddress = "50.98.112.169",
            RoutableIp = true,
            Comment = "Created with Terraform",
            GeoOverride = true,
            Latitude = 49.0526,
            Longitude = -122.8291,
        });
    
        var thisTrafficForwardingVIPRecommendedList = Zia.GetTrafficForwardingVIPRecommendedList.Invoke(new()
        {
            SourceIp = thisTrafficForwardingStaticIP.IpAddress,
            RequiredCount = 2,
        });
    
        var thisTrafficForwardingGREInternalIPRange = Zia.GetTrafficForwardingGREInternalIPRange.Invoke(new()
        {
            RequiredCount = 10,
        });
    
        var thisTrafficForwardingGRETunnel = new Zia.TrafficForwardingGRETunnel("thisTrafficForwardingGRETunnel", new()
        {
            SourceIp = thisTrafficForwardingStaticIP.IpAddress,
            Comment = "GRE Tunnel Created with Terraform",
            WithinCountry = false,
            CountryCode = "CA",
            IpUnnumbered = false,
            PrimaryDestVips = new[]
            {
                new Zia.Inputs.TrafficForwardingGRETunnelPrimaryDestVipArgs
                {
                    Datacenter = thisTrafficForwardingVIPRecommendedList.Apply(getTrafficForwardingVIPRecommendedListResult => getTrafficForwardingVIPRecommendedListResult.Lists[0]?.Datacenter),
                    VirtualIp = thisTrafficForwardingVIPRecommendedList.Apply(getTrafficForwardingVIPRecommendedListResult => getTrafficForwardingVIPRecommendedListResult.Lists[0]?.VirtualIp),
                },
            },
            SecondaryDestVips = new[]
            {
                new Zia.Inputs.TrafficForwardingGRETunnelSecondaryDestVipArgs
                {
                    Datacenter = thisTrafficForwardingVIPRecommendedList.Apply(getTrafficForwardingVIPRecommendedListResult => getTrafficForwardingVIPRecommendedListResult.Lists[1]?.Datacenter),
                    VirtualIp = thisTrafficForwardingVIPRecommendedList.Apply(getTrafficForwardingVIPRecommendedListResult => getTrafficForwardingVIPRecommendedListResult.Lists[1]?.VirtualIp),
                },
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                thisTrafficForwardingStaticIP, 
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.zia.TrafficForwardingStaticIP;
    import com.pulumi.zia.TrafficForwardingStaticIPArgs;
    import com.pulumi.zia.ZiaFunctions;
    import com.pulumi.zia.inputs.GetTrafficForwardingVIPRecommendedListArgs;
    import com.pulumi.zia.inputs.GetTrafficForwardingGREInternalIPRangeArgs;
    import com.pulumi.zia.TrafficForwardingGRETunnel;
    import com.pulumi.zia.TrafficForwardingGRETunnelArgs;
    import com.pulumi.zia.inputs.TrafficForwardingGRETunnelPrimaryDestVipArgs;
    import com.pulumi.zia.inputs.TrafficForwardingGRETunnelSecondaryDestVipArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var thisTrafficForwardingStaticIP = new TrafficForwardingStaticIP("thisTrafficForwardingStaticIP", TrafficForwardingStaticIPArgs.builder()        
                .ipAddress("50.98.112.169")
                .routableIp(true)
                .comment("Created with Terraform")
                .geoOverride(true)
                .latitude(49.0526)
                .longitude("TODO: GenUnaryOpExpression")
                .build());
    
            final var thisTrafficForwardingVIPRecommendedList = ZiaFunctions.getTrafficForwardingVIPRecommendedList(GetTrafficForwardingVIPRecommendedListArgs.builder()
                .sourceIp(thisTrafficForwardingStaticIP.ipAddress())
                .requiredCount(2)
                .build());
    
            final var thisTrafficForwardingGREInternalIPRange = ZiaFunctions.getTrafficForwardingGREInternalIPRange(GetTrafficForwardingGREInternalIPRangeArgs.builder()
                .requiredCount(10)
                .build());
    
            var thisTrafficForwardingGRETunnel = new TrafficForwardingGRETunnel("thisTrafficForwardingGRETunnel", TrafficForwardingGRETunnelArgs.builder()        
                .sourceIp(thisTrafficForwardingStaticIP.ipAddress())
                .comment("GRE Tunnel Created with Terraform")
                .withinCountry(false)
                .countryCode("CA")
                .ipUnnumbered(false)
                .primaryDestVips(TrafficForwardingGRETunnelPrimaryDestVipArgs.builder()
                    .datacenter(thisTrafficForwardingVIPRecommendedList.applyValue(getTrafficForwardingVIPRecommendedListResult -> getTrafficForwardingVIPRecommendedListResult).applyValue(thisTrafficForwardingVIPRecommendedList -> thisTrafficForwardingVIPRecommendedList.applyValue(getTrafficForwardingVIPRecommendedListResult -> getTrafficForwardingVIPRecommendedListResult.lists()[0].datacenter())))
                    .virtualIp(thisTrafficForwardingVIPRecommendedList.applyValue(getTrafficForwardingVIPRecommendedListResult -> getTrafficForwardingVIPRecommendedListResult).applyValue(thisTrafficForwardingVIPRecommendedList -> thisTrafficForwardingVIPRecommendedList.applyValue(getTrafficForwardingVIPRecommendedListResult -> getTrafficForwardingVIPRecommendedListResult.lists()[0].virtualIp())))
                    .build())
                .secondaryDestVips(TrafficForwardingGRETunnelSecondaryDestVipArgs.builder()
                    .datacenter(thisTrafficForwardingVIPRecommendedList.applyValue(getTrafficForwardingVIPRecommendedListResult -> getTrafficForwardingVIPRecommendedListResult).applyValue(thisTrafficForwardingVIPRecommendedList -> thisTrafficForwardingVIPRecommendedList.applyValue(getTrafficForwardingVIPRecommendedListResult -> getTrafficForwardingVIPRecommendedListResult.lists()[1].datacenter())))
                    .virtualIp(thisTrafficForwardingVIPRecommendedList.applyValue(getTrafficForwardingVIPRecommendedListResult -> getTrafficForwardingVIPRecommendedListResult).applyValue(thisTrafficForwardingVIPRecommendedList -> thisTrafficForwardingVIPRecommendedList.applyValue(getTrafficForwardingVIPRecommendedListResult -> getTrafficForwardingVIPRecommendedListResult.lists()[1].virtualIp())))
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(thisTrafficForwardingStaticIP)
                    .build());
    
        }
    }
    
    Coming soon!
    

    Note: Although the example shows 2 valid attributes defined (datacenter, virtual_ip) within the primary_dest_vip and secondary_dest_vip, only one attribute is required. If setting the datacenter name as the attribute i.e YVR1. The provider will automatically select the agvaiulable VIP.

    Note: To obtain the datacenter codes and/or virtual_ips, refer to the following Zscaler Portal and choose your cloud tenant.

    Note: The provider will automatically query and set the Zscaler cloud for the next available /29 internal IP range to be used in a numbered GRE tunnel.

    import * as pulumi from "@pulumi/pulumi";
    import * as zia from "@bdzscaler/pulumi-zia";
    
    // ZIA Traffic Forwarding - Static IP
    const example = new zia.TrafficForwardingStaticIP("example", {
        ipAddress: "1.1.1.1",
        routableIp: true,
        comment: "Example",
        geoOverride: true,
        latitude: 37.418171,
        longitude: -121.95314,
    });
    // Creates an unnumbered GRE Tunnel
    const telusHomeInternet01Gre01 = new zia.TrafficForwardingGRETunnel("telusHomeInternet01Gre01", {
        sourceIp: example.ipAddress,
        comment: "Example",
        withinCountry: true,
        countryCode: "CA",
        ipUnnumbered: true,
    }, {
        dependsOn: [example],
    });
    
    import pulumi
    import zscaler_pulumi_zia as zia
    
    # ZIA Traffic Forwarding - Static IP
    example = zia.TrafficForwardingStaticIP("example",
        ip_address="1.1.1.1",
        routable_ip=True,
        comment="Example",
        geo_override=True,
        latitude=37.418171,
        longitude=-121.95314)
    # Creates an unnumbered GRE Tunnel
    telus_home_internet01_gre01 = zia.TrafficForwardingGRETunnel("telusHomeInternet01Gre01",
        source_ip=example.ip_address,
        comment="Example",
        within_country=True,
        country_code="CA",
        ip_unnumbered=True,
        opts=pulumi.ResourceOptions(depends_on=[example]))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/zscaler/pulumi-zia/sdk/go/zia"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// ZIA Traffic Forwarding - Static IP
    		example, err := zia.NewTrafficForwardingStaticIP(ctx, "example", &zia.TrafficForwardingStaticIPArgs{
    			IpAddress:   pulumi.String("1.1.1.1"),
    			RoutableIp:  pulumi.Bool(true),
    			Comment:     pulumi.String("Example"),
    			GeoOverride: pulumi.Bool(true),
    			Latitude:    pulumi.Float64(37.418171),
    			Longitude:   -121.95314,
    		})
    		if err != nil {
    			return err
    		}
    		// Creates an unnumbered GRE Tunnel
    		_, err = zia.NewTrafficForwardingGRETunnel(ctx, "telusHomeInternet01Gre01", &zia.TrafficForwardingGRETunnelArgs{
    			SourceIp:      example.IpAddress,
    			Comment:       pulumi.String("Example"),
    			WithinCountry: pulumi.Bool(true),
    			CountryCode:   pulumi.String("CA"),
    			IpUnnumbered:  pulumi.Bool(true),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			example,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Zia = zscaler.PulumiPackage.Zia;
    
    return await Deployment.RunAsync(() => 
    {
        // ZIA Traffic Forwarding - Static IP
        var example = new Zia.TrafficForwardingStaticIP("example", new()
        {
            IpAddress = "1.1.1.1",
            RoutableIp = true,
            Comment = "Example",
            GeoOverride = true,
            Latitude = 37.418171,
            Longitude = -121.95314,
        });
    
        // Creates an unnumbered GRE Tunnel
        var telusHomeInternet01Gre01 = new Zia.TrafficForwardingGRETunnel("telusHomeInternet01Gre01", new()
        {
            SourceIp = example.IpAddress,
            Comment = "Example",
            WithinCountry = true,
            CountryCode = "CA",
            IpUnnumbered = true,
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                example, 
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.zia.TrafficForwardingStaticIP;
    import com.pulumi.zia.TrafficForwardingStaticIPArgs;
    import com.pulumi.zia.TrafficForwardingGRETunnel;
    import com.pulumi.zia.TrafficForwardingGRETunnelArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            // ZIA Traffic Forwarding - Static IP
            var example = new TrafficForwardingStaticIP("example", TrafficForwardingStaticIPArgs.builder()        
                .ipAddress("1.1.1.1")
                .routableIp(true)
                .comment("Example")
                .geoOverride(true)
                .latitude(37.418171)
                .longitude("TODO: GenUnaryOpExpression")
                .build());
    
            // Creates an unnumbered GRE Tunnel
            var telusHomeInternet01Gre01 = new TrafficForwardingGRETunnel("telusHomeInternet01Gre01", TrafficForwardingGRETunnelArgs.builder()        
                .sourceIp(example.ipAddress())
                .comment("Example")
                .withinCountry(true)
                .countryCode("CA")
                .ipUnnumbered(true)
                .build(), CustomResourceOptions.builder()
                    .dependsOn(example)
                    .build());
    
        }
    }
    
    Coming soon!
    

    Create TrafficForwardingGRETunnel Resource

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

    Constructor syntax

    new TrafficForwardingGRETunnel(name: string, args: TrafficForwardingGRETunnelArgs, opts?: CustomResourceOptions);
    @overload
    def TrafficForwardingGRETunnel(resource_name: str,
                                   args: TrafficForwardingGRETunnelArgs,
                                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def TrafficForwardingGRETunnel(resource_name: str,
                                   opts: Optional[ResourceOptions] = None,
                                   source_ip: Optional[str] = None,
                                   comment: Optional[str] = None,
                                   country_code: Optional[str] = None,
                                   internal_ip_range: Optional[str] = None,
                                   ip_unnumbered: Optional[bool] = None,
                                   primary_dest_vips: Optional[Sequence[TrafficForwardingGRETunnelPrimaryDestVipArgs]] = None,
                                   secondary_dest_vips: Optional[Sequence[TrafficForwardingGRETunnelSecondaryDestVipArgs]] = None,
                                   within_country: Optional[bool] = None)
    func NewTrafficForwardingGRETunnel(ctx *Context, name string, args TrafficForwardingGRETunnelArgs, opts ...ResourceOption) (*TrafficForwardingGRETunnel, error)
    public TrafficForwardingGRETunnel(string name, TrafficForwardingGRETunnelArgs args, CustomResourceOptions? opts = null)
    public TrafficForwardingGRETunnel(String name, TrafficForwardingGRETunnelArgs args)
    public TrafficForwardingGRETunnel(String name, TrafficForwardingGRETunnelArgs args, CustomResourceOptions options)
    
    type: zia:TrafficForwardingGRETunnel
    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 TrafficForwardingGRETunnelArgs
    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 TrafficForwardingGRETunnelArgs
    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 TrafficForwardingGRETunnelArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args TrafficForwardingGRETunnelArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args TrafficForwardingGRETunnelArgs
    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 trafficForwardingGRETunnelResource = new Zia.TrafficForwardingGRETunnel("trafficForwardingGRETunnelResource", new()
    {
        SourceIp = "string",
        Comment = "string",
        CountryCode = "string",
        InternalIpRange = "string",
        IpUnnumbered = false,
        PrimaryDestVips = new[]
        {
            new Zia.Inputs.TrafficForwardingGRETunnelPrimaryDestVipArgs
            {
                Datacenter = "string",
                Id = 0,
                PrivateServiceEdge = false,
                VirtualIp = "string",
            },
        },
        SecondaryDestVips = new[]
        {
            new Zia.Inputs.TrafficForwardingGRETunnelSecondaryDestVipArgs
            {
                Datacenter = "string",
                Id = 0,
                PrivateServiceEdge = false,
                VirtualIp = "string",
            },
        },
        WithinCountry = false,
    });
    
    example, err := zia.NewTrafficForwardingGRETunnel(ctx, "trafficForwardingGRETunnelResource", &zia.TrafficForwardingGRETunnelArgs{
    	SourceIp:        pulumi.String("string"),
    	Comment:         pulumi.String("string"),
    	CountryCode:     pulumi.String("string"),
    	InternalIpRange: pulumi.String("string"),
    	IpUnnumbered:    pulumi.Bool(false),
    	PrimaryDestVips: zia.TrafficForwardingGRETunnelPrimaryDestVipArray{
    		&zia.TrafficForwardingGRETunnelPrimaryDestVipArgs{
    			Datacenter:         pulumi.String("string"),
    			Id:                 pulumi.Int(0),
    			PrivateServiceEdge: pulumi.Bool(false),
    			VirtualIp:          pulumi.String("string"),
    		},
    	},
    	SecondaryDestVips: zia.TrafficForwardingGRETunnelSecondaryDestVipArray{
    		&zia.TrafficForwardingGRETunnelSecondaryDestVipArgs{
    			Datacenter:         pulumi.String("string"),
    			Id:                 pulumi.Int(0),
    			PrivateServiceEdge: pulumi.Bool(false),
    			VirtualIp:          pulumi.String("string"),
    		},
    	},
    	WithinCountry: pulumi.Bool(false),
    })
    
    var trafficForwardingGRETunnelResource = new TrafficForwardingGRETunnel("trafficForwardingGRETunnelResource", TrafficForwardingGRETunnelArgs.builder()
        .sourceIp("string")
        .comment("string")
        .countryCode("string")
        .internalIpRange("string")
        .ipUnnumbered(false)
        .primaryDestVips(TrafficForwardingGRETunnelPrimaryDestVipArgs.builder()
            .datacenter("string")
            .id(0)
            .privateServiceEdge(false)
            .virtualIp("string")
            .build())
        .secondaryDestVips(TrafficForwardingGRETunnelSecondaryDestVipArgs.builder()
            .datacenter("string")
            .id(0)
            .privateServiceEdge(false)
            .virtualIp("string")
            .build())
        .withinCountry(false)
        .build());
    
    traffic_forwarding_gre_tunnel_resource = zia.TrafficForwardingGRETunnel("trafficForwardingGRETunnelResource",
        source_ip="string",
        comment="string",
        country_code="string",
        internal_ip_range="string",
        ip_unnumbered=False,
        primary_dest_vips=[zia.TrafficForwardingGRETunnelPrimaryDestVipArgs(
            datacenter="string",
            id=0,
            private_service_edge=False,
            virtual_ip="string",
        )],
        secondary_dest_vips=[zia.TrafficForwardingGRETunnelSecondaryDestVipArgs(
            datacenter="string",
            id=0,
            private_service_edge=False,
            virtual_ip="string",
        )],
        within_country=False)
    
    const trafficForwardingGRETunnelResource = new zia.TrafficForwardingGRETunnel("trafficForwardingGRETunnelResource", {
        sourceIp: "string",
        comment: "string",
        countryCode: "string",
        internalIpRange: "string",
        ipUnnumbered: false,
        primaryDestVips: [{
            datacenter: "string",
            id: 0,
            privateServiceEdge: false,
            virtualIp: "string",
        }],
        secondaryDestVips: [{
            datacenter: "string",
            id: 0,
            privateServiceEdge: false,
            virtualIp: "string",
        }],
        withinCountry: false,
    });
    
    type: zia:TrafficForwardingGRETunnel
    properties:
        comment: string
        countryCode: string
        internalIpRange: string
        ipUnnumbered: false
        primaryDestVips:
            - datacenter: string
              id: 0
              privateServiceEdge: false
              virtualIp: string
        secondaryDestVips:
            - datacenter: string
              id: 0
              privateServiceEdge: false
              virtualIp: string
        sourceIp: string
        withinCountry: false
    

    TrafficForwardingGRETunnel Resource Properties

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

    Inputs

    The TrafficForwardingGRETunnel resource accepts the following input properties:

    SourceIp string
    The source IP address of the GRE tunnel. This is typically a static IP address in the organization or SD-WAN. This IP address must be provisioned within the Zscaler service using the /staticIP endpoint.
    Comment string
    Additional information about this GRE tunnel
    CountryCode string
    When within_country is enabled, you must set this to the country code.
    InternalIpRange string
    The start of the internal IP address in /29 CIDR range. Automatically set by the provider if ip_unnumbered is set to false.
    IpUnnumbered bool
    This is required to support the automated SD-WAN provisioning of GRE tunnels, when set to true gre_tun_ip and gre_tun_id are set to null
    PrimaryDestVips List<zscaler.PulumiPackage.Zia.Inputs.TrafficForwardingGRETunnelPrimaryDestVip>
    **` (Optional) The primary destination data center and virtual IP address (VIP) of the GRE tunnel.
    SecondaryDestVips List<zscaler.PulumiPackage.Zia.Inputs.TrafficForwardingGRETunnelSecondaryDestVip>
    The secondary destination data center and virtual IP address (VIP) of the GRE tunnel.
    WithinCountry bool
    Restrict the data center virtual IP addresses (VIPs) only to those within the same country as the source IP address
    SourceIp string
    The source IP address of the GRE tunnel. This is typically a static IP address in the organization or SD-WAN. This IP address must be provisioned within the Zscaler service using the /staticIP endpoint.
    Comment string
    Additional information about this GRE tunnel
    CountryCode string
    When within_country is enabled, you must set this to the country code.
    InternalIpRange string
    The start of the internal IP address in /29 CIDR range. Automatically set by the provider if ip_unnumbered is set to false.
    IpUnnumbered bool
    This is required to support the automated SD-WAN provisioning of GRE tunnels, when set to true gre_tun_ip and gre_tun_id are set to null
    PrimaryDestVips []TrafficForwardingGRETunnelPrimaryDestVipArgs
    **` (Optional) The primary destination data center and virtual IP address (VIP) of the GRE tunnel.
    SecondaryDestVips []TrafficForwardingGRETunnelSecondaryDestVipArgs
    The secondary destination data center and virtual IP address (VIP) of the GRE tunnel.
    WithinCountry bool
    Restrict the data center virtual IP addresses (VIPs) only to those within the same country as the source IP address
    sourceIp String
    The source IP address of the GRE tunnel. This is typically a static IP address in the organization or SD-WAN. This IP address must be provisioned within the Zscaler service using the /staticIP endpoint.
    comment String
    Additional information about this GRE tunnel
    countryCode String
    When within_country is enabled, you must set this to the country code.
    internalIpRange String
    The start of the internal IP address in /29 CIDR range. Automatically set by the provider if ip_unnumbered is set to false.
    ipUnnumbered Boolean
    This is required to support the automated SD-WAN provisioning of GRE tunnels, when set to true gre_tun_ip and gre_tun_id are set to null
    primaryDestVips List<TrafficForwardingGRETunnelPrimaryDestVip>
    **` (Optional) The primary destination data center and virtual IP address (VIP) of the GRE tunnel.
    secondaryDestVips List<TrafficForwardingGRETunnelSecondaryDestVip>
    The secondary destination data center and virtual IP address (VIP) of the GRE tunnel.
    withinCountry Boolean
    Restrict the data center virtual IP addresses (VIPs) only to those within the same country as the source IP address
    sourceIp string
    The source IP address of the GRE tunnel. This is typically a static IP address in the organization or SD-WAN. This IP address must be provisioned within the Zscaler service using the /staticIP endpoint.
    comment string
    Additional information about this GRE tunnel
    countryCode string
    When within_country is enabled, you must set this to the country code.
    internalIpRange string
    The start of the internal IP address in /29 CIDR range. Automatically set by the provider if ip_unnumbered is set to false.
    ipUnnumbered boolean
    This is required to support the automated SD-WAN provisioning of GRE tunnels, when set to true gre_tun_ip and gre_tun_id are set to null
    primaryDestVips TrafficForwardingGRETunnelPrimaryDestVip[]
    **` (Optional) The primary destination data center and virtual IP address (VIP) of the GRE tunnel.
    secondaryDestVips TrafficForwardingGRETunnelSecondaryDestVip[]
    The secondary destination data center and virtual IP address (VIP) of the GRE tunnel.
    withinCountry boolean
    Restrict the data center virtual IP addresses (VIPs) only to those within the same country as the source IP address
    source_ip str
    The source IP address of the GRE tunnel. This is typically a static IP address in the organization or SD-WAN. This IP address must be provisioned within the Zscaler service using the /staticIP endpoint.
    comment str
    Additional information about this GRE tunnel
    country_code str
    When within_country is enabled, you must set this to the country code.
    internal_ip_range str
    The start of the internal IP address in /29 CIDR range. Automatically set by the provider if ip_unnumbered is set to false.
    ip_unnumbered bool
    This is required to support the automated SD-WAN provisioning of GRE tunnels, when set to true gre_tun_ip and gre_tun_id are set to null
    primary_dest_vips Sequence[TrafficForwardingGRETunnelPrimaryDestVipArgs]
    **` (Optional) The primary destination data center and virtual IP address (VIP) of the GRE tunnel.
    secondary_dest_vips Sequence[TrafficForwardingGRETunnelSecondaryDestVipArgs]
    The secondary destination data center and virtual IP address (VIP) of the GRE tunnel.
    within_country bool
    Restrict the data center virtual IP addresses (VIPs) only to those within the same country as the source IP address
    sourceIp String
    The source IP address of the GRE tunnel. This is typically a static IP address in the organization or SD-WAN. This IP address must be provisioned within the Zscaler service using the /staticIP endpoint.
    comment String
    Additional information about this GRE tunnel
    countryCode String
    When within_country is enabled, you must set this to the country code.
    internalIpRange String
    The start of the internal IP address in /29 CIDR range. Automatically set by the provider if ip_unnumbered is set to false.
    ipUnnumbered Boolean
    This is required to support the automated SD-WAN provisioning of GRE tunnels, when set to true gre_tun_ip and gre_tun_id are set to null
    primaryDestVips List<Property Map>
    **` (Optional) The primary destination data center and virtual IP address (VIP) of the GRE tunnel.
    secondaryDestVips List<Property Map>
    The secondary destination data center and virtual IP address (VIP) of the GRE tunnel.
    withinCountry Boolean
    Restrict the data center virtual IP addresses (VIPs) only to those within the same country as the source IP address

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    TunnelId int
    The ID of the GRE tunnel.
    Id string
    The provider-assigned unique ID for this managed resource.
    TunnelId int
    The ID of the GRE tunnel.
    id String
    The provider-assigned unique ID for this managed resource.
    tunnelId Integer
    The ID of the GRE tunnel.
    id string
    The provider-assigned unique ID for this managed resource.
    tunnelId number
    The ID of the GRE tunnel.
    id str
    The provider-assigned unique ID for this managed resource.
    tunnel_id int
    The ID of the GRE tunnel.
    id String
    The provider-assigned unique ID for this managed resource.
    tunnelId Number
    The ID of the GRE tunnel.

    Look up Existing TrafficForwardingGRETunnel Resource

    Get an existing TrafficForwardingGRETunnel 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?: TrafficForwardingGRETunnelState, opts?: CustomResourceOptions): TrafficForwardingGRETunnel
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            comment: Optional[str] = None,
            country_code: Optional[str] = None,
            internal_ip_range: Optional[str] = None,
            ip_unnumbered: Optional[bool] = None,
            primary_dest_vips: Optional[Sequence[TrafficForwardingGRETunnelPrimaryDestVipArgs]] = None,
            secondary_dest_vips: Optional[Sequence[TrafficForwardingGRETunnelSecondaryDestVipArgs]] = None,
            source_ip: Optional[str] = None,
            tunnel_id: Optional[int] = None,
            within_country: Optional[bool] = None) -> TrafficForwardingGRETunnel
    func GetTrafficForwardingGRETunnel(ctx *Context, name string, id IDInput, state *TrafficForwardingGRETunnelState, opts ...ResourceOption) (*TrafficForwardingGRETunnel, error)
    public static TrafficForwardingGRETunnel Get(string name, Input<string> id, TrafficForwardingGRETunnelState? state, CustomResourceOptions? opts = null)
    public static TrafficForwardingGRETunnel get(String name, Output<String> id, TrafficForwardingGRETunnelState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    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:
    Comment string
    Additional information about this GRE tunnel
    CountryCode string
    When within_country is enabled, you must set this to the country code.
    InternalIpRange string
    The start of the internal IP address in /29 CIDR range. Automatically set by the provider if ip_unnumbered is set to false.
    IpUnnumbered bool
    This is required to support the automated SD-WAN provisioning of GRE tunnels, when set to true gre_tun_ip and gre_tun_id are set to null
    PrimaryDestVips List<zscaler.PulumiPackage.Zia.Inputs.TrafficForwardingGRETunnelPrimaryDestVip>
    **` (Optional) The primary destination data center and virtual IP address (VIP) of the GRE tunnel.
    SecondaryDestVips List<zscaler.PulumiPackage.Zia.Inputs.TrafficForwardingGRETunnelSecondaryDestVip>
    The secondary destination data center and virtual IP address (VIP) of the GRE tunnel.
    SourceIp string
    The source IP address of the GRE tunnel. This is typically a static IP address in the organization or SD-WAN. This IP address must be provisioned within the Zscaler service using the /staticIP endpoint.
    TunnelId int
    The ID of the GRE tunnel.
    WithinCountry bool
    Restrict the data center virtual IP addresses (VIPs) only to those within the same country as the source IP address
    Comment string
    Additional information about this GRE tunnel
    CountryCode string
    When within_country is enabled, you must set this to the country code.
    InternalIpRange string
    The start of the internal IP address in /29 CIDR range. Automatically set by the provider if ip_unnumbered is set to false.
    IpUnnumbered bool
    This is required to support the automated SD-WAN provisioning of GRE tunnels, when set to true gre_tun_ip and gre_tun_id are set to null
    PrimaryDestVips []TrafficForwardingGRETunnelPrimaryDestVipArgs
    **` (Optional) The primary destination data center and virtual IP address (VIP) of the GRE tunnel.
    SecondaryDestVips []TrafficForwardingGRETunnelSecondaryDestVipArgs
    The secondary destination data center and virtual IP address (VIP) of the GRE tunnel.
    SourceIp string
    The source IP address of the GRE tunnel. This is typically a static IP address in the organization or SD-WAN. This IP address must be provisioned within the Zscaler service using the /staticIP endpoint.
    TunnelId int
    The ID of the GRE tunnel.
    WithinCountry bool
    Restrict the data center virtual IP addresses (VIPs) only to those within the same country as the source IP address
    comment String
    Additional information about this GRE tunnel
    countryCode String
    When within_country is enabled, you must set this to the country code.
    internalIpRange String
    The start of the internal IP address in /29 CIDR range. Automatically set by the provider if ip_unnumbered is set to false.
    ipUnnumbered Boolean
    This is required to support the automated SD-WAN provisioning of GRE tunnels, when set to true gre_tun_ip and gre_tun_id are set to null
    primaryDestVips List<TrafficForwardingGRETunnelPrimaryDestVip>
    **` (Optional) The primary destination data center and virtual IP address (VIP) of the GRE tunnel.
    secondaryDestVips List<TrafficForwardingGRETunnelSecondaryDestVip>
    The secondary destination data center and virtual IP address (VIP) of the GRE tunnel.
    sourceIp String
    The source IP address of the GRE tunnel. This is typically a static IP address in the organization or SD-WAN. This IP address must be provisioned within the Zscaler service using the /staticIP endpoint.
    tunnelId Integer
    The ID of the GRE tunnel.
    withinCountry Boolean
    Restrict the data center virtual IP addresses (VIPs) only to those within the same country as the source IP address
    comment string
    Additional information about this GRE tunnel
    countryCode string
    When within_country is enabled, you must set this to the country code.
    internalIpRange string
    The start of the internal IP address in /29 CIDR range. Automatically set by the provider if ip_unnumbered is set to false.
    ipUnnumbered boolean
    This is required to support the automated SD-WAN provisioning of GRE tunnels, when set to true gre_tun_ip and gre_tun_id are set to null
    primaryDestVips TrafficForwardingGRETunnelPrimaryDestVip[]
    **` (Optional) The primary destination data center and virtual IP address (VIP) of the GRE tunnel.
    secondaryDestVips TrafficForwardingGRETunnelSecondaryDestVip[]
    The secondary destination data center and virtual IP address (VIP) of the GRE tunnel.
    sourceIp string
    The source IP address of the GRE tunnel. This is typically a static IP address in the organization or SD-WAN. This IP address must be provisioned within the Zscaler service using the /staticIP endpoint.
    tunnelId number
    The ID of the GRE tunnel.
    withinCountry boolean
    Restrict the data center virtual IP addresses (VIPs) only to those within the same country as the source IP address
    comment str
    Additional information about this GRE tunnel
    country_code str
    When within_country is enabled, you must set this to the country code.
    internal_ip_range str
    The start of the internal IP address in /29 CIDR range. Automatically set by the provider if ip_unnumbered is set to false.
    ip_unnumbered bool
    This is required to support the automated SD-WAN provisioning of GRE tunnels, when set to true gre_tun_ip and gre_tun_id are set to null
    primary_dest_vips Sequence[TrafficForwardingGRETunnelPrimaryDestVipArgs]
    **` (Optional) The primary destination data center and virtual IP address (VIP) of the GRE tunnel.
    secondary_dest_vips Sequence[TrafficForwardingGRETunnelSecondaryDestVipArgs]
    The secondary destination data center and virtual IP address (VIP) of the GRE tunnel.
    source_ip str
    The source IP address of the GRE tunnel. This is typically a static IP address in the organization or SD-WAN. This IP address must be provisioned within the Zscaler service using the /staticIP endpoint.
    tunnel_id int
    The ID of the GRE tunnel.
    within_country bool
    Restrict the data center virtual IP addresses (VIPs) only to those within the same country as the source IP address
    comment String
    Additional information about this GRE tunnel
    countryCode String
    When within_country is enabled, you must set this to the country code.
    internalIpRange String
    The start of the internal IP address in /29 CIDR range. Automatically set by the provider if ip_unnumbered is set to false.
    ipUnnumbered Boolean
    This is required to support the automated SD-WAN provisioning of GRE tunnels, when set to true gre_tun_ip and gre_tun_id are set to null
    primaryDestVips List<Property Map>
    **` (Optional) The primary destination data center and virtual IP address (VIP) of the GRE tunnel.
    secondaryDestVips List<Property Map>
    The secondary destination data center and virtual IP address (VIP) of the GRE tunnel.
    sourceIp String
    The source IP address of the GRE tunnel. This is typically a static IP address in the organization or SD-WAN. This IP address must be provisioned within the Zscaler service using the /staticIP endpoint.
    tunnelId Number
    The ID of the GRE tunnel.
    withinCountry Boolean
    Restrict the data center virtual IP addresses (VIPs) only to those within the same country as the source IP address

    Supporting Types

    TrafficForwardingGRETunnelPrimaryDestVip, TrafficForwardingGRETunnelPrimaryDestVipArgs

    Datacenter string
    Data center information
    Id int
    Unique identifer of the GRE virtual IP address (VIP)
    PrivateServiceEdge bool
    Set to true if the virtual IP address (VIP) is a ZIA Private Service Edge
    VirtualIp string
    GRE cluster virtual IP address (VIP)
    Datacenter string
    Data center information
    Id int
    Unique identifer of the GRE virtual IP address (VIP)
    PrivateServiceEdge bool
    Set to true if the virtual IP address (VIP) is a ZIA Private Service Edge
    VirtualIp string
    GRE cluster virtual IP address (VIP)
    datacenter String
    Data center information
    id Integer
    Unique identifer of the GRE virtual IP address (VIP)
    privateServiceEdge Boolean
    Set to true if the virtual IP address (VIP) is a ZIA Private Service Edge
    virtualIp String
    GRE cluster virtual IP address (VIP)
    datacenter string
    Data center information
    id number
    Unique identifer of the GRE virtual IP address (VIP)
    privateServiceEdge boolean
    Set to true if the virtual IP address (VIP) is a ZIA Private Service Edge
    virtualIp string
    GRE cluster virtual IP address (VIP)
    datacenter str
    Data center information
    id int
    Unique identifer of the GRE virtual IP address (VIP)
    private_service_edge bool
    Set to true if the virtual IP address (VIP) is a ZIA Private Service Edge
    virtual_ip str
    GRE cluster virtual IP address (VIP)
    datacenter String
    Data center information
    id Number
    Unique identifer of the GRE virtual IP address (VIP)
    privateServiceEdge Boolean
    Set to true if the virtual IP address (VIP) is a ZIA Private Service Edge
    virtualIp String
    GRE cluster virtual IP address (VIP)

    TrafficForwardingGRETunnelSecondaryDestVip, TrafficForwardingGRETunnelSecondaryDestVipArgs

    Datacenter string
    Data center information
    Id int
    Unique identifer of the GRE virtual IP address (VIP)
    PrivateServiceEdge bool
    Set to true if the virtual IP address (VIP) is a ZIA Private Service Edge
    VirtualIp string
    GRE cluster virtual IP address (VIP)
    Datacenter string
    Data center information
    Id int
    Unique identifer of the GRE virtual IP address (VIP)
    PrivateServiceEdge bool
    Set to true if the virtual IP address (VIP) is a ZIA Private Service Edge
    VirtualIp string
    GRE cluster virtual IP address (VIP)
    datacenter String
    Data center information
    id Integer
    Unique identifer of the GRE virtual IP address (VIP)
    privateServiceEdge Boolean
    Set to true if the virtual IP address (VIP) is a ZIA Private Service Edge
    virtualIp String
    GRE cluster virtual IP address (VIP)
    datacenter string
    Data center information
    id number
    Unique identifer of the GRE virtual IP address (VIP)
    privateServiceEdge boolean
    Set to true if the virtual IP address (VIP) is a ZIA Private Service Edge
    virtualIp string
    GRE cluster virtual IP address (VIP)
    datacenter str
    Data center information
    id int
    Unique identifer of the GRE virtual IP address (VIP)
    private_service_edge bool
    Set to true if the virtual IP address (VIP) is a ZIA Private Service Edge
    virtual_ip str
    GRE cluster virtual IP address (VIP)
    datacenter String
    Data center information
    id Number
    Unique identifer of the GRE virtual IP address (VIP)
    privateServiceEdge Boolean
    Set to true if the virtual IP address (VIP) is a ZIA Private Service Edge
    virtualIp String
    GRE cluster virtual IP address (VIP)

    Import

    Zscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZIA configurations into Terraform-compliant HashiCorp Configuration Language.

    Visit

    zia_traffic_forwarding_gre_tunnel can be imported by using <TUNNEL_ID> as the import ID.

    For example:

    $ pulumi import zia:index/trafficForwardingGRETunnel:TrafficForwardingGRETunnel example <tunnel_id>
    

    or

    $ pulumi import zia:index/trafficForwardingGRETunnel:TrafficForwardingGRETunnel example <engine_name>
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    zia zscaler/pulumi-zia
    License
    MIT
    Notes
    This Pulumi package is based on the zia Terraform Provider.
    zia logo
    Zscaler Internet Access v0.0.6 published on Wednesday, Apr 10, 2024 by Zscaler