1. Packages
  2. Juniper Mist
  3. API Docs
  4. device
  5. Gateway
Juniper Mist v0.0.24 published on Thursday, Sep 19, 2024 by Pulumi

junipermist.device.Gateway

Explore with Pulumi AI

junipermist logo
Juniper Mist v0.0.24 published on Thursday, Sep 19, 2024 by Pulumi

    This resource manages the Gateway configuration.It can be used to define specific configuration at the device level or to override Org Gateway template settings.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as junipermist from "@pulumi/juniper-mist";
    
    const gatewayOne = new junipermist.device.Gateway("gateway_one", {
        name: "gateway_one",
        deviceId: clusterOne.deviceId,
        siteId: clusterOne.siteId,
        oobIpConfig: {
            type: "dhcp",
        },
        dnsServers: ["8.8.8.8"],
        additionalConfigCmds: [
            "annotate system \" -- custom-main -- Template level --\"",
            "delete apply-groups custom-main",
            "delete groups custom-main",
            "set groups custom-main",
            "set groups custom-main system services ssh root-login allow",
            "set apply-groups custom-main",
        ],
    });
    
    import pulumi
    import pulumi_juniper_mist as junipermist
    
    gateway_one = junipermist.device.Gateway("gateway_one",
        name="gateway_one",
        device_id=cluster_one["deviceId"],
        site_id=cluster_one["siteId"],
        oob_ip_config={
            "type": "dhcp",
        },
        dns_servers=["8.8.8.8"],
        additional_config_cmds=[
            "annotate system \" -- custom-main -- Template level --\"",
            "delete apply-groups custom-main",
            "delete groups custom-main",
            "set groups custom-main",
            "set groups custom-main system services ssh root-login allow",
            "set apply-groups custom-main",
        ])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-junipermist/sdk/go/junipermist/device"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := device.NewGateway(ctx, "gateway_one", &device.GatewayArgs{
    			Name:     pulumi.String("gateway_one"),
    			DeviceId: pulumi.Any(clusterOne.DeviceId),
    			SiteId:   pulumi.Any(clusterOne.SiteId),
    			OobIpConfig: &device.GatewayOobIpConfigArgs{
    				Type: pulumi.String("dhcp"),
    			},
    			DnsServers: pulumi.StringArray{
    				pulumi.String("8.8.8.8"),
    			},
    			AdditionalConfigCmds: pulumi.StringArray{
    				pulumi.String("annotate system \" -- custom-main -- Template level --\""),
    				pulumi.String("delete apply-groups custom-main"),
    				pulumi.String("delete groups custom-main"),
    				pulumi.String("set groups custom-main"),
    				pulumi.String("set groups custom-main system services ssh root-login allow"),
    				pulumi.String("set apply-groups custom-main"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using JuniperMist = Pulumi.JuniperMist;
    
    return await Deployment.RunAsync(() => 
    {
        var gatewayOne = new JuniperMist.Device.Gateway("gateway_one", new()
        {
            Name = "gateway_one",
            DeviceId = clusterOne.DeviceId,
            SiteId = clusterOne.SiteId,
            OobIpConfig = new JuniperMist.Device.Inputs.GatewayOobIpConfigArgs
            {
                Type = "dhcp",
            },
            DnsServers = new[]
            {
                "8.8.8.8",
            },
            AdditionalConfigCmds = new[]
            {
                "annotate system \" -- custom-main -- Template level --\"",
                "delete apply-groups custom-main",
                "delete groups custom-main",
                "set groups custom-main",
                "set groups custom-main system services ssh root-login allow",
                "set apply-groups custom-main",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.junipermist.device.Gateway;
    import com.pulumi.junipermist.device.GatewayArgs;
    import com.pulumi.junipermist.device.inputs.GatewayOobIpConfigArgs;
    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 gatewayOne = new Gateway("gatewayOne", GatewayArgs.builder()
                .name("gateway_one")
                .deviceId(clusterOne.deviceId())
                .siteId(clusterOne.siteId())
                .oobIpConfig(GatewayOobIpConfigArgs.builder()
                    .type("dhcp")
                    .build())
                .dnsServers("8.8.8.8")
                .additionalConfigCmds(            
                    "annotate system \" -- custom-main -- Template level --\"",
                    "delete apply-groups custom-main",
                    "delete groups custom-main",
                    "set groups custom-main",
                    "set groups custom-main system services ssh root-login allow",
                    "set apply-groups custom-main")
                .build());
    
        }
    }
    
    resources:
      gatewayOne:
        type: junipermist:device:Gateway
        name: gateway_one
        properties:
          name: gateway_one
          deviceId: ${clusterOne.deviceId}
          siteId: ${clusterOne.siteId}
          oobIpConfig:
            type: dhcp
          dnsServers:
            - 8.8.8.8
          additionalConfigCmds:
            - annotate system " -- custom-main -- Template level --"
            - delete apply-groups custom-main
            - delete groups custom-main
            - set groups custom-main
            - set groups custom-main system services ssh root-login allow
            - set apply-groups custom-main
    

    Create Gateway Resource

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

    Constructor syntax

    new Gateway(name: string, args: GatewayArgs, opts?: CustomResourceOptions);
    @overload
    def Gateway(resource_name: str,
                args: GatewayArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def Gateway(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                device_id: Optional[str] = None,
                site_id: Optional[str] = None,
                idp_profiles: Optional[Mapping[str, GatewayIdpProfilesArgs]] = None,
                dns_servers: Optional[Sequence[str]] = None,
                oob_ip_config: Optional[GatewayOobIpConfigArgs] = None,
                dns_suffixes: Optional[Sequence[str]] = None,
                extra_routes: Optional[Mapping[str, GatewayExtraRoutesArgs]] = None,
                extra_routes6: Optional[Mapping[str, GatewayExtraRoutes6Args]] = None,
                additional_config_cmds: Optional[Sequence[str]] = None,
                ip_configs: Optional[Mapping[str, GatewayIpConfigsArgs]] = None,
                managed: Optional[bool] = None,
                map_id: Optional[str] = None,
                msp_id: Optional[str] = None,
                name: Optional[str] = None,
                networks: Optional[Sequence[GatewayNetworkArgs]] = None,
                notes: Optional[str] = None,
                y: Optional[float] = None,
                dhcpd_config: Optional[GatewayDhcpdConfigArgs] = None,
                path_preferences: Optional[Mapping[str, GatewayPathPreferencesArgs]] = None,
                port_config: Optional[Mapping[str, GatewayPortConfigArgs]] = None,
                port_mirroring: Optional[GatewayPortMirroringArgs] = None,
                router_id: Optional[str] = None,
                routing_policies: Optional[Mapping[str, GatewayRoutingPoliciesArgs]] = None,
                service_policies: Optional[Sequence[GatewayServicePolicyArgs]] = None,
                bgp_config: Optional[Mapping[str, GatewayBgpConfigArgs]] = None,
                tunnel_configs: Optional[Mapping[str, GatewayTunnelConfigsArgs]] = None,
                tunnel_provider_options: Optional[GatewayTunnelProviderOptionsArgs] = None,
                vars: Optional[Mapping[str, str]] = None,
                vrf_config: Optional[GatewayVrfConfigArgs] = None,
                vrf_instances: Optional[Mapping[str, GatewayVrfInstancesArgs]] = None,
                x: Optional[float] = None,
                ntp_servers: Optional[Sequence[str]] = None)
    func NewGateway(ctx *Context, name string, args GatewayArgs, opts ...ResourceOption) (*Gateway, error)
    public Gateway(string name, GatewayArgs args, CustomResourceOptions? opts = null)
    public Gateway(String name, GatewayArgs args)
    public Gateway(String name, GatewayArgs args, CustomResourceOptions options)
    
    type: junipermist:device:Gateway
    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 GatewayArgs
    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 GatewayArgs
    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 GatewayArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args GatewayArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args GatewayArgs
    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 gatewayResource = new JuniperMist.Device.Gateway("gatewayResource", new()
    {
        DeviceId = "string",
        SiteId = "string",
        IdpProfiles = 
        {
            { "string", new JuniperMist.Device.Inputs.GatewayIdpProfilesArgs
            {
                BaseProfile = "string",
                CreatedTime = 0,
                Id = "string",
                ModifiedTime = 0,
                Name = "string",
                OrgId = "string",
                Overwrites = new[]
                {
                    new JuniperMist.Device.Inputs.GatewayIdpProfilesOverwriteArgs
                    {
                        Action = "string",
                        Matching = new JuniperMist.Device.Inputs.GatewayIdpProfilesOverwriteMatchingArgs
                        {
                            AttackNames = new[]
                            {
                                "string",
                            },
                            DstSubnets = new[]
                            {
                                "string",
                            },
                            Severities = new[]
                            {
                                "string",
                            },
                        },
                        Name = "string",
                    },
                },
            } },
        },
        DnsServers = new[]
        {
            "string",
        },
        OobIpConfig = new JuniperMist.Device.Inputs.GatewayOobIpConfigArgs
        {
            Gateway = "string",
            Ip = "string",
            Netmask = "string",
            Node1 = new JuniperMist.Device.Inputs.GatewayOobIpConfigNode1Args
            {
                Gateway = "string",
                Ip = "string",
                Netmask = "string",
                Type = "string",
                UseMgmtVrf = false,
                UseMgmtVrfForHostOut = false,
                VlanId = "string",
            },
            Type = "string",
            UseMgmtVrf = false,
            UseMgmtVrfForHostOut = false,
            VlanId = "string",
        },
        DnsSuffixes = new[]
        {
            "string",
        },
        ExtraRoutes = 
        {
            { "string", new JuniperMist.Device.Inputs.GatewayExtraRoutesArgs
            {
                Via = "string",
            } },
        },
        ExtraRoutes6 = 
        {
            { "string", new JuniperMist.Device.Inputs.GatewayExtraRoutes6Args
            {
                Via = "string",
            } },
        },
        AdditionalConfigCmds = new[]
        {
            "string",
        },
        IpConfigs = 
        {
            { "string", new JuniperMist.Device.Inputs.GatewayIpConfigsArgs
            {
                Ip = "string",
                Netmask = "string",
                SecondaryIps = new[]
                {
                    "string",
                },
                Type = "string",
            } },
        },
        Managed = false,
        MapId = "string",
        MspId = "string",
        Name = "string",
        Networks = new[]
        {
            new JuniperMist.Device.Inputs.GatewayNetworkArgs
            {
                Name = "string",
                Subnet = "string",
                Id = "string",
                Gateway = "string",
                CreatedTime = 0,
                InternalAccess = new JuniperMist.Device.Inputs.GatewayNetworkInternalAccessArgs
                {
                    Enabled = false,
                },
                InternetAccess = new JuniperMist.Device.Inputs.GatewayNetworkInternetAccessArgs
                {
                    CreateSimpleServicePolicy = false,
                    DestinationNat = 
                    {
                        { "string", new JuniperMist.Device.Inputs.GatewayNetworkInternetAccessDestinationNatArgs
                        {
                            InternalIp = "string",
                            Name = "string",
                            Port = 0,
                        } },
                    },
                    Enabled = false,
                    Restricted = false,
                    StaticNat = 
                    {
                        { "string", new JuniperMist.Device.Inputs.GatewayNetworkInternetAccessStaticNatArgs
                        {
                            InternalIp = "string",
                            Name = "string",
                            WanName = "string",
                        } },
                    },
                },
                Isolation = false,
                ModifiedTime = 0,
                Gateway6 = "string",
                OrgId = "string",
                RoutedForNetworks = new[]
                {
                    "string",
                },
                DisallowMistServices = false,
                Subnet6 = "string",
                Tenants = 
                {
                    { "string", new JuniperMist.Device.Inputs.GatewayNetworkTenantsArgs
                    {
                        Addresses = new[]
                        {
                            "string",
                        },
                    } },
                },
                VlanId = "string",
                VpnAccess = 
                {
                    { "string", new JuniperMist.Device.Inputs.GatewayNetworkVpnAccessArgs
                    {
                        AdvertisedSubnet = "string",
                        AllowPing = false,
                        DestinationNat = 
                        {
                            { "string", new JuniperMist.Device.Inputs.GatewayNetworkVpnAccessDestinationNatArgs
                            {
                                InternalIp = "string",
                                Name = "string",
                                Port = 0,
                            } },
                        },
                        NatPool = "string",
                        NoReadvertiseToLanBgp = false,
                        NoReadvertiseToLanOspf = false,
                        NoReadvertiseToOverlay = false,
                        OtherVrfs = new[]
                        {
                            "string",
                        },
                        Routed = false,
                        SourceNat = new JuniperMist.Device.Inputs.GatewayNetworkVpnAccessSourceNatArgs
                        {
                            ExternalIp = "string",
                        },
                        StaticNat = 
                        {
                            { "string", new JuniperMist.Device.Inputs.GatewayNetworkVpnAccessStaticNatArgs
                            {
                                InternalIp = "string",
                                Name = "string",
                                WanName = "string",
                            } },
                        },
                        SummarizedSubnet = "string",
                        SummarizedSubnetToLanBgp = "string",
                        SummarizedSubnetToLanOspf = "string",
                    } },
                },
            },
        },
        Notes = "string",
        Y = 0,
        DhcpdConfig = new JuniperMist.Device.Inputs.GatewayDhcpdConfigArgs
        {
            Config = 
            {
                { "string", new JuniperMist.Device.Inputs.GatewayDhcpdConfigConfigArgs
                {
                    DnsServers = new[]
                    {
                        "string",
                    },
                    DnsSuffixes = new[]
                    {
                        "string",
                    },
                    FixedBindings = 
                    {
                        { "string", new JuniperMist.Device.Inputs.GatewayDhcpdConfigConfigFixedBindingsArgs
                        {
                            Ip = "string",
                            Name = "string",
                        } },
                    },
                    Gateway = "string",
                    IpEnd = "string",
                    IpEnd6 = "string",
                    IpStart = "string",
                    IpStart6 = "string",
                    LeaseTime = 0,
                    Options = 
                    {
                        { "string", new JuniperMist.Device.Inputs.GatewayDhcpdConfigConfigOptionsArgs
                        {
                            Type = "string",
                            Value = "string",
                        } },
                    },
                    ServerIdOverride = false,
                    Servers = new[]
                    {
                        "string",
                    },
                    Servers6s = new[]
                    {
                        "string",
                    },
                    Type = "string",
                    Type6 = "string",
                    VendorEncapulated = 
                    {
                        { "string", new JuniperMist.Device.Inputs.GatewayDhcpdConfigConfigVendorEncapulatedArgs
                        {
                            Type = "string",
                            Value = "string",
                        } },
                    },
                } },
            },
            Enabled = false,
        },
        PathPreferences = 
        {
            { "string", new JuniperMist.Device.Inputs.GatewayPathPreferencesArgs
            {
                Paths = new[]
                {
                    new JuniperMist.Device.Inputs.GatewayPathPreferencesPathArgs
                    {
                        Cost = 0,
                        Disabled = false,
                        GatewayIp = "string",
                        InternetAccess = false,
                        Name = "string",
                        Networks = new[]
                        {
                            "string",
                        },
                        TargetIps = new[]
                        {
                            "string",
                        },
                        Type = "string",
                        WanName = "string",
                    },
                },
                Strategy = "string",
            } },
        },
        PortConfig = 
        {
            { "string", new JuniperMist.Device.Inputs.GatewayPortConfigArgs
            {
                Usage = "string",
                Networks = new[]
                {
                    "string",
                },
                VlanId = 0,
                Aggregated = false,
                Critical = false,
                Description = "string",
                DisableAutoneg = false,
                Disabled = false,
                DslType = "string",
                DslVci = 0,
                DslVpi = 0,
                Duplex = "string",
                IpConfig = new JuniperMist.Device.Inputs.GatewayPortConfigIpConfigArgs
                {
                    Dns = new[]
                    {
                        "string",
                    },
                    DnsSuffixes = new[]
                    {
                        "string",
                    },
                    Gateway = "string",
                    Ip = "string",
                    Netmask = "string",
                    Network = "string",
                    PoserPassword = "string",
                    PppoeAuth = "string",
                    PppoeUsername = "string",
                    Type = "string",
                },
                LteApn = "string",
                OuterVlanId = 0,
                LteBackup = false,
                LtePassword = "string",
                LteUsername = "string",
                Mtu = 0,
                WanSourceNat = new JuniperMist.Device.Inputs.GatewayPortConfigWanSourceNatArgs
                {
                    Disabled = false,
                    NatPool = "string",
                },
                AeLacpForceUp = false,
                LteAuth = "string",
                PoeDisabled = false,
                PortNetwork = "string",
                PreserveDscp = false,
                Redundant = false,
                RethIdx = 0,
                RethNode = "string",
                RethNodes = new[]
                {
                    "string",
                },
                Speed = "string",
                SsrNoVirtualMac = false,
                SvrPortRange = "string",
                TrafficShaping = new JuniperMist.Device.Inputs.GatewayPortConfigTrafficShapingArgs
                {
                    ClassPercentages = new[]
                    {
                        0,
                    },
                    Enabled = false,
                },
                AeIdx = "string",
                AeDisableLacp = false,
                VpnPaths = 
                {
                    { "string", new JuniperMist.Device.Inputs.GatewayPortConfigVpnPathsArgs
                    {
                        BfdProfile = "string",
                        BfdUseTunnelMode = false,
                        Preference = 0,
                        Role = "string",
                        TrafficShaping = new JuniperMist.Device.Inputs.GatewayPortConfigVpnPathsTrafficShapingArgs
                        {
                            ClassPercentages = new[]
                            {
                                0,
                            },
                            Enabled = false,
                        },
                    } },
                },
                WanArpPolicer = "string",
                WanExtIp = "string",
                Name = "string",
                WanType = "string",
            } },
        },
        PortMirroring = new JuniperMist.Device.Inputs.GatewayPortMirroringArgs
        {
            PortMirror = new JuniperMist.Device.Inputs.GatewayPortMirroringPortMirrorArgs
            {
                FamilyType = "string",
                IngressPortIds = new[]
                {
                    "string",
                },
                OutputPortId = "string",
                Rate = 0,
                RunLength = 0,
            },
        },
        RouterId = "string",
        RoutingPolicies = 
        {
            { "string", new JuniperMist.Device.Inputs.GatewayRoutingPoliciesArgs
            {
                Terms = new[]
                {
                    new JuniperMist.Device.Inputs.GatewayRoutingPoliciesTermArgs
                    {
                        Action = new JuniperMist.Device.Inputs.GatewayRoutingPoliciesTermActionArgs
                        {
                            Accept = false,
                            AddCommunities = new[]
                            {
                                "string",
                            },
                            AddTargetVrfs = new[]
                            {
                                "string",
                            },
                            Communities = new[]
                            {
                                "string",
                            },
                            ExcludeAsPaths = new[]
                            {
                                "string",
                            },
                            ExcludeCommunities = new[]
                            {
                                "string",
                            },
                            ExportCommunitites = new[]
                            {
                                "string",
                            },
                            LocalPreference = "string",
                            PrependAsPaths = new[]
                            {
                                "string",
                            },
                        },
                        Matching = new JuniperMist.Device.Inputs.GatewayRoutingPoliciesTermMatchingArgs
                        {
                            AsPaths = new[]
                            {
                                "string",
                            },
                            Communities = new[]
                            {
                                "string",
                            },
                            Networks = new[]
                            {
                                "string",
                            },
                            Prefixes = new[]
                            {
                                "string",
                            },
                            Protocols = new[]
                            {
                                "string",
                            },
                            RouteExists = new JuniperMist.Device.Inputs.GatewayRoutingPoliciesTermMatchingRouteExistsArgs
                            {
                                Route = "string",
                                VrfName = "string",
                            },
                            VpnNeighborMacs = new[]
                            {
                                "string",
                            },
                            VpnPathSla = new JuniperMist.Device.Inputs.GatewayRoutingPoliciesTermMatchingVpnPathSlaArgs
                            {
                                MaxJitter = 0,
                                MaxLatency = 0,
                                MaxLoss = 0,
                            },
                            VpnPaths = new[]
                            {
                                "string",
                            },
                        },
                    },
                },
            } },
        },
        ServicePolicies = new[]
        {
            new JuniperMist.Device.Inputs.GatewayServicePolicyArgs
            {
                Action = "string",
                Appqoe = new JuniperMist.Device.Inputs.GatewayServicePolicyAppqoeArgs
                {
                    Enabled = false,
                },
                Ewfs = new[]
                {
                    new JuniperMist.Device.Inputs.GatewayServicePolicyEwfArgs
                    {
                        AlertOnly = false,
                        BlockMessage = "string",
                        Enabled = false,
                        Profile = "string",
                    },
                },
                Idp = new JuniperMist.Device.Inputs.GatewayServicePolicyIdpArgs
                {
                    AlertOnly = false,
                    Enabled = false,
                    IdpprofileId = "string",
                    Profile = "string",
                },
                LocalRouting = false,
                Name = "string",
                PathPreference = "string",
                ServicepolicyId = "string",
                Services = new[]
                {
                    "string",
                },
                Tenants = new[]
                {
                    "string",
                },
            },
        },
        BgpConfig = 
        {
            { "string", new JuniperMist.Device.Inputs.GatewayBgpConfigArgs
            {
                AuthKey = "string",
                BfdMinimumInterval = 0,
                BfdMultiplier = 0,
                Communities = new[]
                {
                    new JuniperMist.Device.Inputs.GatewayBgpConfigCommunityArgs
                    {
                        Id = "string",
                        LocalPreference = 0,
                        VpnName = "string",
                    },
                },
                DisableBfd = false,
                Export = "string",
                ExportPolicy = "string",
                ExtendedV4Nexthop = false,
                GracefulRestartTime = 0,
                HoldTime = 0,
                Import = "string",
                ImportPolicy = "string",
                LocalAs = 0,
                NeighborAs = 0,
                Neighbors = 
                {
                    { "string", new JuniperMist.Device.Inputs.GatewayBgpConfigNeighborsArgs
                    {
                        Disabled = false,
                        ExportPolicy = "string",
                        HoldTime = 0,
                        ImportPolicy = "string",
                        MultihopTtl = 0,
                        NeighborAs = 0,
                    } },
                },
                Networks = new[]
                {
                    "string",
                },
                NoReadvertiseToOverlay = false,
                TunnelName = "string",
                Type = "string",
                Via = "string",
                VpnName = "string",
                WanName = "string",
            } },
        },
        TunnelConfigs = 
        {
            { "string", new JuniperMist.Device.Inputs.GatewayTunnelConfigsArgs
            {
                AutoProvision = new JuniperMist.Device.Inputs.GatewayTunnelConfigsAutoProvisionArgs
                {
                    Enable = false,
                    Latlng = new JuniperMist.Device.Inputs.GatewayTunnelConfigsAutoProvisionLatlngArgs
                    {
                        Lat = 0,
                        Lng = 0,
                    },
                    Primary = new JuniperMist.Device.Inputs.GatewayTunnelConfigsAutoProvisionPrimaryArgs
                    {
                        NumHosts = "string",
                        WanNames = new[]
                        {
                            "string",
                        },
                    },
                    Secondary = new JuniperMist.Device.Inputs.GatewayTunnelConfigsAutoProvisionSecondaryArgs
                    {
                        NumHosts = "string",
                        WanNames = new[]
                        {
                            "string",
                        },
                    },
                },
                IkeLifetime = 0,
                IkeMode = "string",
                IkeProposals = new[]
                {
                    new JuniperMist.Device.Inputs.GatewayTunnelConfigsIkeProposalArgs
                    {
                        AuthAlgo = "string",
                        DhGroup = "string",
                        EncAlgo = "string",
                    },
                },
                IpsecLifetime = 0,
                IpsecProposals = new[]
                {
                    new JuniperMist.Device.Inputs.GatewayTunnelConfigsIpsecProposalArgs
                    {
                        AuthAlgo = "string",
                        DhGroup = "string",
                        EncAlgo = "string",
                    },
                },
                LocalId = "string",
                Mode = "string",
                Networks = new[]
                {
                    "string",
                },
                Primary = new JuniperMist.Device.Inputs.GatewayTunnelConfigsPrimaryArgs
                {
                    Hosts = new[]
                    {
                        "string",
                    },
                    InternalIps = new[]
                    {
                        "string",
                    },
                    ProbeIps = new[]
                    {
                        "string",
                    },
                    RemoteIds = new[]
                    {
                        "string",
                    },
                    WanNames = new[]
                    {
                        "string",
                    },
                },
                Probe = new JuniperMist.Device.Inputs.GatewayTunnelConfigsProbeArgs
                {
                    Interval = 0,
                    Threshold = 0,
                    Timeout = 0,
                    Type = "string",
                },
                Protocol = "string",
                Provider = "string",
                Psk = "string",
                Secondary = new JuniperMist.Device.Inputs.GatewayTunnelConfigsSecondaryArgs
                {
                    Hosts = new[]
                    {
                        "string",
                    },
                    InternalIps = new[]
                    {
                        "string",
                    },
                    ProbeIps = new[]
                    {
                        "string",
                    },
                    RemoteIds = new[]
                    {
                        "string",
                    },
                    WanNames = new[]
                    {
                        "string",
                    },
                },
                Version = "string",
            } },
        },
        TunnelProviderOptions = new JuniperMist.Device.Inputs.GatewayTunnelProviderOptionsArgs
        {
            Jse = new JuniperMist.Device.Inputs.GatewayTunnelProviderOptionsJseArgs
            {
                Name = "string",
                NumUsers = 0,
            },
            Zscaler = new JuniperMist.Device.Inputs.GatewayTunnelProviderOptionsZscalerArgs
            {
                AupAcceptanceRequired = false,
                AupExpire = 0,
                AupSslProxy = false,
                DownloadMbps = 0,
                EnableAup = false,
                EnableCaution = false,
                EnforceAuthentication = false,
                Name = "string",
                SubLocations = new[]
                {
                    new JuniperMist.Device.Inputs.GatewayTunnelProviderOptionsZscalerSubLocationArgs
                    {
                        AupAcceptanceRequired = false,
                        AupExpire = 0,
                        AupSslProxy = false,
                        DownloadMbps = 0,
                        EnableAup = false,
                        EnableCaution = false,
                        EnforceAuthentication = false,
                        Subnets = new[]
                        {
                            "string",
                        },
                        UploadMbps = 0,
                    },
                },
                UploadMbps = 0,
                UseXff = false,
            },
        },
        Vars = 
        {
            { "string", "string" },
        },
        VrfConfig = new JuniperMist.Device.Inputs.GatewayVrfConfigArgs
        {
            Enabled = false,
        },
        VrfInstances = 
        {
            { "string", new JuniperMist.Device.Inputs.GatewayVrfInstancesArgs
            {
                Networks = new[]
                {
                    "string",
                },
            } },
        },
        X = 0,
        NtpServers = new[]
        {
            "string",
        },
    });
    
    example, err := device.NewGateway(ctx, "gatewayResource", &device.GatewayArgs{
    	DeviceId: pulumi.String("string"),
    	SiteId:   pulumi.String("string"),
    	IdpProfiles: device.GatewayIdpProfilesMap{
    		"string": &device.GatewayIdpProfilesArgs{
    			BaseProfile:  pulumi.String("string"),
    			CreatedTime:  pulumi.Float64(0),
    			Id:           pulumi.String("string"),
    			ModifiedTime: pulumi.Float64(0),
    			Name:         pulumi.String("string"),
    			OrgId:        pulumi.String("string"),
    			Overwrites: device.GatewayIdpProfilesOverwriteArray{
    				&device.GatewayIdpProfilesOverwriteArgs{
    					Action: pulumi.String("string"),
    					Matching: &device.GatewayIdpProfilesOverwriteMatchingArgs{
    						AttackNames: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						DstSubnets: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						Severities: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					Name: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	DnsServers: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	OobIpConfig: &device.GatewayOobIpConfigArgs{
    		Gateway: pulumi.String("string"),
    		Ip:      pulumi.String("string"),
    		Netmask: pulumi.String("string"),
    		Node1: &device.GatewayOobIpConfigNode1Args{
    			Gateway:              pulumi.String("string"),
    			Ip:                   pulumi.String("string"),
    			Netmask:              pulumi.String("string"),
    			Type:                 pulumi.String("string"),
    			UseMgmtVrf:           pulumi.Bool(false),
    			UseMgmtVrfForHostOut: pulumi.Bool(false),
    			VlanId:               pulumi.String("string"),
    		},
    		Type:                 pulumi.String("string"),
    		UseMgmtVrf:           pulumi.Bool(false),
    		UseMgmtVrfForHostOut: pulumi.Bool(false),
    		VlanId:               pulumi.String("string"),
    	},
    	DnsSuffixes: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	ExtraRoutes: device.GatewayExtraRoutesMap{
    		"string": &device.GatewayExtraRoutesArgs{
    			Via: pulumi.String("string"),
    		},
    	},
    	ExtraRoutes6: device.GatewayExtraRoutes6Map{
    		"string": &device.GatewayExtraRoutes6Args{
    			Via: pulumi.String("string"),
    		},
    	},
    	AdditionalConfigCmds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	IpConfigs: device.GatewayIpConfigsMap{
    		"string": &device.GatewayIpConfigsArgs{
    			Ip:      pulumi.String("string"),
    			Netmask: pulumi.String("string"),
    			SecondaryIps: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Type: pulumi.String("string"),
    		},
    	},
    	Managed: pulumi.Bool(false),
    	MapId:   pulumi.String("string"),
    	MspId:   pulumi.String("string"),
    	Name:    pulumi.String("string"),
    	Networks: device.GatewayNetworkArray{
    		&device.GatewayNetworkArgs{
    			Name:        pulumi.String("string"),
    			Subnet:      pulumi.String("string"),
    			Id:          pulumi.String("string"),
    			Gateway:     pulumi.String("string"),
    			CreatedTime: pulumi.Float64(0),
    			InternalAccess: &device.GatewayNetworkInternalAccessArgs{
    				Enabled: pulumi.Bool(false),
    			},
    			InternetAccess: &device.GatewayNetworkInternetAccessArgs{
    				CreateSimpleServicePolicy: pulumi.Bool(false),
    				DestinationNat: device.GatewayNetworkInternetAccessDestinationNatMap{
    					"string": &device.GatewayNetworkInternetAccessDestinationNatArgs{
    						InternalIp: pulumi.String("string"),
    						Name:       pulumi.String("string"),
    						Port:       pulumi.Int(0),
    					},
    				},
    				Enabled:    pulumi.Bool(false),
    				Restricted: pulumi.Bool(false),
    				StaticNat: device.GatewayNetworkInternetAccessStaticNatMap{
    					"string": &device.GatewayNetworkInternetAccessStaticNatArgs{
    						InternalIp: pulumi.String("string"),
    						Name:       pulumi.String("string"),
    						WanName:    pulumi.String("string"),
    					},
    				},
    			},
    			Isolation:    pulumi.Bool(false),
    			ModifiedTime: pulumi.Float64(0),
    			Gateway6:     pulumi.String("string"),
    			OrgId:        pulumi.String("string"),
    			RoutedForNetworks: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			DisallowMistServices: pulumi.Bool(false),
    			Subnet6:              pulumi.String("string"),
    			Tenants: device.GatewayNetworkTenantsMap{
    				"string": &device.GatewayNetworkTenantsArgs{
    					Addresses: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    			VlanId: pulumi.String("string"),
    			VpnAccess: device.GatewayNetworkVpnAccessMap{
    				"string": &device.GatewayNetworkVpnAccessArgs{
    					AdvertisedSubnet: pulumi.String("string"),
    					AllowPing:        pulumi.Bool(false),
    					DestinationNat: device.GatewayNetworkVpnAccessDestinationNatMap{
    						"string": &device.GatewayNetworkVpnAccessDestinationNatArgs{
    							InternalIp: pulumi.String("string"),
    							Name:       pulumi.String("string"),
    							Port:       pulumi.Int(0),
    						},
    					},
    					NatPool:                pulumi.String("string"),
    					NoReadvertiseToLanBgp:  pulumi.Bool(false),
    					NoReadvertiseToLanOspf: pulumi.Bool(false),
    					NoReadvertiseToOverlay: pulumi.Bool(false),
    					OtherVrfs: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Routed: pulumi.Bool(false),
    					SourceNat: &device.GatewayNetworkVpnAccessSourceNatArgs{
    						ExternalIp: pulumi.String("string"),
    					},
    					StaticNat: device.GatewayNetworkVpnAccessStaticNatMap{
    						"string": &device.GatewayNetworkVpnAccessStaticNatArgs{
    							InternalIp: pulumi.String("string"),
    							Name:       pulumi.String("string"),
    							WanName:    pulumi.String("string"),
    						},
    					},
    					SummarizedSubnet:          pulumi.String("string"),
    					SummarizedSubnetToLanBgp:  pulumi.String("string"),
    					SummarizedSubnetToLanOspf: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	Notes: pulumi.String("string"),
    	Y:     pulumi.Float64(0),
    	DhcpdConfig: &device.GatewayDhcpdConfigArgs{
    		Config: device.GatewayDhcpdConfigConfigMap{
    			"string": &device.GatewayDhcpdConfigConfigArgs{
    				DnsServers: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				DnsSuffixes: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				FixedBindings: device.GatewayDhcpdConfigConfigFixedBindingsMap{
    					"string": &device.GatewayDhcpdConfigConfigFixedBindingsArgs{
    						Ip:   pulumi.String("string"),
    						Name: pulumi.String("string"),
    					},
    				},
    				Gateway:   pulumi.String("string"),
    				IpEnd:     pulumi.String("string"),
    				IpEnd6:    pulumi.String("string"),
    				IpStart:   pulumi.String("string"),
    				IpStart6:  pulumi.String("string"),
    				LeaseTime: pulumi.Int(0),
    				Options: device.GatewayDhcpdConfigConfigOptionsMap{
    					"string": &device.GatewayDhcpdConfigConfigOptionsArgs{
    						Type:  pulumi.String("string"),
    						Value: pulumi.String("string"),
    					},
    				},
    				ServerIdOverride: pulumi.Bool(false),
    				Servers: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Servers6s: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Type:  pulumi.String("string"),
    				Type6: pulumi.String("string"),
    				VendorEncapulated: device.GatewayDhcpdConfigConfigVendorEncapulatedMap{
    					"string": &device.GatewayDhcpdConfigConfigVendorEncapulatedArgs{
    						Type:  pulumi.String("string"),
    						Value: pulumi.String("string"),
    					},
    				},
    			},
    		},
    		Enabled: pulumi.Bool(false),
    	},
    	PathPreferences: device.GatewayPathPreferencesMap{
    		"string": &device.GatewayPathPreferencesArgs{
    			Paths: device.GatewayPathPreferencesPathArray{
    				&device.GatewayPathPreferencesPathArgs{
    					Cost:           pulumi.Int(0),
    					Disabled:       pulumi.Bool(false),
    					GatewayIp:      pulumi.String("string"),
    					InternetAccess: pulumi.Bool(false),
    					Name:           pulumi.String("string"),
    					Networks: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					TargetIps: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Type:    pulumi.String("string"),
    					WanName: pulumi.String("string"),
    				},
    			},
    			Strategy: pulumi.String("string"),
    		},
    	},
    	PortConfig: device.GatewayPortConfigMap{
    		"string": &device.GatewayPortConfigArgs{
    			Usage: pulumi.String("string"),
    			Networks: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			VlanId:         pulumi.Int(0),
    			Aggregated:     pulumi.Bool(false),
    			Critical:       pulumi.Bool(false),
    			Description:    pulumi.String("string"),
    			DisableAutoneg: pulumi.Bool(false),
    			Disabled:       pulumi.Bool(false),
    			DslType:        pulumi.String("string"),
    			DslVci:         pulumi.Int(0),
    			DslVpi:         pulumi.Int(0),
    			Duplex:         pulumi.String("string"),
    			IpConfig: &device.GatewayPortConfigIpConfigArgs{
    				Dns: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				DnsSuffixes: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Gateway:       pulumi.String("string"),
    				Ip:            pulumi.String("string"),
    				Netmask:       pulumi.String("string"),
    				Network:       pulumi.String("string"),
    				PoserPassword: pulumi.String("string"),
    				PppoeAuth:     pulumi.String("string"),
    				PppoeUsername: pulumi.String("string"),
    				Type:          pulumi.String("string"),
    			},
    			LteApn:      pulumi.String("string"),
    			OuterVlanId: pulumi.Int(0),
    			LteBackup:   pulumi.Bool(false),
    			LtePassword: pulumi.String("string"),
    			LteUsername: pulumi.String("string"),
    			Mtu:         pulumi.Int(0),
    			WanSourceNat: &device.GatewayPortConfigWanSourceNatArgs{
    				Disabled: pulumi.Bool(false),
    				NatPool:  pulumi.String("string"),
    			},
    			AeLacpForceUp: pulumi.Bool(false),
    			LteAuth:       pulumi.String("string"),
    			PoeDisabled:   pulumi.Bool(false),
    			PortNetwork:   pulumi.String("string"),
    			PreserveDscp:  pulumi.Bool(false),
    			Redundant:     pulumi.Bool(false),
    			RethIdx:       pulumi.Int(0),
    			RethNode:      pulumi.String("string"),
    			RethNodes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Speed:           pulumi.String("string"),
    			SsrNoVirtualMac: pulumi.Bool(false),
    			SvrPortRange:    pulumi.String("string"),
    			TrafficShaping: &device.GatewayPortConfigTrafficShapingArgs{
    				ClassPercentages: pulumi.IntArray{
    					pulumi.Int(0),
    				},
    				Enabled: pulumi.Bool(false),
    			},
    			AeIdx:         pulumi.String("string"),
    			AeDisableLacp: pulumi.Bool(false),
    			VpnPaths: device.GatewayPortConfigVpnPathsMap{
    				"string": &device.GatewayPortConfigVpnPathsArgs{
    					BfdProfile:       pulumi.String("string"),
    					BfdUseTunnelMode: pulumi.Bool(false),
    					Preference:       pulumi.Int(0),
    					Role:             pulumi.String("string"),
    					TrafficShaping: &device.GatewayPortConfigVpnPathsTrafficShapingArgs{
    						ClassPercentages: pulumi.IntArray{
    							pulumi.Int(0),
    						},
    						Enabled: pulumi.Bool(false),
    					},
    				},
    			},
    			WanArpPolicer: pulumi.String("string"),
    			WanExtIp:      pulumi.String("string"),
    			Name:          pulumi.String("string"),
    			WanType:       pulumi.String("string"),
    		},
    	},
    	PortMirroring: &device.GatewayPortMirroringArgs{
    		PortMirror: &device.GatewayPortMirroringPortMirrorArgs{
    			FamilyType: pulumi.String("string"),
    			IngressPortIds: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			OutputPortId: pulumi.String("string"),
    			Rate:         pulumi.Int(0),
    			RunLength:    pulumi.Int(0),
    		},
    	},
    	RouterId: pulumi.String("string"),
    	RoutingPolicies: device.GatewayRoutingPoliciesMap{
    		"string": &device.GatewayRoutingPoliciesArgs{
    			Terms: device.GatewayRoutingPoliciesTermArray{
    				&device.GatewayRoutingPoliciesTermArgs{
    					Action: &device.GatewayRoutingPoliciesTermActionArgs{
    						Accept: pulumi.Bool(false),
    						AddCommunities: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						AddTargetVrfs: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						Communities: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						ExcludeAsPaths: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						ExcludeCommunities: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						ExportCommunitites: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						LocalPreference: pulumi.String("string"),
    						PrependAsPaths: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					Matching: &device.GatewayRoutingPoliciesTermMatchingArgs{
    						AsPaths: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						Communities: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						Networks: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						Prefixes: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						Protocols: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						RouteExists: &device.GatewayRoutingPoliciesTermMatchingRouteExistsArgs{
    							Route:   pulumi.String("string"),
    							VrfName: pulumi.String("string"),
    						},
    						VpnNeighborMacs: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						VpnPathSla: &device.GatewayRoutingPoliciesTermMatchingVpnPathSlaArgs{
    							MaxJitter:  pulumi.Int(0),
    							MaxLatency: pulumi.Int(0),
    							MaxLoss:    pulumi.Int(0),
    						},
    						VpnPaths: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    				},
    			},
    		},
    	},
    	ServicePolicies: device.GatewayServicePolicyArray{
    		&device.GatewayServicePolicyArgs{
    			Action: pulumi.String("string"),
    			Appqoe: &device.GatewayServicePolicyAppqoeArgs{
    				Enabled: pulumi.Bool(false),
    			},
    			Ewfs: device.GatewayServicePolicyEwfArray{
    				&device.GatewayServicePolicyEwfArgs{
    					AlertOnly:    pulumi.Bool(false),
    					BlockMessage: pulumi.String("string"),
    					Enabled:      pulumi.Bool(false),
    					Profile:      pulumi.String("string"),
    				},
    			},
    			Idp: &device.GatewayServicePolicyIdpArgs{
    				AlertOnly:    pulumi.Bool(false),
    				Enabled:      pulumi.Bool(false),
    				IdpprofileId: pulumi.String("string"),
    				Profile:      pulumi.String("string"),
    			},
    			LocalRouting:    pulumi.Bool(false),
    			Name:            pulumi.String("string"),
    			PathPreference:  pulumi.String("string"),
    			ServicepolicyId: pulumi.String("string"),
    			Services: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Tenants: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	BgpConfig: device.GatewayBgpConfigMap{
    		"string": &device.GatewayBgpConfigArgs{
    			AuthKey:            pulumi.String("string"),
    			BfdMinimumInterval: pulumi.Int(0),
    			BfdMultiplier:      pulumi.Int(0),
    			Communities: device.GatewayBgpConfigCommunityArray{
    				&device.GatewayBgpConfigCommunityArgs{
    					Id:              pulumi.String("string"),
    					LocalPreference: pulumi.Int(0),
    					VpnName:         pulumi.String("string"),
    				},
    			},
    			DisableBfd:          pulumi.Bool(false),
    			Export:              pulumi.String("string"),
    			ExportPolicy:        pulumi.String("string"),
    			ExtendedV4Nexthop:   pulumi.Bool(false),
    			GracefulRestartTime: pulumi.Int(0),
    			HoldTime:            pulumi.Int(0),
    			Import:              pulumi.String("string"),
    			ImportPolicy:        pulumi.String("string"),
    			LocalAs:             pulumi.Int(0),
    			NeighborAs:          pulumi.Int(0),
    			Neighbors: device.GatewayBgpConfigNeighborsMap{
    				"string": &device.GatewayBgpConfigNeighborsArgs{
    					Disabled:     pulumi.Bool(false),
    					ExportPolicy: pulumi.String("string"),
    					HoldTime:     pulumi.Int(0),
    					ImportPolicy: pulumi.String("string"),
    					MultihopTtl:  pulumi.Int(0),
    					NeighborAs:   pulumi.Int(0),
    				},
    			},
    			Networks: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			NoReadvertiseToOverlay: pulumi.Bool(false),
    			TunnelName:             pulumi.String("string"),
    			Type:                   pulumi.String("string"),
    			Via:                    pulumi.String("string"),
    			VpnName:                pulumi.String("string"),
    			WanName:                pulumi.String("string"),
    		},
    	},
    	TunnelConfigs: device.GatewayTunnelConfigsMap{
    		"string": &device.GatewayTunnelConfigsArgs{
    			AutoProvision: &device.GatewayTunnelConfigsAutoProvisionArgs{
    				Enable: pulumi.Bool(false),
    				Latlng: &device.GatewayTunnelConfigsAutoProvisionLatlngArgs{
    					Lat: pulumi.Float64(0),
    					Lng: pulumi.Float64(0),
    				},
    				Primary: &device.GatewayTunnelConfigsAutoProvisionPrimaryArgs{
    					NumHosts: pulumi.String("string"),
    					WanNames: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    				Secondary: &device.GatewayTunnelConfigsAutoProvisionSecondaryArgs{
    					NumHosts: pulumi.String("string"),
    					WanNames: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    			IkeLifetime: pulumi.Int(0),
    			IkeMode:     pulumi.String("string"),
    			IkeProposals: device.GatewayTunnelConfigsIkeProposalArray{
    				&device.GatewayTunnelConfigsIkeProposalArgs{
    					AuthAlgo: pulumi.String("string"),
    					DhGroup:  pulumi.String("string"),
    					EncAlgo:  pulumi.String("string"),
    				},
    			},
    			IpsecLifetime: pulumi.Int(0),
    			IpsecProposals: device.GatewayTunnelConfigsIpsecProposalArray{
    				&device.GatewayTunnelConfigsIpsecProposalArgs{
    					AuthAlgo: pulumi.String("string"),
    					DhGroup:  pulumi.String("string"),
    					EncAlgo:  pulumi.String("string"),
    				},
    			},
    			LocalId: pulumi.String("string"),
    			Mode:    pulumi.String("string"),
    			Networks: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Primary: &device.GatewayTunnelConfigsPrimaryArgs{
    				Hosts: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				InternalIps: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				ProbeIps: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				RemoteIds: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				WanNames: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			Probe: &device.GatewayTunnelConfigsProbeArgs{
    				Interval:  pulumi.Int(0),
    				Threshold: pulumi.Int(0),
    				Timeout:   pulumi.Int(0),
    				Type:      pulumi.String("string"),
    			},
    			Protocol: pulumi.String("string"),
    			Provider: pulumi.String("string"),
    			Psk:      pulumi.String("string"),
    			Secondary: &device.GatewayTunnelConfigsSecondaryArgs{
    				Hosts: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				InternalIps: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				ProbeIps: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				RemoteIds: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				WanNames: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			Version: pulumi.String("string"),
    		},
    	},
    	TunnelProviderOptions: &device.GatewayTunnelProviderOptionsArgs{
    		Jse: &device.GatewayTunnelProviderOptionsJseArgs{
    			Name:     pulumi.String("string"),
    			NumUsers: pulumi.Int(0),
    		},
    		Zscaler: &device.GatewayTunnelProviderOptionsZscalerArgs{
    			AupAcceptanceRequired: pulumi.Bool(false),
    			AupExpire:             pulumi.Int(0),
    			AupSslProxy:           pulumi.Bool(false),
    			DownloadMbps:          pulumi.Int(0),
    			EnableAup:             pulumi.Bool(false),
    			EnableCaution:         pulumi.Bool(false),
    			EnforceAuthentication: pulumi.Bool(false),
    			Name:                  pulumi.String("string"),
    			SubLocations: device.GatewayTunnelProviderOptionsZscalerSubLocationArray{
    				&device.GatewayTunnelProviderOptionsZscalerSubLocationArgs{
    					AupAcceptanceRequired: pulumi.Bool(false),
    					AupExpire:             pulumi.Int(0),
    					AupSslProxy:           pulumi.Bool(false),
    					DownloadMbps:          pulumi.Int(0),
    					EnableAup:             pulumi.Bool(false),
    					EnableCaution:         pulumi.Bool(false),
    					EnforceAuthentication: pulumi.Bool(false),
    					Subnets: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					UploadMbps: pulumi.Int(0),
    				},
    			},
    			UploadMbps: pulumi.Int(0),
    			UseXff:     pulumi.Bool(false),
    		},
    	},
    	Vars: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	VrfConfig: &device.GatewayVrfConfigArgs{
    		Enabled: pulumi.Bool(false),
    	},
    	VrfInstances: device.GatewayVrfInstancesMap{
    		"string": &device.GatewayVrfInstancesArgs{
    			Networks: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	X: pulumi.Float64(0),
    	NtpServers: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var gatewayResource = new Gateway("gatewayResource", GatewayArgs.builder()
        .deviceId("string")
        .siteId("string")
        .idpProfiles(Map.of("string", Map.ofEntries(
            Map.entry("baseProfile", "string"),
            Map.entry("createdTime", 0),
            Map.entry("id", "string"),
            Map.entry("modifiedTime", 0),
            Map.entry("name", "string"),
            Map.entry("orgId", "string"),
            Map.entry("overwrites", Map.ofEntries(
                Map.entry("action", "string"),
                Map.entry("matching", Map.ofEntries(
                    Map.entry("attackNames", "string"),
                    Map.entry("dstSubnets", "string"),
                    Map.entry("severities", "string")
                )),
                Map.entry("name", "string")
            ))
        )))
        .dnsServers("string")
        .oobIpConfig(GatewayOobIpConfigArgs.builder()
            .gateway("string")
            .ip("string")
            .netmask("string")
            .node1(GatewayOobIpConfigNode1Args.builder()
                .gateway("string")
                .ip("string")
                .netmask("string")
                .type("string")
                .useMgmtVrf(false)
                .useMgmtVrfForHostOut(false)
                .vlanId("string")
                .build())
            .type("string")
            .useMgmtVrf(false)
            .useMgmtVrfForHostOut(false)
            .vlanId("string")
            .build())
        .dnsSuffixes("string")
        .extraRoutes(Map.of("string", Map.of("via", "string")))
        .extraRoutes6(Map.of("string", Map.of("via", "string")))
        .additionalConfigCmds("string")
        .ipConfigs(Map.of("string", Map.ofEntries(
            Map.entry("ip", "string"),
            Map.entry("netmask", "string"),
            Map.entry("secondaryIps", "string"),
            Map.entry("type", "string")
        )))
        .managed(false)
        .mapId("string")
        .mspId("string")
        .name("string")
        .networks(GatewayNetworkArgs.builder()
            .name("string")
            .subnet("string")
            .id("string")
            .gateway("string")
            .createdTime(0)
            .internalAccess(GatewayNetworkInternalAccessArgs.builder()
                .enabled(false)
                .build())
            .internetAccess(GatewayNetworkInternetAccessArgs.builder()
                .createSimpleServicePolicy(false)
                .destinationNat(Map.of("string", Map.ofEntries(
                    Map.entry("internalIp", "string"),
                    Map.entry("name", "string"),
                    Map.entry("port", 0)
                )))
                .enabled(false)
                .restricted(false)
                .staticNat(Map.of("string", Map.ofEntries(
                    Map.entry("internalIp", "string"),
                    Map.entry("name", "string"),
                    Map.entry("wanName", "string")
                )))
                .build())
            .isolation(false)
            .modifiedTime(0)
            .gateway6("string")
            .orgId("string")
            .routedForNetworks("string")
            .disallowMistServices(false)
            .subnet6("string")
            .tenants(Map.of("string", Map.of("addresses", "string")))
            .vlanId("string")
            .vpnAccess(Map.of("string", Map.ofEntries(
                Map.entry("advertisedSubnet", "string"),
                Map.entry("allowPing", false),
                Map.entry("destinationNat", Map.of("string", Map.ofEntries(
                    Map.entry("internalIp", "string"),
                    Map.entry("name", "string"),
                    Map.entry("port", 0)
                ))),
                Map.entry("natPool", "string"),
                Map.entry("noReadvertiseToLanBgp", false),
                Map.entry("noReadvertiseToLanOspf", false),
                Map.entry("noReadvertiseToOverlay", false),
                Map.entry("otherVrfs", "string"),
                Map.entry("routed", false),
                Map.entry("sourceNat", Map.of("externalIp", "string")),
                Map.entry("staticNat", Map.of("string", Map.ofEntries(
                    Map.entry("internalIp", "string"),
                    Map.entry("name", "string"),
                    Map.entry("wanName", "string")
                ))),
                Map.entry("summarizedSubnet", "string"),
                Map.entry("summarizedSubnetToLanBgp", "string"),
                Map.entry("summarizedSubnetToLanOspf", "string")
            )))
            .build())
        .notes("string")
        .y(0)
        .dhcpdConfig(GatewayDhcpdConfigArgs.builder()
            .config(Map.of("string", Map.ofEntries(
                Map.entry("dnsServers", "string"),
                Map.entry("dnsSuffixes", "string"),
                Map.entry("fixedBindings", Map.of("string", Map.ofEntries(
                    Map.entry("ip", "string"),
                    Map.entry("name", "string")
                ))),
                Map.entry("gateway", "string"),
                Map.entry("ipEnd", "string"),
                Map.entry("ipEnd6", "string"),
                Map.entry("ipStart", "string"),
                Map.entry("ipStart6", "string"),
                Map.entry("leaseTime", 0),
                Map.entry("options", Map.of("string", Map.ofEntries(
                    Map.entry("type", "string"),
                    Map.entry("value", "string")
                ))),
                Map.entry("serverIdOverride", false),
                Map.entry("servers", "string"),
                Map.entry("servers6s", "string"),
                Map.entry("type", "string"),
                Map.entry("type6", "string"),
                Map.entry("vendorEncapulated", Map.of("string", Map.ofEntries(
                    Map.entry("type", "string"),
                    Map.entry("value", "string")
                )))
            )))
            .enabled(false)
            .build())
        .pathPreferences(Map.of("string", Map.ofEntries(
            Map.entry("paths", Map.ofEntries(
                Map.entry("cost", 0),
                Map.entry("disabled", false),
                Map.entry("gatewayIp", "string"),
                Map.entry("internetAccess", false),
                Map.entry("name", "string"),
                Map.entry("networks", "string"),
                Map.entry("targetIps", "string"),
                Map.entry("type", "string"),
                Map.entry("wanName", "string")
            )),
            Map.entry("strategy", "string")
        )))
        .portConfig(Map.of("string", Map.ofEntries(
            Map.entry("usage", "string"),
            Map.entry("networks", "string"),
            Map.entry("vlanId", 0),
            Map.entry("aggregated", false),
            Map.entry("critical", false),
            Map.entry("description", "string"),
            Map.entry("disableAutoneg", false),
            Map.entry("disabled", false),
            Map.entry("dslType", "string"),
            Map.entry("dslVci", 0),
            Map.entry("dslVpi", 0),
            Map.entry("duplex", "string"),
            Map.entry("ipConfig", Map.ofEntries(
                Map.entry("dns", "string"),
                Map.entry("dnsSuffixes", "string"),
                Map.entry("gateway", "string"),
                Map.entry("ip", "string"),
                Map.entry("netmask", "string"),
                Map.entry("network", "string"),
                Map.entry("poserPassword", "string"),
                Map.entry("pppoeAuth", "string"),
                Map.entry("pppoeUsername", "string"),
                Map.entry("type", "string")
            )),
            Map.entry("lteApn", "string"),
            Map.entry("outerVlanId", 0),
            Map.entry("lteBackup", false),
            Map.entry("ltePassword", "string"),
            Map.entry("lteUsername", "string"),
            Map.entry("mtu", 0),
            Map.entry("wanSourceNat", Map.ofEntries(
                Map.entry("disabled", false),
                Map.entry("natPool", "string")
            )),
            Map.entry("aeLacpForceUp", false),
            Map.entry("lteAuth", "string"),
            Map.entry("poeDisabled", false),
            Map.entry("portNetwork", "string"),
            Map.entry("preserveDscp", false),
            Map.entry("redundant", false),
            Map.entry("rethIdx", 0),
            Map.entry("rethNode", "string"),
            Map.entry("rethNodes", "string"),
            Map.entry("speed", "string"),
            Map.entry("ssrNoVirtualMac", false),
            Map.entry("svrPortRange", "string"),
            Map.entry("trafficShaping", Map.ofEntries(
                Map.entry("classPercentages", 0),
                Map.entry("enabled", false)
            )),
            Map.entry("aeIdx", "string"),
            Map.entry("aeDisableLacp", false),
            Map.entry("vpnPaths", Map.of("string", Map.ofEntries(
                Map.entry("bfdProfile", "string"),
                Map.entry("bfdUseTunnelMode", false),
                Map.entry("preference", 0),
                Map.entry("role", "string"),
                Map.entry("trafficShaping", Map.ofEntries(
                    Map.entry("classPercentages", 0),
                    Map.entry("enabled", false)
                ))
            ))),
            Map.entry("wanArpPolicer", "string"),
            Map.entry("wanExtIp", "string"),
            Map.entry("name", "string"),
            Map.entry("wanType", "string")
        )))
        .portMirroring(GatewayPortMirroringArgs.builder()
            .portMirror(GatewayPortMirroringPortMirrorArgs.builder()
                .familyType("string")
                .ingressPortIds("string")
                .outputPortId("string")
                .rate(0)
                .runLength(0)
                .build())
            .build())
        .routerId("string")
        .routingPolicies(Map.of("string", Map.of("terms", Map.ofEntries(
            Map.entry("action", Map.ofEntries(
                Map.entry("accept", false),
                Map.entry("addCommunities", "string"),
                Map.entry("addTargetVrfs", "string"),
                Map.entry("communities", "string"),
                Map.entry("excludeAsPaths", "string"),
                Map.entry("excludeCommunities", "string"),
                Map.entry("exportCommunitites", "string"),
                Map.entry("localPreference", "string"),
                Map.entry("prependAsPaths", "string")
            )),
            Map.entry("matching", Map.ofEntries(
                Map.entry("asPaths", "string"),
                Map.entry("communities", "string"),
                Map.entry("networks", "string"),
                Map.entry("prefixes", "string"),
                Map.entry("protocols", "string"),
                Map.entry("routeExists", Map.ofEntries(
                    Map.entry("route", "string"),
                    Map.entry("vrfName", "string")
                )),
                Map.entry("vpnNeighborMacs", "string"),
                Map.entry("vpnPathSla", Map.ofEntries(
                    Map.entry("maxJitter", 0),
                    Map.entry("maxLatency", 0),
                    Map.entry("maxLoss", 0)
                )),
                Map.entry("vpnPaths", "string")
            ))
        ))))
        .servicePolicies(GatewayServicePolicyArgs.builder()
            .action("string")
            .appqoe(GatewayServicePolicyAppqoeArgs.builder()
                .enabled(false)
                .build())
            .ewfs(GatewayServicePolicyEwfArgs.builder()
                .alertOnly(false)
                .blockMessage("string")
                .enabled(false)
                .profile("string")
                .build())
            .idp(GatewayServicePolicyIdpArgs.builder()
                .alertOnly(false)
                .enabled(false)
                .idpprofileId("string")
                .profile("string")
                .build())
            .localRouting(false)
            .name("string")
            .pathPreference("string")
            .servicepolicyId("string")
            .services("string")
            .tenants("string")
            .build())
        .bgpConfig(Map.of("string", Map.ofEntries(
            Map.entry("authKey", "string"),
            Map.entry("bfdMinimumInterval", 0),
            Map.entry("bfdMultiplier", 0),
            Map.entry("communities", Map.ofEntries(
                Map.entry("id", "string"),
                Map.entry("localPreference", 0),
                Map.entry("vpnName", "string")
            )),
            Map.entry("disableBfd", false),
            Map.entry("export", "string"),
            Map.entry("exportPolicy", "string"),
            Map.entry("extendedV4Nexthop", false),
            Map.entry("gracefulRestartTime", 0),
            Map.entry("holdTime", 0),
            Map.entry("import", "string"),
            Map.entry("importPolicy", "string"),
            Map.entry("localAs", 0),
            Map.entry("neighborAs", 0),
            Map.entry("neighbors", Map.of("string", Map.ofEntries(
                Map.entry("disabled", false),
                Map.entry("exportPolicy", "string"),
                Map.entry("holdTime", 0),
                Map.entry("importPolicy", "string"),
                Map.entry("multihopTtl", 0),
                Map.entry("neighborAs", 0)
            ))),
            Map.entry("networks", "string"),
            Map.entry("noReadvertiseToOverlay", false),
            Map.entry("tunnelName", "string"),
            Map.entry("type", "string"),
            Map.entry("via", "string"),
            Map.entry("vpnName", "string"),
            Map.entry("wanName", "string")
        )))
        .tunnelConfigs(Map.of("string", Map.ofEntries(
            Map.entry("autoProvision", Map.ofEntries(
                Map.entry("enable", false),
                Map.entry("latlng", Map.ofEntries(
                    Map.entry("lat", 0),
                    Map.entry("lng", 0)
                )),
                Map.entry("primary", Map.ofEntries(
                    Map.entry("numHosts", "string"),
                    Map.entry("wanNames", "string")
                )),
                Map.entry("secondary", Map.ofEntries(
                    Map.entry("numHosts", "string"),
                    Map.entry("wanNames", "string")
                ))
            )),
            Map.entry("ikeLifetime", 0),
            Map.entry("ikeMode", "string"),
            Map.entry("ikeProposals", Map.ofEntries(
                Map.entry("authAlgo", "string"),
                Map.entry("dhGroup", "string"),
                Map.entry("encAlgo", "string")
            )),
            Map.entry("ipsecLifetime", 0),
            Map.entry("ipsecProposals", Map.ofEntries(
                Map.entry("authAlgo", "string"),
                Map.entry("dhGroup", "string"),
                Map.entry("encAlgo", "string")
            )),
            Map.entry("localId", "string"),
            Map.entry("mode", "string"),
            Map.entry("networks", "string"),
            Map.entry("primary", Map.ofEntries(
                Map.entry("hosts", "string"),
                Map.entry("internalIps", "string"),
                Map.entry("probeIps", "string"),
                Map.entry("remoteIds", "string"),
                Map.entry("wanNames", "string")
            )),
            Map.entry("probe", Map.ofEntries(
                Map.entry("interval", 0),
                Map.entry("threshold", 0),
                Map.entry("timeout", 0),
                Map.entry("type", "string")
            )),
            Map.entry("protocol", "string"),
            Map.entry("provider", "string"),
            Map.entry("psk", "string"),
            Map.entry("secondary", Map.ofEntries(
                Map.entry("hosts", "string"),
                Map.entry("internalIps", "string"),
                Map.entry("probeIps", "string"),
                Map.entry("remoteIds", "string"),
                Map.entry("wanNames", "string")
            )),
            Map.entry("version", "string")
        )))
        .tunnelProviderOptions(GatewayTunnelProviderOptionsArgs.builder()
            .jse(GatewayTunnelProviderOptionsJseArgs.builder()
                .name("string")
                .numUsers(0)
                .build())
            .zscaler(GatewayTunnelProviderOptionsZscalerArgs.builder()
                .aupAcceptanceRequired(false)
                .aupExpire(0)
                .aupSslProxy(false)
                .downloadMbps(0)
                .enableAup(false)
                .enableCaution(false)
                .enforceAuthentication(false)
                .name("string")
                .subLocations(GatewayTunnelProviderOptionsZscalerSubLocationArgs.builder()
                    .aupAcceptanceRequired(false)
                    .aupExpire(0)
                    .aupSslProxy(false)
                    .downloadMbps(0)
                    .enableAup(false)
                    .enableCaution(false)
                    .enforceAuthentication(false)
                    .subnets("string")
                    .uploadMbps(0)
                    .build())
                .uploadMbps(0)
                .useXff(false)
                .build())
            .build())
        .vars(Map.of("string", "string"))
        .vrfConfig(GatewayVrfConfigArgs.builder()
            .enabled(false)
            .build())
        .vrfInstances(Map.of("string", Map.of("networks", "string")))
        .x(0)
        .ntpServers("string")
        .build());
    
    gateway_resource = junipermist.device.Gateway("gatewayResource",
        device_id="string",
        site_id="string",
        idp_profiles={
            "string": junipermist.device.GatewayIdpProfilesArgs(
                base_profile="string",
                created_time=0,
                id="string",
                modified_time=0,
                name="string",
                org_id="string",
                overwrites=[junipermist.device.GatewayIdpProfilesOverwriteArgs(
                    action="string",
                    matching=junipermist.device.GatewayIdpProfilesOverwriteMatchingArgs(
                        attack_names=["string"],
                        dst_subnets=["string"],
                        severities=["string"],
                    ),
                    name="string",
                )],
            ),
        },
        dns_servers=["string"],
        oob_ip_config=junipermist.device.GatewayOobIpConfigArgs(
            gateway="string",
            ip="string",
            netmask="string",
            node1=junipermist.device.GatewayOobIpConfigNode1Args(
                gateway="string",
                ip="string",
                netmask="string",
                type="string",
                use_mgmt_vrf=False,
                use_mgmt_vrf_for_host_out=False,
                vlan_id="string",
            ),
            type="string",
            use_mgmt_vrf=False,
            use_mgmt_vrf_for_host_out=False,
            vlan_id="string",
        ),
        dns_suffixes=["string"],
        extra_routes={
            "string": junipermist.device.GatewayExtraRoutesArgs(
                via="string",
            ),
        },
        extra_routes6={
            "string": junipermist.device.GatewayExtraRoutes6Args(
                via="string",
            ),
        },
        additional_config_cmds=["string"],
        ip_configs={
            "string": junipermist.device.GatewayIpConfigsArgs(
                ip="string",
                netmask="string",
                secondary_ips=["string"],
                type="string",
            ),
        },
        managed=False,
        map_id="string",
        msp_id="string",
        name="string",
        networks=[junipermist.device.GatewayNetworkArgs(
            name="string",
            subnet="string",
            id="string",
            gateway="string",
            created_time=0,
            internal_access=junipermist.device.GatewayNetworkInternalAccessArgs(
                enabled=False,
            ),
            internet_access=junipermist.device.GatewayNetworkInternetAccessArgs(
                create_simple_service_policy=False,
                destination_nat={
                    "string": junipermist.device.GatewayNetworkInternetAccessDestinationNatArgs(
                        internal_ip="string",
                        name="string",
                        port=0,
                    ),
                },
                enabled=False,
                restricted=False,
                static_nat={
                    "string": junipermist.device.GatewayNetworkInternetAccessStaticNatArgs(
                        internal_ip="string",
                        name="string",
                        wan_name="string",
                    ),
                },
            ),
            isolation=False,
            modified_time=0,
            gateway6="string",
            org_id="string",
            routed_for_networks=["string"],
            disallow_mist_services=False,
            subnet6="string",
            tenants={
                "string": junipermist.device.GatewayNetworkTenantsArgs(
                    addresses=["string"],
                ),
            },
            vlan_id="string",
            vpn_access={
                "string": junipermist.device.GatewayNetworkVpnAccessArgs(
                    advertised_subnet="string",
                    allow_ping=False,
                    destination_nat={
                        "string": junipermist.device.GatewayNetworkVpnAccessDestinationNatArgs(
                            internal_ip="string",
                            name="string",
                            port=0,
                        ),
                    },
                    nat_pool="string",
                    no_readvertise_to_lan_bgp=False,
                    no_readvertise_to_lan_ospf=False,
                    no_readvertise_to_overlay=False,
                    other_vrfs=["string"],
                    routed=False,
                    source_nat=junipermist.device.GatewayNetworkVpnAccessSourceNatArgs(
                        external_ip="string",
                    ),
                    static_nat={
                        "string": junipermist.device.GatewayNetworkVpnAccessStaticNatArgs(
                            internal_ip="string",
                            name="string",
                            wan_name="string",
                        ),
                    },
                    summarized_subnet="string",
                    summarized_subnet_to_lan_bgp="string",
                    summarized_subnet_to_lan_ospf="string",
                ),
            },
        )],
        notes="string",
        y=0,
        dhcpd_config=junipermist.device.GatewayDhcpdConfigArgs(
            config={
                "string": junipermist.device.GatewayDhcpdConfigConfigArgs(
                    dns_servers=["string"],
                    dns_suffixes=["string"],
                    fixed_bindings={
                        "string": junipermist.device.GatewayDhcpdConfigConfigFixedBindingsArgs(
                            ip="string",
                            name="string",
                        ),
                    },
                    gateway="string",
                    ip_end="string",
                    ip_end6="string",
                    ip_start="string",
                    ip_start6="string",
                    lease_time=0,
                    options={
                        "string": junipermist.device.GatewayDhcpdConfigConfigOptionsArgs(
                            type="string",
                            value="string",
                        ),
                    },
                    server_id_override=False,
                    servers=["string"],
                    servers6s=["string"],
                    type="string",
                    type6="string",
                    vendor_encapulated={
                        "string": junipermist.device.GatewayDhcpdConfigConfigVendorEncapulatedArgs(
                            type="string",
                            value="string",
                        ),
                    },
                ),
            },
            enabled=False,
        ),
        path_preferences={
            "string": junipermist.device.GatewayPathPreferencesArgs(
                paths=[junipermist.device.GatewayPathPreferencesPathArgs(
                    cost=0,
                    disabled=False,
                    gateway_ip="string",
                    internet_access=False,
                    name="string",
                    networks=["string"],
                    target_ips=["string"],
                    type="string",
                    wan_name="string",
                )],
                strategy="string",
            ),
        },
        port_config={
            "string": junipermist.device.GatewayPortConfigArgs(
                usage="string",
                networks=["string"],
                vlan_id=0,
                aggregated=False,
                critical=False,
                description="string",
                disable_autoneg=False,
                disabled=False,
                dsl_type="string",
                dsl_vci=0,
                dsl_vpi=0,
                duplex="string",
                ip_config=junipermist.device.GatewayPortConfigIpConfigArgs(
                    dns=["string"],
                    dns_suffixes=["string"],
                    gateway="string",
                    ip="string",
                    netmask="string",
                    network="string",
                    poser_password="string",
                    pppoe_auth="string",
                    pppoe_username="string",
                    type="string",
                ),
                lte_apn="string",
                outer_vlan_id=0,
                lte_backup=False,
                lte_password="string",
                lte_username="string",
                mtu=0,
                wan_source_nat=junipermist.device.GatewayPortConfigWanSourceNatArgs(
                    disabled=False,
                    nat_pool="string",
                ),
                ae_lacp_force_up=False,
                lte_auth="string",
                poe_disabled=False,
                port_network="string",
                preserve_dscp=False,
                redundant=False,
                reth_idx=0,
                reth_node="string",
                reth_nodes=["string"],
                speed="string",
                ssr_no_virtual_mac=False,
                svr_port_range="string",
                traffic_shaping=junipermist.device.GatewayPortConfigTrafficShapingArgs(
                    class_percentages=[0],
                    enabled=False,
                ),
                ae_idx="string",
                ae_disable_lacp=False,
                vpn_paths={
                    "string": junipermist.device.GatewayPortConfigVpnPathsArgs(
                        bfd_profile="string",
                        bfd_use_tunnel_mode=False,
                        preference=0,
                        role="string",
                        traffic_shaping=junipermist.device.GatewayPortConfigVpnPathsTrafficShapingArgs(
                            class_percentages=[0],
                            enabled=False,
                        ),
                    ),
                },
                wan_arp_policer="string",
                wan_ext_ip="string",
                name="string",
                wan_type="string",
            ),
        },
        port_mirroring=junipermist.device.GatewayPortMirroringArgs(
            port_mirror=junipermist.device.GatewayPortMirroringPortMirrorArgs(
                family_type="string",
                ingress_port_ids=["string"],
                output_port_id="string",
                rate=0,
                run_length=0,
            ),
        ),
        router_id="string",
        routing_policies={
            "string": junipermist.device.GatewayRoutingPoliciesArgs(
                terms=[junipermist.device.GatewayRoutingPoliciesTermArgs(
                    action=junipermist.device.GatewayRoutingPoliciesTermActionArgs(
                        accept=False,
                        add_communities=["string"],
                        add_target_vrfs=["string"],
                        communities=["string"],
                        exclude_as_paths=["string"],
                        exclude_communities=["string"],
                        export_communitites=["string"],
                        local_preference="string",
                        prepend_as_paths=["string"],
                    ),
                    matching=junipermist.device.GatewayRoutingPoliciesTermMatchingArgs(
                        as_paths=["string"],
                        communities=["string"],
                        networks=["string"],
                        prefixes=["string"],
                        protocols=["string"],
                        route_exists=junipermist.device.GatewayRoutingPoliciesTermMatchingRouteExistsArgs(
                            route="string",
                            vrf_name="string",
                        ),
                        vpn_neighbor_macs=["string"],
                        vpn_path_sla=junipermist.device.GatewayRoutingPoliciesTermMatchingVpnPathSlaArgs(
                            max_jitter=0,
                            max_latency=0,
                            max_loss=0,
                        ),
                        vpn_paths=["string"],
                    ),
                )],
            ),
        },
        service_policies=[junipermist.device.GatewayServicePolicyArgs(
            action="string",
            appqoe=junipermist.device.GatewayServicePolicyAppqoeArgs(
                enabled=False,
            ),
            ewfs=[junipermist.device.GatewayServicePolicyEwfArgs(
                alert_only=False,
                block_message="string",
                enabled=False,
                profile="string",
            )],
            idp=junipermist.device.GatewayServicePolicyIdpArgs(
                alert_only=False,
                enabled=False,
                idpprofile_id="string",
                profile="string",
            ),
            local_routing=False,
            name="string",
            path_preference="string",
            servicepolicy_id="string",
            services=["string"],
            tenants=["string"],
        )],
        bgp_config={
            "string": junipermist.device.GatewayBgpConfigArgs(
                auth_key="string",
                bfd_minimum_interval=0,
                bfd_multiplier=0,
                communities=[junipermist.device.GatewayBgpConfigCommunityArgs(
                    id="string",
                    local_preference=0,
                    vpn_name="string",
                )],
                disable_bfd=False,
                export="string",
                export_policy="string",
                extended_v4_nexthop=False,
                graceful_restart_time=0,
                hold_time=0,
                import_="string",
                import_policy="string",
                local_as=0,
                neighbor_as=0,
                neighbors={
                    "string": junipermist.device.GatewayBgpConfigNeighborsArgs(
                        disabled=False,
                        export_policy="string",
                        hold_time=0,
                        import_policy="string",
                        multihop_ttl=0,
                        neighbor_as=0,
                    ),
                },
                networks=["string"],
                no_readvertise_to_overlay=False,
                tunnel_name="string",
                type="string",
                via="string",
                vpn_name="string",
                wan_name="string",
            ),
        },
        tunnel_configs={
            "string": junipermist.device.GatewayTunnelConfigsArgs(
                auto_provision=junipermist.device.GatewayTunnelConfigsAutoProvisionArgs(
                    enable=False,
                    latlng=junipermist.device.GatewayTunnelConfigsAutoProvisionLatlngArgs(
                        lat=0,
                        lng=0,
                    ),
                    primary=junipermist.device.GatewayTunnelConfigsAutoProvisionPrimaryArgs(
                        num_hosts="string",
                        wan_names=["string"],
                    ),
                    secondary=junipermist.device.GatewayTunnelConfigsAutoProvisionSecondaryArgs(
                        num_hosts="string",
                        wan_names=["string"],
                    ),
                ),
                ike_lifetime=0,
                ike_mode="string",
                ike_proposals=[junipermist.device.GatewayTunnelConfigsIkeProposalArgs(
                    auth_algo="string",
                    dh_group="string",
                    enc_algo="string",
                )],
                ipsec_lifetime=0,
                ipsec_proposals=[junipermist.device.GatewayTunnelConfigsIpsecProposalArgs(
                    auth_algo="string",
                    dh_group="string",
                    enc_algo="string",
                )],
                local_id="string",
                mode="string",
                networks=["string"],
                primary=junipermist.device.GatewayTunnelConfigsPrimaryArgs(
                    hosts=["string"],
                    internal_ips=["string"],
                    probe_ips=["string"],
                    remote_ids=["string"],
                    wan_names=["string"],
                ),
                probe=junipermist.device.GatewayTunnelConfigsProbeArgs(
                    interval=0,
                    threshold=0,
                    timeout=0,
                    type="string",
                ),
                protocol="string",
                provider="string",
                psk="string",
                secondary=junipermist.device.GatewayTunnelConfigsSecondaryArgs(
                    hosts=["string"],
                    internal_ips=["string"],
                    probe_ips=["string"],
                    remote_ids=["string"],
                    wan_names=["string"],
                ),
                version="string",
            ),
        },
        tunnel_provider_options=junipermist.device.GatewayTunnelProviderOptionsArgs(
            jse=junipermist.device.GatewayTunnelProviderOptionsJseArgs(
                name="string",
                num_users=0,
            ),
            zscaler=junipermist.device.GatewayTunnelProviderOptionsZscalerArgs(
                aup_acceptance_required=False,
                aup_expire=0,
                aup_ssl_proxy=False,
                download_mbps=0,
                enable_aup=False,
                enable_caution=False,
                enforce_authentication=False,
                name="string",
                sub_locations=[junipermist.device.GatewayTunnelProviderOptionsZscalerSubLocationArgs(
                    aup_acceptance_required=False,
                    aup_expire=0,
                    aup_ssl_proxy=False,
                    download_mbps=0,
                    enable_aup=False,
                    enable_caution=False,
                    enforce_authentication=False,
                    subnets=["string"],
                    upload_mbps=0,
                )],
                upload_mbps=0,
                use_xff=False,
            ),
        ),
        vars={
            "string": "string",
        },
        vrf_config=junipermist.device.GatewayVrfConfigArgs(
            enabled=False,
        ),
        vrf_instances={
            "string": junipermist.device.GatewayVrfInstancesArgs(
                networks=["string"],
            ),
        },
        x=0,
        ntp_servers=["string"])
    
    const gatewayResource = new junipermist.device.Gateway("gatewayResource", {
        deviceId: "string",
        siteId: "string",
        idpProfiles: {
            string: {
                baseProfile: "string",
                createdTime: 0,
                id: "string",
                modifiedTime: 0,
                name: "string",
                orgId: "string",
                overwrites: [{
                    action: "string",
                    matching: {
                        attackNames: ["string"],
                        dstSubnets: ["string"],
                        severities: ["string"],
                    },
                    name: "string",
                }],
            },
        },
        dnsServers: ["string"],
        oobIpConfig: {
            gateway: "string",
            ip: "string",
            netmask: "string",
            node1: {
                gateway: "string",
                ip: "string",
                netmask: "string",
                type: "string",
                useMgmtVrf: false,
                useMgmtVrfForHostOut: false,
                vlanId: "string",
            },
            type: "string",
            useMgmtVrf: false,
            useMgmtVrfForHostOut: false,
            vlanId: "string",
        },
        dnsSuffixes: ["string"],
        extraRoutes: {
            string: {
                via: "string",
            },
        },
        extraRoutes6: {
            string: {
                via: "string",
            },
        },
        additionalConfigCmds: ["string"],
        ipConfigs: {
            string: {
                ip: "string",
                netmask: "string",
                secondaryIps: ["string"],
                type: "string",
            },
        },
        managed: false,
        mapId: "string",
        mspId: "string",
        name: "string",
        networks: [{
            name: "string",
            subnet: "string",
            id: "string",
            gateway: "string",
            createdTime: 0,
            internalAccess: {
                enabled: false,
            },
            internetAccess: {
                createSimpleServicePolicy: false,
                destinationNat: {
                    string: {
                        internalIp: "string",
                        name: "string",
                        port: 0,
                    },
                },
                enabled: false,
                restricted: false,
                staticNat: {
                    string: {
                        internalIp: "string",
                        name: "string",
                        wanName: "string",
                    },
                },
            },
            isolation: false,
            modifiedTime: 0,
            gateway6: "string",
            orgId: "string",
            routedForNetworks: ["string"],
            disallowMistServices: false,
            subnet6: "string",
            tenants: {
                string: {
                    addresses: ["string"],
                },
            },
            vlanId: "string",
            vpnAccess: {
                string: {
                    advertisedSubnet: "string",
                    allowPing: false,
                    destinationNat: {
                        string: {
                            internalIp: "string",
                            name: "string",
                            port: 0,
                        },
                    },
                    natPool: "string",
                    noReadvertiseToLanBgp: false,
                    noReadvertiseToLanOspf: false,
                    noReadvertiseToOverlay: false,
                    otherVrfs: ["string"],
                    routed: false,
                    sourceNat: {
                        externalIp: "string",
                    },
                    staticNat: {
                        string: {
                            internalIp: "string",
                            name: "string",
                            wanName: "string",
                        },
                    },
                    summarizedSubnet: "string",
                    summarizedSubnetToLanBgp: "string",
                    summarizedSubnetToLanOspf: "string",
                },
            },
        }],
        notes: "string",
        y: 0,
        dhcpdConfig: {
            config: {
                string: {
                    dnsServers: ["string"],
                    dnsSuffixes: ["string"],
                    fixedBindings: {
                        string: {
                            ip: "string",
                            name: "string",
                        },
                    },
                    gateway: "string",
                    ipEnd: "string",
                    ipEnd6: "string",
                    ipStart: "string",
                    ipStart6: "string",
                    leaseTime: 0,
                    options: {
                        string: {
                            type: "string",
                            value: "string",
                        },
                    },
                    serverIdOverride: false,
                    servers: ["string"],
                    servers6s: ["string"],
                    type: "string",
                    type6: "string",
                    vendorEncapulated: {
                        string: {
                            type: "string",
                            value: "string",
                        },
                    },
                },
            },
            enabled: false,
        },
        pathPreferences: {
            string: {
                paths: [{
                    cost: 0,
                    disabled: false,
                    gatewayIp: "string",
                    internetAccess: false,
                    name: "string",
                    networks: ["string"],
                    targetIps: ["string"],
                    type: "string",
                    wanName: "string",
                }],
                strategy: "string",
            },
        },
        portConfig: {
            string: {
                usage: "string",
                networks: ["string"],
                vlanId: 0,
                aggregated: false,
                critical: false,
                description: "string",
                disableAutoneg: false,
                disabled: false,
                dslType: "string",
                dslVci: 0,
                dslVpi: 0,
                duplex: "string",
                ipConfig: {
                    dns: ["string"],
                    dnsSuffixes: ["string"],
                    gateway: "string",
                    ip: "string",
                    netmask: "string",
                    network: "string",
                    poserPassword: "string",
                    pppoeAuth: "string",
                    pppoeUsername: "string",
                    type: "string",
                },
                lteApn: "string",
                outerVlanId: 0,
                lteBackup: false,
                ltePassword: "string",
                lteUsername: "string",
                mtu: 0,
                wanSourceNat: {
                    disabled: false,
                    natPool: "string",
                },
                aeLacpForceUp: false,
                lteAuth: "string",
                poeDisabled: false,
                portNetwork: "string",
                preserveDscp: false,
                redundant: false,
                rethIdx: 0,
                rethNode: "string",
                rethNodes: ["string"],
                speed: "string",
                ssrNoVirtualMac: false,
                svrPortRange: "string",
                trafficShaping: {
                    classPercentages: [0],
                    enabled: false,
                },
                aeIdx: "string",
                aeDisableLacp: false,
                vpnPaths: {
                    string: {
                        bfdProfile: "string",
                        bfdUseTunnelMode: false,
                        preference: 0,
                        role: "string",
                        trafficShaping: {
                            classPercentages: [0],
                            enabled: false,
                        },
                    },
                },
                wanArpPolicer: "string",
                wanExtIp: "string",
                name: "string",
                wanType: "string",
            },
        },
        portMirroring: {
            portMirror: {
                familyType: "string",
                ingressPortIds: ["string"],
                outputPortId: "string",
                rate: 0,
                runLength: 0,
            },
        },
        routerId: "string",
        routingPolicies: {
            string: {
                terms: [{
                    action: {
                        accept: false,
                        addCommunities: ["string"],
                        addTargetVrfs: ["string"],
                        communities: ["string"],
                        excludeAsPaths: ["string"],
                        excludeCommunities: ["string"],
                        exportCommunitites: ["string"],
                        localPreference: "string",
                        prependAsPaths: ["string"],
                    },
                    matching: {
                        asPaths: ["string"],
                        communities: ["string"],
                        networks: ["string"],
                        prefixes: ["string"],
                        protocols: ["string"],
                        routeExists: {
                            route: "string",
                            vrfName: "string",
                        },
                        vpnNeighborMacs: ["string"],
                        vpnPathSla: {
                            maxJitter: 0,
                            maxLatency: 0,
                            maxLoss: 0,
                        },
                        vpnPaths: ["string"],
                    },
                }],
            },
        },
        servicePolicies: [{
            action: "string",
            appqoe: {
                enabled: false,
            },
            ewfs: [{
                alertOnly: false,
                blockMessage: "string",
                enabled: false,
                profile: "string",
            }],
            idp: {
                alertOnly: false,
                enabled: false,
                idpprofileId: "string",
                profile: "string",
            },
            localRouting: false,
            name: "string",
            pathPreference: "string",
            servicepolicyId: "string",
            services: ["string"],
            tenants: ["string"],
        }],
        bgpConfig: {
            string: {
                authKey: "string",
                bfdMinimumInterval: 0,
                bfdMultiplier: 0,
                communities: [{
                    id: "string",
                    localPreference: 0,
                    vpnName: "string",
                }],
                disableBfd: false,
                "export": "string",
                exportPolicy: "string",
                extendedV4Nexthop: false,
                gracefulRestartTime: 0,
                holdTime: 0,
                "import": "string",
                importPolicy: "string",
                localAs: 0,
                neighborAs: 0,
                neighbors: {
                    string: {
                        disabled: false,
                        exportPolicy: "string",
                        holdTime: 0,
                        importPolicy: "string",
                        multihopTtl: 0,
                        neighborAs: 0,
                    },
                },
                networks: ["string"],
                noReadvertiseToOverlay: false,
                tunnelName: "string",
                type: "string",
                via: "string",
                vpnName: "string",
                wanName: "string",
            },
        },
        tunnelConfigs: {
            string: {
                autoProvision: {
                    enable: false,
                    latlng: {
                        lat: 0,
                        lng: 0,
                    },
                    primary: {
                        numHosts: "string",
                        wanNames: ["string"],
                    },
                    secondary: {
                        numHosts: "string",
                        wanNames: ["string"],
                    },
                },
                ikeLifetime: 0,
                ikeMode: "string",
                ikeProposals: [{
                    authAlgo: "string",
                    dhGroup: "string",
                    encAlgo: "string",
                }],
                ipsecLifetime: 0,
                ipsecProposals: [{
                    authAlgo: "string",
                    dhGroup: "string",
                    encAlgo: "string",
                }],
                localId: "string",
                mode: "string",
                networks: ["string"],
                primary: {
                    hosts: ["string"],
                    internalIps: ["string"],
                    probeIps: ["string"],
                    remoteIds: ["string"],
                    wanNames: ["string"],
                },
                probe: {
                    interval: 0,
                    threshold: 0,
                    timeout: 0,
                    type: "string",
                },
                protocol: "string",
                provider: "string",
                psk: "string",
                secondary: {
                    hosts: ["string"],
                    internalIps: ["string"],
                    probeIps: ["string"],
                    remoteIds: ["string"],
                    wanNames: ["string"],
                },
                version: "string",
            },
        },
        tunnelProviderOptions: {
            jse: {
                name: "string",
                numUsers: 0,
            },
            zscaler: {
                aupAcceptanceRequired: false,
                aupExpire: 0,
                aupSslProxy: false,
                downloadMbps: 0,
                enableAup: false,
                enableCaution: false,
                enforceAuthentication: false,
                name: "string",
                subLocations: [{
                    aupAcceptanceRequired: false,
                    aupExpire: 0,
                    aupSslProxy: false,
                    downloadMbps: 0,
                    enableAup: false,
                    enableCaution: false,
                    enforceAuthentication: false,
                    subnets: ["string"],
                    uploadMbps: 0,
                }],
                uploadMbps: 0,
                useXff: false,
            },
        },
        vars: {
            string: "string",
        },
        vrfConfig: {
            enabled: false,
        },
        vrfInstances: {
            string: {
                networks: ["string"],
            },
        },
        x: 0,
        ntpServers: ["string"],
    });
    
    type: junipermist:device:Gateway
    properties:
        additionalConfigCmds:
            - string
        bgpConfig:
            string:
                authKey: string
                bfdMinimumInterval: 0
                bfdMultiplier: 0
                communities:
                    - id: string
                      localPreference: 0
                      vpnName: string
                disableBfd: false
                export: string
                exportPolicy: string
                extendedV4Nexthop: false
                gracefulRestartTime: 0
                holdTime: 0
                import: string
                importPolicy: string
                localAs: 0
                neighborAs: 0
                neighbors:
                    string:
                        disabled: false
                        exportPolicy: string
                        holdTime: 0
                        importPolicy: string
                        multihopTtl: 0
                        neighborAs: 0
                networks:
                    - string
                noReadvertiseToOverlay: false
                tunnelName: string
                type: string
                via: string
                vpnName: string
                wanName: string
        deviceId: string
        dhcpdConfig:
            config:
                string:
                    dnsServers:
                        - string
                    dnsSuffixes:
                        - string
                    fixedBindings:
                        string:
                            ip: string
                            name: string
                    gateway: string
                    ipEnd: string
                    ipEnd6: string
                    ipStart: string
                    ipStart6: string
                    leaseTime: 0
                    options:
                        string:
                            type: string
                            value: string
                    serverIdOverride: false
                    servers:
                        - string
                    servers6s:
                        - string
                    type: string
                    type6: string
                    vendorEncapulated:
                        string:
                            type: string
                            value: string
            enabled: false
        dnsServers:
            - string
        dnsSuffixes:
            - string
        extraRoutes:
            string:
                via: string
        extraRoutes6:
            string:
                via: string
        idpProfiles:
            string:
                baseProfile: string
                createdTime: 0
                id: string
                modifiedTime: 0
                name: string
                orgId: string
                overwrites:
                    - action: string
                      matching:
                        attackNames:
                            - string
                        dstSubnets:
                            - string
                        severities:
                            - string
                      name: string
        ipConfigs:
            string:
                ip: string
                netmask: string
                secondaryIps:
                    - string
                type: string
        managed: false
        mapId: string
        mspId: string
        name: string
        networks:
            - createdTime: 0
              disallowMistServices: false
              gateway: string
              gateway6: string
              id: string
              internalAccess:
                enabled: false
              internetAccess:
                createSimpleServicePolicy: false
                destinationNat:
                    string:
                        internalIp: string
                        name: string
                        port: 0
                enabled: false
                restricted: false
                staticNat:
                    string:
                        internalIp: string
                        name: string
                        wanName: string
              isolation: false
              modifiedTime: 0
              name: string
              orgId: string
              routedForNetworks:
                - string
              subnet: string
              subnet6: string
              tenants:
                string:
                    addresses:
                        - string
              vlanId: string
              vpnAccess:
                string:
                    advertisedSubnet: string
                    allowPing: false
                    destinationNat:
                        string:
                            internalIp: string
                            name: string
                            port: 0
                    natPool: string
                    noReadvertiseToLanBgp: false
                    noReadvertiseToLanOspf: false
                    noReadvertiseToOverlay: false
                    otherVrfs:
                        - string
                    routed: false
                    sourceNat:
                        externalIp: string
                    staticNat:
                        string:
                            internalIp: string
                            name: string
                            wanName: string
                    summarizedSubnet: string
                    summarizedSubnetToLanBgp: string
                    summarizedSubnetToLanOspf: string
        notes: string
        ntpServers:
            - string
        oobIpConfig:
            gateway: string
            ip: string
            netmask: string
            node1:
                gateway: string
                ip: string
                netmask: string
                type: string
                useMgmtVrf: false
                useMgmtVrfForHostOut: false
                vlanId: string
            type: string
            useMgmtVrf: false
            useMgmtVrfForHostOut: false
            vlanId: string
        pathPreferences:
            string:
                paths:
                    - cost: 0
                      disabled: false
                      gatewayIp: string
                      internetAccess: false
                      name: string
                      networks:
                        - string
                      targetIps:
                        - string
                      type: string
                      wanName: string
                strategy: string
        portConfig:
            string:
                aeDisableLacp: false
                aeIdx: string
                aeLacpForceUp: false
                aggregated: false
                critical: false
                description: string
                disableAutoneg: false
                disabled: false
                dslType: string
                dslVci: 0
                dslVpi: 0
                duplex: string
                ipConfig:
                    dns:
                        - string
                    dnsSuffixes:
                        - string
                    gateway: string
                    ip: string
                    netmask: string
                    network: string
                    poserPassword: string
                    pppoeAuth: string
                    pppoeUsername: string
                    type: string
                lteApn: string
                lteAuth: string
                lteBackup: false
                ltePassword: string
                lteUsername: string
                mtu: 0
                name: string
                networks:
                    - string
                outerVlanId: 0
                poeDisabled: false
                portNetwork: string
                preserveDscp: false
                redundant: false
                rethIdx: 0
                rethNode: string
                rethNodes:
                    - string
                speed: string
                ssrNoVirtualMac: false
                svrPortRange: string
                trafficShaping:
                    classPercentages:
                        - 0
                    enabled: false
                usage: string
                vlanId: 0
                vpnPaths:
                    string:
                        bfdProfile: string
                        bfdUseTunnelMode: false
                        preference: 0
                        role: string
                        trafficShaping:
                            classPercentages:
                                - 0
                            enabled: false
                wanArpPolicer: string
                wanExtIp: string
                wanSourceNat:
                    disabled: false
                    natPool: string
                wanType: string
        portMirroring:
            portMirror:
                familyType: string
                ingressPortIds:
                    - string
                outputPortId: string
                rate: 0
                runLength: 0
        routerId: string
        routingPolicies:
            string:
                terms:
                    - action:
                        accept: false
                        addCommunities:
                            - string
                        addTargetVrfs:
                            - string
                        communities:
                            - string
                        excludeAsPaths:
                            - string
                        excludeCommunities:
                            - string
                        exportCommunitites:
                            - string
                        localPreference: string
                        prependAsPaths:
                            - string
                      matching:
                        asPaths:
                            - string
                        communities:
                            - string
                        networks:
                            - string
                        prefixes:
                            - string
                        protocols:
                            - string
                        routeExists:
                            route: string
                            vrfName: string
                        vpnNeighborMacs:
                            - string
                        vpnPathSla:
                            maxJitter: 0
                            maxLatency: 0
                            maxLoss: 0
                        vpnPaths:
                            - string
        servicePolicies:
            - action: string
              appqoe:
                enabled: false
              ewfs:
                - alertOnly: false
                  blockMessage: string
                  enabled: false
                  profile: string
              idp:
                alertOnly: false
                enabled: false
                idpprofileId: string
                profile: string
              localRouting: false
              name: string
              pathPreference: string
              servicepolicyId: string
              services:
                - string
              tenants:
                - string
        siteId: string
        tunnelConfigs:
            string:
                autoProvision:
                    enable: false
                    latlng:
                        lat: 0
                        lng: 0
                    primary:
                        numHosts: string
                        wanNames:
                            - string
                    secondary:
                        numHosts: string
                        wanNames:
                            - string
                ikeLifetime: 0
                ikeMode: string
                ikeProposals:
                    - authAlgo: string
                      dhGroup: string
                      encAlgo: string
                ipsecLifetime: 0
                ipsecProposals:
                    - authAlgo: string
                      dhGroup: string
                      encAlgo: string
                localId: string
                mode: string
                networks:
                    - string
                primary:
                    hosts:
                        - string
                    internalIps:
                        - string
                    probeIps:
                        - string
                    remoteIds:
                        - string
                    wanNames:
                        - string
                probe:
                    interval: 0
                    threshold: 0
                    timeout: 0
                    type: string
                protocol: string
                provider: string
                psk: string
                secondary:
                    hosts:
                        - string
                    internalIps:
                        - string
                    probeIps:
                        - string
                    remoteIds:
                        - string
                    wanNames:
                        - string
                version: string
        tunnelProviderOptions:
            jse:
                name: string
                numUsers: 0
            zscaler:
                aupAcceptanceRequired: false
                aupExpire: 0
                aupSslProxy: false
                downloadMbps: 0
                enableAup: false
                enableCaution: false
                enforceAuthentication: false
                name: string
                subLocations:
                    - aupAcceptanceRequired: false
                      aupExpire: 0
                      aupSslProxy: false
                      downloadMbps: 0
                      enableAup: false
                      enableCaution: false
                      enforceAuthentication: false
                      subnets:
                        - string
                      uploadMbps: 0
                uploadMbps: 0
                useXff: false
        vars:
            string: string
        vrfConfig:
            enabled: false
        vrfInstances:
            string:
                networks:
                    - string
        x: 0
        "y": 0
    

    Gateway 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 Gateway resource accepts the following input properties:

    DeviceId string
    SiteId string
    AdditionalConfigCmds List<string>
    additional CLI commands to append to the generated Junos config Note: no check is done
    BgpConfig Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayBgpConfigArgs>
    DhcpdConfig Pulumi.JuniperMist.Device.Inputs.GatewayDhcpdConfig
    DnsServers List<string>
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    DnsSuffixes List<string>
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    ExtraRoutes Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayExtraRoutesArgs>
    Property key is the destination CIDR (e.g. "10.0.0.0/8")
    ExtraRoutes6 Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayExtraRoutes6Args>
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    IdpProfiles Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayIdpProfilesArgs>
    Property key is the profile name
    IpConfigs Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayIpConfigsArgs>
    Property key is the network name
    Managed bool
    MapId string
    map where the device belongs to
    MspId string
    Name string
    Networks List<Pulumi.JuniperMist.Device.Inputs.GatewayNetwork>
    Notes string
    NtpServers List<string>
    OobIpConfig Pulumi.JuniperMist.Device.Inputs.GatewayOobIpConfig
    out-of-band (vme/em0/fxp0) IP config
    PathPreferences Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayPathPreferencesArgs>
    Property key is the path name
    PortConfig Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayPortConfigArgs>
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    PortMirroring Pulumi.JuniperMist.Device.Inputs.GatewayPortMirroring
    RouterId string
    auto assigned if not set
    RoutingPolicies Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayRoutingPoliciesArgs>
    Property key is the routing policy name
    ServicePolicies List<Pulumi.JuniperMist.Device.Inputs.GatewayServicePolicy>
    TunnelConfigs Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayTunnelConfigsArgs>
    Property key is the tunnel name
    TunnelProviderOptions Pulumi.JuniperMist.Device.Inputs.GatewayTunnelProviderOptions
    Vars Dictionary<string, string>
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    VrfConfig Pulumi.JuniperMist.Device.Inputs.GatewayVrfConfig
    VrfInstances Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayVrfInstancesArgs>
    Property key is the network name
    X double
    x in pixel
    Y double
    y in pixel
    DeviceId string
    SiteId string
    AdditionalConfigCmds []string
    additional CLI commands to append to the generated Junos config Note: no check is done
    BgpConfig map[string]GatewayBgpConfigArgs
    DhcpdConfig GatewayDhcpdConfigArgs
    DnsServers []string
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    DnsSuffixes []string
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    ExtraRoutes map[string]GatewayExtraRoutesArgs
    Property key is the destination CIDR (e.g. "10.0.0.0/8")
    ExtraRoutes6 map[string]GatewayExtraRoutes6Args
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    IdpProfiles map[string]GatewayIdpProfilesArgs
    Property key is the profile name
    IpConfigs map[string]GatewayIpConfigsArgs
    Property key is the network name
    Managed bool
    MapId string
    map where the device belongs to
    MspId string
    Name string
    Networks []GatewayNetworkArgs
    Notes string
    NtpServers []string
    OobIpConfig GatewayOobIpConfigArgs
    out-of-band (vme/em0/fxp0) IP config
    PathPreferences map[string]GatewayPathPreferencesArgs
    Property key is the path name
    PortConfig map[string]GatewayPortConfigArgs
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    PortMirroring GatewayPortMirroringArgs
    RouterId string
    auto assigned if not set
    RoutingPolicies map[string]GatewayRoutingPoliciesArgs
    Property key is the routing policy name
    ServicePolicies []GatewayServicePolicyArgs
    TunnelConfigs map[string]GatewayTunnelConfigsArgs
    Property key is the tunnel name
    TunnelProviderOptions GatewayTunnelProviderOptionsArgs
    Vars map[string]string
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    VrfConfig GatewayVrfConfigArgs
    VrfInstances map[string]GatewayVrfInstancesArgs
    Property key is the network name
    X float64
    x in pixel
    Y float64
    y in pixel
    deviceId String
    siteId String
    additionalConfigCmds List<String>
    additional CLI commands to append to the generated Junos config Note: no check is done
    bgpConfig Map<String,GatewayBgpConfigArgs>
    dhcpdConfig GatewayDhcpdConfig
    dnsServers List<String>
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    dnsSuffixes List<String>
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    extraRoutes Map<String,GatewayExtraRoutesArgs>
    Property key is the destination CIDR (e.g. "10.0.0.0/8")
    extraRoutes6 Map<String,GatewayExtraRoutes6Args>
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    idpProfiles Map<String,GatewayIdpProfilesArgs>
    Property key is the profile name
    ipConfigs Map<String,GatewayIpConfigsArgs>
    Property key is the network name
    managed Boolean
    mapId String
    map where the device belongs to
    mspId String
    name String
    networks List<GatewayNetwork>
    notes String
    ntpServers List<String>
    oobIpConfig GatewayOobIpConfig
    out-of-band (vme/em0/fxp0) IP config
    pathPreferences Map<String,GatewayPathPreferencesArgs>
    Property key is the path name
    portConfig Map<String,GatewayPortConfigArgs>
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    portMirroring GatewayPortMirroring
    routerId String
    auto assigned if not set
    routingPolicies Map<String,GatewayRoutingPoliciesArgs>
    Property key is the routing policy name
    servicePolicies List<GatewayServicePolicy>
    tunnelConfigs Map<String,GatewayTunnelConfigsArgs>
    Property key is the tunnel name
    tunnelProviderOptions GatewayTunnelProviderOptions
    vars Map<String,String>
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    vrfConfig GatewayVrfConfig
    vrfInstances Map<String,GatewayVrfInstancesArgs>
    Property key is the network name
    x Double
    x in pixel
    y Double
    y in pixel
    deviceId string
    siteId string
    additionalConfigCmds string[]
    additional CLI commands to append to the generated Junos config Note: no check is done
    bgpConfig {[key: string]: GatewayBgpConfigArgs}
    dhcpdConfig GatewayDhcpdConfig
    dnsServers string[]
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    dnsSuffixes string[]
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    extraRoutes {[key: string]: GatewayExtraRoutesArgs}
    Property key is the destination CIDR (e.g. "10.0.0.0/8")
    extraRoutes6 {[key: string]: GatewayExtraRoutes6Args}
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    idpProfiles {[key: string]: GatewayIdpProfilesArgs}
    Property key is the profile name
    ipConfigs {[key: string]: GatewayIpConfigsArgs}
    Property key is the network name
    managed boolean
    mapId string
    map where the device belongs to
    mspId string
    name string
    networks GatewayNetwork[]
    notes string
    ntpServers string[]
    oobIpConfig GatewayOobIpConfig
    out-of-band (vme/em0/fxp0) IP config
    pathPreferences {[key: string]: GatewayPathPreferencesArgs}
    Property key is the path name
    portConfig {[key: string]: GatewayPortConfigArgs}
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    portMirroring GatewayPortMirroring
    routerId string
    auto assigned if not set
    routingPolicies {[key: string]: GatewayRoutingPoliciesArgs}
    Property key is the routing policy name
    servicePolicies GatewayServicePolicy[]
    tunnelConfigs {[key: string]: GatewayTunnelConfigsArgs}
    Property key is the tunnel name
    tunnelProviderOptions GatewayTunnelProviderOptions
    vars {[key: string]: string}
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    vrfConfig GatewayVrfConfig
    vrfInstances {[key: string]: GatewayVrfInstancesArgs}
    Property key is the network name
    x number
    x in pixel
    y number
    y in pixel
    device_id str
    site_id str
    additional_config_cmds Sequence[str]
    additional CLI commands to append to the generated Junos config Note: no check is done
    bgp_config Mapping[str, GatewayBgpConfigArgs]
    dhcpd_config GatewayDhcpdConfigArgs
    dns_servers Sequence[str]
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    dns_suffixes Sequence[str]
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    extra_routes Mapping[str, GatewayExtraRoutesArgs]
    Property key is the destination CIDR (e.g. "10.0.0.0/8")
    extra_routes6 Mapping[str, GatewayExtraRoutes6Args]
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    idp_profiles Mapping[str, GatewayIdpProfilesArgs]
    Property key is the profile name
    ip_configs Mapping[str, GatewayIpConfigsArgs]
    Property key is the network name
    managed bool
    map_id str
    map where the device belongs to
    msp_id str
    name str
    networks Sequence[GatewayNetworkArgs]
    notes str
    ntp_servers Sequence[str]
    oob_ip_config GatewayOobIpConfigArgs
    out-of-band (vme/em0/fxp0) IP config
    path_preferences Mapping[str, GatewayPathPreferencesArgs]
    Property key is the path name
    port_config Mapping[str, GatewayPortConfigArgs]
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    port_mirroring GatewayPortMirroringArgs
    router_id str
    auto assigned if not set
    routing_policies Mapping[str, GatewayRoutingPoliciesArgs]
    Property key is the routing policy name
    service_policies Sequence[GatewayServicePolicyArgs]
    tunnel_configs Mapping[str, GatewayTunnelConfigsArgs]
    Property key is the tunnel name
    tunnel_provider_options GatewayTunnelProviderOptionsArgs
    vars Mapping[str, str]
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    vrf_config GatewayVrfConfigArgs
    vrf_instances Mapping[str, GatewayVrfInstancesArgs]
    Property key is the network name
    x float
    x in pixel
    y float
    y in pixel
    deviceId String
    siteId String
    additionalConfigCmds List<String>
    additional CLI commands to append to the generated Junos config Note: no check is done
    bgpConfig Map<Property Map>
    dhcpdConfig Property Map
    dnsServers List<String>
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    dnsSuffixes List<String>
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    extraRoutes Map<Property Map>
    Property key is the destination CIDR (e.g. "10.0.0.0/8")
    extraRoutes6 Map<Property Map>
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    idpProfiles Map<Property Map>
    Property key is the profile name
    ipConfigs Map<Property Map>
    Property key is the network name
    managed Boolean
    mapId String
    map where the device belongs to
    mspId String
    name String
    networks List<Property Map>
    notes String
    ntpServers List<String>
    oobIpConfig Property Map
    out-of-band (vme/em0/fxp0) IP config
    pathPreferences Map<Property Map>
    Property key is the path name
    portConfig Map<Property Map>
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    portMirroring Property Map
    routerId String
    auto assigned if not set
    routingPolicies Map<Property Map>
    Property key is the routing policy name
    servicePolicies List<Property Map>
    tunnelConfigs Map<Property Map>
    Property key is the tunnel name
    tunnelProviderOptions Property Map
    vars Map<String>
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    vrfConfig Property Map
    vrfInstances Map<Property Map>
    Property key is the network name
    x Number
    x in pixel
    y Number
    y in pixel

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Image1Url string
    Image2Url string
    Image3Url string
    Mac string
    device MAC address
    Model string
    device Model
    OrgId string
    Serial string
    device Serial
    Type string
    Device Type. enum: gateway
    Id string
    The provider-assigned unique ID for this managed resource.
    Image1Url string
    Image2Url string
    Image3Url string
    Mac string
    device MAC address
    Model string
    device Model
    OrgId string
    Serial string
    device Serial
    Type string
    Device Type. enum: gateway
    id String
    The provider-assigned unique ID for this managed resource.
    image1Url String
    image2Url String
    image3Url String
    mac String
    device MAC address
    model String
    device Model
    orgId String
    serial String
    device Serial
    type String
    Device Type. enum: gateway
    id string
    The provider-assigned unique ID for this managed resource.
    image1Url string
    image2Url string
    image3Url string
    mac string
    device MAC address
    model string
    device Model
    orgId string
    serial string
    device Serial
    type string
    Device Type. enum: gateway
    id str
    The provider-assigned unique ID for this managed resource.
    image1_url str
    image2_url str
    image3_url str
    mac str
    device MAC address
    model str
    device Model
    org_id str
    serial str
    device Serial
    type str
    Device Type. enum: gateway
    id String
    The provider-assigned unique ID for this managed resource.
    image1Url String
    image2Url String
    image3Url String
    mac String
    device MAC address
    model String
    device Model
    orgId String
    serial String
    device Serial
    type String
    Device Type. enum: gateway

    Look up Existing Gateway Resource

    Get an existing Gateway 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?: GatewayState, opts?: CustomResourceOptions): Gateway
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            additional_config_cmds: Optional[Sequence[str]] = None,
            bgp_config: Optional[Mapping[str, GatewayBgpConfigArgs]] = None,
            device_id: Optional[str] = None,
            dhcpd_config: Optional[GatewayDhcpdConfigArgs] = None,
            dns_servers: Optional[Sequence[str]] = None,
            dns_suffixes: Optional[Sequence[str]] = None,
            extra_routes: Optional[Mapping[str, GatewayExtraRoutesArgs]] = None,
            extra_routes6: Optional[Mapping[str, GatewayExtraRoutes6Args]] = None,
            idp_profiles: Optional[Mapping[str, GatewayIdpProfilesArgs]] = None,
            image1_url: Optional[str] = None,
            image2_url: Optional[str] = None,
            image3_url: Optional[str] = None,
            ip_configs: Optional[Mapping[str, GatewayIpConfigsArgs]] = None,
            mac: Optional[str] = None,
            managed: Optional[bool] = None,
            map_id: Optional[str] = None,
            model: Optional[str] = None,
            msp_id: Optional[str] = None,
            name: Optional[str] = None,
            networks: Optional[Sequence[GatewayNetworkArgs]] = None,
            notes: Optional[str] = None,
            ntp_servers: Optional[Sequence[str]] = None,
            oob_ip_config: Optional[GatewayOobIpConfigArgs] = None,
            org_id: Optional[str] = None,
            path_preferences: Optional[Mapping[str, GatewayPathPreferencesArgs]] = None,
            port_config: Optional[Mapping[str, GatewayPortConfigArgs]] = None,
            port_mirroring: Optional[GatewayPortMirroringArgs] = None,
            router_id: Optional[str] = None,
            routing_policies: Optional[Mapping[str, GatewayRoutingPoliciesArgs]] = None,
            serial: Optional[str] = None,
            service_policies: Optional[Sequence[GatewayServicePolicyArgs]] = None,
            site_id: Optional[str] = None,
            tunnel_configs: Optional[Mapping[str, GatewayTunnelConfigsArgs]] = None,
            tunnel_provider_options: Optional[GatewayTunnelProviderOptionsArgs] = None,
            type: Optional[str] = None,
            vars: Optional[Mapping[str, str]] = None,
            vrf_config: Optional[GatewayVrfConfigArgs] = None,
            vrf_instances: Optional[Mapping[str, GatewayVrfInstancesArgs]] = None,
            x: Optional[float] = None,
            y: Optional[float] = None) -> Gateway
    func GetGateway(ctx *Context, name string, id IDInput, state *GatewayState, opts ...ResourceOption) (*Gateway, error)
    public static Gateway Get(string name, Input<string> id, GatewayState? state, CustomResourceOptions? opts = null)
    public static Gateway get(String name, Output<String> id, GatewayState 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:
    AdditionalConfigCmds List<string>
    additional CLI commands to append to the generated Junos config Note: no check is done
    BgpConfig Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayBgpConfigArgs>
    DeviceId string
    DhcpdConfig Pulumi.JuniperMist.Device.Inputs.GatewayDhcpdConfig
    DnsServers List<string>
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    DnsSuffixes List<string>
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    ExtraRoutes Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayExtraRoutesArgs>
    Property key is the destination CIDR (e.g. "10.0.0.0/8")
    ExtraRoutes6 Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayExtraRoutes6Args>
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    IdpProfiles Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayIdpProfilesArgs>
    Property key is the profile name
    Image1Url string
    Image2Url string
    Image3Url string
    IpConfigs Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayIpConfigsArgs>
    Property key is the network name
    Mac string
    device MAC address
    Managed bool
    MapId string
    map where the device belongs to
    Model string
    device Model
    MspId string
    Name string
    Networks List<Pulumi.JuniperMist.Device.Inputs.GatewayNetwork>
    Notes string
    NtpServers List<string>
    OobIpConfig Pulumi.JuniperMist.Device.Inputs.GatewayOobIpConfig
    out-of-band (vme/em0/fxp0) IP config
    OrgId string
    PathPreferences Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayPathPreferencesArgs>
    Property key is the path name
    PortConfig Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayPortConfigArgs>
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    PortMirroring Pulumi.JuniperMist.Device.Inputs.GatewayPortMirroring
    RouterId string
    auto assigned if not set
    RoutingPolicies Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayRoutingPoliciesArgs>
    Property key is the routing policy name
    Serial string
    device Serial
    ServicePolicies List<Pulumi.JuniperMist.Device.Inputs.GatewayServicePolicy>
    SiteId string
    TunnelConfigs Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayTunnelConfigsArgs>
    Property key is the tunnel name
    TunnelProviderOptions Pulumi.JuniperMist.Device.Inputs.GatewayTunnelProviderOptions
    Type string
    Device Type. enum: gateway
    Vars Dictionary<string, string>
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    VrfConfig Pulumi.JuniperMist.Device.Inputs.GatewayVrfConfig
    VrfInstances Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayVrfInstancesArgs>
    Property key is the network name
    X double
    x in pixel
    Y double
    y in pixel
    AdditionalConfigCmds []string
    additional CLI commands to append to the generated Junos config Note: no check is done
    BgpConfig map[string]GatewayBgpConfigArgs
    DeviceId string
    DhcpdConfig GatewayDhcpdConfigArgs
    DnsServers []string
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    DnsSuffixes []string
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    ExtraRoutes map[string]GatewayExtraRoutesArgs
    Property key is the destination CIDR (e.g. "10.0.0.0/8")
    ExtraRoutes6 map[string]GatewayExtraRoutes6Args
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    IdpProfiles map[string]GatewayIdpProfilesArgs
    Property key is the profile name
    Image1Url string
    Image2Url string
    Image3Url string
    IpConfigs map[string]GatewayIpConfigsArgs
    Property key is the network name
    Mac string
    device MAC address
    Managed bool
    MapId string
    map where the device belongs to
    Model string
    device Model
    MspId string
    Name string
    Networks []GatewayNetworkArgs
    Notes string
    NtpServers []string
    OobIpConfig GatewayOobIpConfigArgs
    out-of-band (vme/em0/fxp0) IP config
    OrgId string
    PathPreferences map[string]GatewayPathPreferencesArgs
    Property key is the path name
    PortConfig map[string]GatewayPortConfigArgs
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    PortMirroring GatewayPortMirroringArgs
    RouterId string
    auto assigned if not set
    RoutingPolicies map[string]GatewayRoutingPoliciesArgs
    Property key is the routing policy name
    Serial string
    device Serial
    ServicePolicies []GatewayServicePolicyArgs
    SiteId string
    TunnelConfigs map[string]GatewayTunnelConfigsArgs
    Property key is the tunnel name
    TunnelProviderOptions GatewayTunnelProviderOptionsArgs
    Type string
    Device Type. enum: gateway
    Vars map[string]string
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    VrfConfig GatewayVrfConfigArgs
    VrfInstances map[string]GatewayVrfInstancesArgs
    Property key is the network name
    X float64
    x in pixel
    Y float64
    y in pixel
    additionalConfigCmds List<String>
    additional CLI commands to append to the generated Junos config Note: no check is done
    bgpConfig Map<String,GatewayBgpConfigArgs>
    deviceId String
    dhcpdConfig GatewayDhcpdConfig
    dnsServers List<String>
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    dnsSuffixes List<String>
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    extraRoutes Map<String,GatewayExtraRoutesArgs>
    Property key is the destination CIDR (e.g. "10.0.0.0/8")
    extraRoutes6 Map<String,GatewayExtraRoutes6Args>
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    idpProfiles Map<String,GatewayIdpProfilesArgs>
    Property key is the profile name
    image1Url String
    image2Url String
    image3Url String
    ipConfigs Map<String,GatewayIpConfigsArgs>
    Property key is the network name
    mac String
    device MAC address
    managed Boolean
    mapId String
    map where the device belongs to
    model String
    device Model
    mspId String
    name String
    networks List<GatewayNetwork>
    notes String
    ntpServers List<String>
    oobIpConfig GatewayOobIpConfig
    out-of-band (vme/em0/fxp0) IP config
    orgId String
    pathPreferences Map<String,GatewayPathPreferencesArgs>
    Property key is the path name
    portConfig Map<String,GatewayPortConfigArgs>
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    portMirroring GatewayPortMirroring
    routerId String
    auto assigned if not set
    routingPolicies Map<String,GatewayRoutingPoliciesArgs>
    Property key is the routing policy name
    serial String
    device Serial
    servicePolicies List<GatewayServicePolicy>
    siteId String
    tunnelConfigs Map<String,GatewayTunnelConfigsArgs>
    Property key is the tunnel name
    tunnelProviderOptions GatewayTunnelProviderOptions
    type String
    Device Type. enum: gateway
    vars Map<String,String>
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    vrfConfig GatewayVrfConfig
    vrfInstances Map<String,GatewayVrfInstancesArgs>
    Property key is the network name
    x Double
    x in pixel
    y Double
    y in pixel
    additionalConfigCmds string[]
    additional CLI commands to append to the generated Junos config Note: no check is done
    bgpConfig {[key: string]: GatewayBgpConfigArgs}
    deviceId string
    dhcpdConfig GatewayDhcpdConfig
    dnsServers string[]
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    dnsSuffixes string[]
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    extraRoutes {[key: string]: GatewayExtraRoutesArgs}
    Property key is the destination CIDR (e.g. "10.0.0.0/8")
    extraRoutes6 {[key: string]: GatewayExtraRoutes6Args}
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    idpProfiles {[key: string]: GatewayIdpProfilesArgs}
    Property key is the profile name
    image1Url string
    image2Url string
    image3Url string
    ipConfigs {[key: string]: GatewayIpConfigsArgs}
    Property key is the network name
    mac string
    device MAC address
    managed boolean
    mapId string
    map where the device belongs to
    model string
    device Model
    mspId string
    name string
    networks GatewayNetwork[]
    notes string
    ntpServers string[]
    oobIpConfig GatewayOobIpConfig
    out-of-band (vme/em0/fxp0) IP config
    orgId string
    pathPreferences {[key: string]: GatewayPathPreferencesArgs}
    Property key is the path name
    portConfig {[key: string]: GatewayPortConfigArgs}
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    portMirroring GatewayPortMirroring
    routerId string
    auto assigned if not set
    routingPolicies {[key: string]: GatewayRoutingPoliciesArgs}
    Property key is the routing policy name
    serial string
    device Serial
    servicePolicies GatewayServicePolicy[]
    siteId string
    tunnelConfigs {[key: string]: GatewayTunnelConfigsArgs}
    Property key is the tunnel name
    tunnelProviderOptions GatewayTunnelProviderOptions
    type string
    Device Type. enum: gateway
    vars {[key: string]: string}
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    vrfConfig GatewayVrfConfig
    vrfInstances {[key: string]: GatewayVrfInstancesArgs}
    Property key is the network name
    x number
    x in pixel
    y number
    y in pixel
    additional_config_cmds Sequence[str]
    additional CLI commands to append to the generated Junos config Note: no check is done
    bgp_config Mapping[str, GatewayBgpConfigArgs]
    device_id str
    dhcpd_config GatewayDhcpdConfigArgs
    dns_servers Sequence[str]
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    dns_suffixes Sequence[str]
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    extra_routes Mapping[str, GatewayExtraRoutesArgs]
    Property key is the destination CIDR (e.g. "10.0.0.0/8")
    extra_routes6 Mapping[str, GatewayExtraRoutes6Args]
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    idp_profiles Mapping[str, GatewayIdpProfilesArgs]
    Property key is the profile name
    image1_url str
    image2_url str
    image3_url str
    ip_configs Mapping[str, GatewayIpConfigsArgs]
    Property key is the network name
    mac str
    device MAC address
    managed bool
    map_id str
    map where the device belongs to
    model str
    device Model
    msp_id str
    name str
    networks Sequence[GatewayNetworkArgs]
    notes str
    ntp_servers Sequence[str]
    oob_ip_config GatewayOobIpConfigArgs
    out-of-band (vme/em0/fxp0) IP config
    org_id str
    path_preferences Mapping[str, GatewayPathPreferencesArgs]
    Property key is the path name
    port_config Mapping[str, GatewayPortConfigArgs]
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    port_mirroring GatewayPortMirroringArgs
    router_id str
    auto assigned if not set
    routing_policies Mapping[str, GatewayRoutingPoliciesArgs]
    Property key is the routing policy name
    serial str
    device Serial
    service_policies Sequence[GatewayServicePolicyArgs]
    site_id str
    tunnel_configs Mapping[str, GatewayTunnelConfigsArgs]
    Property key is the tunnel name
    tunnel_provider_options GatewayTunnelProviderOptionsArgs
    type str
    Device Type. enum: gateway
    vars Mapping[str, str]
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    vrf_config GatewayVrfConfigArgs
    vrf_instances Mapping[str, GatewayVrfInstancesArgs]
    Property key is the network name
    x float
    x in pixel
    y float
    y in pixel
    additionalConfigCmds List<String>
    additional CLI commands to append to the generated Junos config Note: no check is done
    bgpConfig Map<Property Map>
    deviceId String
    dhcpdConfig Property Map
    dnsServers List<String>
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    dnsSuffixes List<String>
    Global dns settings. To keep compatibility, dns settings in ip_config and oob_ip_config will overwrite this setting
    extraRoutes Map<Property Map>
    Property key is the destination CIDR (e.g. "10.0.0.0/8")
    extraRoutes6 Map<Property Map>
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    idpProfiles Map<Property Map>
    Property key is the profile name
    image1Url String
    image2Url String
    image3Url String
    ipConfigs Map<Property Map>
    Property key is the network name
    mac String
    device MAC address
    managed Boolean
    mapId String
    map where the device belongs to
    model String
    device Model
    mspId String
    name String
    networks List<Property Map>
    notes String
    ntpServers List<String>
    oobIpConfig Property Map
    out-of-band (vme/em0/fxp0) IP config
    orgId String
    pathPreferences Map<Property Map>
    Property key is the path name
    portConfig Map<Property Map>
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    portMirroring Property Map
    routerId String
    auto assigned if not set
    routingPolicies Map<Property Map>
    Property key is the routing policy name
    serial String
    device Serial
    servicePolicies List<Property Map>
    siteId String
    tunnelConfigs Map<Property Map>
    Property key is the tunnel name
    tunnelProviderOptions Property Map
    type String
    Device Type. enum: gateway
    vars Map<String>
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    vrfConfig Property Map
    vrfInstances Map<Property Map>
    Property key is the network name
    x Number
    x in pixel
    y Number
    y in pixel

    Supporting Types

    GatewayBgpConfig, GatewayBgpConfigArgs

    AuthKey string
    BfdMinimumInterval int
    when bfd_multiplier is configured alone. Default:

    • 1000 if type==external
    • 350 type==internal
    BfdMultiplier int
    when bfd_minimum_interval_is_configured alone
    Communities List<Pulumi.JuniperMist.Device.Inputs.GatewayBgpConfigCommunity>
    DisableBfd bool
    BFD provides faster path failure detection and is enabled by default
    Export string
    ExportPolicy string
    default export policies if no per-neighbor policies defined
    ExtendedV4Nexthop bool
    by default, either inet/net6 unicast depending on neighbor IP family (v4 or v6) for v6 neighbors, to exchange v4 nexthop, which allows dual-stack support, enable this
    GracefulRestartTime int
    0 means disable
    HoldTime int
    Import string
    ImportPolicy string
    default import policies if no per-neighbor policies defined
    LocalAs int
    NeighborAs int
    Neighbors Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayBgpConfigNeighbors>
    if per-neighbor as is desired. Property key is the neighbor address
    Networks List<string>
    if type!=externalor via==wannetworks where we expect BGP neighbor to connect to/from
    NoReadvertiseToOverlay bool
    by default, we'll re-advertise all learned BGP routers toward overlay
    TunnelName string
    if type==tunnel
    Type string
    enum: external, internal
    Via string
    network name. enum: lan, tunnel, vpn, wan
    VpnName string
    WanName string
    if via==wan
    AuthKey string
    BfdMinimumInterval int
    when bfd_multiplier is configured alone. Default:

    • 1000 if type==external
    • 350 type==internal
    BfdMultiplier int
    when bfd_minimum_interval_is_configured alone
    Communities []GatewayBgpConfigCommunity
    DisableBfd bool
    BFD provides faster path failure detection and is enabled by default
    Export string
    ExportPolicy string
    default export policies if no per-neighbor policies defined
    ExtendedV4Nexthop bool
    by default, either inet/net6 unicast depending on neighbor IP family (v4 or v6) for v6 neighbors, to exchange v4 nexthop, which allows dual-stack support, enable this
    GracefulRestartTime int
    0 means disable
    HoldTime int
    Import string
    ImportPolicy string
    default import policies if no per-neighbor policies defined
    LocalAs int
    NeighborAs int
    Neighbors map[string]GatewayBgpConfigNeighbors
    if per-neighbor as is desired. Property key is the neighbor address
    Networks []string
    if type!=externalor via==wannetworks where we expect BGP neighbor to connect to/from
    NoReadvertiseToOverlay bool
    by default, we'll re-advertise all learned BGP routers toward overlay
    TunnelName string
    if type==tunnel
    Type string
    enum: external, internal
    Via string
    network name. enum: lan, tunnel, vpn, wan
    VpnName string
    WanName string
    if via==wan
    authKey String
    bfdMinimumInterval Integer
    when bfd_multiplier is configured alone. Default:

    • 1000 if type==external
    • 350 type==internal
    bfdMultiplier Integer
    when bfd_minimum_interval_is_configured alone
    communities List<GatewayBgpConfigCommunity>
    disableBfd Boolean
    BFD provides faster path failure detection and is enabled by default
    export String
    exportPolicy String
    default export policies if no per-neighbor policies defined
    extendedV4Nexthop Boolean
    by default, either inet/net6 unicast depending on neighbor IP family (v4 or v6) for v6 neighbors, to exchange v4 nexthop, which allows dual-stack support, enable this
    gracefulRestartTime Integer
    0 means disable
    holdTime Integer
    importPolicy String
    default import policies if no per-neighbor policies defined
    import_ String
    localAs Integer
    neighborAs Integer
    neighbors Map<String,GatewayBgpConfigNeighbors>
    if per-neighbor as is desired. Property key is the neighbor address
    networks List<String>
    if type!=externalor via==wannetworks where we expect BGP neighbor to connect to/from
    noReadvertiseToOverlay Boolean
    by default, we'll re-advertise all learned BGP routers toward overlay
    tunnelName String
    if type==tunnel
    type String
    enum: external, internal
    via String
    network name. enum: lan, tunnel, vpn, wan
    vpnName String
    wanName String
    if via==wan
    authKey string
    bfdMinimumInterval number
    when bfd_multiplier is configured alone. Default:

    • 1000 if type==external
    • 350 type==internal
    bfdMultiplier number
    when bfd_minimum_interval_is_configured alone
    communities GatewayBgpConfigCommunity[]
    disableBfd boolean
    BFD provides faster path failure detection and is enabled by default
    export string
    exportPolicy string
    default export policies if no per-neighbor policies defined
    extendedV4Nexthop boolean
    by default, either inet/net6 unicast depending on neighbor IP family (v4 or v6) for v6 neighbors, to exchange v4 nexthop, which allows dual-stack support, enable this
    gracefulRestartTime number
    0 means disable
    holdTime number
    import string
    importPolicy string
    default import policies if no per-neighbor policies defined
    localAs number
    neighborAs number
    neighbors {[key: string]: GatewayBgpConfigNeighbors}
    if per-neighbor as is desired. Property key is the neighbor address
    networks string[]
    if type!=externalor via==wannetworks where we expect BGP neighbor to connect to/from
    noReadvertiseToOverlay boolean
    by default, we'll re-advertise all learned BGP routers toward overlay
    tunnelName string
    if type==tunnel
    type string
    enum: external, internal
    via string
    network name. enum: lan, tunnel, vpn, wan
    vpnName string
    wanName string
    if via==wan
    auth_key str
    bfd_minimum_interval int
    when bfd_multiplier is configured alone. Default:

    • 1000 if type==external
    • 350 type==internal
    bfd_multiplier int
    when bfd_minimum_interval_is_configured alone
    communities Sequence[GatewayBgpConfigCommunity]
    disable_bfd bool
    BFD provides faster path failure detection and is enabled by default
    export str
    export_policy str
    default export policies if no per-neighbor policies defined
    extended_v4_nexthop bool
    by default, either inet/net6 unicast depending on neighbor IP family (v4 or v6) for v6 neighbors, to exchange v4 nexthop, which allows dual-stack support, enable this
    graceful_restart_time int
    0 means disable
    hold_time int
    import_ str
    import_policy str
    default import policies if no per-neighbor policies defined
    local_as int
    neighbor_as int
    neighbors Mapping[str, GatewayBgpConfigNeighbors]
    if per-neighbor as is desired. Property key is the neighbor address
    networks Sequence[str]
    if type!=externalor via==wannetworks where we expect BGP neighbor to connect to/from
    no_readvertise_to_overlay bool
    by default, we'll re-advertise all learned BGP routers toward overlay
    tunnel_name str
    if type==tunnel
    type str
    enum: external, internal
    via str
    network name. enum: lan, tunnel, vpn, wan
    vpn_name str
    wan_name str
    if via==wan
    authKey String
    bfdMinimumInterval Number
    when bfd_multiplier is configured alone. Default:

    • 1000 if type==external
    • 350 type==internal
    bfdMultiplier Number
    when bfd_minimum_interval_is_configured alone
    communities List<Property Map>
    disableBfd Boolean
    BFD provides faster path failure detection and is enabled by default
    export String
    exportPolicy String
    default export policies if no per-neighbor policies defined
    extendedV4Nexthop Boolean
    by default, either inet/net6 unicast depending on neighbor IP family (v4 or v6) for v6 neighbors, to exchange v4 nexthop, which allows dual-stack support, enable this
    gracefulRestartTime Number
    0 means disable
    holdTime Number
    import String
    importPolicy String
    default import policies if no per-neighbor policies defined
    localAs Number
    neighborAs Number
    neighbors Map<Property Map>
    if per-neighbor as is desired. Property key is the neighbor address
    networks List<String>
    if type!=externalor via==wannetworks where we expect BGP neighbor to connect to/from
    noReadvertiseToOverlay Boolean
    by default, we'll re-advertise all learned BGP routers toward overlay
    tunnelName String
    if type==tunnel
    type String
    enum: external, internal
    via String
    network name. enum: lan, tunnel, vpn, wan
    vpnName String
    wanName String
    if via==wan

    GatewayBgpConfigCommunity, GatewayBgpConfigCommunityArgs

    Id string
    LocalPreference int
    VpnName string
    Id string
    LocalPreference int
    VpnName string
    id String
    localPreference Integer
    vpnName String
    id string
    localPreference number
    vpnName string
    id String
    localPreference Number
    vpnName String

    GatewayBgpConfigNeighbors, GatewayBgpConfigNeighborsArgs

    Disabled bool
    If true, the BGP session to this neighbor will be administratively disabled/shutdown
    ExportPolicy string
    HoldTime int
    ImportPolicy string
    MultihopTtl int
    assuming BGP neighbor is directly connected
    NeighborAs int
    Disabled bool
    If true, the BGP session to this neighbor will be administratively disabled/shutdown
    ExportPolicy string
    HoldTime int
    ImportPolicy string
    MultihopTtl int
    assuming BGP neighbor is directly connected
    NeighborAs int
    disabled Boolean
    If true, the BGP session to this neighbor will be administratively disabled/shutdown
    exportPolicy String
    holdTime Integer
    importPolicy String
    multihopTtl Integer
    assuming BGP neighbor is directly connected
    neighborAs Integer
    disabled boolean
    If true, the BGP session to this neighbor will be administratively disabled/shutdown
    exportPolicy string
    holdTime number
    importPolicy string
    multihopTtl number
    assuming BGP neighbor is directly connected
    neighborAs number
    disabled bool
    If true, the BGP session to this neighbor will be administratively disabled/shutdown
    export_policy str
    hold_time int
    import_policy str
    multihop_ttl int
    assuming BGP neighbor is directly connected
    neighbor_as int
    disabled Boolean
    If true, the BGP session to this neighbor will be administratively disabled/shutdown
    exportPolicy String
    holdTime Number
    importPolicy String
    multihopTtl Number
    assuming BGP neighbor is directly connected
    neighborAs Number

    GatewayDhcpdConfig, GatewayDhcpdConfigArgs

    Config Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayDhcpdConfigConfig>
    Property key is the network name
    Enabled bool
    if set to true, enable the DHCP server
    Config map[string]GatewayDhcpdConfigConfig
    Property key is the network name
    Enabled bool
    if set to true, enable the DHCP server
    config Map<String,GatewayDhcpdConfigConfig>
    Property key is the network name
    enabled Boolean
    if set to true, enable the DHCP server
    config {[key: string]: GatewayDhcpdConfigConfig}
    Property key is the network name
    enabled boolean
    if set to true, enable the DHCP server
    config Mapping[str, GatewayDhcpdConfigConfig]
    Property key is the network name
    enabled bool
    if set to true, enable the DHCP server
    config Map<Property Map>
    Property key is the network name
    enabled Boolean
    if set to true, enable the DHCP server

    GatewayDhcpdConfigConfig, GatewayDhcpdConfigConfigArgs

    DnsServers List<string>
    if type==local - optional, if not defined, system one will be used
    DnsSuffixes List<string>
    if type==local - optional, if not defined, system one will be used
    FixedBindings Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayDhcpdConfigConfigFixedBindings>
    Property key is the MAC Address. Format is [0-9a-f]{12} (e.g "5684dae9ac8b")
    Gateway string
    if type==local - optional, ip will be used if not provided
    IpEnd string
    if type==local
    IpEnd6 string
    if type6==local
    IpStart string
    if type==local
    IpStart6 string
    if type6==local
    LeaseTime int
    in seconds, lease time has to be between 3600 [1hr] - 604800 [1 week], default is 86400 [1 day]
    Options Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayDhcpdConfigConfigOptions>
    Property key is the DHCP option number
    ServerIdOverride bool
    server_id_override==true means the device, when acts as DHCP relay and forwards DHCP responses from DHCP server to clients, should overwrite the Sever Identifier option (i.e. DHCP option 54) in DHCP responses with its own IP address.
    Servers List<string>
    if type==relay
    Servers6s List<string>
    if type6==relay
    Type string
    enum: local (DHCP Server), none, relay (DHCP Relay)
    Type6 string
    enum: local (DHCP Server), none, relay (DHCP Relay)
    VendorEncapulated Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayDhcpdConfigConfigVendorEncapulated>
    Property key is :, with

    • enterprise number: 1-65535 (https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers)
    • sub option code: 1-255, sub-option code'
    DnsServers []string
    if type==local - optional, if not defined, system one will be used
    DnsSuffixes []string
    if type==local - optional, if not defined, system one will be used
    FixedBindings map[string]GatewayDhcpdConfigConfigFixedBindings
    Property key is the MAC Address. Format is [0-9a-f]{12} (e.g "5684dae9ac8b")
    Gateway string
    if type==local - optional, ip will be used if not provided
    IpEnd string
    if type==local
    IpEnd6 string
    if type6==local
    IpStart string
    if type==local
    IpStart6 string
    if type6==local
    LeaseTime int
    in seconds, lease time has to be between 3600 [1hr] - 604800 [1 week], default is 86400 [1 day]
    Options map[string]GatewayDhcpdConfigConfigOptions
    Property key is the DHCP option number
    ServerIdOverride bool
    server_id_override==true means the device, when acts as DHCP relay and forwards DHCP responses from DHCP server to clients, should overwrite the Sever Identifier option (i.e. DHCP option 54) in DHCP responses with its own IP address.
    Servers []string
    if type==relay
    Servers6s []string
    if type6==relay
    Type string
    enum: local (DHCP Server), none, relay (DHCP Relay)
    Type6 string
    enum: local (DHCP Server), none, relay (DHCP Relay)
    VendorEncapulated map[string]GatewayDhcpdConfigConfigVendorEncapulated
    Property key is :, with

    • enterprise number: 1-65535 (https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers)
    • sub option code: 1-255, sub-option code'
    dnsServers List<String>
    if type==local - optional, if not defined, system one will be used
    dnsSuffixes List<String>
    if type==local - optional, if not defined, system one will be used
    fixedBindings Map<String,GatewayDhcpdConfigConfigFixedBindings>
    Property key is the MAC Address. Format is [0-9a-f]{12} (e.g "5684dae9ac8b")
    gateway String
    if type==local - optional, ip will be used if not provided
    ipEnd String
    if type==local
    ipEnd6 String
    if type6==local
    ipStart String
    if type==local
    ipStart6 String
    if type6==local
    leaseTime Integer
    in seconds, lease time has to be between 3600 [1hr] - 604800 [1 week], default is 86400 [1 day]
    options Map<String,GatewayDhcpdConfigConfigOptions>
    Property key is the DHCP option number
    serverIdOverride Boolean
    server_id_override==true means the device, when acts as DHCP relay and forwards DHCP responses from DHCP server to clients, should overwrite the Sever Identifier option (i.e. DHCP option 54) in DHCP responses with its own IP address.
    servers List<String>
    if type==relay
    servers6s List<String>
    if type6==relay
    type String
    enum: local (DHCP Server), none, relay (DHCP Relay)
    type6 String
    enum: local (DHCP Server), none, relay (DHCP Relay)
    vendorEncapulated Map<String,GatewayDhcpdConfigConfigVendorEncapulated>
    Property key is :, with

    • enterprise number: 1-65535 (https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers)
    • sub option code: 1-255, sub-option code'
    dnsServers string[]
    if type==local - optional, if not defined, system one will be used
    dnsSuffixes string[]
    if type==local - optional, if not defined, system one will be used
    fixedBindings {[key: string]: GatewayDhcpdConfigConfigFixedBindings}
    Property key is the MAC Address. Format is [0-9a-f]{12} (e.g "5684dae9ac8b")
    gateway string
    if type==local - optional, ip will be used if not provided
    ipEnd string
    if type==local
    ipEnd6 string
    if type6==local
    ipStart string
    if type==local
    ipStart6 string
    if type6==local
    leaseTime number
    in seconds, lease time has to be between 3600 [1hr] - 604800 [1 week], default is 86400 [1 day]
    options {[key: string]: GatewayDhcpdConfigConfigOptions}
    Property key is the DHCP option number
    serverIdOverride boolean
    server_id_override==true means the device, when acts as DHCP relay and forwards DHCP responses from DHCP server to clients, should overwrite the Sever Identifier option (i.e. DHCP option 54) in DHCP responses with its own IP address.
    servers string[]
    if type==relay
    servers6s string[]
    if type6==relay
    type string
    enum: local (DHCP Server), none, relay (DHCP Relay)
    type6 string
    enum: local (DHCP Server), none, relay (DHCP Relay)
    vendorEncapulated {[key: string]: GatewayDhcpdConfigConfigVendorEncapulated}
    Property key is :, with

    • enterprise number: 1-65535 (https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers)
    • sub option code: 1-255, sub-option code'
    dns_servers Sequence[str]
    if type==local - optional, if not defined, system one will be used
    dns_suffixes Sequence[str]
    if type==local - optional, if not defined, system one will be used
    fixed_bindings Mapping[str, GatewayDhcpdConfigConfigFixedBindings]
    Property key is the MAC Address. Format is [0-9a-f]{12} (e.g "5684dae9ac8b")
    gateway str
    if type==local - optional, ip will be used if not provided
    ip_end str
    if type==local
    ip_end6 str
    if type6==local
    ip_start str
    if type==local
    ip_start6 str
    if type6==local
    lease_time int
    in seconds, lease time has to be between 3600 [1hr] - 604800 [1 week], default is 86400 [1 day]
    options Mapping[str, GatewayDhcpdConfigConfigOptions]
    Property key is the DHCP option number
    server_id_override bool
    server_id_override==true means the device, when acts as DHCP relay and forwards DHCP responses from DHCP server to clients, should overwrite the Sever Identifier option (i.e. DHCP option 54) in DHCP responses with its own IP address.
    servers Sequence[str]
    if type==relay
    servers6s Sequence[str]
    if type6==relay
    type str
    enum: local (DHCP Server), none, relay (DHCP Relay)
    type6 str
    enum: local (DHCP Server), none, relay (DHCP Relay)
    vendor_encapulated Mapping[str, GatewayDhcpdConfigConfigVendorEncapulated]
    Property key is :, with

    • enterprise number: 1-65535 (https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers)
    • sub option code: 1-255, sub-option code'
    dnsServers List<String>
    if type==local - optional, if not defined, system one will be used
    dnsSuffixes List<String>
    if type==local - optional, if not defined, system one will be used
    fixedBindings Map<Property Map>
    Property key is the MAC Address. Format is [0-9a-f]{12} (e.g "5684dae9ac8b")
    gateway String
    if type==local - optional, ip will be used if not provided
    ipEnd String
    if type==local
    ipEnd6 String
    if type6==local
    ipStart String
    if type==local
    ipStart6 String
    if type6==local
    leaseTime Number
    in seconds, lease time has to be between 3600 [1hr] - 604800 [1 week], default is 86400 [1 day]
    options Map<Property Map>
    Property key is the DHCP option number
    serverIdOverride Boolean
    server_id_override==true means the device, when acts as DHCP relay and forwards DHCP responses from DHCP server to clients, should overwrite the Sever Identifier option (i.e. DHCP option 54) in DHCP responses with its own IP address.
    servers List<String>
    if type==relay
    servers6s List<String>
    if type6==relay
    type String
    enum: local (DHCP Server), none, relay (DHCP Relay)
    type6 String
    enum: local (DHCP Server), none, relay (DHCP Relay)
    vendorEncapulated Map<Property Map>
    Property key is :, with

    • enterprise number: 1-65535 (https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers)
    • sub option code: 1-255, sub-option code'

    GatewayDhcpdConfigConfigFixedBindings, GatewayDhcpdConfigConfigFixedBindingsArgs

    Ip string
    Name string
    Ip string
    Name string
    ip String
    name String
    ip string
    name string
    ip str
    name str
    ip String
    name String

    GatewayDhcpdConfigConfigOptions, GatewayDhcpdConfigConfigOptionsArgs

    Type string
    enum: boolean, hex, int16, int32, ip, string, uint16, uint32
    Value string
    Type string
    enum: boolean, hex, int16, int32, ip, string, uint16, uint32
    Value string
    type String
    enum: boolean, hex, int16, int32, ip, string, uint16, uint32
    value String
    type string
    enum: boolean, hex, int16, int32, ip, string, uint16, uint32
    value string
    type str
    enum: boolean, hex, int16, int32, ip, string, uint16, uint32
    value str
    type String
    enum: boolean, hex, int16, int32, ip, string, uint16, uint32
    value String

    GatewayDhcpdConfigConfigVendorEncapulated, GatewayDhcpdConfigConfigVendorEncapulatedArgs

    Type string
    enum: boolean, hex, int16, int32, ip, string, uint16, uint32
    Value string
    Type string
    enum: boolean, hex, int16, int32, ip, string, uint16, uint32
    Value string
    type String
    enum: boolean, hex, int16, int32, ip, string, uint16, uint32
    value String
    type string
    enum: boolean, hex, int16, int32, ip, string, uint16, uint32
    value string
    type str
    enum: boolean, hex, int16, int32, ip, string, uint16, uint32
    value str
    type String
    enum: boolean, hex, int16, int32, ip, string, uint16, uint32
    value String

    GatewayExtraRoutes, GatewayExtraRoutesArgs

    Via string
    Via string
    via String
    via string
    via str
    via String

    GatewayExtraRoutes6, GatewayExtraRoutes6Args

    Via string
    Via string
    via String
    via string
    via str
    via String

    GatewayIdpProfiles, GatewayIdpProfilesArgs

    BaseProfile string
    enum: critical, standard, strict
    CreatedTime float64
    Id string
    ModifiedTime float64
    Name string
    OrgId string
    Overwrites []GatewayIdpProfilesOverwrite
    baseProfile String
    enum: critical, standard, strict
    createdTime Double
    id String
    modifiedTime Double
    name String
    orgId String
    overwrites List<GatewayIdpProfilesOverwrite>
    baseProfile string
    enum: critical, standard, strict
    createdTime number
    id string
    modifiedTime number
    name string
    orgId string
    overwrites GatewayIdpProfilesOverwrite[]
    baseProfile String
    enum: critical, standard, strict
    createdTime Number
    id String
    modifiedTime Number
    name String
    orgId String
    overwrites List<Property Map>

    GatewayIdpProfilesOverwrite, GatewayIdpProfilesOverwriteArgs

    Action string
    enum:

    • alert (default)
    • drop: siliently dropping packets
    • close: notify client/server to close connection
    Matching Pulumi.JuniperMist.Device.Inputs.GatewayIdpProfilesOverwriteMatching
    Name string
    Action string
    enum:

    • alert (default)
    • drop: siliently dropping packets
    • close: notify client/server to close connection
    Matching GatewayIdpProfilesOverwriteMatching
    Name string
    action String
    enum:

    • alert (default)
    • drop: siliently dropping packets
    • close: notify client/server to close connection
    matching GatewayIdpProfilesOverwriteMatching
    name String
    action string
    enum:

    • alert (default)
    • drop: siliently dropping packets
    • close: notify client/server to close connection
    matching GatewayIdpProfilesOverwriteMatching
    name string
    action str
    enum:

    • alert (default)
    • drop: siliently dropping packets
    • close: notify client/server to close connection
    matching GatewayIdpProfilesOverwriteMatching
    name str
    action String
    enum:

    • alert (default)
    • drop: siliently dropping packets
    • close: notify client/server to close connection
    matching Property Map
    name String

    GatewayIdpProfilesOverwriteMatching, GatewayIdpProfilesOverwriteMatchingArgs

    AttackNames List<string>
    DstSubnets List<string>
    Severities List<string>
    AttackNames []string
    DstSubnets []string
    Severities []string
    attackNames List<String>
    dstSubnets List<String>
    severities List<String>
    attackNames string[]
    dstSubnets string[]
    severities string[]
    attack_names Sequence[str]
    dst_subnets Sequence[str]
    severities Sequence[str]
    attackNames List<String>
    dstSubnets List<String>
    severities List<String>

    GatewayIpConfigs, GatewayIpConfigsArgs

    Ip string
    Netmask string
    SecondaryIps List<string>
    optional list of secondary IPs in CIDR format
    Type string
    enum: dhcp, static
    Ip string
    Netmask string
    SecondaryIps []string
    optional list of secondary IPs in CIDR format
    Type string
    enum: dhcp, static
    ip String
    netmask String
    secondaryIps List<String>
    optional list of secondary IPs in CIDR format
    type String
    enum: dhcp, static
    ip string
    netmask string
    secondaryIps string[]
    optional list of secondary IPs in CIDR format
    type string
    enum: dhcp, static
    ip str
    netmask str
    secondary_ips Sequence[str]
    optional list of secondary IPs in CIDR format
    type str
    enum: dhcp, static
    ip String
    netmask String
    secondaryIps List<String>
    optional list of secondary IPs in CIDR format
    type String
    enum: dhcp, static

    GatewayNetwork, GatewayNetworkArgs

    Name string
    Subnet string
    CreatedTime double
    DisallowMistServices bool
    whether to disallow Mist Devices in the network
    Gateway string
    Gateway6 string
    Id string
    InternalAccess Pulumi.JuniperMist.Device.Inputs.GatewayNetworkInternalAccess
    InternetAccess Pulumi.JuniperMist.Device.Inputs.GatewayNetworkInternetAccess
    whether this network has direct internet access
    Isolation bool
    whether to allow clients in the network to talk to each other
    ModifiedTime double
    OrgId string
    RoutedForNetworks List<string>
    for a Network (usually LAN), it can be routable to other networks (e.g. OSPF)
    Subnet6 string
    Tenants Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayNetworkTenants>
    VlanId string
    VpnAccess Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayNetworkVpnAccess>
    Property key is the VPN name. Whether this network can be accessed from vpn
    Name string
    Subnet string
    CreatedTime float64
    DisallowMistServices bool
    whether to disallow Mist Devices in the network
    Gateway string
    Gateway6 string
    Id string
    InternalAccess GatewayNetworkInternalAccess
    InternetAccess GatewayNetworkInternetAccess
    whether this network has direct internet access
    Isolation bool
    whether to allow clients in the network to talk to each other
    ModifiedTime float64
    OrgId string
    RoutedForNetworks []string
    for a Network (usually LAN), it can be routable to other networks (e.g. OSPF)
    Subnet6 string
    Tenants map[string]GatewayNetworkTenants
    VlanId string
    VpnAccess map[string]GatewayNetworkVpnAccess
    Property key is the VPN name. Whether this network can be accessed from vpn
    name String
    subnet String
    createdTime Double
    disallowMistServices Boolean
    whether to disallow Mist Devices in the network
    gateway String
    gateway6 String
    id String
    internalAccess GatewayNetworkInternalAccess
    internetAccess GatewayNetworkInternetAccess
    whether this network has direct internet access
    isolation Boolean
    whether to allow clients in the network to talk to each other
    modifiedTime Double
    orgId String
    routedForNetworks List<String>
    for a Network (usually LAN), it can be routable to other networks (e.g. OSPF)
    subnet6 String
    tenants Map<String,GatewayNetworkTenants>
    vlanId String
    vpnAccess Map<String,GatewayNetworkVpnAccess>
    Property key is the VPN name. Whether this network can be accessed from vpn
    name string
    subnet string
    createdTime number
    disallowMistServices boolean
    whether to disallow Mist Devices in the network
    gateway string
    gateway6 string
    id string
    internalAccess GatewayNetworkInternalAccess
    internetAccess GatewayNetworkInternetAccess
    whether this network has direct internet access
    isolation boolean
    whether to allow clients in the network to talk to each other
    modifiedTime number
    orgId string
    routedForNetworks string[]
    for a Network (usually LAN), it can be routable to other networks (e.g. OSPF)
    subnet6 string
    tenants {[key: string]: GatewayNetworkTenants}
    vlanId string
    vpnAccess {[key: string]: GatewayNetworkVpnAccess}
    Property key is the VPN name. Whether this network can be accessed from vpn
    name str
    subnet str
    created_time float
    disallow_mist_services bool
    whether to disallow Mist Devices in the network
    gateway str
    gateway6 str
    id str
    internal_access GatewayNetworkInternalAccess
    internet_access GatewayNetworkInternetAccess
    whether this network has direct internet access
    isolation bool
    whether to allow clients in the network to talk to each other
    modified_time float
    org_id str
    routed_for_networks Sequence[str]
    for a Network (usually LAN), it can be routable to other networks (e.g. OSPF)
    subnet6 str
    tenants Mapping[str, GatewayNetworkTenants]
    vlan_id str
    vpn_access Mapping[str, GatewayNetworkVpnAccess]
    Property key is the VPN name. Whether this network can be accessed from vpn
    name String
    subnet String
    createdTime Number
    disallowMistServices Boolean
    whether to disallow Mist Devices in the network
    gateway String
    gateway6 String
    id String
    internalAccess Property Map
    internetAccess Property Map
    whether this network has direct internet access
    isolation Boolean
    whether to allow clients in the network to talk to each other
    modifiedTime Number
    orgId String
    routedForNetworks List<String>
    for a Network (usually LAN), it can be routable to other networks (e.g. OSPF)
    subnet6 String
    tenants Map<Property Map>
    vlanId String
    vpnAccess Map<Property Map>
    Property key is the VPN name. Whether this network can be accessed from vpn

    GatewayNetworkInternalAccess, GatewayNetworkInternalAccessArgs

    Enabled bool
    Enabled bool
    enabled Boolean
    enabled boolean
    enabled bool
    enabled Boolean

    GatewayNetworkInternetAccess, GatewayNetworkInternetAccessArgs

    CreateSimpleServicePolicy bool
    DestinationNat Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayNetworkInternetAccessDestinationNat>
    Property key may be an IP/Port (i.e. "63.16.0.3:443"), or a port (i.e. ":2222")
    Enabled bool
    Restricted bool
    by default, all access is allowed, to only allow certain traffic, make restricted=true and define service_policies
    StaticNat Dictionary<string, Pulumi.JuniperMist.Device.Inputs.GatewayNetworkInternetAccessStaticNat>
    Property key may be an IP Address (i.e. "172.16.0.1"), and IP Address and Port (i.e. "172.16.0.1:8443") or a CIDR (i.e. "172.16.0.12/20")
    CreateSimpleServicePolicy bool
    DestinationNat map[string]GatewayNetworkInternetAccessDestinationNat
    Property key may be an IP/Port (i.e. "63.16.0.3:443"), or a port (i.e. ":2222")
    Enabled bool
    Restricted bool
    by default, all access is allowed, to only allow certain traffic, make restricted=true and define service_policies
    StaticNat map[string]GatewayNetworkInternetAccessStaticNat
    Property key may be an IP Address (i.e. "172.16.0.1"), and IP Address and Port (i.e. "172.16.0.1:8443") or a CIDR (i.e. "172.16.0.12/20")
    createSimpleServicePolicy Boolean
    destinationNat Map<String,GatewayNetworkInternetAccessDestinationNat>
    Property key may be an IP/Port (i.e. "63.16.0.3:443"), or a port (i.e. ":2222")
    enabled Boolean
    restricted Boolean
    by default, all access is allowed, to only allow certain traffic, make restricted=true and define service_policies
    staticNat Map<String,GatewayNetworkInternetAccessStaticNat>
    Property key may be an IP Address (i.e. "172.16.0.1"), and IP Address and Port (i.e. "172.16.0.1:8443") or a CIDR (i.e. "172.16.0.12/20")
    createSimpleServicePolicy boolean
    destinationNat {[key: string]: GatewayNetworkInternetAccessDestinationNat}
    Property key may be an IP/Port (i.e. "63.16.0.3:443"), or a port (i.e. ":2222")
    enabled boolean
    restricted