1. Packages
  2. Juniper Mist
  3. API Docs
  4. device
  5. Switch
Juniper Mist v0.0.27 published on Friday, Sep 27, 2024 by Pulumi

junipermist.device.Switch

Explore with Pulumi AI

junipermist logo
Juniper Mist v0.0.27 published on Friday, Sep 27, 2024 by Pulumi

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

    Example Usage

    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.junipermist.device.Switch;
    import com.pulumi.junipermist.device.SwitchArgs;
    import com.pulumi.junipermist.device.inputs.SwitchIpConfigArgs;
    import com.pulumi.junipermist.device.inputs.SwitchMistNacArgs;
    import com.pulumi.junipermist.device.inputs.SwitchDhcpdConfigArgs;
    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 switchOne = new Switch("switchOne", SwitchArgs.builder()
                .name("switch_one")
                .deviceId(inventory.devices()[1].id())
                .siteId(inventory.devices()[1].siteId())
                .managed(true)
                .role("test")
                .networks(Map.of("prx", Map.of("vlanId", "18")))
                .portUsages(Map.of("prx", Map.ofEntries(
                    Map.entry("mode", "trunk"),
                    Map.entry("disabled", false),
                    Map.entry("portNetwork", "default"),
                    Map.entry("stpEdge", false),
                    Map.entry("allNetworks", false),
                    Map.entry("networks",                 
                        "default",
                        "prx"),
                    Map.entry("speed", "auto"),
                    Map.entry("duplex", "auto"),
                    Map.entry("macLimit", 0),
                    Map.entry("persistMac", false),
                    Map.entry("poeDisabled", false),
                    Map.entry("enableQos", false),
                    Map.entry("stormControl", ),
                    Map.entry("description", "")
                )))
                .ipConfig(SwitchIpConfigArgs.builder()
                    .type("static")
                    .ip("10.3.18.99")
                    .netmask("255.255.255.0")
                    .network("prx")
                    .gateway("10.3.18.11")
                    .build())
                .portConfig(Map.ofEntries(
                    Map.entry("ge-0/0/0", Map.ofEntries(
                        Map.entry("usage", "prx"),
                        Map.entry("critical", false),
                        Map.entry("noLocalOverwrite", true)
                    )),
                    Map.entry("ge-0/0/11", Map.ofEntries(
                        Map.entry("usage", "default"),
                        Map.entry("portNetwork", "prx"),
                        Map.entry("critical", false)
                    ))
                ))
                .portMirroring(Map.of("test", Map.ofEntries(
                    Map.entry("outputPortId", "ge-0/0/10"),
                    Map.entry("inputPortIdsIngress", "ge-0/0/2"),
                    Map.entry("inputPortIdsEgress", "ge-0/0/2"),
                    Map.entry("inputNetworksIngress", "default")
                )))
                .mistNac(SwitchMistNacArgs.builder()
                    .enabled(true)
                    .build())
                .dhcpdConfig(SwitchDhcpdConfigArgs.builder()
                    .enabled(true)
    %!v(PANIC=Format method: interface conversion: model.Expression is *model.TemplateExpression, not *model.LiteralValueExpression))
                    .build());
    
            }
    }
    
    resources:
      switchOne:
        type: junipermist:device:Switch
        name: switch_one
        properties:
          name: switch_one
          deviceId: ${inventory.devices[1].id}
          siteId: ${inventory.devices[1].siteId}
          managed: true
          role: test
          networks:
            prx:
              vlanId: '18'
          portUsages:
            prx:
              mode: trunk
              disabled: false
              portNetwork: default
              stpEdge: false
              allNetworks: false
              networks:
                - default
                - prx
              speed: auto
              duplex: auto
              macLimit: 0
              persistMac: false
              poeDisabled: false
              enableQos: false
              stormControl: {}
              description:
          ipConfig:
            type: static
            ip: 10.3.18.99
            netmask: 255.255.255.0
            network: prx
            gateway: 10.3.18.11
          portConfig:
            ge-0/0/0:
              usage: prx
              critical: false
              noLocalOverwrite: true
            ge-0/0/11:
              usage: default
              portNetwork: prx
              critical: false
          portMirroring:
            test:
              outputPortId: ge-0/0/10
              inputPortIdsIngress:
                - ge-0/0/2
              inputPortIdsEgress:
                - ge-0/0/2
              inputNetworksIngress:
                - default
          mistNac:
            enabled: true
          dhcpdConfig:
            enabled: true
            prx:
              type: relay
              servers:
                - 1.2.3.4
    

    Create Switch Resource

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

    Constructor syntax

    new Switch(name: string, args: SwitchArgs, opts?: CustomResourceOptions);
    @overload
    def Switch(resource_name: str,
               args: SwitchArgs,
               opts: Optional[ResourceOptions] = None)
    
    @overload
    def Switch(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               device_id: Optional[str] = None,
               site_id: Optional[str] = None,
               extra_routes: Optional[Mapping[str, SwitchExtraRoutesArgs]] = None,
               virtual_chassis: Optional[SwitchVirtualChassisArgs] = None,
               dhcp_snooping: Optional[SwitchDhcpSnoopingArgs] = None,
               dhcpd_config: Optional[SwitchDhcpdConfigArgs] = None,
               disable_auto_config: Optional[bool] = None,
               dns_servers: Optional[Sequence[str]] = None,
               oob_ip_config: Optional[SwitchOobIpConfigArgs] = None,
               evpn_config: Optional[SwitchEvpnConfigArgs] = None,
               acl_policies: Optional[Sequence[SwitchAclPolicyArgs]] = None,
               extra_routes6: Optional[Mapping[str, SwitchExtraRoutes6Args]] = None,
               ip_config: Optional[SwitchIpConfigArgs] = None,
               managed: Optional[bool] = None,
               map_id: Optional[str] = None,
               mist_nac: Optional[SwitchMistNacArgs] = None,
               name: Optional[str] = None,
               networks: Optional[Mapping[str, SwitchNetworksArgs]] = None,
               notes: Optional[str] = None,
               other_ip_configs: Optional[Mapping[str, SwitchOtherIpConfigsArgs]] = None,
               dns_suffixes: Optional[Sequence[str]] = None,
               additional_config_cmds: Optional[Sequence[str]] = None,
               ntp_servers: Optional[Sequence[str]] = None,
               port_config: Optional[Mapping[str, SwitchPortConfigArgs]] = None,
               port_mirroring: Optional[Mapping[str, SwitchPortMirroringArgs]] = None,
               port_usages: Optional[Mapping[str, SwitchPortUsagesArgs]] = None,
               radius_config: Optional[SwitchRadiusConfigArgs] = None,
               remote_syslog: Optional[SwitchRemoteSyslogArgs] = None,
               role: Optional[str] = None,
               router_id: Optional[str] = None,
               acl_tags: Optional[Mapping[str, SwitchAclTagsArgs]] = None,
               snmp_config: Optional[SwitchSnmpConfigArgs] = None,
               stp_config: Optional[SwitchStpConfigArgs] = None,
               switch_mgmt: Optional[SwitchSwitchMgmtArgs] = None,
               use_router_id_as_source_ip: Optional[bool] = None,
               vars: Optional[Mapping[str, str]] = None,
               ospf_areas: Optional[Mapping[str, SwitchOspfAreasArgs]] = None,
               vrf_config: Optional[SwitchVrfConfigArgs] = None,
               vrf_instances: Optional[Mapping[str, SwitchVrfInstancesArgs]] = None,
               vrrp_config: Optional[SwitchVrrpConfigArgs] = None,
               x: Optional[float] = None,
               y: Optional[float] = None)
    func NewSwitch(ctx *Context, name string, args SwitchArgs, opts ...ResourceOption) (*Switch, error)
    public Switch(string name, SwitchArgs args, CustomResourceOptions? opts = null)
    public Switch(String name, SwitchArgs args)
    public Switch(String name, SwitchArgs args, CustomResourceOptions options)
    
    type: junipermist:device:Switch
    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 SwitchArgs
    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 SwitchArgs
    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 SwitchArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args SwitchArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args SwitchArgs
    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 switchResource = new JuniperMist.Device.Switch("switchResource", new()
    {
        DeviceId = "string",
        SiteId = "string",
        ExtraRoutes = 
        {
            { "string", new JuniperMist.Device.Inputs.SwitchExtraRoutesArgs
            {
                Via = "string",
                Discard = false,
                Metric = 0,
                NextQualified = 
                {
                    { "string", new JuniperMist.Device.Inputs.SwitchExtraRoutesNextQualifiedArgs
                    {
                        Metric = 0,
                        Preference = 0,
                    } },
                },
                NoResolve = false,
                Preference = 0,
            } },
        },
        VirtualChassis = new JuniperMist.Device.Inputs.SwitchVirtualChassisArgs
        {
            Members = new[]
            {
                new JuniperMist.Device.Inputs.SwitchVirtualChassisMemberArgs
                {
                    Mac = "string",
                    MemberId = 0,
                    VcRole = "string",
                },
            },
            Preprovisioned = false,
        },
        DhcpSnooping = new JuniperMist.Device.Inputs.SwitchDhcpSnoopingArgs
        {
            AllNetworks = false,
            EnableArpSpoofCheck = false,
            EnableIpSourceGuard = false,
            Enabled = false,
            Networks = new[]
            {
                "string",
            },
        },
        DhcpdConfig = new JuniperMist.Device.Inputs.SwitchDhcpdConfigArgs
        {
            Config = 
            {
                { "string", new JuniperMist.Device.Inputs.SwitchDhcpdConfigConfigArgs
                {
                    DnsServers = new[]
                    {
                        "string",
                    },
                    DnsSuffixes = new[]
                    {
                        "string",
                    },
                    FixedBindings = 
                    {
                        { "string", new JuniperMist.Device.Inputs.SwitchDhcpdConfigConfigFixedBindingsArgs
                        {
                            Ip = "string",
                            Name = "string",
                        } },
                    },
                    Gateway = "string",
                    IpEnd = "string",
                    IpEnd6 = "string",
                    IpStart = "string",
                    IpStart6 = "string",
                    LeaseTime = 0,
                    Options = 
                    {
                        { "string", new JuniperMist.Device.Inputs.SwitchDhcpdConfigConfigOptionsArgs
                        {
                            Type = "string",
                            Value = "string",
                        } },
                    },
                    ServerIdOverride = false,
                    Servers = new[]
                    {
                        "string",
                    },
                    Servers6s = new[]
                    {
                        "string",
                    },
                    Type = "string",
                    Type6 = "string",
                    VendorEncapulated = 
                    {
                        { "string", new JuniperMist.Device.Inputs.SwitchDhcpdConfigConfigVendorEncapulatedArgs
                        {
                            Type = "string",
                            Value = "string",
                        } },
                    },
                } },
            },
            Enabled = false,
        },
        DisableAutoConfig = false,
        DnsServers = new[]
        {
            "string",
        },
        OobIpConfig = new JuniperMist.Device.Inputs.SwitchOobIpConfigArgs
        {
            Gateway = "string",
            Ip = "string",
            Netmask = "string",
            Network = "string",
            Type = "string",
            UseMgmtVrf = false,
            UseMgmtVrfForHostOut = false,
        },
        EvpnConfig = new JuniperMist.Device.Inputs.SwitchEvpnConfigArgs
        {
            Enabled = false,
            Role = "string",
        },
        AclPolicies = new[]
        {
            new JuniperMist.Device.Inputs.SwitchAclPolicyArgs
            {
                Actions = new[]
                {
                    new JuniperMist.Device.Inputs.SwitchAclPolicyActionArgs
                    {
                        DstTag = "string",
                        Action = "string",
                    },
                },
                Name = "string",
                SrcTags = new[]
                {
                    "string",
                },
            },
        },
        ExtraRoutes6 = 
        {
            { "string", new JuniperMist.Device.Inputs.SwitchExtraRoutes6Args
            {
                Via = "string",
                Discard = false,
                Metric = 0,
                NextQualified = 
                {
                    { "string", new JuniperMist.Device.Inputs.SwitchExtraRoutes6NextQualifiedArgs
                    {
                        Metric = 0,
                        Preference = 0,
                    } },
                },
                NoResolve = false,
                Preference = 0,
            } },
        },
        IpConfig = new JuniperMist.Device.Inputs.SwitchIpConfigArgs
        {
            Dns = new[]
            {
                "string",
            },
            DnsSuffixes = new[]
            {
                "string",
            },
            Gateway = "string",
            Ip = "string",
            Netmask = "string",
            Network = "string",
            Type = "string",
        },
        Managed = false,
        MapId = "string",
        MistNac = new JuniperMist.Device.Inputs.SwitchMistNacArgs
        {
            Enabled = false,
            Network = "string",
        },
        Name = "string",
        Networks = 
        {
            { "string", new JuniperMist.Device.Inputs.SwitchNetworksArgs
            {
                VlanId = "string",
                Isolation = false,
                IsolationVlanId = "string",
                Subnet = "string",
            } },
        },
        Notes = "string",
        OtherIpConfigs = 
        {
            { "string", new JuniperMist.Device.Inputs.SwitchOtherIpConfigsArgs
            {
                EvpnAnycast = false,
                Ip = "string",
                Ip6 = "string",
                Netmask = "string",
                Netmask6 = "string",
                Type = "string",
                Type6 = "string",
            } },
        },
        DnsSuffixes = new[]
        {
            "string",
        },
        AdditionalConfigCmds = new[]
        {
            "string",
        },
        NtpServers = new[]
        {
            "string",
        },
        PortConfig = 
        {
            { "string", new JuniperMist.Device.Inputs.SwitchPortConfigArgs
            {
                Usage = "string",
                DisableAutoneg = false,
                DynamicUsage = "string",
                Aggregated = false,
                Critical = false,
                Description = "string",
                AeDisableLacp = false,
                Duplex = "string",
                AeLacpSlow = false,
                Esilag = false,
                Mtu = 0,
                NoLocalOverwrite = false,
                PoeDisabled = false,
                Speed = "string",
                AeIdx = 0,
            } },
        },
        PortMirroring = 
        {
            { "string", new JuniperMist.Device.Inputs.SwitchPortMirroringArgs
            {
                InputNetworksIngresses = new[]
                {
                    "string",
                },
                InputPortIdsEgresses = new[]
                {
                    "string",
                },
                InputPortIdsIngresses = new[]
                {
                    "string",
                },
                OutputNetwork = "string",
                OutputPortId = "string",
            } },
        },
        PortUsages = 
        {
            { "string", new JuniperMist.Device.Inputs.SwitchPortUsagesArgs
            {
                AllNetworks = false,
                AllowDhcpd = false,
                AllowMultipleSupplicants = false,
                BypassAuthWhenServerDown = false,
                BypassAuthWhenServerDownForUnkonwnClient = false,
                Description = "string",
                DisableAutoneg = false,
                Disabled = false,
                Duplex = "string",
                DynamicVlanNetworks = new[]
                {
                    "string",
                },
                EnableMacAuth = false,
                EnableQos = false,
                GuestNetwork = "string",
                InterSwitchLink = false,
                MacAuthOnly = false,
                MacAuthPreferred = false,
                MacAuthProtocol = "string",
                MacLimit = 0,
                Mode = "string",
                Mtu = 0,
                Networks = new[]
                {
                    "string",
                },
                PersistMac = false,
                PoeDisabled = false,
                PortAuth = "string",
                PortNetwork = "string",
                ReauthInterval = 0,
                ResetDefaultWhen = "string",
                Rules = new[]
                {
                    new JuniperMist.Device.Inputs.SwitchPortUsagesRuleArgs
                    {
                        Src = "string",
                        Equals = "string",
                        EqualsAnies = new[]
                        {
                            "string",
                        },
                        Expression = "string",
                        Usage = "string",
                    },
                },
                ServerFailNetwork = "string",
                ServerRejectNetwork = "string",
                Speed = "string",
                StormControl = new JuniperMist.Device.Inputs.SwitchPortUsagesStormControlArgs
                {
                    NoBroadcast = false,
                    NoMulticast = false,
                    NoRegisteredMulticast = false,
                    NoUnknownUnicast = false,
                    Percentage = 0,
                },
                StpEdge = false,
                StpNoRootPort = false,
                StpP2p = false,
                VoipNetwork = "string",
            } },
        },
        RadiusConfig = new JuniperMist.Device.Inputs.SwitchRadiusConfigArgs
        {
            AcctInterimInterval = 0,
            AcctServers = new[]
            {
                new JuniperMist.Device.Inputs.SwitchRadiusConfigAcctServerArgs
                {
                    Host = "string",
                    Secret = "string",
                    KeywrapEnabled = false,
                    KeywrapFormat = "string",
                    KeywrapKek = "string",
                    KeywrapMack = "string",
                    Port = 0,
                },
            },
            AuthServers = new[]
            {
                new JuniperMist.Device.Inputs.SwitchRadiusConfigAuthServerArgs
                {
                    Host = "string",
                    Secret = "string",
                    KeywrapEnabled = false,
                    KeywrapFormat = "string",
                    KeywrapKek = "string",
                    KeywrapMack = "string",
                    Port = 0,
                    RequireMessageAuthenticator = false,
                },
            },
            AuthServersRetries = 0,
            AuthServersTimeout = 0,
            CoaEnabled = false,
            CoaPort = 0,
            Network = "string",
            SourceIp = "string",
        },
        RemoteSyslog = new JuniperMist.Device.Inputs.SwitchRemoteSyslogArgs
        {
            Archive = new JuniperMist.Device.Inputs.SwitchRemoteSyslogArchiveArgs
            {
                Files = 0,
                Size = "string",
            },
            Console = new JuniperMist.Device.Inputs.SwitchRemoteSyslogConsoleArgs
            {
                Contents = new[]
                {
                    new JuniperMist.Device.Inputs.SwitchRemoteSyslogConsoleContentArgs
                    {
                        Facility = "string",
                        Severity = "string",
                    },
                },
            },
            Enabled = false,
            Files = new[]
            {
                new JuniperMist.Device.Inputs.SwitchRemoteSyslogFileArgs
                {
                    Archive = new JuniperMist.Device.Inputs.SwitchRemoteSyslogFileArchiveArgs
                    {
                        Files = 0,
                        Size = "string",
                    },
                    Contents = new[]
                    {
                        new JuniperMist.Device.Inputs.SwitchRemoteSyslogFileContentArgs
                        {
                            Facility = "string",
                            Severity = "string",
                        },
                    },
                    ExplicitPriority = false,
                    File = "string",
                    Match = "string",
                    StructuredData = false,
                },
            },
            Network = "string",
            SendToAllServers = false,
            Servers = new[]
            {
                new JuniperMist.Device.Inputs.SwitchRemoteSyslogServerArgs
                {
                    Contents = new[]
                    {
                        new JuniperMist.Device.Inputs.SwitchRemoteSyslogServerContentArgs
                        {
                            Facility = "string",
                            Severity = "string",
                        },
                    },
                    ExplicitPriority = false,
                    Facility = "string",
                    Host = "string",
                    Match = "string",
                    Port = 0,
                    Protocol = "string",
                    RoutingInstance = "string",
                    Severity = "string",
                    SourceAddress = "string",
                    StructuredData = false,
                    Tag = "string",
                },
            },
            TimeFormat = "string",
            Users = new[]
            {
                new JuniperMist.Device.Inputs.SwitchRemoteSyslogUserArgs
                {
                    Contents = new[]
                    {
                        new JuniperMist.Device.Inputs.SwitchRemoteSyslogUserContentArgs
                        {
                            Facility = "string",
                            Severity = "string",
                        },
                    },
                    Match = "string",
                    User = "string",
                },
            },
        },
        Role = "string",
        RouterId = "string",
        AclTags = 
        {
            { "string", new JuniperMist.Device.Inputs.SwitchAclTagsArgs
            {
                Type = "string",
                GbpTag = 0,
                Macs = new[]
                {
                    "string",
                },
                Network = "string",
                RadiusGroup = "string",
                Specs = new[]
                {
                    new JuniperMist.Device.Inputs.SwitchAclTagsSpecArgs
                    {
                        PortRange = "string",
                        Protocol = "string",
                    },
                },
                Subnets = new[]
                {
                    "string",
                },
            } },
        },
        SnmpConfig = new JuniperMist.Device.Inputs.SwitchSnmpConfigArgs
        {
            ClientLists = new[]
            {
                new JuniperMist.Device.Inputs.SwitchSnmpConfigClientListArgs
                {
                    ClientListName = "string",
                    Clients = new[]
                    {
                        "string",
                    },
                },
            },
            Contact = "string",
            Description = "string",
            Enabled = false,
            EngineId = "string",
            Location = "string",
            Name = "string",
            Network = "string",
            TrapGroups = new[]
            {
                new JuniperMist.Device.Inputs.SwitchSnmpConfigTrapGroupArgs
                {
                    Categories = new[]
                    {
                        "string",
                    },
                    GroupName = "string",
                    Targets = new[]
                    {
                        "string",
                    },
                    Version = "string",
                },
            },
            V2cConfigs = new[]
            {
                new JuniperMist.Device.Inputs.SwitchSnmpConfigV2cConfigArgs
                {
                    Authorization = "string",
                    ClientListName = "string",
                    CommunityName = "string",
                    View = "string",
                },
            },
            V3Config = new JuniperMist.Device.Inputs.SwitchSnmpConfigV3ConfigArgs
            {
                Notifies = new[]
                {
                    new JuniperMist.Device.Inputs.SwitchSnmpConfigV3ConfigNotifyArgs
                    {
                        Name = "string",
                        Tag = "string",
                        Type = "string",
                    },
                },
                NotifyFilters = new[]
                {
                    new JuniperMist.Device.Inputs.SwitchSnmpConfigV3ConfigNotifyFilterArgs
                    {
                        Contents = new[]
                        {
                            new JuniperMist.Device.Inputs.SwitchSnmpConfigV3ConfigNotifyFilterContentArgs
                            {
                                Include = false,
                                Oid = "string",
                            },
                        },
                        ProfileName = "string",
                    },
                },
                TargetAddresses = new[]
                {
                    new JuniperMist.Device.Inputs.SwitchSnmpConfigV3ConfigTargetAddressArgs
                    {
                        Address = "string",
                        AddressMask = "string",
                        Port = 0,
                        TagList = "string",
                        TargetAddressName = "string",
                        TargetParameters = "string",
                    },
                },
                TargetParameters = new[]
                {
                    new JuniperMist.Device.Inputs.SwitchSnmpConfigV3ConfigTargetParameterArgs
                    {
                        MessageProcessingModel = "string",
                        Name = "string",
                        NotifyFilter = "string",
                        SecurityLevel = "string",
                        SecurityModel = "string",
                        SecurityName = "string",
                    },
                },
                Usm = new JuniperMist.Device.Inputs.SwitchSnmpConfigV3ConfigUsmArgs
                {
                    EngineType = "string",
                    Engineid = "string",
                    Users = new[]
                    {
                        new JuniperMist.Device.Inputs.SwitchSnmpConfigV3ConfigUsmUserArgs
                        {
                            AuthenticationPassword = "string",
                            AuthenticationType = "string",
                            EncryptionPassword = "string",
                            EncryptionType = "string",
                            Name = "string",
                        },
                    },
                },
                Vacm = new JuniperMist.Device.Inputs.SwitchSnmpConfigV3ConfigVacmArgs
                {
                    Accesses = new[]
                    {
                        new JuniperMist.Device.Inputs.SwitchSnmpConfigV3ConfigVacmAccessArgs
                        {
                            GroupName = "string",
                            PrefixLists = new[]
                            {
                                new JuniperMist.Device.Inputs.SwitchSnmpConfigV3ConfigVacmAccessPrefixListArgs
                                {
                                    ContextPrefix = "string",
                                    NotifyView = "string",
                                    ReadView = "string",
                                    SecurityLevel = "string",
                                    SecurityModel = "string",
                                    Type = "string",
                                    WriteView = "string",
                                },
                            },
                        },
                    },
                    SecurityToGroup = new JuniperMist.Device.Inputs.SwitchSnmpConfigV3ConfigVacmSecurityToGroupArgs
                    {
                        Contents = new[]
                        {
                            new JuniperMist.Device.Inputs.SwitchSnmpConfigV3ConfigVacmSecurityToGroupContentArgs
                            {
                                Group = "string",
                                SecurityName = "string",
                            },
                        },
                        SecurityModel = "string",
                    },
                },
            },
            Views = new[]
            {
                new JuniperMist.Device.Inputs.SwitchSnmpConfigViewArgs
                {
                    Include = false,
                    Oid = "string",
                    ViewName = "string",
                },
            },
        },
        StpConfig = new JuniperMist.Device.Inputs.SwitchStpConfigArgs
        {
            VstpEnabled = false,
        },
        SwitchMgmt = new JuniperMist.Device.Inputs.SwitchSwitchMgmtArgs
        {
            ApAffinityThreshold = 0,
            CliBanner = "string",
            CliIdleTimeout = 0,
            ConfigRevertTimer = 0,
            DhcpOptionFqdn = false,
            DisableOobDownAlarm = false,
            LocalAccounts = 
            {
                { "string", new JuniperMist.Device.Inputs.SwitchSwitchMgmtLocalAccountsArgs
                {
                    Password = "string",
                    Role = "string",
                } },
            },
            MxedgeProxyHost = "string",
            MxedgeProxyPort = 0,
            ProtectRe = new JuniperMist.Device.Inputs.SwitchSwitchMgmtProtectReArgs
            {
                AllowedServices = new[]
                {
                    "string",
                },
                Customs = new[]
                {
                    new JuniperMist.Device.Inputs.SwitchSwitchMgmtProtectReCustomArgs
                    {
                        Subnets = new[]
                        {
                            "string",
                        },
                        PortRange = "string",
                        Protocol = "string",
                    },
                },
                Enabled = false,
                TrustedHosts = new[]
                {
                    "string",
                },
            },
            RootPassword = "string",
            Tacacs = new JuniperMist.Device.Inputs.SwitchSwitchMgmtTacacsArgs
            {
                AcctServers = new[]
                {
                    new JuniperMist.Device.Inputs.SwitchSwitchMgmtTacacsAcctServerArgs
                    {
                        Host = "string",
                        Port = "string",
                        Secret = "string",
                        Timeout = 0,
                    },
                },
                DefaultRole = "string",
                Enabled = false,
                Network = "string",
                TacplusServers = new[]
                {
                    new JuniperMist.Device.Inputs.SwitchSwitchMgmtTacacsTacplusServerArgs
                    {
                        Host = "string",
                        Port = "string",
                        Secret = "string",
                        Timeout = 0,
                    },
                },
            },
            UseMxedgeProxy = false,
        },
        UseRouterIdAsSourceIp = false,
        Vars = 
        {
            { "string", "string" },
        },
        OspfAreas = 
        {
            { "string", new JuniperMist.Device.Inputs.SwitchOspfAreasArgs
            {
                Networks = 
                {
                    { "string", new JuniperMist.Device.Inputs.SwitchOspfAreasNetworksArgs
                    {
                        AuthKeys = 
                        {
                            { "string", "string" },
                        },
                        AuthPassword = "string",
                        AuthType = "string",
                        BfdMinimumInterval = 0,
                        DeadInterval = 0,
                        ExportPolicy = "string",
                        HelloInterval = 0,
                        ImportPolicy = "string",
                        InterfaceType = "string",
                        Metric = 0,
                        NoReadvertiseToOverlay = false,
                        Passive = false,
                    } },
                },
                IncludeLoopback = false,
                Type = "string",
            } },
        },
        VrfConfig = new JuniperMist.Device.Inputs.SwitchVrfConfigArgs
        {
            Enabled = false,
        },
        VrfInstances = 
        {
            { "string", new JuniperMist.Device.Inputs.SwitchVrfInstancesArgs
            {
                Networks = new[]
                {
                    "string",
                },
                VrfExtraRoutes = 
                {
                    { "string", new JuniperMist.Device.Inputs.SwitchVrfInstancesVrfExtraRoutesArgs
                    {
                        Via = "string",
                    } },
                },
            } },
        },
        VrrpConfig = new JuniperMist.Device.Inputs.SwitchVrrpConfigArgs
        {
            Enabled = false,
            Groups = 
            {
                { "string", new JuniperMist.Device.Inputs.SwitchVrrpConfigGroupsArgs
                {
                    Priority = 0,
                } },
            },
        },
        X = 0,
        Y = 0,
    });
    
    example, err := device.NewSwitch(ctx, "switchResource", &device.SwitchArgs{
    	DeviceId: pulumi.String("string"),
    	SiteId:   pulumi.String("string"),
    	ExtraRoutes: device.SwitchExtraRoutesMap{
    		"string": &device.SwitchExtraRoutesArgs{
    			Via:     pulumi.String("string"),
    			Discard: pulumi.Bool(false),
    			Metric:  pulumi.Int(0),
    			NextQualified: device.SwitchExtraRoutesNextQualifiedMap{
    				"string": &device.SwitchExtraRoutesNextQualifiedArgs{
    					Metric:     pulumi.Int(0),
    					Preference: pulumi.Int(0),
    				},
    			},
    			NoResolve:  pulumi.Bool(false),
    			Preference: pulumi.Int(0),
    		},
    	},
    	VirtualChassis: &device.SwitchVirtualChassisArgs{
    		Members: device.SwitchVirtualChassisMemberArray{
    			&device.SwitchVirtualChassisMemberArgs{
    				Mac:      pulumi.String("string"),
    				MemberId: pulumi.Int(0),
    				VcRole:   pulumi.String("string"),
    			},
    		},
    		Preprovisioned: pulumi.Bool(false),
    	},
    	DhcpSnooping: &device.SwitchDhcpSnoopingArgs{
    		AllNetworks:         pulumi.Bool(false),
    		EnableArpSpoofCheck: pulumi.Bool(false),
    		EnableIpSourceGuard: pulumi.Bool(false),
    		Enabled:             pulumi.Bool(false),
    		Networks: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	DhcpdConfig: &device.SwitchDhcpdConfigArgs{
    		Config: device.SwitchDhcpdConfigConfigMap{
    			"string": &device.SwitchDhcpdConfigConfigArgs{
    				DnsServers: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				DnsSuffixes: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				FixedBindings: device.SwitchDhcpdConfigConfigFixedBindingsMap{
    					"string": &device.SwitchDhcpdConfigConfigFixedBindingsArgs{
    						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.SwitchDhcpdConfigConfigOptionsMap{
    					"string": &device.SwitchDhcpdConfigConfigOptionsArgs{
    						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.SwitchDhcpdConfigConfigVendorEncapulatedMap{
    					"string": &device.SwitchDhcpdConfigConfigVendorEncapulatedArgs{
    						Type:  pulumi.String("string"),
    						Value: pulumi.String("string"),
    					},
    				},
    			},
    		},
    		Enabled: pulumi.Bool(false),
    	},
    	DisableAutoConfig: pulumi.Bool(false),
    	DnsServers: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	OobIpConfig: &device.SwitchOobIpConfigArgs{
    		Gateway:              pulumi.String("string"),
    		Ip:                   pulumi.String("string"),
    		Netmask:              pulumi.String("string"),
    		Network:              pulumi.String("string"),
    		Type:                 pulumi.String("string"),
    		UseMgmtVrf:           pulumi.Bool(false),
    		UseMgmtVrfForHostOut: pulumi.Bool(false),
    	},
    	EvpnConfig: &device.SwitchEvpnConfigArgs{
    		Enabled: pulumi.Bool(false),
    		Role:    pulumi.String("string"),
    	},
    	AclPolicies: device.SwitchAclPolicyArray{
    		&device.SwitchAclPolicyArgs{
    			Actions: device.SwitchAclPolicyActionArray{
    				&device.SwitchAclPolicyActionArgs{
    					DstTag: pulumi.String("string"),
    					Action: pulumi.String("string"),
    				},
    			},
    			Name: pulumi.String("string"),
    			SrcTags: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	ExtraRoutes6: device.SwitchExtraRoutes6Map{
    		"string": &device.SwitchExtraRoutes6Args{
    			Via:     pulumi.String("string"),
    			Discard: pulumi.Bool(false),
    			Metric:  pulumi.Int(0),
    			NextQualified: device.SwitchExtraRoutes6NextQualifiedMap{
    				"string": &device.SwitchExtraRoutes6NextQualifiedArgs{
    					Metric:     pulumi.Int(0),
    					Preference: pulumi.Int(0),
    				},
    			},
    			NoResolve:  pulumi.Bool(false),
    			Preference: pulumi.Int(0),
    		},
    	},
    	IpConfig: &device.SwitchIpConfigArgs{
    		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"),
    		Type:    pulumi.String("string"),
    	},
    	Managed: pulumi.Bool(false),
    	MapId:   pulumi.String("string"),
    	MistNac: &device.SwitchMistNacArgs{
    		Enabled: pulumi.Bool(false),
    		Network: pulumi.String("string"),
    	},
    	Name: pulumi.String("string"),
    	Networks: device.SwitchNetworksMap{
    		"string": &device.SwitchNetworksArgs{
    			VlanId:          pulumi.String("string"),
    			Isolation:       pulumi.Bool(false),
    			IsolationVlanId: pulumi.String("string"),
    			Subnet:          pulumi.String("string"),
    		},
    	},
    	Notes: pulumi.String("string"),
    	OtherIpConfigs: device.SwitchOtherIpConfigsMap{
    		"string": &device.SwitchOtherIpConfigsArgs{
    			EvpnAnycast: pulumi.Bool(false),
    			Ip:          pulumi.String("string"),
    			Ip6:         pulumi.String("string"),
    			Netmask:     pulumi.String("string"),
    			Netmask6:    pulumi.String("string"),
    			Type:        pulumi.String("string"),
    			Type6:       pulumi.String("string"),
    		},
    	},
    	DnsSuffixes: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	AdditionalConfigCmds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	NtpServers: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	PortConfig: device.SwitchPortConfigMap{
    		"string": &device.SwitchPortConfigArgs{
    			Usage:            pulumi.String("string"),
    			DisableAutoneg:   pulumi.Bool(false),
    			DynamicUsage:     pulumi.String("string"),
    			Aggregated:       pulumi.Bool(false),
    			Critical:         pulumi.Bool(false),
    			Description:      pulumi.String("string"),
    			AeDisableLacp:    pulumi.Bool(false),
    			Duplex:           pulumi.String("string"),
    			AeLacpSlow:       pulumi.Bool(false),
    			Esilag:           pulumi.Bool(false),
    			Mtu:              pulumi.Int(0),
    			NoLocalOverwrite: pulumi.Bool(false),
    			PoeDisabled:      pulumi.Bool(false),
    			Speed:            pulumi.String("string"),
    			AeIdx:            pulumi.Int(0),
    		},
    	},
    	PortMirroring: device.SwitchPortMirroringMap{
    		"string": &device.SwitchPortMirroringArgs{
    			InputNetworksIngresses: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			InputPortIdsEgresses: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			InputPortIdsIngresses: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			OutputNetwork: pulumi.String("string"),
    			OutputPortId:  pulumi.String("string"),
    		},
    	},
    	PortUsages: device.SwitchPortUsagesMap{
    		"string": &device.SwitchPortUsagesArgs{
    			AllNetworks:                              pulumi.Bool(false),
    			AllowDhcpd:                               pulumi.Bool(false),
    			AllowMultipleSupplicants:                 pulumi.Bool(false),
    			BypassAuthWhenServerDown:                 pulumi.Bool(false),
    			BypassAuthWhenServerDownForUnkonwnClient: pulumi.Bool(false),
    			Description:                              pulumi.String("string"),
    			DisableAutoneg:                           pulumi.Bool(false),
    			Disabled:                                 pulumi.Bool(false),
    			Duplex:                                   pulumi.String("string"),
    			DynamicVlanNetworks: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			EnableMacAuth:    pulumi.Bool(false),
    			EnableQos:        pulumi.Bool(false),
    			GuestNetwork:     pulumi.String("string"),
    			InterSwitchLink:  pulumi.Bool(false),
    			MacAuthOnly:      pulumi.Bool(false),
    			MacAuthPreferred: pulumi.Bool(false),
    			MacAuthProtocol:  pulumi.String("string"),
    			MacLimit:         pulumi.Int(0),
    			Mode:             pulumi.String("string"),
    			Mtu:              pulumi.Int(0),
    			Networks: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			PersistMac:       pulumi.Bool(false),
    			PoeDisabled:      pulumi.Bool(false),
    			PortAuth:         pulumi.String("string"),
    			PortNetwork:      pulumi.String("string"),
    			ReauthInterval:   pulumi.Int(0),
    			ResetDefaultWhen: pulumi.String("string"),
    			Rules: device.SwitchPortUsagesRuleArray{
    				&device.SwitchPortUsagesRuleArgs{
    					Src:    pulumi.String("string"),
    					Equals: pulumi.String("string"),
    					EqualsAnies: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Expression: pulumi.String("string"),
    					Usage:      pulumi.String("string"),
    				},
    			},
    			ServerFailNetwork:   pulumi.String("string"),
    			ServerRejectNetwork: pulumi.String("string"),
    			Speed:               pulumi.String("string"),
    			StormControl: &device.SwitchPortUsagesStormControlArgs{
    				NoBroadcast:           pulumi.Bool(false),
    				NoMulticast:           pulumi.Bool(false),
    				NoRegisteredMulticast: pulumi.Bool(false),
    				NoUnknownUnicast:      pulumi.Bool(false),
    				Percentage:            pulumi.Int(0),
    			},
    			StpEdge:       pulumi.Bool(false),
    			StpNoRootPort: pulumi.Bool(false),
    			StpP2p:        pulumi.Bool(false),
    			VoipNetwork:   pulumi.String("string"),
    		},
    	},
    	RadiusConfig: &device.SwitchRadiusConfigArgs{
    		AcctInterimInterval: pulumi.Int(0),
    		AcctServers: device.SwitchRadiusConfigAcctServerArray{
    			&device.SwitchRadiusConfigAcctServerArgs{
    				Host:           pulumi.String("string"),
    				Secret:         pulumi.String("string"),
    				KeywrapEnabled: pulumi.Bool(false),
    				KeywrapFormat:  pulumi.String("string"),
    				KeywrapKek:     pulumi.String("string"),
    				KeywrapMack:    pulumi.String("string"),
    				Port:           pulumi.Int(0),
    			},
    		},
    		AuthServers: device.SwitchRadiusConfigAuthServerArray{
    			&device.SwitchRadiusConfigAuthServerArgs{
    				Host:                        pulumi.String("string"),
    				Secret:                      pulumi.String("string"),
    				KeywrapEnabled:              pulumi.Bool(false),
    				KeywrapFormat:               pulumi.String("string"),
    				KeywrapKek:                  pulumi.String("string"),
    				KeywrapMack:                 pulumi.String("string"),
    				Port:                        pulumi.Int(0),
    				RequireMessageAuthenticator: pulumi.Bool(false),
    			},
    		},
    		AuthServersRetries: pulumi.Int(0),
    		AuthServersTimeout: pulumi.Int(0),
    		CoaEnabled:         pulumi.Bool(false),
    		CoaPort:            pulumi.Int(0),
    		Network:            pulumi.String("string"),
    		SourceIp:           pulumi.String("string"),
    	},
    	RemoteSyslog: &device.SwitchRemoteSyslogArgs{
    		Archive: &device.SwitchRemoteSyslogArchiveArgs{
    			Files: pulumi.Int(0),
    			Size:  pulumi.String("string"),
    		},
    		Console: &device.SwitchRemoteSyslogConsoleArgs{
    			Contents: device.SwitchRemoteSyslogConsoleContentArray{
    				&device.SwitchRemoteSyslogConsoleContentArgs{
    					Facility: pulumi.String("string"),
    					Severity: pulumi.String("string"),
    				},
    			},
    		},
    		Enabled: pulumi.Bool(false),
    		Files: device.SwitchRemoteSyslogFileArray{
    			&device.SwitchRemoteSyslogFileArgs{
    				Archive: &device.SwitchRemoteSyslogFileArchiveArgs{
    					Files: pulumi.Int(0),
    					Size:  pulumi.String("string"),
    				},
    				Contents: device.SwitchRemoteSyslogFileContentArray{
    					&device.SwitchRemoteSyslogFileContentArgs{
    						Facility: pulumi.String("string"),
    						Severity: pulumi.String("string"),
    					},
    				},
    				ExplicitPriority: pulumi.Bool(false),
    				File:             pulumi.String("string"),
    				Match:            pulumi.String("string"),
    				StructuredData:   pulumi.Bool(false),
    			},
    		},
    		Network:          pulumi.String("string"),
    		SendToAllServers: pulumi.Bool(false),
    		Servers: device.SwitchRemoteSyslogServerArray{
    			&device.SwitchRemoteSyslogServerArgs{
    				Contents: device.SwitchRemoteSyslogServerContentArray{
    					&device.SwitchRemoteSyslogServerContentArgs{
    						Facility: pulumi.String("string"),
    						Severity: pulumi.String("string"),
    					},
    				},
    				ExplicitPriority: pulumi.Bool(false),
    				Facility:         pulumi.String("string"),
    				Host:             pulumi.String("string"),
    				Match:            pulumi.String("string"),
    				Port:             pulumi.Int(0),
    				Protocol:         pulumi.String("string"),
    				RoutingInstance:  pulumi.String("string"),
    				Severity:         pulumi.String("string"),
    				SourceAddress:    pulumi.String("string"),
    				StructuredData:   pulumi.Bool(false),
    				Tag:              pulumi.String("string"),
    			},
    		},
    		TimeFormat: pulumi.String("string"),
    		Users: device.SwitchRemoteSyslogUserArray{
    			&device.SwitchRemoteSyslogUserArgs{
    				Contents: device.SwitchRemoteSyslogUserContentArray{
    					&device.SwitchRemoteSyslogUserContentArgs{
    						Facility: pulumi.String("string"),
    						Severity: pulumi.String("string"),
    					},
    				},
    				Match: pulumi.String("string"),
    				User:  pulumi.String("string"),
    			},
    		},
    	},
    	Role:     pulumi.String("string"),
    	RouterId: pulumi.String("string"),
    	AclTags: device.SwitchAclTagsMap{
    		"string": &device.SwitchAclTagsArgs{
    			Type:   pulumi.String("string"),
    			GbpTag: pulumi.Int(0),
    			Macs: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Network:     pulumi.String("string"),
    			RadiusGroup: pulumi.String("string"),
    			Specs: device.SwitchAclTagsSpecArray{
    				&device.SwitchAclTagsSpecArgs{
    					PortRange: pulumi.String("string"),
    					Protocol:  pulumi.String("string"),
    				},
    			},
    			Subnets: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	SnmpConfig: &device.SwitchSnmpConfigArgs{
    		ClientLists: device.SwitchSnmpConfigClientListArray{
    			&device.SwitchSnmpConfigClientListArgs{
    				ClientListName: pulumi.String("string"),
    				Clients: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    		Contact:     pulumi.String("string"),
    		Description: pulumi.String("string"),
    		Enabled:     pulumi.Bool(false),
    		EngineId:    pulumi.String("string"),
    		Location:    pulumi.String("string"),
    		Name:        pulumi.String("string"),
    		Network:     pulumi.String("string"),
    		TrapGroups: device.SwitchSnmpConfigTrapGroupArray{
    			&device.SwitchSnmpConfigTrapGroupArgs{
    				Categories: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				GroupName: pulumi.String("string"),
    				Targets: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Version: pulumi.String("string"),
    			},
    		},
    		V2cConfigs: device.SwitchSnmpConfigV2cConfigArray{
    			&device.SwitchSnmpConfigV2cConfigArgs{
    				Authorization:  pulumi.String("string"),
    				ClientListName: pulumi.String("string"),
    				CommunityName:  pulumi.String("string"),
    				View:           pulumi.String("string"),
    			},
    		},
    		V3Config: &device.SwitchSnmpConfigV3ConfigArgs{
    			Notifies: device.SwitchSnmpConfigV3ConfigNotifyArray{
    				&device.SwitchSnmpConfigV3ConfigNotifyArgs{
    					Name: pulumi.String("string"),
    					Tag:  pulumi.String("string"),
    					Type: pulumi.String("string"),
    				},
    			},
    			NotifyFilters: device.SwitchSnmpConfigV3ConfigNotifyFilterArray{
    				&device.SwitchSnmpConfigV3ConfigNotifyFilterArgs{
    					Contents: device.SwitchSnmpConfigV3ConfigNotifyFilterContentArray{
    						&device.SwitchSnmpConfigV3ConfigNotifyFilterContentArgs{
    							Include: pulumi.Bool(false),
    							Oid:     pulumi.String("string"),
    						},
    					},
    					ProfileName: pulumi.String("string"),
    				},
    			},
    			TargetAddresses: device.SwitchSnmpConfigV3ConfigTargetAddressArray{
    				&device.SwitchSnmpConfigV3ConfigTargetAddressArgs{
    					Address:           pulumi.String("string"),
    					AddressMask:       pulumi.String("string"),
    					Port:              pulumi.Int(0),
    					TagList:           pulumi.String("string"),
    					TargetAddressName: pulumi.String("string"),
    					TargetParameters:  pulumi.String("string"),
    				},
    			},
    			TargetParameters: device.SwitchSnmpConfigV3ConfigTargetParameterArray{
    				&device.SwitchSnmpConfigV3ConfigTargetParameterArgs{
    					MessageProcessingModel: pulumi.String("string"),
    					Name:                   pulumi.String("string"),
    					NotifyFilter:           pulumi.String("string"),
    					SecurityLevel:          pulumi.String("string"),
    					SecurityModel:          pulumi.String("string"),
    					SecurityName:           pulumi.String("string"),
    				},
    			},
    			Usm: &device.SwitchSnmpConfigV3ConfigUsmArgs{
    				EngineType: pulumi.String("string"),
    				Engineid:   pulumi.String("string"),
    				Users: device.SwitchSnmpConfigV3ConfigUsmUserArray{
    					&device.SwitchSnmpConfigV3ConfigUsmUserArgs{
    						AuthenticationPassword: pulumi.String("string"),
    						AuthenticationType:     pulumi.String("string"),
    						EncryptionPassword:     pulumi.String("string"),
    						EncryptionType:         pulumi.String("string"),
    						Name:                   pulumi.String("string"),
    					},
    				},
    			},
    			Vacm: &device.SwitchSnmpConfigV3ConfigVacmArgs{
    				Accesses: device.SwitchSnmpConfigV3ConfigVacmAccessArray{
    					&device.SwitchSnmpConfigV3ConfigVacmAccessArgs{
    						GroupName: pulumi.String("string"),
    						PrefixLists: device.SwitchSnmpConfigV3ConfigVacmAccessPrefixListArray{
    							&device.SwitchSnmpConfigV3ConfigVacmAccessPrefixListArgs{
    								ContextPrefix: pulumi.String("string"),
    								NotifyView:    pulumi.String("string"),
    								ReadView:      pulumi.String("string"),
    								SecurityLevel: pulumi.String("string"),
    								SecurityModel: pulumi.String("string"),
    								Type:          pulumi.String("string"),
    								WriteView:     pulumi.String("string"),
    							},
    						},
    					},
    				},
    				SecurityToGroup: &device.SwitchSnmpConfigV3ConfigVacmSecurityToGroupArgs{
    					Contents: device.SwitchSnmpConfigV3ConfigVacmSecurityToGroupContentArray{
    						&device.SwitchSnmpConfigV3ConfigVacmSecurityToGroupContentArgs{
    							Group:        pulumi.String("string"),
    							SecurityName: pulumi.String("string"),
    						},
    					},
    					SecurityModel: pulumi.String("string"),
    				},
    			},
    		},
    		Views: device.SwitchSnmpConfigViewArray{
    			&device.SwitchSnmpConfigViewArgs{
    				Include:  pulumi.Bool(false),
    				Oid:      pulumi.String("string"),
    				ViewName: pulumi.String("string"),
    			},
    		},
    	},
    	StpConfig: &device.SwitchStpConfigArgs{
    		VstpEnabled: pulumi.Bool(false),
    	},
    	SwitchMgmt: &device.SwitchSwitchMgmtArgs{
    		ApAffinityThreshold: pulumi.Int(0),
    		CliBanner:           pulumi.String("string"),
    		CliIdleTimeout:      pulumi.Int(0),
    		ConfigRevertTimer:   pulumi.Int(0),
    		DhcpOptionFqdn:      pulumi.Bool(false),
    		DisableOobDownAlarm: pulumi.Bool(false),
    		LocalAccounts: device.SwitchSwitchMgmtLocalAccountsMap{
    			"string": &device.SwitchSwitchMgmtLocalAccountsArgs{
    				Password: pulumi.String("string"),
    				Role:     pulumi.String("string"),
    			},
    		},
    		MxedgeProxyHost: pulumi.String("string"),
    		MxedgeProxyPort: pulumi.Int(0),
    		ProtectRe: &device.SwitchSwitchMgmtProtectReArgs{
    			AllowedServices: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Customs: device.SwitchSwitchMgmtProtectReCustomArray{
    				&device.SwitchSwitchMgmtProtectReCustomArgs{
    					Subnets: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					PortRange: pulumi.String("string"),
    					Protocol:  pulumi.String("string"),
    				},
    			},
    			Enabled: pulumi.Bool(false),
    			TrustedHosts: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		RootPassword: pulumi.String("string"),
    		Tacacs: &device.SwitchSwitchMgmtTacacsArgs{
    			AcctServers: device.SwitchSwitchMgmtTacacsAcctServerArray{
    				&device.SwitchSwitchMgmtTacacsAcctServerArgs{
    					Host:    pulumi.String("string"),
    					Port:    pulumi.String("string"),
    					Secret:  pulumi.String("string"),
    					Timeout: pulumi.Int(0),
    				},
    			},
    			DefaultRole: pulumi.String("string"),
    			Enabled:     pulumi.Bool(false),
    			Network:     pulumi.String("string"),
    			TacplusServers: device.SwitchSwitchMgmtTacacsTacplusServerArray{
    				&device.SwitchSwitchMgmtTacacsTacplusServerArgs{
    					Host:    pulumi.String("string"),
    					Port:    pulumi.String("string"),
    					Secret:  pulumi.String("string"),
    					Timeout: pulumi.Int(0),
    				},
    			},
    		},
    		UseMxedgeProxy: pulumi.Bool(false),
    	},
    	UseRouterIdAsSourceIp: pulumi.Bool(false),
    	Vars: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	OspfAreas: device.SwitchOspfAreasMap{
    		"string": &device.SwitchOspfAreasArgs{
    			Networks: device.SwitchOspfAreasNetworksMap{
    				"string": &device.SwitchOspfAreasNetworksArgs{
    					AuthKeys: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    					AuthPassword:           pulumi.String("string"),
    					AuthType:               pulumi.String("string"),
    					BfdMinimumInterval:     pulumi.Int(0),
    					DeadInterval:           pulumi.Int(0),
    					ExportPolicy:           pulumi.String("string"),
    					HelloInterval:          pulumi.Int(0),
    					ImportPolicy:           pulumi.String("string"),
    					InterfaceType:          pulumi.String("string"),
    					Metric:                 pulumi.Int(0),
    					NoReadvertiseToOverlay: pulumi.Bool(false),
    					Passive:                pulumi.Bool(false),
    				},
    			},
    			IncludeLoopback: pulumi.Bool(false),
    			Type:            pulumi.String("string"),
    		},
    	},
    	VrfConfig: &device.SwitchVrfConfigArgs{
    		Enabled: pulumi.Bool(false),
    	},
    	VrfInstances: device.SwitchVrfInstancesMap{
    		"string": &device.SwitchVrfInstancesArgs{
    			Networks: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			VrfExtraRoutes: device.SwitchVrfInstancesVrfExtraRoutesMap{
    				"string": &device.SwitchVrfInstancesVrfExtraRoutesArgs{
    					Via: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	VrrpConfig: &device.SwitchVrrpConfigArgs{
    		Enabled: pulumi.Bool(false),
    		Groups: device.SwitchVrrpConfigGroupsMap{
    			"string": &device.SwitchVrrpConfigGroupsArgs{
    				Priority: pulumi.Int(0),
    			},
    		},
    	},
    	X: pulumi.Float64(0),
    	Y: pulumi.Float64(0),
    })
    
    var switchResource = new Switch("switchResource", SwitchArgs.builder()
        .deviceId("string")
        .siteId("string")
        .extraRoutes(Map.of("string", Map.ofEntries(
            Map.entry("via", "string"),
            Map.entry("discard", false),
            Map.entry("metric", 0),
            Map.entry("nextQualified", Map.of("string", Map.ofEntries(
                Map.entry("metric", 0),
                Map.entry("preference", 0)
            ))),
            Map.entry("noResolve", false),
            Map.entry("preference", 0)
        )))
        .virtualChassis(SwitchVirtualChassisArgs.builder()
            .members(SwitchVirtualChassisMemberArgs.builder()
                .mac("string")
                .memberId(0)
                .vcRole("string")
                .build())
            .preprovisioned(false)
            .build())
        .dhcpSnooping(SwitchDhcpSnoopingArgs.builder()
            .allNetworks(false)
            .enableArpSpoofCheck(false)
            .enableIpSourceGuard(false)
            .enabled(false)
            .networks("string")
            .build())
        .dhcpdConfig(SwitchDhcpdConfigArgs.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())
        .disableAutoConfig(false)
        .dnsServers("string")
        .oobIpConfig(SwitchOobIpConfigArgs.builder()
            .gateway("string")
            .ip("string")
            .netmask("string")
            .network("string")
            .type("string")
            .useMgmtVrf(false)
            .useMgmtVrfForHostOut(false)
            .build())
        .evpnConfig(SwitchEvpnConfigArgs.builder()
            .enabled(false)
            .role("string")
            .build())
        .aclPolicies(SwitchAclPolicyArgs.builder()
            .actions(SwitchAclPolicyActionArgs.builder()
                .dstTag("string")
                .action("string")
                .build())
            .name("string")
            .srcTags("string")
            .build())
        .extraRoutes6(Map.of("string", Map.ofEntries(
            Map.entry("via", "string"),
            Map.entry("discard", false),
            Map.entry("metric", 0),
            Map.entry("nextQualified", Map.of("string", Map.ofEntries(
                Map.entry("metric", 0),
                Map.entry("preference", 0)
            ))),
            Map.entry("noResolve", false),
            Map.entry("preference", 0)
        )))
        .ipConfig(SwitchIpConfigArgs.builder()
            .dns("string")
            .dnsSuffixes("string")
            .gateway("string")
            .ip("string")
            .netmask("string")
            .network("string")
            .type("string")
            .build())
        .managed(false)
        .mapId("string")
        .mistNac(SwitchMistNacArgs.builder()
            .enabled(false)
            .network("string")
            .build())
        .name("string")
        .networks(Map.of("string", Map.ofEntries(
            Map.entry("vlanId", "string"),
            Map.entry("isolation", false),
            Map.entry("isolationVlanId", "string"),
            Map.entry("subnet", "string")
        )))
        .notes("string")
        .otherIpConfigs(Map.of("string", Map.ofEntries(
            Map.entry("evpnAnycast", false),
            Map.entry("ip", "string"),
            Map.entry("ip6", "string"),
            Map.entry("netmask", "string"),
            Map.entry("netmask6", "string"),
            Map.entry("type", "string"),
            Map.entry("type6", "string")
        )))
        .dnsSuffixes("string")
        .additionalConfigCmds("string")
        .ntpServers("string")
        .portConfig(Map.of("string", Map.ofEntries(
            Map.entry("usage", "string"),
            Map.entry("disableAutoneg", false),
            Map.entry("dynamicUsage", "string"),
            Map.entry("aggregated", false),
            Map.entry("critical", false),
            Map.entry("description", "string"),
            Map.entry("aeDisableLacp", false),
            Map.entry("duplex", "string"),
            Map.entry("aeLacpSlow", false),
            Map.entry("esilag", false),
            Map.entry("mtu", 0),
            Map.entry("noLocalOverwrite", false),
            Map.entry("poeDisabled", false),
            Map.entry("speed", "string"),
            Map.entry("aeIdx", 0)
        )))
        .portMirroring(Map.of("string", Map.ofEntries(
            Map.entry("inputNetworksIngresses", "string"),
            Map.entry("inputPortIdsEgresses", "string"),
            Map.entry("inputPortIdsIngresses", "string"),
            Map.entry("outputNetwork", "string"),
            Map.entry("outputPortId", "string")
        )))
        .portUsages(Map.of("string", Map.ofEntries(
            Map.entry("allNetworks", false),
            Map.entry("allowDhcpd", false),
            Map.entry("allowMultipleSupplicants", false),
            Map.entry("bypassAuthWhenServerDown", false),
            Map.entry("bypassAuthWhenServerDownForUnkonwnClient", false),
            Map.entry("description", "string"),
            Map.entry("disableAutoneg", false),
            Map.entry("disabled", false),
            Map.entry("duplex", "string"),
            Map.entry("dynamicVlanNetworks", "string"),
            Map.entry("enableMacAuth", false),
            Map.entry("enableQos", false),
            Map.entry("guestNetwork", "string"),
            Map.entry("interSwitchLink", false),
            Map.entry("macAuthOnly", false),
            Map.entry("macAuthPreferred", false),
            Map.entry("macAuthProtocol", "string"),
            Map.entry("macLimit", 0),
            Map.entry("mode", "string"),
            Map.entry("mtu", 0),
            Map.entry("networks", "string"),
            Map.entry("persistMac", false),
            Map.entry("poeDisabled", false),
            Map.entry("portAuth", "string"),
            Map.entry("portNetwork", "string"),
            Map.entry("reauthInterval", 0),
            Map.entry("resetDefaultWhen", "string"),
            Map.entry("rules", Map.ofEntries(
                Map.entry("src", "string"),
                Map.entry("equals", "string"),
                Map.entry("equalsAnies", "string"),
                Map.entry("expression", "string"),
                Map.entry("usage", "string")
            )),
            Map.entry("serverFailNetwork", "string"),
            Map.entry("serverRejectNetwork", "string"),
            Map.entry("speed", "string"),
            Map.entry("stormControl", Map.ofEntries(
                Map.entry("noBroadcast", false),
                Map.entry("noMulticast", false),
                Map.entry("noRegisteredMulticast", false),
                Map.entry("noUnknownUnicast", false),
                Map.entry("percentage", 0)
            )),
            Map.entry("stpEdge", false),
            Map.entry("stpNoRootPort", false),
            Map.entry("stpP2p", false),
            Map.entry("voipNetwork", "string")
        )))
        .radiusConfig(SwitchRadiusConfigArgs.builder()
            .acctInterimInterval(0)
            .acctServers(SwitchRadiusConfigAcctServerArgs.builder()
                .host("string")
                .secret("string")
                .keywrapEnabled(false)
                .keywrapFormat("string")
                .keywrapKek("string")
                .keywrapMack("string")
                .port(0)
                .build())
            .authServers(SwitchRadiusConfigAuthServerArgs.builder()
                .host("string")
                .secret("string")
                .keywrapEnabled(false)
                .keywrapFormat("string")
                .keywrapKek("string")
                .keywrapMack("string")
                .port(0)
                .requireMessageAuthenticator(false)
                .build())
            .authServersRetries(0)
            .authServersTimeout(0)
            .coaEnabled(false)
            .coaPort(0)
            .network("string")
            .sourceIp("string")
            .build())
        .remoteSyslog(SwitchRemoteSyslogArgs.builder()
            .archive(SwitchRemoteSyslogArchiveArgs.builder()
                .files(0)
                .size("string")
                .build())
            .console(SwitchRemoteSyslogConsoleArgs.builder()
                .contents(SwitchRemoteSyslogConsoleContentArgs.builder()
                    .facility("string")
                    .severity("string")
                    .build())
                .build())
            .enabled(false)
            .files(SwitchRemoteSyslogFileArgs.builder()
                .archive(SwitchRemoteSyslogFileArchiveArgs.builder()
                    .files(0)
                    .size("string")
                    .build())
                .contents(SwitchRemoteSyslogFileContentArgs.builder()
                    .facility("string")
                    .severity("string")
                    .build())
                .explicitPriority(false)
                .file("string")
                .match("string")
                .structuredData(false)
                .build())
            .network("string")
            .sendToAllServers(false)
            .servers(SwitchRemoteSyslogServerArgs.builder()
                .contents(SwitchRemoteSyslogServerContentArgs.builder()
                    .facility("string")
                    .severity("string")
                    .build())
                .explicitPriority(false)
                .facility("string")
                .host("string")
                .match("string")
                .port(0)
                .protocol("string")
                .routingInstance("string")
                .severity("string")
                .sourceAddress("string")
                .structuredData(false)
                .tag("string")
                .build())
            .timeFormat("string")
            .users(SwitchRemoteSyslogUserArgs.builder()
                .contents(SwitchRemoteSyslogUserContentArgs.builder()
                    .facility("string")
                    .severity("string")
                    .build())
                .match("string")
                .user("string")
                .build())
            .build())
        .role("string")
        .routerId("string")
        .aclTags(Map.of("string", Map.ofEntries(
            Map.entry("type", "string"),
            Map.entry("gbpTag", 0),
            Map.entry("macs", "string"),
            Map.entry("network", "string"),
            Map.entry("radiusGroup", "string"),
            Map.entry("specs", Map.ofEntries(
                Map.entry("portRange", "string"),
                Map.entry("protocol", "string")
            )),
            Map.entry("subnets", "string")
        )))
        .snmpConfig(SwitchSnmpConfigArgs.builder()
            .clientLists(SwitchSnmpConfigClientListArgs.builder()
                .clientListName("string")
                .clients("string")
                .build())
            .contact("string")
            .description("string")
            .enabled(false)
            .engineId("string")
            .location("string")
            .name("string")
            .network("string")
            .trapGroups(SwitchSnmpConfigTrapGroupArgs.builder()
                .categories("string")
                .groupName("string")
                .targets("string")
                .version("string")
                .build())
            .v2cConfigs(SwitchSnmpConfigV2cConfigArgs.builder()
                .authorization("string")
                .clientListName("string")
                .communityName("string")
                .view("string")
                .build())
            .v3Config(SwitchSnmpConfigV3ConfigArgs.builder()
                .notifies(SwitchSnmpConfigV3ConfigNotifyArgs.builder()
                    .name("string")
                    .tag("string")
                    .type("string")
                    .build())
                .notifyFilters(SwitchSnmpConfigV3ConfigNotifyFilterArgs.builder()
                    .contents(SwitchSnmpConfigV3ConfigNotifyFilterContentArgs.builder()
                        .include(false)
                        .oid("string")
                        .build())
                    .profileName("string")
                    .build())
                .targetAddresses(SwitchSnmpConfigV3ConfigTargetAddressArgs.builder()
                    .address("string")
                    .addressMask("string")
                    .port(0)
                    .tagList("string")
                    .targetAddressName("string")
                    .targetParameters("string")
                    .build())
                .targetParameters(SwitchSnmpConfigV3ConfigTargetParameterArgs.builder()
                    .messageProcessingModel("string")
                    .name("string")
                    .notifyFilter("string")
                    .securityLevel("string")
                    .securityModel("string")
                    .securityName("string")
                    .build())
                .usm(SwitchSnmpConfigV3ConfigUsmArgs.builder()
                    .engineType("string")
                    .engineid("string")
                    .users(SwitchSnmpConfigV3ConfigUsmUserArgs.builder()
                        .authenticationPassword("string")
                        .authenticationType("string")
                        .encryptionPassword("string")
                        .encryptionType("string")
                        .name("string")
                        .build())
                    .build())
                .vacm(SwitchSnmpConfigV3ConfigVacmArgs.builder()
                    .accesses(SwitchSnmpConfigV3ConfigVacmAccessArgs.builder()
                        .groupName("string")
                        .prefixLists(SwitchSnmpConfigV3ConfigVacmAccessPrefixListArgs.builder()
                            .contextPrefix("string")
                            .notifyView("string")
                            .readView("string")
                            .securityLevel("string")
                            .securityModel("string")
                            .type("string")
                            .writeView("string")
                            .build())
                        .build())
                    .securityToGroup(SwitchSnmpConfigV3ConfigVacmSecurityToGroupArgs.builder()
                        .contents(SwitchSnmpConfigV3ConfigVacmSecurityToGroupContentArgs.builder()
                            .group("string")
                            .securityName("string")
                            .build())
                        .securityModel("string")
                        .build())
                    .build())
                .build())
            .views(SwitchSnmpConfigViewArgs.builder()
                .include(false)
                .oid("string")
                .viewName("string")
                .build())
            .build())
        .stpConfig(SwitchStpConfigArgs.builder()
            .vstpEnabled(false)
            .build())
        .switchMgmt(SwitchSwitchMgmtArgs.builder()
            .apAffinityThreshold(0)
            .cliBanner("string")
            .cliIdleTimeout(0)
            .configRevertTimer(0)
            .dhcpOptionFqdn(false)
            .disableOobDownAlarm(false)
            .localAccounts(Map.of("string", Map.ofEntries(
                Map.entry("password", "string"),
                Map.entry("role", "string")
            )))
            .mxedgeProxyHost("string")
            .mxedgeProxyPort(0)
            .protectRe(SwitchSwitchMgmtProtectReArgs.builder()
                .allowedServices("string")
                .customs(SwitchSwitchMgmtProtectReCustomArgs.builder()
                    .subnets("string")
                    .portRange("string")
                    .protocol("string")
                    .build())
                .enabled(false)
                .trustedHosts("string")
                .build())
            .rootPassword("string")
            .tacacs(SwitchSwitchMgmtTacacsArgs.builder()
                .acctServers(SwitchSwitchMgmtTacacsAcctServerArgs.builder()
                    .host("string")
                    .port("string")
                    .secret("string")
                    .timeout(0)
                    .build())
                .defaultRole("string")
                .enabled(false)
                .network("string")
                .tacplusServers(SwitchSwitchMgmtTacacsTacplusServerArgs.builder()
                    .host("string")
                    .port("string")
                    .secret("string")
                    .timeout(0)
                    .build())
                .build())
            .useMxedgeProxy(false)
            .build())
        .useRouterIdAsSourceIp(false)
        .vars(Map.of("string", "string"))
        .ospfAreas(Map.of("string", Map.ofEntries(
            Map.entry("networks", Map.of("string", Map.ofEntries(
                Map.entry("authKeys", Map.of("string", "string")),
                Map.entry("authPassword", "string"),
                Map.entry("authType", "string"),
                Map.entry("bfdMinimumInterval", 0),
                Map.entry("deadInterval", 0),
                Map.entry("exportPolicy", "string"),
                Map.entry("helloInterval", 0),
                Map.entry("importPolicy", "string"),
                Map.entry("interfaceType", "string"),
                Map.entry("metric", 0),
                Map.entry("noReadvertiseToOverlay", false),
                Map.entry("passive", false)
            ))),
            Map.entry("includeLoopback", false),
            Map.entry("type", "string")
        )))
        .vrfConfig(SwitchVrfConfigArgs.builder()
            .enabled(false)
            .build())
        .vrfInstances(Map.of("string", Map.ofEntries(
            Map.entry("networks", "string"),
            Map.entry("vrfExtraRoutes", Map.of("string", Map.of("via", "string")))
        )))
        .vrrpConfig(SwitchVrrpConfigArgs.builder()
            .enabled(false)
            .groups(Map.of("string", Map.of("priority", 0)))
            .build())
        .x(0)
        .y(0)
        .build());
    
    switch_resource = junipermist.device.Switch("switchResource",
        device_id="string",
        site_id="string",
        extra_routes={
            "string": junipermist.device.SwitchExtraRoutesArgs(
                via="string",
                discard=False,
                metric=0,
                next_qualified={
                    "string": junipermist.device.SwitchExtraRoutesNextQualifiedArgs(
                        metric=0,
                        preference=0,
                    ),
                },
                no_resolve=False,
                preference=0,
            ),
        },
        virtual_chassis=junipermist.device.SwitchVirtualChassisArgs(
            members=[junipermist.device.SwitchVirtualChassisMemberArgs(
                mac="string",
                member_id=0,
                vc_role="string",
            )],
            preprovisioned=False,
        ),
        dhcp_snooping=junipermist.device.SwitchDhcpSnoopingArgs(
            all_networks=False,
            enable_arp_spoof_check=False,
            enable_ip_source_guard=False,
            enabled=False,
            networks=["string"],
        ),
        dhcpd_config=junipermist.device.SwitchDhcpdConfigArgs(
            config={
                "string": junipermist.device.SwitchDhcpdConfigConfigArgs(
                    dns_servers=["string"],
                    dns_suffixes=["string"],
                    fixed_bindings={
                        "string": junipermist.device.SwitchDhcpdConfigConfigFixedBindingsArgs(
                            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.SwitchDhcpdConfigConfigOptionsArgs(
                            type="string",
                            value="string",
                        ),
                    },
                    server_id_override=False,
                    servers=["string"],
                    servers6s=["string"],
                    type="string",
                    type6="string",
                    vendor_encapulated={
                        "string": junipermist.device.SwitchDhcpdConfigConfigVendorEncapulatedArgs(
                            type="string",
                            value="string",
                        ),
                    },
                ),
            },
            enabled=False,
        ),
        disable_auto_config=False,
        dns_servers=["string"],
        oob_ip_config=junipermist.device.SwitchOobIpConfigArgs(
            gateway="string",
            ip="string",
            netmask="string",
            network="string",
            type="string",
            use_mgmt_vrf=False,
            use_mgmt_vrf_for_host_out=False,
        ),
        evpn_config=junipermist.device.SwitchEvpnConfigArgs(
            enabled=False,
            role="string",
        ),
        acl_policies=[junipermist.device.SwitchAclPolicyArgs(
            actions=[junipermist.device.SwitchAclPolicyActionArgs(
                dst_tag="string",
                action="string",
            )],
            name="string",
            src_tags=["string"],
        )],
        extra_routes6={
            "string": junipermist.device.SwitchExtraRoutes6Args(
                via="string",
                discard=False,
                metric=0,
                next_qualified={
                    "string": junipermist.device.SwitchExtraRoutes6NextQualifiedArgs(
                        metric=0,
                        preference=0,
                    ),
                },
                no_resolve=False,
                preference=0,
            ),
        },
        ip_config=junipermist.device.SwitchIpConfigArgs(
            dns=["string"],
            dns_suffixes=["string"],
            gateway="string",
            ip="string",
            netmask="string",
            network="string",
            type="string",
        ),
        managed=False,
        map_id="string",
        mist_nac=junipermist.device.SwitchMistNacArgs(
            enabled=False,
            network="string",
        ),
        name="string",
        networks={
            "string": junipermist.device.SwitchNetworksArgs(
                vlan_id="string",
                isolation=False,
                isolation_vlan_id="string",
                subnet="string",
            ),
        },
        notes="string",
        other_ip_configs={
            "string": junipermist.device.SwitchOtherIpConfigsArgs(
                evpn_anycast=False,
                ip="string",
                ip6="string",
                netmask="string",
                netmask6="string",
                type="string",
                type6="string",
            ),
        },
        dns_suffixes=["string"],
        additional_config_cmds=["string"],
        ntp_servers=["string"],
        port_config={
            "string": junipermist.device.SwitchPortConfigArgs(
                usage="string",
                disable_autoneg=False,
                dynamic_usage="string",
                aggregated=False,
                critical=False,
                description="string",
                ae_disable_lacp=False,
                duplex="string",
                ae_lacp_slow=False,
                esilag=False,
                mtu=0,
                no_local_overwrite=False,
                poe_disabled=False,
                speed="string",
                ae_idx=0,
            ),
        },
        port_mirroring={
            "string": junipermist.device.SwitchPortMirroringArgs(
                input_networks_ingresses=["string"],
                input_port_ids_egresses=["string"],
                input_port_ids_ingresses=["string"],
                output_network="string",
                output_port_id="string",
            ),
        },
        port_usages={
            "string": junipermist.device.SwitchPortUsagesArgs(
                all_networks=False,
                allow_dhcpd=False,
                allow_multiple_supplicants=False,
                bypass_auth_when_server_down=False,
                bypass_auth_when_server_down_for_unkonwn_client=False,
                description="string",
                disable_autoneg=False,
                disabled=False,
                duplex="string",
                dynamic_vlan_networks=["string"],
                enable_mac_auth=False,
                enable_qos=False,
                guest_network="string",
                inter_switch_link=False,
                mac_auth_only=False,
                mac_auth_preferred=False,
                mac_auth_protocol="string",
                mac_limit=0,
                mode="string",
                mtu=0,
                networks=["string"],
                persist_mac=False,
                poe_disabled=False,
                port_auth="string",
                port_network="string",
                reauth_interval=0,
                reset_default_when="string",
                rules=[junipermist.device.SwitchPortUsagesRuleArgs(
                    src="string",
                    equals="string",
                    equals_anies=["string"],
                    expression="string",
                    usage="string",
                )],
                server_fail_network="string",
                server_reject_network="string",
                speed="string",
                storm_control=junipermist.device.SwitchPortUsagesStormControlArgs(
                    no_broadcast=False,
                    no_multicast=False,
                    no_registered_multicast=False,
                    no_unknown_unicast=False,
                    percentage=0,
                ),
                stp_edge=False,
                stp_no_root_port=False,
                stp_p2p=False,
                voip_network="string",
            ),
        },
        radius_config=junipermist.device.SwitchRadiusConfigArgs(
            acct_interim_interval=0,
            acct_servers=[junipermist.device.SwitchRadiusConfigAcctServerArgs(
                host="string",
                secret="string",
                keywrap_enabled=False,
                keywrap_format="string",
                keywrap_kek="string",
                keywrap_mack="string",
                port=0,
            )],
            auth_servers=[junipermist.device.SwitchRadiusConfigAuthServerArgs(
                host="string",
                secret="string",
                keywrap_enabled=False,
                keywrap_format="string",
                keywrap_kek="string",
                keywrap_mack="string",
                port=0,
                require_message_authenticator=False,
            )],
            auth_servers_retries=0,
            auth_servers_timeout=0,
            coa_enabled=False,
            coa_port=0,
            network="string",
            source_ip="string",
        ),
        remote_syslog=junipermist.device.SwitchRemoteSyslogArgs(
            archive=junipermist.device.SwitchRemoteSyslogArchiveArgs(
                files=0,
                size="string",
            ),
            console=junipermist.device.SwitchRemoteSyslogConsoleArgs(
                contents=[junipermist.device.SwitchRemoteSyslogConsoleContentArgs(
                    facility="string",
                    severity="string",
                )],
            ),
            enabled=False,
            files=[junipermist.device.SwitchRemoteSyslogFileArgs(
                archive=junipermist.device.SwitchRemoteSyslogFileArchiveArgs(
                    files=0,
                    size="string",
                ),
                contents=[junipermist.device.SwitchRemoteSyslogFileContentArgs(
                    facility="string",
                    severity="string",
                )],
                explicit_priority=False,
                file="string",
                match="string",
                structured_data=False,
            )],
            network="string",
            send_to_all_servers=False,
            servers=[junipermist.device.SwitchRemoteSyslogServerArgs(
                contents=[junipermist.device.SwitchRemoteSyslogServerContentArgs(
                    facility="string",
                    severity="string",
                )],
                explicit_priority=False,
                facility="string",
                host="string",
                match="string",
                port=0,
                protocol="string",
                routing_instance="string",
                severity="string",
                source_address="string",
                structured_data=False,
                tag="string",
            )],
            time_format="string",
            users=[junipermist.device.SwitchRemoteSyslogUserArgs(
                contents=[junipermist.device.SwitchRemoteSyslogUserContentArgs(
                    facility="string",
                    severity="string",
                )],
                match="string",
                user="string",
            )],
        ),
        role="string",
        router_id="string",
        acl_tags={
            "string": junipermist.device.SwitchAclTagsArgs(
                type="string",
                gbp_tag=0,
                macs=["string"],
                network="string",
                radius_group="string",
                specs=[junipermist.device.SwitchAclTagsSpecArgs(
                    port_range="string",
                    protocol="string",
                )],
                subnets=["string"],
            ),
        },
        snmp_config=junipermist.device.SwitchSnmpConfigArgs(
            client_lists=[junipermist.device.SwitchSnmpConfigClientListArgs(
                client_list_name="string",
                clients=["string"],
            )],
            contact="string",
            description="string",
            enabled=False,
            engine_id="string",
            location="string",
            name="string",
            network="string",
            trap_groups=[junipermist.device.SwitchSnmpConfigTrapGroupArgs(
                categories=["string"],
                group_name="string",
                targets=["string"],
                version="string",
            )],
            v2c_configs=[junipermist.device.SwitchSnmpConfigV2cConfigArgs(
                authorization="string",
                client_list_name="string",
                community_name="string",
                view="string",
            )],
            v3_config=junipermist.device.SwitchSnmpConfigV3ConfigArgs(
                notifies=[junipermist.device.SwitchSnmpConfigV3ConfigNotifyArgs(
                    name="string",
                    tag="string",
                    type="string",
                )],
                notify_filters=[junipermist.device.SwitchSnmpConfigV3ConfigNotifyFilterArgs(
                    contents=[junipermist.device.SwitchSnmpConfigV3ConfigNotifyFilterContentArgs(
                        include=False,
                        oid="string",
                    )],
                    profile_name="string",
                )],
                target_addresses=[junipermist.device.SwitchSnmpConfigV3ConfigTargetAddressArgs(
                    address="string",
                    address_mask="string",
                    port=0,
                    tag_list="string",
                    target_address_name="string",
                    target_parameters="string",
                )],
                target_parameters=[junipermist.device.SwitchSnmpConfigV3ConfigTargetParameterArgs(
                    message_processing_model="string",
                    name="string",
                    notify_filter="string",
                    security_level="string",
                    security_model="string",
                    security_name="string",
                )],
                usm=junipermist.device.SwitchSnmpConfigV3ConfigUsmArgs(
                    engine_type="string",
                    engineid="string",
                    users=[junipermist.device.SwitchSnmpConfigV3ConfigUsmUserArgs(
                        authentication_password="string",
                        authentication_type="string",
                        encryption_password="string",
                        encryption_type="string",
                        name="string",
                    )],
                ),
                vacm=junipermist.device.SwitchSnmpConfigV3ConfigVacmArgs(
                    accesses=[junipermist.device.SwitchSnmpConfigV3ConfigVacmAccessArgs(
                        group_name="string",
                        prefix_lists=[junipermist.device.SwitchSnmpConfigV3ConfigVacmAccessPrefixListArgs(
                            context_prefix="string",
                            notify_view="string",
                            read_view="string",
                            security_level="string",
                            security_model="string",
                            type="string",
                            write_view="string",
                        )],
                    )],
                    security_to_group=junipermist.device.SwitchSnmpConfigV3ConfigVacmSecurityToGroupArgs(
                        contents=[junipermist.device.SwitchSnmpConfigV3ConfigVacmSecurityToGroupContentArgs(
                            group="string",
                            security_name="string",
                        )],
                        security_model="string",
                    ),
                ),
            ),
            views=[junipermist.device.SwitchSnmpConfigViewArgs(
                include=False,
                oid="string",
                view_name="string",
            )],
        ),
        stp_config=junipermist.device.SwitchStpConfigArgs(
            vstp_enabled=False,
        ),
        switch_mgmt=junipermist.device.SwitchSwitchMgmtArgs(
            ap_affinity_threshold=0,
            cli_banner="string",
            cli_idle_timeout=0,
            config_revert_timer=0,
            dhcp_option_fqdn=False,
            disable_oob_down_alarm=False,
            local_accounts={
                "string": junipermist.device.SwitchSwitchMgmtLocalAccountsArgs(
                    password="string",
                    role="string",
                ),
            },
            mxedge_proxy_host="string",
            mxedge_proxy_port=0,
            protect_re=junipermist.device.SwitchSwitchMgmtProtectReArgs(
                allowed_services=["string"],
                customs=[junipermist.device.SwitchSwitchMgmtProtectReCustomArgs(
                    subnets=["string"],
                    port_range="string",
                    protocol="string",
                )],
                enabled=False,
                trusted_hosts=["string"],
            ),
            root_password="string",
            tacacs=junipermist.device.SwitchSwitchMgmtTacacsArgs(
                acct_servers=[junipermist.device.SwitchSwitchMgmtTacacsAcctServerArgs(
                    host="string",
                    port="string",
                    secret="string",
                    timeout=0,
                )],
                default_role="string",
                enabled=False,
                network="string",
                tacplus_servers=[junipermist.device.SwitchSwitchMgmtTacacsTacplusServerArgs(
                    host="string",
                    port="string",
                    secret="string",
                    timeout=0,
                )],
            ),
            use_mxedge_proxy=False,
        ),
        use_router_id_as_source_ip=False,
        vars={
            "string": "string",
        },
        ospf_areas={
            "string": junipermist.device.SwitchOspfAreasArgs(
                networks={
                    "string": junipermist.device.SwitchOspfAreasNetworksArgs(
                        auth_keys={
                            "string": "string",
                        },
                        auth_password="string",
                        auth_type="string",
                        bfd_minimum_interval=0,
                        dead_interval=0,
                        export_policy="string",
                        hello_interval=0,
                        import_policy="string",
                        interface_type="string",
                        metric=0,
                        no_readvertise_to_overlay=False,
                        passive=False,
                    ),
                },
                include_loopback=False,
                type="string",
            ),
        },
        vrf_config=junipermist.device.SwitchVrfConfigArgs(
            enabled=False,
        ),
        vrf_instances={
            "string": junipermist.device.SwitchVrfInstancesArgs(
                networks=["string"],
                vrf_extra_routes={
                    "string": junipermist.device.SwitchVrfInstancesVrfExtraRoutesArgs(
                        via="string",
                    ),
                },
            ),
        },
        vrrp_config=junipermist.device.SwitchVrrpConfigArgs(
            enabled=False,
            groups={
                "string": junipermist.device.SwitchVrrpConfigGroupsArgs(
                    priority=0,
                ),
            },
        ),
        x=0,
        y=0)
    
    const switchResource = new junipermist.device.Switch("switchResource", {
        deviceId: "string",
        siteId: "string",
        extraRoutes: {
            string: {
                via: "string",
                discard: false,
                metric: 0,
                nextQualified: {
                    string: {
                        metric: 0,
                        preference: 0,
                    },
                },
                noResolve: false,
                preference: 0,
            },
        },
        virtualChassis: {
            members: [{
                mac: "string",
                memberId: 0,
                vcRole: "string",
            }],
            preprovisioned: false,
        },
        dhcpSnooping: {
            allNetworks: false,
            enableArpSpoofCheck: false,
            enableIpSourceGuard: false,
            enabled: false,
            networks: ["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,
        },
        disableAutoConfig: false,
        dnsServers: ["string"],
        oobIpConfig: {
            gateway: "string",
            ip: "string",
            netmask: "string",
            network: "string",
            type: "string",
            useMgmtVrf: false,
            useMgmtVrfForHostOut: false,
        },
        evpnConfig: {
            enabled: false,
            role: "string",
        },
        aclPolicies: [{
            actions: [{
                dstTag: "string",
                action: "string",
            }],
            name: "string",
            srcTags: ["string"],
        }],
        extraRoutes6: {
            string: {
                via: "string",
                discard: false,
                metric: 0,
                nextQualified: {
                    string: {
                        metric: 0,
                        preference: 0,
                    },
                },
                noResolve: false,
                preference: 0,
            },
        },
        ipConfig: {
            dns: ["string"],
            dnsSuffixes: ["string"],
            gateway: "string",
            ip: "string",
            netmask: "string",
            network: "string",
            type: "string",
        },
        managed: false,
        mapId: "string",
        mistNac: {
            enabled: false,
            network: "string",
        },
        name: "string",
        networks: {
            string: {
                vlanId: "string",
                isolation: false,
                isolationVlanId: "string",
                subnet: "string",
            },
        },
        notes: "string",
        otherIpConfigs: {
            string: {
                evpnAnycast: false,
                ip: "string",
                ip6: "string",
                netmask: "string",
                netmask6: "string",
                type: "string",
                type6: "string",
            },
        },
        dnsSuffixes: ["string"],
        additionalConfigCmds: ["string"],
        ntpServers: ["string"],
        portConfig: {
            string: {
                usage: "string",
                disableAutoneg: false,
                dynamicUsage: "string",
                aggregated: false,
                critical: false,
                description: "string",
                aeDisableLacp: false,
                duplex: "string",
                aeLacpSlow: false,
                esilag: false,
                mtu: 0,
                noLocalOverwrite: false,
                poeDisabled: false,
                speed: "string",
                aeIdx: 0,
            },
        },
        portMirroring: {
            string: {
                inputNetworksIngresses: ["string"],
                inputPortIdsEgresses: ["string"],
                inputPortIdsIngresses: ["string"],
                outputNetwork: "string",
                outputPortId: "string",
            },
        },
        portUsages: {
            string: {
                allNetworks: false,
                allowDhcpd: false,
                allowMultipleSupplicants: false,
                bypassAuthWhenServerDown: false,
                bypassAuthWhenServerDownForUnkonwnClient: false,
                description: "string",
                disableAutoneg: false,
                disabled: false,
                duplex: "string",
                dynamicVlanNetworks: ["string"],
                enableMacAuth: false,
                enableQos: false,
                guestNetwork: "string",
                interSwitchLink: false,
                macAuthOnly: false,
                macAuthPreferred: false,
                macAuthProtocol: "string",
                macLimit: 0,
                mode: "string",
                mtu: 0,
                networks: ["string"],
                persistMac: false,
                poeDisabled: false,
                portAuth: "string",
                portNetwork: "string",
                reauthInterval: 0,
                resetDefaultWhen: "string",
                rules: [{
                    src: "string",
                    equals: "string",
                    equalsAnies: ["string"],
                    expression: "string",
                    usage: "string",
                }],
                serverFailNetwork: "string",
                serverRejectNetwork: "string",
                speed: "string",
                stormControl: {
                    noBroadcast: false,
                    noMulticast: false,
                    noRegisteredMulticast: false,
                    noUnknownUnicast: false,
                    percentage: 0,
                },
                stpEdge: false,
                stpNoRootPort: false,
                stpP2p: false,
                voipNetwork: "string",
            },
        },
        radiusConfig: {
            acctInterimInterval: 0,
            acctServers: [{
                host: "string",
                secret: "string",
                keywrapEnabled: false,
                keywrapFormat: "string",
                keywrapKek: "string",
                keywrapMack: "string",
                port: 0,
            }],
            authServers: [{
                host: "string",
                secret: "string",
                keywrapEnabled: false,
                keywrapFormat: "string",
                keywrapKek: "string",
                keywrapMack: "string",
                port: 0,
                requireMessageAuthenticator: false,
            }],
            authServersRetries: 0,
            authServersTimeout: 0,
            coaEnabled: false,
            coaPort: 0,
            network: "string",
            sourceIp: "string",
        },
        remoteSyslog: {
            archive: {
                files: 0,
                size: "string",
            },
            console: {
                contents: [{
                    facility: "string",
                    severity: "string",
                }],
            },
            enabled: false,
            files: [{
                archive: {
                    files: 0,
                    size: "string",
                },
                contents: [{
                    facility: "string",
                    severity: "string",
                }],
                explicitPriority: false,
                file: "string",
                match: "string",
                structuredData: false,
            }],
            network: "string",
            sendToAllServers: false,
            servers: [{
                contents: [{
                    facility: "string",
                    severity: "string",
                }],
                explicitPriority: false,
                facility: "string",
                host: "string",
                match: "string",
                port: 0,
                protocol: "string",
                routingInstance: "string",
                severity: "string",
                sourceAddress: "string",
                structuredData: false,
                tag: "string",
            }],
            timeFormat: "string",
            users: [{
                contents: [{
                    facility: "string",
                    severity: "string",
                }],
                match: "string",
                user: "string",
            }],
        },
        role: "string",
        routerId: "string",
        aclTags: {
            string: {
                type: "string",
                gbpTag: 0,
                macs: ["string"],
                network: "string",
                radiusGroup: "string",
                specs: [{
                    portRange: "string",
                    protocol: "string",
                }],
                subnets: ["string"],
            },
        },
        snmpConfig: {
            clientLists: [{
                clientListName: "string",
                clients: ["string"],
            }],
            contact: "string",
            description: "string",
            enabled: false,
            engineId: "string",
            location: "string",
            name: "string",
            network: "string",
            trapGroups: [{
                categories: ["string"],
                groupName: "string",
                targets: ["string"],
                version: "string",
            }],
            v2cConfigs: [{
                authorization: "string",
                clientListName: "string",
                communityName: "string",
                view: "string",
            }],
            v3Config: {
                notifies: [{
                    name: "string",
                    tag: "string",
                    type: "string",
                }],
                notifyFilters: [{
                    contents: [{
                        include: false,
                        oid: "string",
                    }],
                    profileName: "string",
                }],
                targetAddresses: [{
                    address: "string",
                    addressMask: "string",
                    port: 0,
                    tagList: "string",
                    targetAddressName: "string",
                    targetParameters: "string",
                }],
                targetParameters: [{
                    messageProcessingModel: "string",
                    name: "string",
                    notifyFilter: "string",
                    securityLevel: "string",
                    securityModel: "string",
                    securityName: "string",
                }],
                usm: {
                    engineType: "string",
                    engineid: "string",
                    users: [{
                        authenticationPassword: "string",
                        authenticationType: "string",
                        encryptionPassword: "string",
                        encryptionType: "string",
                        name: "string",
                    }],
                },
                vacm: {
                    accesses: [{
                        groupName: "string",
                        prefixLists: [{
                            contextPrefix: "string",
                            notifyView: "string",
                            readView: "string",
                            securityLevel: "string",
                            securityModel: "string",
                            type: "string",
                            writeView: "string",
                        }],
                    }],
                    securityToGroup: {
                        contents: [{
                            group: "string",
                            securityName: "string",
                        }],
                        securityModel: "string",
                    },
                },
            },
            views: [{
                include: false,
                oid: "string",
                viewName: "string",
            }],
        },
        stpConfig: {
            vstpEnabled: false,
        },
        switchMgmt: {
            apAffinityThreshold: 0,
            cliBanner: "string",
            cliIdleTimeout: 0,
            configRevertTimer: 0,
            dhcpOptionFqdn: false,
            disableOobDownAlarm: false,
            localAccounts: {
                string: {
                    password: "string",
                    role: "string",
                },
            },
            mxedgeProxyHost: "string",
            mxedgeProxyPort: 0,
            protectRe: {
                allowedServices: ["string"],
                customs: [{
                    subnets: ["string"],
                    portRange: "string",
                    protocol: "string",
                }],
                enabled: false,
                trustedHosts: ["string"],
            },
            rootPassword: "string",
            tacacs: {
                acctServers: [{
                    host: "string",
                    port: "string",
                    secret: "string",
                    timeout: 0,
                }],
                defaultRole: "string",
                enabled: false,
                network: "string",
                tacplusServers: [{
                    host: "string",
                    port: "string",
                    secret: "string",
                    timeout: 0,
                }],
            },
            useMxedgeProxy: false,
        },
        useRouterIdAsSourceIp: false,
        vars: {
            string: "string",
        },
        ospfAreas: {
            string: {
                networks: {
                    string: {
                        authKeys: {
                            string: "string",
                        },
                        authPassword: "string",
                        authType: "string",
                        bfdMinimumInterval: 0,
                        deadInterval: 0,
                        exportPolicy: "string",
                        helloInterval: 0,
                        importPolicy: "string",
                        interfaceType: "string",
                        metric: 0,
                        noReadvertiseToOverlay: false,
                        passive: false,
                    },
                },
                includeLoopback: false,
                type: "string",
            },
        },
        vrfConfig: {
            enabled: false,
        },
        vrfInstances: {
            string: {
                networks: ["string"],
                vrfExtraRoutes: {
                    string: {
                        via: "string",
                    },
                },
            },
        },
        vrrpConfig: {
            enabled: false,
            groups: {
                string: {
                    priority: 0,
                },
            },
        },
        x: 0,
        y: 0,
    });
    
    type: junipermist:device:Switch
    properties:
        aclPolicies:
            - actions:
                - action: string
                  dstTag: string
              name: string
              srcTags:
                - string
        aclTags:
            string:
                gbpTag: 0
                macs:
                    - string
                network: string
                radiusGroup: string
                specs:
                    - portRange: string
                      protocol: string
                subnets:
                    - string
                type: string
        additionalConfigCmds:
            - string
        deviceId: string
        dhcpSnooping:
            allNetworks: false
            enableArpSpoofCheck: false
            enableIpSourceGuard: false
            enabled: false
            networks:
                - 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
        disableAutoConfig: false
        dnsServers:
            - string
        dnsSuffixes:
            - string
        evpnConfig:
            enabled: false
            role: string
        extraRoutes:
            string:
                discard: false
                metric: 0
                nextQualified:
                    string:
                        metric: 0
                        preference: 0
                noResolve: false
                preference: 0
                via: string
        extraRoutes6:
            string:
                discard: false
                metric: 0
                nextQualified:
                    string:
                        metric: 0
                        preference: 0
                noResolve: false
                preference: 0
                via: string
        ipConfig:
            dns:
                - string
            dnsSuffixes:
                - string
            gateway: string
            ip: string
            netmask: string
            network: string
            type: string
        managed: false
        mapId: string
        mistNac:
            enabled: false
            network: string
        name: string
        networks:
            string:
                isolation: false
                isolationVlanId: string
                subnet: string
                vlanId: string
        notes: string
        ntpServers:
            - string
        oobIpConfig:
            gateway: string
            ip: string
            netmask: string
            network: string
            type: string
            useMgmtVrf: false
            useMgmtVrfForHostOut: false
        ospfAreas:
            string:
                includeLoopback: false
                networks:
                    string:
                        authKeys:
                            string: string
                        authPassword: string
                        authType: string
                        bfdMinimumInterval: 0
                        deadInterval: 0
                        exportPolicy: string
                        helloInterval: 0
                        importPolicy: string
                        interfaceType: string
                        metric: 0
                        noReadvertiseToOverlay: false
                        passive: false
                type: string
        otherIpConfigs:
            string:
                evpnAnycast: false
                ip: string
                ip6: string
                netmask: string
                netmask6: string
                type: string
                type6: string
        portConfig:
            string:
                aeDisableLacp: false
                aeIdx: 0
                aeLacpSlow: false
                aggregated: false
                critical: false
                description: string
                disableAutoneg: false
                duplex: string
                dynamicUsage: string
                esilag: false
                mtu: 0
                noLocalOverwrite: false
                poeDisabled: false
                speed: string
                usage: string
        portMirroring:
            string:
                inputNetworksIngresses:
                    - string
                inputPortIdsEgresses:
                    - string
                inputPortIdsIngresses:
                    - string
                outputNetwork: string
                outputPortId: string
        portUsages:
            string:
                allNetworks: false
                allowDhcpd: false
                allowMultipleSupplicants: false
                bypassAuthWhenServerDown: false
                bypassAuthWhenServerDownForUnkonwnClient: false
                description: string
                disableAutoneg: false
                disabled: false
                duplex: string
                dynamicVlanNetworks:
                    - string
                enableMacAuth: false
                enableQos: false
                guestNetwork: string
                interSwitchLink: false
                macAuthOnly: false
                macAuthPreferred: false
                macAuthProtocol: string
                macLimit: 0
                mode: string
                mtu: 0
                networks:
                    - string
                persistMac: false
                poeDisabled: false
                portAuth: string
                portNetwork: string
                reauthInterval: 0
                resetDefaultWhen: string
                rules:
                    - equals: string
                      equalsAnies:
                        - string
                      expression: string
                      src: string
                      usage: string
                serverFailNetwork: string
                serverRejectNetwork: string
                speed: string
                stormControl:
                    noBroadcast: false
                    noMulticast: false
                    noRegisteredMulticast: false
                    noUnknownUnicast: false
                    percentage: 0
                stpEdge: false
                stpNoRootPort: false
                stpP2p: false
                voipNetwork: string
        radiusConfig:
            acctInterimInterval: 0
            acctServers:
                - host: string
                  keywrapEnabled: false
                  keywrapFormat: string
                  keywrapKek: string
                  keywrapMack: string
                  port: 0
                  secret: string
            authServers:
                - host: string
                  keywrapEnabled: false
                  keywrapFormat: string
                  keywrapKek: string
                  keywrapMack: string
                  port: 0
                  requireMessageAuthenticator: false
                  secret: string
            authServersRetries: 0
            authServersTimeout: 0
            coaEnabled: false
            coaPort: 0
            network: string
            sourceIp: string
        remoteSyslog:
            archive:
                files: 0
                size: string
            console:
                contents:
                    - facility: string
                      severity: string
            enabled: false
            files:
                - archive:
                    files: 0
                    size: string
                  contents:
                    - facility: string
                      severity: string
                  explicitPriority: false
                  file: string
                  match: string
                  structuredData: false
            network: string
            sendToAllServers: false
            servers:
                - contents:
                    - facility: string
                      severity: string
                  explicitPriority: false
                  facility: string
                  host: string
                  match: string
                  port: 0
                  protocol: string
                  routingInstance: string
                  severity: string
                  sourceAddress: string
                  structuredData: false
                  tag: string
            timeFormat: string
            users:
                - contents:
                    - facility: string
                      severity: string
                  match: string
                  user: string
        role: string
        routerId: string
        siteId: string
        snmpConfig:
            clientLists:
                - clientListName: string
                  clients:
                    - string
            contact: string
            description: string
            enabled: false
            engineId: string
            location: string
            name: string
            network: string
            trapGroups:
                - categories:
                    - string
                  groupName: string
                  targets:
                    - string
                  version: string
            v2cConfigs:
                - authorization: string
                  clientListName: string
                  communityName: string
                  view: string
            v3Config:
                notifies:
                    - name: string
                      tag: string
                      type: string
                notifyFilters:
                    - contents:
                        - include: false
                          oid: string
                      profileName: string
                targetAddresses:
                    - address: string
                      addressMask: string
                      port: 0
                      tagList: string
                      targetAddressName: string
                      targetParameters: string
                targetParameters:
                    - messageProcessingModel: string
                      name: string
                      notifyFilter: string
                      securityLevel: string
                      securityModel: string
                      securityName: string
                usm:
                    engineType: string
                    engineid: string
                    users:
                        - authenticationPassword: string
                          authenticationType: string
                          encryptionPassword: string
                          encryptionType: string
                          name: string
                vacm:
                    accesses:
                        - groupName: string
                          prefixLists:
                            - contextPrefix: string
                              notifyView: string
                              readView: string
                              securityLevel: string
                              securityModel: string
                              type: string
                              writeView: string
                    securityToGroup:
                        contents:
                            - group: string
                              securityName: string
                        securityModel: string
            views:
                - include: false
                  oid: string
                  viewName: string
        stpConfig:
            vstpEnabled: false
        switchMgmt:
            apAffinityThreshold: 0
            cliBanner: string
            cliIdleTimeout: 0
            configRevertTimer: 0
            dhcpOptionFqdn: false
            disableOobDownAlarm: false
            localAccounts:
                string:
                    password: string
                    role: string
            mxedgeProxyHost: string
            mxedgeProxyPort: 0
            protectRe:
                allowedServices:
                    - string
                customs:
                    - portRange: string
                      protocol: string
                      subnets:
                        - string
                enabled: false
                trustedHosts:
                    - string
            rootPassword: string
            tacacs:
                acctServers:
                    - host: string
                      port: string
                      secret: string
                      timeout: 0
                defaultRole: string
                enabled: false
                network: string
                tacplusServers:
                    - host: string
                      port: string
                      secret: string
                      timeout: 0
            useMxedgeProxy: false
        useRouterIdAsSourceIp: false
        vars:
            string: string
        virtualChassis:
            members:
                - mac: string
                  memberId: 0
                  vcRole: string
            preprovisioned: false
        vrfConfig:
            enabled: false
        vrfInstances:
            string:
                networks:
                    - string
                vrfExtraRoutes:
                    string:
                        via: string
        vrrpConfig:
            enabled: false
            groups:
                string:
                    priority: 0
        x: 0
        "y": 0
    

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

    DeviceId string
    SiteId string
    AclPolicies List<Pulumi.JuniperMist.Device.Inputs.SwitchAclPolicy>
    AclTags Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchAclTagsArgs>
    ACL Tags to identify traffic source or destination. Key name is the tag name
    AdditionalConfigCmds List<string>
    additional CLI commands to append to the generated Junos config Note: no check is done
    DhcpSnooping Pulumi.JuniperMist.Device.Inputs.SwitchDhcpSnooping
    DhcpdConfig Pulumi.JuniperMist.Device.Inputs.SwitchDhcpdConfig
    DisableAutoConfig bool
    for a claimed switch, we control the configs by default. This option (disables the behavior)
    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
    EvpnConfig Pulumi.JuniperMist.Device.Inputs.SwitchEvpnConfig
    EVPN Junos settings
    ExtraRoutes Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchExtraRoutesArgs>
    ExtraRoutes6 Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchExtraRoutes6Args>
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    IpConfig Pulumi.JuniperMist.Device.Inputs.SwitchIpConfig
    Junos IP Config
    Managed bool
    for an adopted switch, we don’t overwrite their existing configs automatically
    MapId string
    map where the device belongs to
    MistNac Pulumi.JuniperMist.Device.Inputs.SwitchMistNac
    enable mist_nac to use radsec
    Name string
    Networks Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchNetworksArgs>
    Property key is network name
    Notes string
    NtpServers List<string>
    list of NTP servers specific to this device. By default, those in Site Settings will be used
    OobIpConfig Pulumi.JuniperMist.Device.Inputs.SwitchOobIpConfig
    • If HA configuration: key parameter will be nodeX (eg: node1) - If there are 2 routing engines, re1 mgmt IP has to be set separately (if desired): key parameter = re1
    OspfAreas Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchOspfAreasArgs>
    Junos OSPF areas
    OtherIpConfigs Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchOtherIpConfigsArgs>
    Property key is the network name
    PortConfig Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchPortConfigArgs>
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    PortMirroring Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchPortMirroringArgs>
    Property key is the port mirroring instance name (Maximum: 4) port_mirroring can be added under device/site settings. It takes interface and ports as input for ingress, interface as input for egress and can take interface and port as output.
    PortUsages Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchPortUsagesArgs>
    RadiusConfig Pulumi.JuniperMist.Device.Inputs.SwitchRadiusConfig
    Junos Radius config
    RemoteSyslog Pulumi.JuniperMist.Device.Inputs.SwitchRemoteSyslog
    Role string
    RouterId string
    used for OSPF / BGP / EVPN
    SnmpConfig Pulumi.JuniperMist.Device.Inputs.SwitchSnmpConfig
    StpConfig Pulumi.JuniperMist.Device.Inputs.SwitchStpConfig
    SwitchMgmt Pulumi.JuniperMist.Device.Inputs.SwitchSwitchMgmt
    Switch settings
    UseRouterIdAsSourceIp bool
    whether to use it for snmp / syslog / tacplus / radius
    Vars Dictionary<string, string>
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    VirtualChassis Pulumi.JuniperMist.Device.Inputs.SwitchVirtualChassis
    required for preprovisioned Virtual Chassis
    VrfConfig Pulumi.JuniperMist.Device.Inputs.SwitchVrfConfig
    VrfInstances Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchVrfInstancesArgs>
    Property key is the network name
    VrrpConfig Pulumi.JuniperMist.Device.Inputs.SwitchVrrpConfig
    Junos VRRP config
    X double
    x in pixel
    Y double
    y in pixel
    DeviceId string
    SiteId string
    AclPolicies []SwitchAclPolicyArgs
    AclTags map[string]SwitchAclTagsArgs
    ACL Tags to identify traffic source or destination. Key name is the tag name
    AdditionalConfigCmds []string
    additional CLI commands to append to the generated Junos config Note: no check is done
    DhcpSnooping SwitchDhcpSnoopingArgs
    DhcpdConfig SwitchDhcpdConfigArgs
    DisableAutoConfig bool
    for a claimed switch, we control the configs by default. This option (disables the behavior)
    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
    EvpnConfig SwitchEvpnConfigArgs
    EVPN Junos settings
    ExtraRoutes map[string]SwitchExtraRoutesArgs
    ExtraRoutes6 map[string]SwitchExtraRoutes6Args
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    IpConfig SwitchIpConfigArgs
    Junos IP Config
    Managed bool
    for an adopted switch, we don’t overwrite their existing configs automatically
    MapId string
    map where the device belongs to
    MistNac SwitchMistNacArgs
    enable mist_nac to use radsec
    Name string
    Networks map[string]SwitchNetworksArgs
    Property key is network name
    Notes string
    NtpServers []string
    list of NTP servers specific to this device. By default, those in Site Settings will be used
    OobIpConfig SwitchOobIpConfigArgs
    • If HA configuration: key parameter will be nodeX (eg: node1) - If there are 2 routing engines, re1 mgmt IP has to be set separately (if desired): key parameter = re1
    OspfAreas map[string]SwitchOspfAreasArgs
    Junos OSPF areas
    OtherIpConfigs map[string]SwitchOtherIpConfigsArgs
    Property key is the network name
    PortConfig map[string]SwitchPortConfigArgs
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    PortMirroring map[string]SwitchPortMirroringArgs
    Property key is the port mirroring instance name (Maximum: 4) port_mirroring can be added under device/site settings. It takes interface and ports as input for ingress, interface as input for egress and can take interface and port as output.
    PortUsages map[string]SwitchPortUsagesArgs
    RadiusConfig SwitchRadiusConfigArgs
    Junos Radius config
    RemoteSyslog SwitchRemoteSyslogArgs
    Role string
    RouterId string
    used for OSPF / BGP / EVPN
    SnmpConfig SwitchSnmpConfigArgs
    StpConfig SwitchStpConfigArgs
    SwitchMgmt SwitchSwitchMgmtArgs
    Switch settings
    UseRouterIdAsSourceIp bool
    whether to use it for snmp / syslog / tacplus / radius
    Vars map[string]string
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    VirtualChassis SwitchVirtualChassisArgs
    required for preprovisioned Virtual Chassis
    VrfConfig SwitchVrfConfigArgs
    VrfInstances map[string]SwitchVrfInstancesArgs
    Property key is the network name
    VrrpConfig SwitchVrrpConfigArgs
    Junos VRRP config
    X float64
    x in pixel
    Y float64
    y in pixel
    deviceId String
    siteId String
    aclPolicies List<SwitchAclPolicy>
    aclTags Map<String,SwitchAclTagsArgs>
    ACL Tags to identify traffic source or destination. Key name is the tag name
    additionalConfigCmds List<String>
    additional CLI commands to append to the generated Junos config Note: no check is done
    dhcpSnooping SwitchDhcpSnooping
    dhcpdConfig SwitchDhcpdConfig
    disableAutoConfig Boolean
    for a claimed switch, we control the configs by default. This option (disables the behavior)
    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
    evpnConfig SwitchEvpnConfig
    EVPN Junos settings
    extraRoutes Map<String,SwitchExtraRoutesArgs>
    extraRoutes6 Map<String,SwitchExtraRoutes6Args>
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    ipConfig SwitchIpConfig
    Junos IP Config
    managed Boolean
    for an adopted switch, we don’t overwrite their existing configs automatically
    mapId String
    map where the device belongs to
    mistNac SwitchMistNac
    enable mist_nac to use radsec
    name String
    networks Map<String,SwitchNetworksArgs>
    Property key is network name
    notes String
    ntpServers List<String>
    list of NTP servers specific to this device. By default, those in Site Settings will be used
    oobIpConfig SwitchOobIpConfig
    • If HA configuration: key parameter will be nodeX (eg: node1) - If there are 2 routing engines, re1 mgmt IP has to be set separately (if desired): key parameter = re1
    ospfAreas Map<String,SwitchOspfAreasArgs>
    Junos OSPF areas
    otherIpConfigs Map<String,SwitchOtherIpConfigsArgs>
    Property key is the network name
    portConfig Map<String,SwitchPortConfigArgs>
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    portMirroring Map<String,SwitchPortMirroringArgs>
    Property key is the port mirroring instance name (Maximum: 4) port_mirroring can be added under device/site settings. It takes interface and ports as input for ingress, interface as input for egress and can take interface and port as output.
    portUsages Map<String,SwitchPortUsagesArgs>
    radiusConfig SwitchRadiusConfig
    Junos Radius config
    remoteSyslog SwitchRemoteSyslog
    role String
    routerId String
    used for OSPF / BGP / EVPN
    snmpConfig SwitchSnmpConfig
    stpConfig SwitchStpConfig
    switchMgmt SwitchSwitchMgmt
    Switch settings
    useRouterIdAsSourceIp Boolean
    whether to use it for snmp / syslog / tacplus / radius
    vars Map<String,String>
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    virtualChassis SwitchVirtualChassis
    required for preprovisioned Virtual Chassis
    vrfConfig SwitchVrfConfig
    vrfInstances Map<String,SwitchVrfInstancesArgs>
    Property key is the network name
    vrrpConfig SwitchVrrpConfig
    Junos VRRP config
    x Double
    x in pixel
    y Double
    y in pixel
    deviceId string
    siteId string
    aclPolicies SwitchAclPolicy[]
    aclTags {[key: string]: SwitchAclTagsArgs}
    ACL Tags to identify traffic source or destination. Key name is the tag name
    additionalConfigCmds string[]
    additional CLI commands to append to the generated Junos config Note: no check is done
    dhcpSnooping SwitchDhcpSnooping
    dhcpdConfig SwitchDhcpdConfig
    disableAutoConfig boolean
    for a claimed switch, we control the configs by default. This option (disables the behavior)
    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
    evpnConfig SwitchEvpnConfig
    EVPN Junos settings
    extraRoutes {[key: string]: SwitchExtraRoutesArgs}
    extraRoutes6 {[key: string]: SwitchExtraRoutes6Args}
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    ipConfig SwitchIpConfig
    Junos IP Config
    managed boolean
    for an adopted switch, we don’t overwrite their existing configs automatically
    mapId string
    map where the device belongs to
    mistNac SwitchMistNac
    enable mist_nac to use radsec
    name string
    networks {[key: string]: SwitchNetworksArgs}
    Property key is network name
    notes string
    ntpServers string[]
    list of NTP servers specific to this device. By default, those in Site Settings will be used
    oobIpConfig SwitchOobIpConfig
    • If HA configuration: key parameter will be nodeX (eg: node1) - If there are 2 routing engines, re1 mgmt IP has to be set separately (if desired): key parameter = re1
    ospfAreas {[key: string]: SwitchOspfAreasArgs}
    Junos OSPF areas
    otherIpConfigs {[key: string]: SwitchOtherIpConfigsArgs}
    Property key is the network name
    portConfig {[key: string]: SwitchPortConfigArgs}
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    portMirroring {[key: string]: SwitchPortMirroringArgs}
    Property key is the port mirroring instance name (Maximum: 4) port_mirroring can be added under device/site settings. It takes interface and ports as input for ingress, interface as input for egress and can take interface and port as output.
    portUsages {[key: string]: SwitchPortUsagesArgs}
    radiusConfig SwitchRadiusConfig
    Junos Radius config
    remoteSyslog SwitchRemoteSyslog
    role string
    routerId string
    used for OSPF / BGP / EVPN
    snmpConfig SwitchSnmpConfig
    stpConfig SwitchStpConfig
    switchMgmt SwitchSwitchMgmt
    Switch settings
    useRouterIdAsSourceIp boolean
    whether to use it for snmp / syslog / tacplus / radius
    vars {[key: string]: string}
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    virtualChassis SwitchVirtualChassis
    required for preprovisioned Virtual Chassis
    vrfConfig SwitchVrfConfig
    vrfInstances {[key: string]: SwitchVrfInstancesArgs}
    Property key is the network name
    vrrpConfig SwitchVrrpConfig
    Junos VRRP config
    x number
    x in pixel
    y number
    y in pixel
    device_id str
    site_id str
    acl_policies Sequence[SwitchAclPolicyArgs]
    acl_tags Mapping[str, SwitchAclTagsArgs]
    ACL Tags to identify traffic source or destination. Key name is the tag name
    additional_config_cmds Sequence[str]
    additional CLI commands to append to the generated Junos config Note: no check is done
    dhcp_snooping SwitchDhcpSnoopingArgs
    dhcpd_config SwitchDhcpdConfigArgs
    disable_auto_config bool
    for a claimed switch, we control the configs by default. This option (disables the behavior)
    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
    evpn_config SwitchEvpnConfigArgs
    EVPN Junos settings
    extra_routes Mapping[str, SwitchExtraRoutesArgs]
    extra_routes6 Mapping[str, SwitchExtraRoutes6Args]
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    ip_config SwitchIpConfigArgs
    Junos IP Config
    managed bool
    for an adopted switch, we don’t overwrite their existing configs automatically
    map_id str
    map where the device belongs to
    mist_nac SwitchMistNacArgs
    enable mist_nac to use radsec
    name str
    networks Mapping[str, SwitchNetworksArgs]
    Property key is network name
    notes str
    ntp_servers Sequence[str]
    list of NTP servers specific to this device. By default, those in Site Settings will be used
    oob_ip_config SwitchOobIpConfigArgs
    • If HA configuration: key parameter will be nodeX (eg: node1) - If there are 2 routing engines, re1 mgmt IP has to be set separately (if desired): key parameter = re1
    ospf_areas Mapping[str, SwitchOspfAreasArgs]
    Junos OSPF areas
    other_ip_configs Mapping[str, SwitchOtherIpConfigsArgs]
    Property key is the network name
    port_config Mapping[str, SwitchPortConfigArgs]
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    port_mirroring Mapping[str, SwitchPortMirroringArgs]
    Property key is the port mirroring instance name (Maximum: 4) port_mirroring can be added under device/site settings. It takes interface and ports as input for ingress, interface as input for egress and can take interface and port as output.
    port_usages Mapping[str, SwitchPortUsagesArgs]
    radius_config SwitchRadiusConfigArgs
    Junos Radius config
    remote_syslog SwitchRemoteSyslogArgs
    role str
    router_id str
    used for OSPF / BGP / EVPN
    snmp_config SwitchSnmpConfigArgs
    stp_config SwitchStpConfigArgs
    switch_mgmt SwitchSwitchMgmtArgs
    Switch settings
    use_router_id_as_source_ip bool
    whether to use it for snmp / syslog / tacplus / radius
    vars Mapping[str, str]
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    virtual_chassis SwitchVirtualChassisArgs
    required for preprovisioned Virtual Chassis
    vrf_config SwitchVrfConfigArgs
    vrf_instances Mapping[str, SwitchVrfInstancesArgs]
    Property key is the network name
    vrrp_config SwitchVrrpConfigArgs
    Junos VRRP config
    x float
    x in pixel
    y float
    y in pixel
    deviceId String
    siteId String
    aclPolicies List<Property Map>
    aclTags Map<Property Map>
    ACL Tags to identify traffic source or destination. Key name is the tag name
    additionalConfigCmds List<String>
    additional CLI commands to append to the generated Junos config Note: no check is done
    dhcpSnooping Property Map
    dhcpdConfig Property Map
    disableAutoConfig Boolean
    for a claimed switch, we control the configs by default. This option (disables the behavior)
    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
    evpnConfig Property Map
    EVPN Junos settings
    extraRoutes Map<Property Map>
    extraRoutes6 Map<Property Map>
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    ipConfig Property Map
    Junos IP Config
    managed Boolean
    for an adopted switch, we don’t overwrite their existing configs automatically
    mapId String
    map where the device belongs to
    mistNac Property Map
    enable mist_nac to use radsec
    name String
    networks Map<Property Map>
    Property key is network name
    notes String
    ntpServers List<String>
    list of NTP servers specific to this device. By default, those in Site Settings will be used
    oobIpConfig Property Map
    • If HA configuration: key parameter will be nodeX (eg: node1) - If there are 2 routing engines, re1 mgmt IP has to be set separately (if desired): key parameter = re1
    ospfAreas Map<Property Map>
    Junos OSPF areas
    otherIpConfigs Map<Property Map>
    Property key is the network name
    portConfig Map<Property Map>
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    portMirroring Map<Property Map>
    Property key is the port mirroring instance name (Maximum: 4) port_mirroring can be added under device/site settings. It takes interface and ports as input for ingress, interface as input for egress and can take interface and port as output.
    portUsages Map<Property Map>
    radiusConfig Property Map
    Junos Radius config
    remoteSyslog Property Map
    role String
    routerId String
    used for OSPF / BGP / EVPN
    snmpConfig Property Map
    stpConfig Property Map
    switchMgmt Property Map
    Switch settings
    useRouterIdAsSourceIp Boolean
    whether to use it for snmp / syslog / tacplus / radius
    vars Map<String>
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    virtualChassis Property Map
    required for preprovisioned Virtual Chassis
    vrfConfig Property Map
    vrfInstances Map<Property Map>
    Property key is the network name
    vrrpConfig Property Map
    Junos VRRP config
    x Number
    x in pixel
    y Number
    y in pixel

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Switch 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: switch
    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: switch
    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: switch
    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: switch
    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: switch
    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: switch

    Look up Existing Switch Resource

    Get an existing Switch 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?: SwitchState, opts?: CustomResourceOptions): Switch
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            acl_policies: Optional[Sequence[SwitchAclPolicyArgs]] = None,
            acl_tags: Optional[Mapping[str, SwitchAclTagsArgs]] = None,
            additional_config_cmds: Optional[Sequence[str]] = None,
            device_id: Optional[str] = None,
            dhcp_snooping: Optional[SwitchDhcpSnoopingArgs] = None,
            dhcpd_config: Optional[SwitchDhcpdConfigArgs] = None,
            disable_auto_config: Optional[bool] = None,
            dns_servers: Optional[Sequence[str]] = None,
            dns_suffixes: Optional[Sequence[str]] = None,
            evpn_config: Optional[SwitchEvpnConfigArgs] = None,
            extra_routes: Optional[Mapping[str, SwitchExtraRoutesArgs]] = None,
            extra_routes6: Optional[Mapping[str, SwitchExtraRoutes6Args]] = None,
            image1_url: Optional[str] = None,
            image2_url: Optional[str] = None,
            image3_url: Optional[str] = None,
            ip_config: Optional[SwitchIpConfigArgs] = None,
            mac: Optional[str] = None,
            managed: Optional[bool] = None,
            map_id: Optional[str] = None,
            mist_nac: Optional[SwitchMistNacArgs] = None,
            model: Optional[str] = None,
            name: Optional[str] = None,
            networks: Optional[Mapping[str, SwitchNetworksArgs]] = None,
            notes: Optional[str] = None,
            ntp_servers: Optional[Sequence[str]] = None,
            oob_ip_config: Optional[SwitchOobIpConfigArgs] = None,
            org_id: Optional[str] = None,
            ospf_areas: Optional[Mapping[str, SwitchOspfAreasArgs]] = None,
            other_ip_configs: Optional[Mapping[str, SwitchOtherIpConfigsArgs]] = None,
            port_config: Optional[Mapping[str, SwitchPortConfigArgs]] = None,
            port_mirroring: Optional[Mapping[str, SwitchPortMirroringArgs]] = None,
            port_usages: Optional[Mapping[str, SwitchPortUsagesArgs]] = None,
            radius_config: Optional[SwitchRadiusConfigArgs] = None,
            remote_syslog: Optional[SwitchRemoteSyslogArgs] = None,
            role: Optional[str] = None,
            router_id: Optional[str] = None,
            serial: Optional[str] = None,
            site_id: Optional[str] = None,
            snmp_config: Optional[SwitchSnmpConfigArgs] = None,
            stp_config: Optional[SwitchStpConfigArgs] = None,
            switch_mgmt: Optional[SwitchSwitchMgmtArgs] = None,
            type: Optional[str] = None,
            use_router_id_as_source_ip: Optional[bool] = None,
            vars: Optional[Mapping[str, str]] = None,
            virtual_chassis: Optional[SwitchVirtualChassisArgs] = None,
            vrf_config: Optional[SwitchVrfConfigArgs] = None,
            vrf_instances: Optional[Mapping[str, SwitchVrfInstancesArgs]] = None,
            vrrp_config: Optional[SwitchVrrpConfigArgs] = None,
            x: Optional[float] = None,
            y: Optional[float] = None) -> Switch
    func GetSwitch(ctx *Context, name string, id IDInput, state *SwitchState, opts ...ResourceOption) (*Switch, error)
    public static Switch Get(string name, Input<string> id, SwitchState? state, CustomResourceOptions? opts = null)
    public static Switch get(String name, Output<String> id, SwitchState 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:
    AclPolicies List<Pulumi.JuniperMist.Device.Inputs.SwitchAclPolicy>
    AclTags Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchAclTagsArgs>
    ACL Tags to identify traffic source or destination. Key name is the tag name
    AdditionalConfigCmds List<string>
    additional CLI commands to append to the generated Junos config Note: no check is done
    DeviceId string
    DhcpSnooping Pulumi.JuniperMist.Device.Inputs.SwitchDhcpSnooping
    DhcpdConfig Pulumi.JuniperMist.Device.Inputs.SwitchDhcpdConfig
    DisableAutoConfig bool
    for a claimed switch, we control the configs by default. This option (disables the behavior)
    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
    EvpnConfig Pulumi.JuniperMist.Device.Inputs.SwitchEvpnConfig
    EVPN Junos settings
    ExtraRoutes Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchExtraRoutesArgs>
    ExtraRoutes6 Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchExtraRoutes6Args>
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    Image1Url string
    Image2Url string
    Image3Url string
    IpConfig Pulumi.JuniperMist.Device.Inputs.SwitchIpConfig
    Junos IP Config
    Mac string
    device MAC address
    Managed bool
    for an adopted switch, we don’t overwrite their existing configs automatically
    MapId string
    map where the device belongs to
    MistNac Pulumi.JuniperMist.Device.Inputs.SwitchMistNac
    enable mist_nac to use radsec
    Model string
    device Model
    Name string
    Networks Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchNetworksArgs>
    Property key is network name
    Notes string
    NtpServers List<string>
    list of NTP servers specific to this device. By default, those in Site Settings will be used
    OobIpConfig Pulumi.JuniperMist.Device.Inputs.SwitchOobIpConfig
    • If HA configuration: key parameter will be nodeX (eg: node1) - If there are 2 routing engines, re1 mgmt IP has to be set separately (if desired): key parameter = re1
    OrgId string
    OspfAreas Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchOspfAreasArgs>
    Junos OSPF areas
    OtherIpConfigs Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchOtherIpConfigsArgs>
    Property key is the network name
    PortConfig Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchPortConfigArgs>
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    PortMirroring Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchPortMirroringArgs>
    Property key is the port mirroring instance name (Maximum: 4) port_mirroring can be added under device/site settings. It takes interface and ports as input for ingress, interface as input for egress and can take interface and port as output.
    PortUsages Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchPortUsagesArgs>
    RadiusConfig Pulumi.JuniperMist.Device.Inputs.SwitchRadiusConfig
    Junos Radius config
    RemoteSyslog Pulumi.JuniperMist.Device.Inputs.SwitchRemoteSyslog
    Role string
    RouterId string
    used for OSPF / BGP / EVPN
    Serial string
    device Serial
    SiteId string
    SnmpConfig Pulumi.JuniperMist.Device.Inputs.SwitchSnmpConfig
    StpConfig Pulumi.JuniperMist.Device.Inputs.SwitchStpConfig
    SwitchMgmt Pulumi.JuniperMist.Device.Inputs.SwitchSwitchMgmt
    Switch settings
    Type string
    Device Type. enum: switch
    UseRouterIdAsSourceIp bool
    whether to use it for snmp / syslog / tacplus / radius
    Vars Dictionary<string, string>
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    VirtualChassis Pulumi.JuniperMist.Device.Inputs.SwitchVirtualChassis
    required for preprovisioned Virtual Chassis
    VrfConfig Pulumi.JuniperMist.Device.Inputs.SwitchVrfConfig
    VrfInstances Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchVrfInstancesArgs>
    Property key is the network name
    VrrpConfig Pulumi.JuniperMist.Device.Inputs.SwitchVrrpConfig
    Junos VRRP config
    X double
    x in pixel
    Y double
    y in pixel
    AclPolicies []SwitchAclPolicyArgs
    AclTags map[string]SwitchAclTagsArgs
    ACL Tags to identify traffic source or destination. Key name is the tag name
    AdditionalConfigCmds []string
    additional CLI commands to append to the generated Junos config Note: no check is done
    DeviceId string
    DhcpSnooping SwitchDhcpSnoopingArgs
    DhcpdConfig SwitchDhcpdConfigArgs
    DisableAutoConfig bool
    for a claimed switch, we control the configs by default. This option (disables the behavior)
    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
    EvpnConfig SwitchEvpnConfigArgs
    EVPN Junos settings
    ExtraRoutes map[string]SwitchExtraRoutesArgs
    ExtraRoutes6 map[string]SwitchExtraRoutes6Args
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    Image1Url string
    Image2Url string
    Image3Url string
    IpConfig SwitchIpConfigArgs
    Junos IP Config
    Mac string
    device MAC address
    Managed bool
    for an adopted switch, we don’t overwrite their existing configs automatically
    MapId string
    map where the device belongs to
    MistNac SwitchMistNacArgs
    enable mist_nac to use radsec
    Model string
    device Model
    Name string
    Networks map[string]SwitchNetworksArgs
    Property key is network name
    Notes string
    NtpServers []string
    list of NTP servers specific to this device. By default, those in Site Settings will be used
    OobIpConfig SwitchOobIpConfigArgs
    • If HA configuration: key parameter will be nodeX (eg: node1) - If there are 2 routing engines, re1 mgmt IP has to be set separately (if desired): key parameter = re1
    OrgId string
    OspfAreas map[string]SwitchOspfAreasArgs
    Junos OSPF areas
    OtherIpConfigs map[string]SwitchOtherIpConfigsArgs
    Property key is the network name
    PortConfig map[string]SwitchPortConfigArgs
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    PortMirroring map[string]SwitchPortMirroringArgs
    Property key is the port mirroring instance name (Maximum: 4) port_mirroring can be added under device/site settings. It takes interface and ports as input for ingress, interface as input for egress and can take interface and port as output.
    PortUsages map[string]SwitchPortUsagesArgs
    RadiusConfig SwitchRadiusConfigArgs
    Junos Radius config
    RemoteSyslog SwitchRemoteSyslogArgs
    Role string
    RouterId string
    used for OSPF / BGP / EVPN
    Serial string
    device Serial
    SiteId string
    SnmpConfig SwitchSnmpConfigArgs
    StpConfig SwitchStpConfigArgs
    SwitchMgmt SwitchSwitchMgmtArgs
    Switch settings
    Type string
    Device Type. enum: switch
    UseRouterIdAsSourceIp bool
    whether to use it for snmp / syslog / tacplus / radius
    Vars map[string]string
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    VirtualChassis SwitchVirtualChassisArgs
    required for preprovisioned Virtual Chassis
    VrfConfig SwitchVrfConfigArgs
    VrfInstances map[string]SwitchVrfInstancesArgs
    Property key is the network name
    VrrpConfig SwitchVrrpConfigArgs
    Junos VRRP config
    X float64
    x in pixel
    Y float64
    y in pixel
    aclPolicies List<SwitchAclPolicy>
    aclTags Map<String,SwitchAclTagsArgs>
    ACL Tags to identify traffic source or destination. Key name is the tag name
    additionalConfigCmds List<String>
    additional CLI commands to append to the generated Junos config Note: no check is done
    deviceId String
    dhcpSnooping SwitchDhcpSnooping
    dhcpdConfig SwitchDhcpdConfig
    disableAutoConfig Boolean
    for a claimed switch, we control the configs by default. This option (disables the behavior)
    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
    evpnConfig SwitchEvpnConfig
    EVPN Junos settings
    extraRoutes Map<String,SwitchExtraRoutesArgs>
    extraRoutes6 Map<String,SwitchExtraRoutes6Args>
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    image1Url String
    image2Url String
    image3Url String
    ipConfig SwitchIpConfig
    Junos IP Config
    mac String
    device MAC address
    managed Boolean
    for an adopted switch, we don’t overwrite their existing configs automatically
    mapId String
    map where the device belongs to
    mistNac SwitchMistNac
    enable mist_nac to use radsec
    model String
    device Model
    name String
    networks Map<String,SwitchNetworksArgs>
    Property key is network name
    notes String
    ntpServers List<String>
    list of NTP servers specific to this device. By default, those in Site Settings will be used
    oobIpConfig SwitchOobIpConfig
    • If HA configuration: key parameter will be nodeX (eg: node1) - If there are 2 routing engines, re1 mgmt IP has to be set separately (if desired): key parameter = re1
    orgId String
    ospfAreas Map<String,SwitchOspfAreasArgs>
    Junos OSPF areas
    otherIpConfigs Map<String,SwitchOtherIpConfigsArgs>
    Property key is the network name
    portConfig Map<String,SwitchPortConfigArgs>
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    portMirroring Map<String,SwitchPortMirroringArgs>
    Property key is the port mirroring instance name (Maximum: 4) port_mirroring can be added under device/site settings. It takes interface and ports as input for ingress, interface as input for egress and can take interface and port as output.
    portUsages Map<String,SwitchPortUsagesArgs>
    radiusConfig SwitchRadiusConfig
    Junos Radius config
    remoteSyslog SwitchRemoteSyslog
    role String
    routerId String
    used for OSPF / BGP / EVPN
    serial String
    device Serial
    siteId String
    snmpConfig SwitchSnmpConfig
    stpConfig SwitchStpConfig
    switchMgmt SwitchSwitchMgmt
    Switch settings
    type String
    Device Type. enum: switch
    useRouterIdAsSourceIp Boolean
    whether to use it for snmp / syslog / tacplus / radius
    vars Map<String,String>
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    virtualChassis SwitchVirtualChassis
    required for preprovisioned Virtual Chassis
    vrfConfig SwitchVrfConfig
    vrfInstances Map<String,SwitchVrfInstancesArgs>
    Property key is the network name
    vrrpConfig SwitchVrrpConfig
    Junos VRRP config
    x Double
    x in pixel
    y Double
    y in pixel
    aclPolicies SwitchAclPolicy[]
    aclTags {[key: string]: SwitchAclTagsArgs}
    ACL Tags to identify traffic source or destination. Key name is the tag name
    additionalConfigCmds string[]
    additional CLI commands to append to the generated Junos config Note: no check is done
    deviceId string
    dhcpSnooping SwitchDhcpSnooping
    dhcpdConfig SwitchDhcpdConfig
    disableAutoConfig boolean
    for a claimed switch, we control the configs by default. This option (disables the behavior)
    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
    evpnConfig SwitchEvpnConfig
    EVPN Junos settings
    extraRoutes {[key: string]: SwitchExtraRoutesArgs}
    extraRoutes6 {[key: string]: SwitchExtraRoutes6Args}
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    image1Url string
    image2Url string
    image3Url string
    ipConfig SwitchIpConfig
    Junos IP Config
    mac string
    device MAC address
    managed boolean
    for an adopted switch, we don’t overwrite their existing configs automatically
    mapId string
    map where the device belongs to
    mistNac SwitchMistNac
    enable mist_nac to use radsec
    model string
    device Model
    name string
    networks {[key: string]: SwitchNetworksArgs}
    Property key is network name
    notes string
    ntpServers string[]
    list of NTP servers specific to this device. By default, those in Site Settings will be used
    oobIpConfig SwitchOobIpConfig
    • If HA configuration: key parameter will be nodeX (eg: node1) - If there are 2 routing engines, re1 mgmt IP has to be set separately (if desired): key parameter = re1
    orgId string
    ospfAreas {[key: string]: SwitchOspfAreasArgs}
    Junos OSPF areas
    otherIpConfigs {[key: string]: SwitchOtherIpConfigsArgs}
    Property key is the network name
    portConfig {[key: string]: SwitchPortConfigArgs}
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    portMirroring {[key: string]: SwitchPortMirroringArgs}
    Property key is the port mirroring instance name (Maximum: 4) port_mirroring can be added under device/site settings. It takes interface and ports as input for ingress, interface as input for egress and can take interface and port as output.
    portUsages {[key: string]: SwitchPortUsagesArgs}
    radiusConfig SwitchRadiusConfig
    Junos Radius config
    remoteSyslog SwitchRemoteSyslog
    role string
    routerId string
    used for OSPF / BGP / EVPN
    serial string
    device Serial
    siteId string
    snmpConfig SwitchSnmpConfig
    stpConfig SwitchStpConfig
    switchMgmt SwitchSwitchMgmt
    Switch settings
    type string
    Device Type. enum: switch
    useRouterIdAsSourceIp boolean
    whether to use it for snmp / syslog / tacplus / radius
    vars {[key: string]: string}
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    virtualChassis SwitchVirtualChassis
    required for preprovisioned Virtual Chassis
    vrfConfig SwitchVrfConfig
    vrfInstances {[key: string]: SwitchVrfInstancesArgs}
    Property key is the network name
    vrrpConfig SwitchVrrpConfig
    Junos VRRP config
    x number
    x in pixel
    y number
    y in pixel
    acl_policies Sequence[SwitchAclPolicyArgs]
    acl_tags Mapping[str, SwitchAclTagsArgs]
    ACL Tags to identify traffic source or destination. Key name is the tag name
    additional_config_cmds Sequence[str]
    additional CLI commands to append to the generated Junos config Note: no check is done
    device_id str
    dhcp_snooping SwitchDhcpSnoopingArgs
    dhcpd_config SwitchDhcpdConfigArgs
    disable_auto_config bool
    for a claimed switch, we control the configs by default. This option (disables the behavior)
    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
    evpn_config SwitchEvpnConfigArgs
    EVPN Junos settings
    extra_routes Mapping[str, SwitchExtraRoutesArgs]
    extra_routes6 Mapping[str, SwitchExtraRoutes6Args]
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    image1_url str
    image2_url str
    image3_url str
    ip_config SwitchIpConfigArgs
    Junos IP Config
    mac str
    device MAC address
    managed bool
    for an adopted switch, we don’t overwrite their existing configs automatically
    map_id str
    map where the device belongs to
    mist_nac SwitchMistNacArgs
    enable mist_nac to use radsec
    model str
    device Model
    name str
    networks Mapping[str, SwitchNetworksArgs]
    Property key is network name
    notes str
    ntp_servers Sequence[str]
    list of NTP servers specific to this device. By default, those in Site Settings will be used
    oob_ip_config SwitchOobIpConfigArgs
    • If HA configuration: key parameter will be nodeX (eg: node1) - If there are 2 routing engines, re1 mgmt IP has to be set separately (if desired): key parameter = re1
    org_id str
    ospf_areas Mapping[str, SwitchOspfAreasArgs]
    Junos OSPF areas
    other_ip_configs Mapping[str, SwitchOtherIpConfigsArgs]
    Property key is the network name
    port_config Mapping[str, SwitchPortConfigArgs]
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    port_mirroring Mapping[str, SwitchPortMirroringArgs]
    Property key is the port mirroring instance name (Maximum: 4) port_mirroring can be added under device/site settings. It takes interface and ports as input for ingress, interface as input for egress and can take interface and port as output.
    port_usages Mapping[str, SwitchPortUsagesArgs]
    radius_config SwitchRadiusConfigArgs
    Junos Radius config
    remote_syslog SwitchRemoteSyslogArgs
    role str
    router_id str
    used for OSPF / BGP / EVPN
    serial str
    device Serial
    site_id str
    snmp_config SwitchSnmpConfigArgs
    stp_config SwitchStpConfigArgs
    switch_mgmt SwitchSwitchMgmtArgs
    Switch settings
    type str
    Device Type. enum: switch
    use_router_id_as_source_ip bool
    whether to use it for snmp / syslog / tacplus / radius
    vars Mapping[str, str]
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    virtual_chassis SwitchVirtualChassisArgs
    required for preprovisioned Virtual Chassis
    vrf_config SwitchVrfConfigArgs
    vrf_instances Mapping[str, SwitchVrfInstancesArgs]
    Property key is the network name
    vrrp_config SwitchVrrpConfigArgs
    Junos VRRP config
    x float
    x in pixel
    y float
    y in pixel
    aclPolicies List<Property Map>
    aclTags Map<Property Map>
    ACL Tags to identify traffic source or destination. Key name is the tag name
    additionalConfigCmds List<String>
    additional CLI commands to append to the generated Junos config Note: no check is done
    deviceId String
    dhcpSnooping Property Map
    dhcpdConfig Property Map
    disableAutoConfig Boolean
    for a claimed switch, we control the configs by default. This option (disables the behavior)
    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
    evpnConfig Property Map
    EVPN Junos settings
    extraRoutes Map<Property Map>
    extraRoutes6 Map<Property Map>
    Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
    image1Url String
    image2Url String
    image3Url String
    ipConfig Property Map
    Junos IP Config
    mac String
    device MAC address
    managed Boolean
    for an adopted switch, we don’t overwrite their existing configs automatically
    mapId String
    map where the device belongs to
    mistNac Property Map
    enable mist_nac to use radsec
    model String
    device Model
    name String
    networks Map<Property Map>
    Property key is network name
    notes String
    ntpServers List<String>
    list of NTP servers specific to this device. By default, those in Site Settings will be used
    oobIpConfig Property Map
    • If HA configuration: key parameter will be nodeX (eg: node1) - If there are 2 routing engines, re1 mgmt IP has to be set separately (if desired): key parameter = re1
    orgId String
    ospfAreas Map<Property Map>
    Junos OSPF areas
    otherIpConfigs Map<Property Map>
    Property key is the network name
    portConfig Map<Property Map>
    Property key is the port name or range (e.g. "ge-0/0/0-10")
    portMirroring Map<Property Map>
    Property key is the port mirroring instance name (Maximum: 4) port_mirroring can be added under device/site settings. It takes interface and ports as input for ingress, interface as input for egress and can take interface and port as output.
    portUsages Map<Property Map>
    radiusConfig Property Map
    Junos Radius config
    remoteSyslog Property Map
    role String
    routerId String
    used for OSPF / BGP / EVPN
    serial String
    device Serial
    siteId String
    snmpConfig Property Map
    stpConfig Property Map
    switchMgmt Property Map
    Switch settings
    type String
    Device Type. enum: switch
    useRouterIdAsSourceIp Boolean
    whether to use it for snmp / syslog / tacplus / radius
    vars Map<String>
    a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
    virtualChassis Property Map
    required for preprovisioned Virtual Chassis
    vrfConfig Property Map
    vrfInstances Map<Property Map>
    Property key is the network name
    vrrpConfig Property Map
    Junos VRRP config
    x Number
    x in pixel
    y Number
    y in pixel

    Supporting Types

    SwitchAclPolicy, SwitchAclPolicyArgs

    Actions List<Pulumi.JuniperMist.Device.Inputs.SwitchAclPolicyAction>
    • for GBP-based policy, all src_tags and dst_tags have to be gbp-based
    • for ACL-based policy, network is required in either the source or destination so that we know where to attach the policy to
    Name string
    SrcTags List<string>
    • for GBP-based policy, all src_tags and dst_tags have to be gbp-based
    • for ACL-based policy, network is required in either the source or destination so that we know where to attach the policy to
    Actions []SwitchAclPolicyAction
    • for GBP-based policy, all src_tags and dst_tags have to be gbp-based
    • for ACL-based policy, network is required in either the source or destination so that we know where to attach the policy to
    Name string
    SrcTags []string
    • for GBP-based policy, all src_tags and dst_tags have to be gbp-based
    • for ACL-based policy, network is required in either the source or destination so that we know where to attach the policy to
    actions List<SwitchAclPolicyAction>
    • for GBP-based policy, all src_tags and dst_tags have to be gbp-based
    • for ACL-based policy, network is required in either the source or destination so that we know where to attach the policy to
    name String
    srcTags List<String>
    • for GBP-based policy, all src_tags and dst_tags have to be gbp-based
    • for ACL-based policy, network is required in either the source or destination so that we know where to attach the policy to
    actions SwitchAclPolicyAction[]
    • for GBP-based policy, all src_tags and dst_tags have to be gbp-based
    • for ACL-based policy, network is required in either the source or destination so that we know where to attach the policy to
    name string
    srcTags string[]
    • for GBP-based policy, all src_tags and dst_tags have to be gbp-based
    • for ACL-based policy, network is required in either the source or destination so that we know where to attach the policy to
    actions Sequence[SwitchAclPolicyAction]
    • for GBP-based policy, all src_tags and dst_tags have to be gbp-based
    • for ACL-based policy, network is required in either the source or destination so that we know where to attach the policy to
    name str
    src_tags Sequence[str]
    • for GBP-based policy, all src_tags and dst_tags have to be gbp-based
    • for ACL-based policy, network is required in either the source or destination so that we know where to attach the policy to
    actions List<Property Map>
    • for GBP-based policy, all src_tags and dst_tags have to be gbp-based
    • for ACL-based policy, network is required in either the source or destination so that we know where to attach the policy to
    name String
    srcTags List<String>
    • for GBP-based policy, all src_tags and dst_tags have to be gbp-based
    • for ACL-based policy, network is required in either the source or destination so that we know where to attach the policy to

    SwitchAclPolicyAction, SwitchAclPolicyActionArgs

    DstTag string
    Action string
    enum: allow, deny
    DstTag string
    Action string
    enum: allow, deny
    dstTag String
    action String
    enum: allow, deny
    dstTag string
    action string
    enum: allow, deny
    dst_tag str
    action str
    enum: allow, deny
    dstTag String
    action String
    enum: allow, deny

    SwitchAclTags, SwitchAclTagsArgs

    Type string
    enum: any, dynamic_gbp, mac, network, radius_group, resource, static_gbp, subnet
    GbpTag int
    required if

    • type==dynamic_gbp (gbp_tag received from RADIUS)
    • type==static_gbp (applying gbp tag against matching conditions)
    Macs List<string>
    required if

    • type==mac
    • type==static_gbp if from matching mac
    Network string
    if:

    • type==mac (optional. default is any)
    • type==subnet (optional. default is any)
    • type==network
    • type==resource (optional. default is any)
    • type==static_gbp if from matching network (vlan)'
    RadiusGroup string
    required if:

    • type==radius_group
    • type==static_gbp if from matching radius_group
    Specs List<Pulumi.JuniperMist.Device.Inputs.SwitchAclTagsSpec>
    if type==resource empty means unrestricted, i.e. any
    Subnets List<string>
    if

    • type==subnet
    • type==resource (optional. default is any)
    • type==static_gbp if from matching subnet
    Type string
    enum: any, dynamic_gbp, mac, network, radius_group, resource, static_gbp, subnet
    GbpTag int
    required if

    • type==dynamic_gbp (gbp_tag received from RADIUS)
    • type==static_gbp (applying gbp tag against matching conditions)
    Macs []string
    required if

    • type==mac
    • type==static_gbp if from matching mac
    Network string
    if:

    • type==mac (optional. default is any)
    • type==subnet (optional. default is any)
    • type==network
    • type==resource (optional. default is any)
    • type==static_gbp if from matching network (vlan)'
    RadiusGroup string
    required if:

    • type==radius_group
    • type==static_gbp if from matching radius_group
    Specs []SwitchAclTagsSpec
    if type==resource empty means unrestricted, i.e. any
    Subnets []string
    if

    • type==subnet
    • type==resource (optional. default is any)
    • type==static_gbp if from matching subnet
    type String
    enum: any, dynamic_gbp, mac, network, radius_group, resource, static_gbp, subnet
    gbpTag Integer
    required if

    • type==dynamic_gbp (gbp_tag received from RADIUS)
    • type==static_gbp (applying gbp tag against matching conditions)
    macs List<String>
    required if

    • type==mac
    • type==static_gbp if from matching mac
    network String
    if:

    • type==mac (optional. default is any)
    • type==subnet (optional. default is any)
    • type==network
    • type==resource (optional. default is any)
    • type==static_gbp if from matching network (vlan)'
    radiusGroup String
    required if:

    • type==radius_group
    • type==static_gbp if from matching radius_group
    specs List<SwitchAclTagsSpec>
    if type==resource empty means unrestricted, i.e. any
    subnets List<String>
    if

    • type==subnet
    • type==resource (optional. default is any)
    • type==static_gbp if from matching subnet
    type string
    enum: any, dynamic_gbp, mac, network, radius_group, resource, static_gbp, subnet
    gbpTag number
    required if

    • type==dynamic_gbp (gbp_tag received from RADIUS)
    • type==static_gbp (applying gbp tag against matching conditions)
    macs string[]
    required if

    • type==mac
    • type==static_gbp if from matching mac
    network string
    if:

    • type==mac (optional. default is any)
    • type==subnet (optional. default is any)
    • type==network
    • type==resource (optional. default is any)
    • type==static_gbp if from matching network (vlan)'
    radiusGroup string
    required if:

    • type==radius_group
    • type==static_gbp if from matching radius_group
    specs SwitchAclTagsSpec[]
    if type==resource empty means unrestricted, i.e. any
    subnets string[]
    if

    • type==subnet
    • type==resource (optional. default is any)
    • type==static_gbp if from matching subnet
    type str
    enum: any, dynamic_gbp, mac, network, radius_group, resource, static_gbp, subnet
    gbp_tag int
    required if

    • type==dynamic_gbp (gbp_tag received from RADIUS)
    • type==static_gbp (applying gbp tag against matching conditions)
    macs Sequence[str]
    required if

    • type==mac
    • type==static_gbp if from matching mac
    network str
    if:

    • type==mac (optional. default is any)
    • type==subnet (optional. default is any)
    • type==network
    • type==resource (optional. default is any)
    • type==static_gbp if from matching network (vlan)'
    radius_group str
    required if:

    • type==radius_group
    • type==static_gbp if from matching radius_group
    specs Sequence[SwitchAclTagsSpec]
    if type==resource empty means unrestricted, i.e. any
    subnets Sequence[str]
    if

    • type==subnet
    • type==resource (optional. default is any)
    • type==static_gbp if from matching subnet
    type String
    enum: any, dynamic_gbp, mac, network, radius_group, resource, static_gbp, subnet
    gbpTag Number
    required if

    • type==dynamic_gbp (gbp_tag received from RADIUS)
    • type==static_gbp (applying gbp tag against matching conditions)
    macs List<String>
    required if

    • type==mac
    • type==static_gbp if from matching mac
    network String
    if:

    • type==mac (optional. default is any)
    • type==subnet (optional. default is any)
    • type==network
    • type==resource (optional. default is any)
    • type==static_gbp if from matching network (vlan)'
    radiusGroup String
    required if:

    • type==radius_group
    • type==static_gbp if from matching radius_group
    specs List<Property Map>
    if type==resource empty means unrestricted, i.e. any
    subnets List<String>
    if

    • type==subnet
    • type==resource (optional. default is any)
    • type==static_gbp if from matching subnet

    SwitchAclTagsSpec, SwitchAclTagsSpecArgs

    PortRange string
    matched dst port, "0" means any
    Protocol string
    tcp / udp / icmp / gre / any / :protocol_number. protocol_number is between 1-254
    PortRange string
    matched dst port, "0" means any
    Protocol string
    tcp / udp / icmp / gre / any / :protocol_number. protocol_number is between 1-254
    portRange String
    matched dst port, "0" means any
    protocol String
    tcp / udp / icmp / gre / any / :protocol_number. protocol_number is between 1-254
    portRange string
    matched dst port, "0" means any
    protocol string
    tcp / udp / icmp / gre / any / :protocol_number. protocol_number is between 1-254
    port_range str
    matched dst port, "0" means any
    protocol str
    tcp / udp / icmp / gre / any / :protocol_number. protocol_number is between 1-254
    portRange String
    matched dst port, "0" means any
    protocol String
    tcp / udp / icmp / gre / any / :protocol_number. protocol_number is between 1-254

    SwitchDhcpSnooping, SwitchDhcpSnoopingArgs

    AllNetworks bool
    EnableArpSpoofCheck bool
    Enable for dynamic ARP inspection check
    EnableIpSourceGuard bool
    Enable for check for forging source IP address
    Enabled bool
    Networks List<string>
    if all_networks==false, list of network with DHCP snooping enabled
    AllNetworks bool
    EnableArpSpoofCheck bool
    Enable for dynamic ARP inspection check
    EnableIpSourceGuard bool
    Enable for check for forging source IP address
    Enabled bool
    Networks []string
    if all_networks==false, list of network with DHCP snooping enabled
    allNetworks Boolean
    enableArpSpoofCheck Boolean
    Enable for dynamic ARP inspection check
    enableIpSourceGuard Boolean
    Enable for check for forging source IP address
    enabled Boolean
    networks List<String>
    if all_networks==false, list of network with DHCP snooping enabled
    allNetworks boolean
    enableArpSpoofCheck boolean
    Enable for dynamic ARP inspection check
    enableIpSourceGuard boolean
    Enable for check for forging source IP address
    enabled boolean
    networks string[]
    if all_networks==false, list of network with DHCP snooping enabled
    all_networks bool
    enable_arp_spoof_check bool
    Enable for dynamic ARP inspection check
    enable_ip_source_guard bool
    Enable for check for forging source IP address
    enabled bool
    networks Sequence[str]
    if all_networks==false, list of network with DHCP snooping enabled
    allNetworks Boolean
    enableArpSpoofCheck Boolean
    Enable for dynamic ARP inspection check
    enableIpSourceGuard Boolean
    Enable for check for forging source IP address
    enabled Boolean
    networks List<String>
    if all_networks==false, list of network with DHCP snooping enabled

    SwitchDhcpdConfig, SwitchDhcpdConfigArgs

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

    SwitchDhcpdConfigConfig, SwitchDhcpdConfigConfigArgs

    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.SwitchDhcpdConfigConfigFixedBindings>
    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.SwitchDhcpdConfigConfigOptions>
    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: none, relay (DHCP Relay), server (DHCP Server)
    Type6 string
    enum: none, relay (DHCP Relay), server (DHCP Server)
    VendorEncapulated Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchDhcpdConfigConfigVendorEncapulated>
    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]SwitchDhcpdConfigConfigFixedBindings
    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]SwitchDhcpdConfigConfigOptions
    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: none, relay (DHCP Relay), server (DHCP Server)
    Type6 string
    enum: none, relay (DHCP Relay), server (DHCP Server)
    VendorEncapulated map[string]SwitchDhcpdConfigConfigVendorEncapulated
    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,SwitchDhcpdConfigConfigFixedBindings>
    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,SwitchDhcpdConfigConfigOptions>
    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: none, relay (DHCP Relay), server (DHCP Server)
    type6 String
    enum: none, relay (DHCP Relay), server (DHCP Server)
    vendorEncapulated Map<String,SwitchDhcpdConfigConfigVendorEncapulated>
    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]: SwitchDhcpdConfigConfigFixedBindings}
    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]: SwitchDhcpdConfigConfigOptions}
    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: none, relay (DHCP Relay), server (DHCP Server)
    type6 string
    enum: none, relay (DHCP Relay), server (DHCP Server)
    vendorEncapulated {[key: string]: SwitchDhcpdConfigConfigVendorEncapulated}
    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, SwitchDhcpdConfigConfigFixedBindings]
    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, SwitchDhcpdConfigConfigOptions]
    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: none, relay (DHCP Relay), server (DHCP Server)
    type6 str
    enum: none, relay (DHCP Relay), server (DHCP Server)
    vendor_encapulated Mapping[str, SwitchDhcpdConfigConfigVendorEncapulated]
    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: none, relay (DHCP Relay), server (DHCP Server)
    type6 String
    enum: none, relay (DHCP Relay), server (DHCP Server)
    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'

    SwitchDhcpdConfigConfigFixedBindings, SwitchDhcpdConfigConfigFixedBindingsArgs

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

    SwitchDhcpdConfigConfigOptions, SwitchDhcpdConfigConfigOptionsArgs

    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

    SwitchDhcpdConfigConfigVendorEncapulated, SwitchDhcpdConfigConfigVendorEncapulatedArgs

    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

    SwitchEvpnConfig, SwitchEvpnConfigArgs

    Enabled bool
    Role string
    enum: access, core, distribution
    Enabled bool
    Role string
    enum: access, core, distribution
    enabled Boolean
    role String
    enum: access, core, distribution
    enabled boolean
    role string
    enum: access, core, distribution
    enabled bool
    role str
    enum: access, core, distribution
    enabled Boolean
    role String
    enum: access, core, distribution

    SwitchExtraRoutes, SwitchExtraRoutesArgs

    Via string
    next-hop IP Address
    Discard bool
    this takes precedence
    Metric int
    NextQualified Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchExtraRoutesNextQualified>
    NoResolve bool
    Preference int
    Via string
    next-hop IP Address
    Discard bool
    this takes precedence
    Metric int
    NextQualified map[string]SwitchExtraRoutesNextQualified
    NoResolve bool
    Preference int
    via String
    next-hop IP Address
    discard Boolean
    this takes precedence
    metric Integer
    nextQualified Map<String,SwitchExtraRoutesNextQualified>
    noResolve Boolean
    preference Integer
    via string
    next-hop IP Address
    discard boolean
    this takes precedence
    metric number
    nextQualified {[key: string]: SwitchExtraRoutesNextQualified}
    noResolve boolean
    preference number
    via str
    next-hop IP Address
    discard bool
    this takes precedence
    metric int
    next_qualified Mapping[str, SwitchExtraRoutesNextQualified]
    no_resolve bool
    preference int
    via String
    next-hop IP Address
    discard Boolean
    this takes precedence
    metric Number
    nextQualified Map<Property Map>
    noResolve Boolean
    preference Number

    SwitchExtraRoutes6, SwitchExtraRoutes6Args

    Via string
    next-hop IP Address
    Discard bool
    this takes precedence
    Metric int
    NextQualified Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchExtraRoutes6NextQualified>
    NoResolve bool
    Preference int
    Via string
    next-hop IP Address
    Discard bool
    this takes precedence
    Metric int
    NextQualified map[string]SwitchExtraRoutes6NextQualified
    NoResolve bool
    Preference int
    via String
    next-hop IP Address
    discard Boolean
    this takes precedence
    metric Integer
    nextQualified Map<String,SwitchExtraRoutes6NextQualified>
    noResolve Boolean
    preference Integer
    via string
    next-hop IP Address
    discard boolean
    this takes precedence
    metric number
    nextQualified {[key: string]: SwitchExtraRoutes6NextQualified}
    noResolve boolean
    preference number
    via str
    next-hop IP Address
    discard bool
    this takes precedence
    metric int
    next_qualified Mapping[str, SwitchExtraRoutes6NextQualified]
    no_resolve bool
    preference int
    via String
    next-hop IP Address
    discard Boolean
    this takes precedence
    metric Number
    nextQualified Map<Property Map>
    noResolve Boolean
    preference Number

    SwitchExtraRoutes6NextQualified, SwitchExtraRoutes6NextQualifiedArgs

    metric Integer
    preference Integer
    metric number
    preference number
    metric Number
    preference Number

    SwitchExtraRoutesNextQualified, SwitchExtraRoutesNextQualifiedArgs

    metric Integer
    preference Integer
    metric number
    preference number
    metric Number
    preference Number

    SwitchIpConfig, SwitchIpConfigArgs

    Dns List<string>
    Required when type==static
    DnsSuffixes List<string>
    Gateway string
    Ip string
    Netmask string
    used only if subnet is not specified in networks
    Network string
    the network where this mgmt IP reside, this will be used as default network for outbound-ssh, dns, ntp, dns, tacplus, radius, syslog, snmp
    Type string
    enum: dhcp, static
    Dns []string
    Required when type==static
    DnsSuffixes []string
    Gateway string
    Ip string
    Netmask string
    used only if subnet is not specified in networks
    Network string
    the network where this mgmt IP reside, this will be used as default network for outbound-ssh, dns, ntp, dns, tacplus, radius, syslog, snmp
    Type string
    enum: dhcp, static
    dns List<String>
    Required when type==static
    dnsSuffixes List<String>
    gateway String
    ip String
    netmask String
    used only if subnet is not specified in networks
    network String
    the network where this mgmt IP reside, this will be used as default network for outbound-ssh, dns, ntp, dns, tacplus, radius, syslog, snmp
    type String
    enum: dhcp, static
    dns string[]
    Required when type==static
    dnsSuffixes string[]
    gateway string
    ip string
    netmask string
    used only if subnet is not specified in networks
    network string
    the network where this mgmt IP reside, this will be used as default network for outbound-ssh, dns, ntp, dns, tacplus, radius, syslog, snmp
    type string
    enum: dhcp, static
    dns Sequence[str]
    Required when type==static
    dns_suffixes Sequence[str]
    gateway str
    ip str
    netmask str
    used only if subnet is not specified in networks
    network str
    the network where this mgmt IP reside, this will be used as default network for outbound-ssh, dns, ntp, dns, tacplus, radius, syslog, snmp
    type str
    enum: dhcp, static
    dns List<String>
    Required when type==static
    dnsSuffixes List<String>
    gateway String
    ip String
    netmask String
    used only if subnet is not specified in networks
    network String
    the network where this mgmt IP reside, this will be used as default network for outbound-ssh, dns, ntp, dns, tacplus, radius, syslog, snmp
    type String
    enum: dhcp, static

    SwitchMistNac, SwitchMistNacArgs

    Enabled bool
    Network string
    Enabled bool
    Network string
    enabled Boolean
    network String
    enabled boolean
    network string
    enabled Boolean
    network String

    SwitchNetworks, SwitchNetworksArgs

    VlanId string
    Isolation bool
    whether to stop clients to talk to each other, default is false (when enabled, a unique isolation_vlan_id is required) NOTE: this features requires uplink device to also a be Juniper device and inter_switch_link to be set
    IsolationVlanId string
    Subnet string
    optional for pure switching, required when L3 / routing features are used
    VlanId string
    Isolation bool
    whether to stop clients to talk to each other, default is false (when enabled, a unique isolation_vlan_id is required) NOTE: this features requires uplink device to also a be Juniper device and inter_switch_link to be set
    IsolationVlanId string
    Subnet string
    optional for pure switching, required when L3 / routing features are used
    vlanId String
    isolation Boolean
    whether to stop clients to talk to each other, default is false (when enabled, a unique isolation_vlan_id is required) NOTE: this features requires uplink device to also a be Juniper device and inter_switch_link to be set
    isolationVlanId String
    subnet String
    optional for pure switching, required when L3 / routing features are used
    vlanId string
    isolation boolean
    whether to stop clients to talk to each other, default is false (when enabled, a unique isolation_vlan_id is required) NOTE: this features requires uplink device to also a be Juniper device and inter_switch_link to be set
    isolationVlanId string
    subnet string
    optional for pure switching, required when L3 / routing features are used
    vlan_id str
    isolation bool
    whether to stop clients to talk to each other, default is false (when enabled, a unique isolation_vlan_id is required) NOTE: this features requires uplink device to also a be Juniper device and inter_switch_link to be set
    isolation_vlan_id str
    subnet str
    optional for pure switching, required when L3 / routing features are used
    vlanId String
    isolation Boolean
    whether to stop clients to talk to each other, default is false (when enabled, a unique isolation_vlan_id is required) NOTE: this features requires uplink device to also a be Juniper device and inter_switch_link to be set
    isolationVlanId String
    subnet String
    optional for pure switching, required when L3 / routing features are used

    SwitchOobIpConfig, SwitchOobIpConfigArgs

    Gateway string
    Ip string
    Netmask string
    used only if subnet is not specified in networks
    Network string
    optional, the network to be used for mgmt
    Type string
    enum: dhcp, static
    UseMgmtVrf bool
    f supported on the platform. If enabled, DNS will be using this routing-instance, too
    UseMgmtVrfForHostOut bool
    for host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired
    Gateway string
    Ip string
    Netmask string
    used only if subnet is not specified in networks
    Network string
    optional, the network to be used for mgmt
    Type string
    enum: dhcp, static
    UseMgmtVrf bool
    f supported on the platform. If enabled, DNS will be using this routing-instance, too
    UseMgmtVrfForHostOut bool
    for host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired
    gateway String
    ip String
    netmask String
    used only if subnet is not specified in networks
    network String
    optional, the network to be used for mgmt
    type String
    enum: dhcp, static
    useMgmtVrf Boolean
    f supported on the platform. If enabled, DNS will be using this routing-instance, too
    useMgmtVrfForHostOut Boolean
    for host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired
    gateway string
    ip string
    netmask string
    used only if subnet is not specified in networks
    network string
    optional, the network to be used for mgmt
    type string
    enum: dhcp, static
    useMgmtVrf boolean
    f supported on the platform. If enabled, DNS will be using this routing-instance, too
    useMgmtVrfForHostOut boolean
    for host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired
    gateway str
    ip str
    netmask str
    used only if subnet is not specified in networks
    network str
    optional, the network to be used for mgmt
    type str
    enum: dhcp, static
    use_mgmt_vrf bool
    f supported on the platform. If enabled, DNS will be using this routing-instance, too
    use_mgmt_vrf_for_host_out bool
    for host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired
    gateway String
    ip String
    netmask String
    used only if subnet is not specified in networks
    network String
    optional, the network to be used for mgmt
    type String
    enum: dhcp, static
    useMgmtVrf Boolean
    f supported on the platform. If enabled, DNS will be using this routing-instance, too
    useMgmtVrfForHostOut Boolean
    for host-out traffic (NTP/TACPLUS/RADIUS/SYSLOG/SNMP), if alternative source network/ip is desired

    SwitchOspfAreas, SwitchOspfAreasArgs

    Networks Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchOspfAreasNetworks>
    IncludeLoopback bool
    Type string
    OSPF type. enum: default, nssa, stub
    Networks map[string]SwitchOspfAreasNetworks
    IncludeLoopback bool
    Type string
    OSPF type. enum: default, nssa, stub
    networks Map<String,SwitchOspfAreasNetworks>
    includeLoopback Boolean
    type String
    OSPF type. enum: default, nssa, stub
    networks {[key: string]: SwitchOspfAreasNetworks}
    includeLoopback boolean
    type string
    OSPF type. enum: default, nssa, stub
    networks Mapping[str, SwitchOspfAreasNetworks]
    include_loopback bool
    type str
    OSPF type. enum: default, nssa, stub
    networks Map<Property Map>
    includeLoopback Boolean
    type String
    OSPF type. enum: default, nssa, stub

    SwitchOspfAreasNetworks, SwitchOspfAreasNetworksArgs

    AuthKeys Dictionary<string, string>
    Required if auth_type==md5. Property key is the key number
    AuthPassword string
    Required if auth_type==password, the password, max length is 8
    AuthType string
    auth type. enum: md5, none, password
    BfdMinimumInterval int
    DeadInterval int
    ExportPolicy string
    HelloInterval int
    ImportPolicy string
    InterfaceType string
    interface type (nbma = non-broadcast multi-access). enum: broadcast, nbma, p2mp, p2p
    Metric int
    NoReadvertiseToOverlay bool
    by default, we'll re-advertise all learned OSPF routes toward overlay
    Passive bool
    whether to send OSPF-Hello
    AuthKeys map[string]string
    Required if auth_type==md5. Property key is the key number
    AuthPassword string
    Required if auth_type==password, the password, max length is 8
    AuthType string
    auth type. enum: md5, none, password
    BfdMinimumInterval int
    DeadInterval int
    ExportPolicy string
    HelloInterval int
    ImportPolicy string
    InterfaceType string
    interface type (nbma = non-broadcast multi-access). enum: broadcast, nbma, p2mp, p2p
    Metric int
    NoReadvertiseToOverlay bool
    by default, we'll re-advertise all learned OSPF routes toward overlay
    Passive bool
    whether to send OSPF-Hello
    authKeys Map<String,String>
    Required if auth_type==md5. Property key is the key number
    authPassword String
    Required if auth_type==password, the password, max length is 8
    authType String
    auth type. enum: md5, none, password
    bfdMinimumInterval Integer
    deadInterval Integer
    exportPolicy String
    helloInterval Integer
    importPolicy String
    interfaceType String
    interface type (nbma = non-broadcast multi-access). enum: broadcast, nbma, p2mp, p2p
    metric Integer
    noReadvertiseToOverlay Boolean
    by default, we'll re-advertise all learned OSPF routes toward overlay
    passive Boolean
    whether to send OSPF-Hello
    authKeys {[key: string]: string}
    Required if auth_type==md5. Property key is the key number
    authPassword string
    Required if auth_type==password, the password, max length is 8
    authType string
    auth type. enum: md5, none, password
    bfdMinimumInterval number
    deadInterval number
    exportPolicy string
    helloInterval number
    importPolicy string
    interfaceType string
    interface type (nbma = non-broadcast multi-access). enum: broadcast, nbma, p2mp, p2p
    metric number
    noReadvertiseToOverlay boolean
    by default, we'll re-advertise all learned OSPF routes toward overlay
    passive boolean
    whether to send OSPF-Hello
    auth_keys Mapping[str, str]
    Required if auth_type==md5. Property key is the key number
    auth_password str
    Required if auth_type==password, the password, max length is 8
    auth_type str
    auth type. enum: md5, none, password
    bfd_minimum_interval int
    dead_interval int
    export_policy str
    hello_interval int
    import_policy str
    interface_type str
    interface type (nbma = non-broadcast multi-access). enum: broadcast, nbma, p2mp, p2p
    metric int
    no_readvertise_to_overlay bool
    by default, we'll re-advertise all learned OSPF routes toward overlay
    passive bool
    whether to send OSPF-Hello
    authKeys Map<String>
    Required if auth_type==md5. Property key is the key number
    authPassword String
    Required if auth_type==password, the password, max length is 8
    authType String
    auth type. enum: md5, none, password
    bfdMinimumInterval Number
    deadInterval Number
    exportPolicy String
    helloInterval Number
    importPolicy String
    interfaceType String
    interface type (nbma = non-broadcast multi-access). enum: broadcast, nbma, p2mp, p2p
    metric Number
    noReadvertiseToOverlay Boolean
    by default, we'll re-advertise all learned OSPF routes toward overlay
    passive Boolean
    whether to send OSPF-Hello

    SwitchOtherIpConfigs, SwitchOtherIpConfigsArgs

    EvpnAnycast bool
    for EVPN, if anycast is desired
    Ip string
    required if type==static
    Ip6 string
    required if type6==static
    Netmask string
    optional, subnet from network definition will be used if defined
    Netmask6 string
    optional, subnet from network definition will be used if defined
    Type string
    enum: dhcp, static
    Type6 string
    enum: autoconf, dhcp, disabled, static
    EvpnAnycast bool
    for EVPN, if anycast is desired
    Ip string
    required if type==static
    Ip6 string
    required if type6==static
    Netmask string
    optional, subnet from network definition will be used if defined
    Netmask6 string
    optional, subnet from network definition will be used if defined
    Type string
    enum: dhcp, static
    Type6 string
    enum: autoconf, dhcp, disabled, static
    evpnAnycast Boolean
    for EVPN, if anycast is desired
    ip String
    required if type==static
    ip6 String
    required if type6==static
    netmask String
    optional, subnet from network definition will be used if defined
    netmask6 String
    optional, subnet from network definition will be used if defined
    type String
    enum: dhcp, static
    type6 String
    enum: autoconf, dhcp, disabled, static
    evpnAnycast boolean
    for EVPN, if anycast is desired
    ip string
    required if type==static
    ip6 string
    required if type6==static
    netmask string
    optional, subnet from network definition will be used if defined
    netmask6 string
    optional, subnet from network definition will be used if defined
    type string
    enum: dhcp, static
    type6 string
    enum: autoconf, dhcp, disabled, static
    evpn_anycast bool
    for EVPN, if anycast is desired
    ip str
    required if type==static
    ip6 str
    required if type6==static
    netmask str
    optional, subnet from network definition will be used if defined
    netmask6 str
    optional, subnet from network definition will be used if defined
    type str
    enum: dhcp, static
    type6 str
    enum: autoconf, dhcp, disabled, static
    evpnAnycast Boolean
    for EVPN, if anycast is desired
    ip String
    required if type==static
    ip6 String
    required if type6==static
    netmask String
    optional, subnet from network definition will be used if defined
    netmask6 String
    optional, subnet from network definition will be used if defined
    type String
    enum: dhcp, static
    type6 String
    enum: autoconf, dhcp, disabled, static

    SwitchPortConfig, SwitchPortConfigArgs

    Usage string

    port usage name.

    If EVPN is used, use evpn_uplinkor evpn_downlink

    AeDisableLacp bool
    To disable LACP support for the AE interface
    AeIdx int
    Users could force to use the designated AE name
    AeLacpSlow bool
    to use fast timeout
    Aggregated bool
    Critical bool
    if want to generate port up/down alarm
    Description string
    DisableAutoneg bool
    if speed and duplex are specified, whether to disable autonegotiation
    Duplex string
    enum: auto, full, half
    DynamicUsage string
    Enable dynamic usage for this port. Set to dynamic to enable.
    Esilag bool
    Mtu int
    media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation
    NoLocalOverwrite bool
    prevent helpdesk to override the port config
    PoeDisabled bool
    Speed string
    enum: 100m, 10m, 1g, 2.5g, 5g, auto
    Usage string

    port usage name.

    If EVPN is used, use evpn_uplinkor evpn_downlink

    AeDisableLacp bool
    To disable LACP support for the AE interface
    AeIdx int
    Users could force to use the designated AE name
    AeLacpSlow bool
    to use fast timeout
    Aggregated bool
    Critical bool
    if want to generate port up/down alarm
    Description string
    DisableAutoneg bool
    if speed and duplex are specified, whether to disable autonegotiation
    Duplex string
    enum: auto, full, half
    DynamicUsage string
    Enable dynamic usage for this port. Set to dynamic to enable.
    Esilag bool
    Mtu int
    media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation
    NoLocalOverwrite bool
    prevent helpdesk to override the port config
    PoeDisabled bool
    Speed string
    enum: 100m, 10m, 1g, 2.5g, 5g, auto
    usage String

    port usage name.

    If EVPN is used, use evpn_uplinkor evpn_downlink

    aeDisableLacp Boolean
    To disable LACP support for the AE interface
    aeIdx Integer
    Users could force to use the designated AE name
    aeLacpSlow Boolean
    to use fast timeout
    aggregated Boolean
    critical Boolean
    if want to generate port up/down alarm
    description String
    disableAutoneg Boolean
    if speed and duplex are specified, whether to disable autonegotiation
    duplex String
    enum: auto, full, half
    dynamicUsage String
    Enable dynamic usage for this port. Set to dynamic to enable.
    esilag Boolean
    mtu Integer
    media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation
    noLocalOverwrite Boolean
    prevent helpdesk to override the port config
    poeDisabled Boolean
    speed String
    enum: 100m, 10m, 1g, 2.5g, 5g, auto
    usage string

    port usage name.

    If EVPN is used, use evpn_uplinkor evpn_downlink

    aeDisableLacp boolean
    To disable LACP support for the AE interface
    aeIdx number
    Users could force to use the designated AE name
    aeLacpSlow boolean
    to use fast timeout
    aggregated boolean
    critical boolean
    if want to generate port up/down alarm
    description string
    disableAutoneg boolean
    if speed and duplex are specified, whether to disable autonegotiation
    duplex string
    enum: auto, full, half
    dynamicUsage string
    Enable dynamic usage for this port. Set to dynamic to enable.
    esilag boolean
    mtu number
    media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation
    noLocalOverwrite boolean
    prevent helpdesk to override the port config
    poeDisabled boolean
    speed string
    enum: 100m, 10m, 1g, 2.5g, 5g, auto
    usage str

    port usage name.

    If EVPN is used, use evpn_uplinkor evpn_downlink

    ae_disable_lacp bool
    To disable LACP support for the AE interface
    ae_idx int
    Users could force to use the designated AE name
    ae_lacp_slow bool
    to use fast timeout
    aggregated bool
    critical bool
    if want to generate port up/down alarm
    description str
    disable_autoneg bool
    if speed and duplex are specified, whether to disable autonegotiation
    duplex str
    enum: auto, full, half
    dynamic_usage str
    Enable dynamic usage for this port. Set to dynamic to enable.
    esilag bool
    mtu int
    media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation
    no_local_overwrite bool
    prevent helpdesk to override the port config
    poe_disabled bool
    speed str
    enum: 100m, 10m, 1g, 2.5g, 5g, auto
    usage String

    port usage name.

    If EVPN is used, use evpn_uplinkor evpn_downlink

    aeDisableLacp Boolean
    To disable LACP support for the AE interface
    aeIdx Number
    Users could force to use the designated AE name
    aeLacpSlow Boolean
    to use fast timeout
    aggregated Boolean
    critical Boolean
    if want to generate port up/down alarm
    description String
    disableAutoneg Boolean
    if speed and duplex are specified, whether to disable autonegotiation
    duplex String
    enum: auto, full, half
    dynamicUsage String
    Enable dynamic usage for this port. Set to dynamic to enable.
    esilag Boolean
    mtu Number
    media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation
    noLocalOverwrite Boolean
    prevent helpdesk to override the port config
    poeDisabled Boolean
    speed String
    enum: 100m, 10m, 1g, 2.5g, 5g, auto

    SwitchPortMirroring, SwitchPortMirroringArgs

    InputNetworksIngresses List<string>
    at least one of the input_port_ids_ingress, input_port_ids_egress or input_networks_ingress should be specified
    InputPortIdsEgresses List<string>
    at least one of the input_port_ids_ingress, input_port_ids_egress or input_networks_ingress should be specified
    InputPortIdsIngresses List<string>
    at least one of the input_port_ids_ingress, input_port_ids_egress or input_networks_ingress should be specified
    OutputNetwork string
    exaclty one of the output_port_id or output_network should be provided
    OutputPortId string
    exaclty one of the output_port_id or output_network should be provided
    InputNetworksIngresses []string
    at least one of the input_port_ids_ingress, input_port_ids_egress or input_networks_ingress should be specified
    InputPortIdsEgresses []string
    at least one of the input_port_ids_ingress, input_port_ids_egress or input_networks_ingress should be specified
    InputPortIdsIngresses []string
    at least one of the input_port_ids_ingress, input_port_ids_egress or input_networks_ingress should be specified
    OutputNetwork string
    exaclty one of the output_port_id or output_network should be provided
    OutputPortId string
    exaclty one of the output_port_id or output_network should be provided
    inputNetworksIngresses List<String>
    at least one of the input_port_ids_ingress, input_port_ids_egress or input_networks_ingress should be specified
    inputPortIdsEgresses List<String>
    at least one of the input_port_ids_ingress, input_port_ids_egress or input_networks_ingress should be specified
    inputPortIdsIngresses List<String>
    at least one of the input_port_ids_ingress, input_port_ids_egress or input_networks_ingress should be specified
    outputNetwork String
    exaclty one of the output_port_id or output_network should be provided
    outputPortId String
    exaclty one of the output_port_id or output_network should be provided
    inputNetworksIngresses string[]
    at least one of the input_port_ids_ingress, input_port_ids_egress or input_networks_ingress should be specified
    inputPortIdsEgresses string[]
    at least one of the input_port_ids_ingress, input_port_ids_egress or input_networks_ingress should be specified
    inputPortIdsIngresses string[]
    at least one of the input_port_ids_ingress, input_port_ids_egress or input_networks_ingress should be specified
    outputNetwork string
    exaclty one of the output_port_id or output_network should be provided
    outputPortId string
    exaclty one of the output_port_id or output_network should be provided
    input_networks_ingresses Sequence[str]
    at least one of the input_port_ids_ingress, input_port_ids_egress or input_networks_ingress should be specified
    input_port_ids_egresses Sequence[str]
    at least one of the input_port_ids_ingress, input_port_ids_egress or input_networks_ingress should be specified
    input_port_ids_ingresses Sequence[str]
    at least one of the input_port_ids_ingress, input_port_ids_egress or input_networks_ingress should be specified
    output_network str
    exaclty one of the output_port_id or output_network should be provided
    output_port_id str
    exaclty one of the output_port_id or output_network should be provided
    inputNetworksIngresses List<String>
    at least one of the input_port_ids_ingress, input_port_ids_egress or input_networks_ingress should be specified
    inputPortIdsEgresses List<String>
    at least one of the input_port_ids_ingress, input_port_ids_egress or input_networks_ingress should be specified
    inputPortIdsIngresses List<String>
    at least one of the input_port_ids_ingress, input_port_ids_egress or input_networks_ingress should be specified
    outputNetwork String
    exaclty one of the output_port_id or output_network should be provided
    outputPortId String
    exaclty one of the output_port_id or output_network should be provided

    SwitchPortUsages, SwitchPortUsagesArgs

    AllNetworks bool
    Only if mode==trunk whether to trunk all network/vlans
    AllowDhcpd bool

    Only if mode!=dynamic if DHCP snooping is enabled, whether DHCP server is allowed on the interfaces with. All the interfaces from port configs using this port usage are effected. Please notice that allow_dhcpd is a tri_state.

    When it is not defined, it means using the system’s default setting which depends on whether the port is a access or trunk port.

    AllowMultipleSupplicants bool
    Only if mode!=dynamic
    BypassAuthWhenServerDown bool
    Only if mode!=dynamic and port_auth==dot1x bypass auth for known clients if set to true when RADIUS server is down
    BypassAuthWhenServerDownForUnkonwnClient bool
    Only if mode!=dynamic and port_auth=dot1x bypass auth for all (including unknown clients) if set to true when RADIUS server is down
    Description string
    Only if mode!=dynamic
    DisableAutoneg bool
    Only if mode!=dynamic if speed and duplex are specified, whether to disable autonegotiation
    Disabled bool
    Only if mode!=dynamic whether the port is disabled
    Duplex string
    Only if mode!=dynamic link connection mode. enum: auto, full, half
    DynamicVlanNetworks List<string>
    Only if mode!=dynamic and port_auth==dot1x, if dynamic vlan is used, specify the possible networks/vlans RADIUS can return
    EnableMacAuth bool
    Only if mode!=dynamic and port_auth==dot1x whether to enable MAC Auth
    EnableQos bool
    Only if mode!=dynamic
    GuestNetwork string
    Only if mode!=dynamic and port_auth==dot1x which network to put the device into if the device cannot do dot1x. default is null (i.e. not allowed)
    InterSwitchLink bool
    Only if mode!=dynamic inter_switch_link is used together with "isolation" under networks NOTE: inter_switch_link works only between Juniper device. This has to be applied to both ports connected together
    MacAuthOnly bool
    Only if mode!=dynamic and enable_mac_auth==true
    MacAuthPreferred bool
    Only if mode!=dynamic + enable_mac_auth==true + mac_auth_only==false, dot1x will be given priority then mac_auth. Enable this to prefer mac_auth over dot1x.
    MacAuthProtocol string
    Only if mode!=dynamic and enable_mac_auth ==true. This type is ignored if mist_nac is enabled. enum: eap-md5, eap-peap, pap
    MacLimit int
    Only if mode!=dynamic max number of mac addresses, default is 0 for unlimited, otherwise range is 1 or higher, with upper bound constrained by platform
    Mode string
    mode==dynamic must only be used with the port usage with the name dynamic. enum: access, dynamic, inet, trunk
    Mtu int
    Only if mode!=dynamic media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation. The default value is 1514.
    Networks List<string>
    Only if mode==trunk, the list of network/vlans
    PersistMac bool
    Only if mode==access and port_auth!=dot1x whether the port should retain dynamically learned MAC addresses
    PoeDisabled bool
    Only if mode!=dynamic whether PoE capabilities are disabled for a port
    PortAuth string
    Only if mode!=dynamic if dot1x is desired, set to dot1x. enum: dot1x
    PortNetwork string
    Only if mode!=dynamic native network/vlan for untagged traffic
    ReauthInterval int
    Only if mode!=dynamic and port_auth=dot1x reauthentication interval range
    ResetDefaultWhen string
    Only if mode==dynamic Control when the DPC port should be changed to the default port usage. enum: link_down, none (let the DPC port keep at the current port usage)
    Rules List<Pulumi.JuniperMist.Device.Inputs.SwitchPortUsagesRule>
    Only if mode==dynamic
    ServerFailNetwork string
    Only if mode!=dynamic and port_auth==dot1x sets server fail fallback vlan
    ServerRejectNetwork string
    Only if mode!=dynamic and port_auth==dot1x when radius server reject / fails
    Speed string
    Only if mode!=dynamic speed, default is auto to automatically negotiate speed
    StormControl Pulumi.JuniperMist.Device.Inputs.SwitchPortUsagesStormControl
    Switch storm control Only if mode!=dynamic
    StpEdge bool
    Only if mode!=dynamic when enabled, the port is not expected to receive BPDU frames
    StpNoRootPort bool
    StpP2p bool
    VoipNetwork string
    Only if mode!=dynamic network/vlan for voip traffic, must also set port_network. to authenticate device, set port_auth
    AllNetworks bool
    Only if mode==trunk whether to trunk all network/vlans
    AllowDhcpd bool

    Only if mode!=dynamic if DHCP snooping is enabled, whether DHCP server is allowed on the interfaces with. All the interfaces from port configs using this port usage are effected. Please notice that allow_dhcpd is a tri_state.

    When it is not defined, it means using the system’s default setting which depends on whether the port is a access or trunk port.

    AllowMultipleSupplicants bool
    Only if mode!=dynamic
    BypassAuthWhenServerDown bool
    Only if mode!=dynamic and port_auth==dot1x bypass auth for known clients if set to true when RADIUS server is down
    BypassAuthWhenServerDownForUnkonwnClient bool
    Only if mode!=dynamic and port_auth=dot1x bypass auth for all (including unknown clients) if set to true when RADIUS server is down
    Description string
    Only if mode!=dynamic
    DisableAutoneg bool
    Only if mode!=dynamic if speed and duplex are specified, whether to disable autonegotiation
    Disabled bool
    Only if mode!=dynamic whether the port is disabled
    Duplex string
    Only if mode!=dynamic link connection mode. enum: auto, full, half
    DynamicVlanNetworks []string
    Only if mode!=dynamic and port_auth==dot1x, if dynamic vlan is used, specify the possible networks/vlans RADIUS can return
    EnableMacAuth bool
    Only if mode!=dynamic and port_auth==dot1x whether to enable MAC Auth
    EnableQos bool
    Only if mode!=dynamic
    GuestNetwork string
    Only if mode!=dynamic and port_auth==dot1x which network to put the device into if the device cannot do dot1x. default is null (i.e. not allowed)
    InterSwitchLink bool
    Only if mode!=dynamic inter_switch_link is used together with "isolation" under networks NOTE: inter_switch_link works only between Juniper device. This has to be applied to both ports connected together
    MacAuthOnly bool
    Only if mode!=dynamic and enable_mac_auth==true
    MacAuthPreferred bool
    Only if mode!=dynamic + enable_mac_auth==true + mac_auth_only==false, dot1x will be given priority then mac_auth. Enable this to prefer mac_auth over dot1x.
    MacAuthProtocol string
    Only if mode!=dynamic and enable_mac_auth ==true. This type is ignored if mist_nac is enabled. enum: eap-md5, eap-peap, pap
    MacLimit int
    Only if mode!=dynamic max number of mac addresses, default is 0 for unlimited, otherwise range is 1 or higher, with upper bound constrained by platform
    Mode string
    mode==dynamic must only be used with the port usage with the name dynamic. enum: access, dynamic, inet, trunk
    Mtu int
    Only if mode!=dynamic media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation. The default value is 1514.
    Networks []string
    Only if mode==trunk, the list of network/vlans
    PersistMac bool
    Only if mode==access and port_auth!=dot1x whether the port should retain dynamically learned MAC addresses
    PoeDisabled bool
    Only if mode!=dynamic whether PoE capabilities are disabled for a port
    PortAuth string
    Only if mode!=dynamic if dot1x is desired, set to dot1x. enum: dot1x
    PortNetwork string
    Only if mode!=dynamic native network/vlan for untagged traffic
    ReauthInterval int
    Only if mode!=dynamic and port_auth=dot1x reauthentication interval range
    ResetDefaultWhen string
    Only if mode==dynamic Control when the DPC port should be changed to the default port usage. enum: link_down, none (let the DPC port keep at the current port usage)
    Rules []SwitchPortUsagesRule
    Only if mode==dynamic
    ServerFailNetwork string
    Only if mode!=dynamic and port_auth==dot1x sets server fail fallback vlan
    ServerRejectNetwork string
    Only if mode!=dynamic and port_auth==dot1x when radius server reject / fails
    Speed string
    Only if mode!=dynamic speed, default is auto to automatically negotiate speed
    StormControl SwitchPortUsagesStormControl
    Switch storm control Only if mode!=dynamic
    StpEdge bool
    Only if mode!=dynamic when enabled, the port is not expected to receive BPDU frames
    StpNoRootPort bool
    StpP2p bool
    VoipNetwork string
    Only if mode!=dynamic network/vlan for voip traffic, must also set port_network. to authenticate device, set port_auth
    allNetworks Boolean
    Only if mode==trunk whether to trunk all network/vlans
    allowDhcpd Boolean

    Only if mode!=dynamic if DHCP snooping is enabled, whether DHCP server is allowed on the interfaces with. All the interfaces from port configs using this port usage are effected. Please notice that allow_dhcpd is a tri_state.

    When it is not defined, it means using the system’s default setting which depends on whether the port is a access or trunk port.

    allowMultipleSupplicants Boolean
    Only if mode!=dynamic
    bypassAuthWhenServerDown Boolean
    Only if mode!=dynamic and port_auth==dot1x bypass auth for known clients if set to true when RADIUS server is down
    bypassAuthWhenServerDownForUnkonwnClient Boolean
    Only if mode!=dynamic and port_auth=dot1x bypass auth for all (including unknown clients) if set to true when RADIUS server is down
    description String
    Only if mode!=dynamic
    disableAutoneg Boolean
    Only if mode!=dynamic if speed and duplex are specified, whether to disable autonegotiation
    disabled Boolean
    Only if mode!=dynamic whether the port is disabled
    duplex String
    Only if mode!=dynamic link connection mode. enum: auto, full, half
    dynamicVlanNetworks List<String>
    Only if mode!=dynamic and port_auth==dot1x, if dynamic vlan is used, specify the possible networks/vlans RADIUS can return
    enableMacAuth Boolean
    Only if mode!=dynamic and port_auth==dot1x whether to enable MAC Auth
    enableQos Boolean
    Only if mode!=dynamic
    guestNetwork String
    Only if mode!=dynamic and port_auth==dot1x which network to put the device into if the device cannot do dot1x. default is null (i.e. not allowed)
    interSwitchLink Boolean
    Only if mode!=dynamic inter_switch_link is used together with "isolation" under networks NOTE: inter_switch_link works only between Juniper device. This has to be applied to both ports connected together
    macAuthOnly Boolean
    Only if mode!=dynamic and enable_mac_auth==true
    macAuthPreferred Boolean
    Only if mode!=dynamic + enable_mac_auth==true + mac_auth_only==false, dot1x will be given priority then mac_auth. Enable this to prefer mac_auth over dot1x.
    macAuthProtocol String
    Only if mode!=dynamic and enable_mac_auth ==true. This type is ignored if mist_nac is enabled. enum: eap-md5, eap-peap, pap
    macLimit Integer
    Only if mode!=dynamic max number of mac addresses, default is 0 for unlimited, otherwise range is 1 or higher, with upper bound constrained by platform
    mode String
    mode==dynamic must only be used with the port usage with the name dynamic. enum: access, dynamic, inet, trunk
    mtu Integer
    Only if mode!=dynamic media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation. The default value is 1514.
    networks List<String>
    Only if mode==trunk, the list of network/vlans
    persistMac Boolean
    Only if mode==access and port_auth!=dot1x whether the port should retain dynamically learned MAC addresses
    poeDisabled Boolean
    Only if mode!=dynamic whether PoE capabilities are disabled for a port
    portAuth String
    Only if mode!=dynamic if dot1x is desired, set to dot1x. enum: dot1x
    portNetwork String
    Only if mode!=dynamic native network/vlan for untagged traffic
    reauthInterval Integer
    Only if mode!=dynamic and port_auth=dot1x reauthentication interval range
    resetDefaultWhen String
    Only if mode==dynamic Control when the DPC port should be changed to the default port usage. enum: link_down, none (let the DPC port keep at the current port usage)
    rules List<SwitchPortUsagesRule>
    Only if mode==dynamic
    serverFailNetwork String
    Only if mode!=dynamic and port_auth==dot1x sets server fail fallback vlan
    serverRejectNetwork String
    Only if mode!=dynamic and port_auth==dot1x when radius server reject / fails
    speed String
    Only if mode!=dynamic speed, default is auto to automatically negotiate speed
    stormControl SwitchPortUsagesStormControl
    Switch storm control Only if mode!=dynamic
    stpEdge Boolean
    Only if mode!=dynamic when enabled, the port is not expected to receive BPDU frames
    stpNoRootPort Boolean
    stpP2p Boolean
    voipNetwork String
    Only if mode!=dynamic network/vlan for voip traffic, must also set port_network. to authenticate device, set port_auth
    allNetworks boolean
    Only if mode==trunk whether to trunk all network/vlans
    allowDhcpd boolean

    Only if mode!=dynamic if DHCP snooping is enabled, whether DHCP server is allowed on the interfaces with. All the interfaces from port configs using this port usage are effected. Please notice that allow_dhcpd is a tri_state.

    When it is not defined, it means using the system’s default setting which depends on whether the port is a access or trunk port.

    allowMultipleSupplicants boolean
    Only if mode!=dynamic
    bypassAuthWhenServerDown boolean
    Only if mode!=dynamic and port_auth==dot1x bypass auth for known clients if set to true when RADIUS server is down
    bypassAuthWhenServerDownForUnkonwnClient boolean
    Only if mode!=dynamic and port_auth=dot1x bypass auth for all (including unknown clients) if set to true when RADIUS server is down
    description string
    Only if mode!=dynamic
    disableAutoneg boolean
    Only if mode!=dynamic if speed and duplex are specified, whether to disable autonegotiation
    disabled boolean
    Only if mode!=dynamic whether the port is disabled
    duplex string
    Only if mode!=dynamic link connection mode. enum: auto, full, half
    dynamicVlanNetworks string[]
    Only if mode!=dynamic and port_auth==dot1x, if dynamic vlan is used, specify the possible networks/vlans RADIUS can return
    enableMacAuth boolean
    Only if mode!=dynamic and port_auth==dot1x whether to enable MAC Auth
    enableQos boolean
    Only if mode!=dynamic
    guestNetwork string
    Only if mode!=dynamic and port_auth==dot1x which network to put the device into if the device cannot do dot1x. default is null (i.e. not allowed)
    interSwitchLink boolean
    Only if mode!=dynamic inter_switch_link is used together with "isolation" under networks NOTE: inter_switch_link works only between Juniper device. This has to be applied to both ports connected together
    macAuthOnly boolean
    Only if mode!=dynamic and enable_mac_auth==true
    macAuthPreferred boolean
    Only if mode!=dynamic + enable_mac_auth==true + mac_auth_only==false, dot1x will be given priority then mac_auth. Enable this to prefer mac_auth over dot1x.
    macAuthProtocol string
    Only if mode!=dynamic and enable_mac_auth ==true. This type is ignored if mist_nac is enabled. enum: eap-md5, eap-peap, pap
    macLimit number
    Only if mode!=dynamic max number of mac addresses, default is 0 for unlimited, otherwise range is 1 or higher, with upper bound constrained by platform
    mode string
    mode==dynamic must only be used with the port usage with the name dynamic. enum: access, dynamic, inet, trunk
    mtu number
    Only if mode!=dynamic media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation. The default value is 1514.
    networks string[]
    Only if mode==trunk, the list of network/vlans
    persistMac boolean
    Only if mode==access and port_auth!=dot1x whether the port should retain dynamically learned MAC addresses
    poeDisabled boolean
    Only if mode!=dynamic whether PoE capabilities are disabled for a port
    portAuth string
    Only if mode!=dynamic if dot1x is desired, set to dot1x. enum: dot1x
    portNetwork string
    Only if mode!=dynamic native network/vlan for untagged traffic
    reauthInterval number
    Only if mode!=dynamic and port_auth=dot1x reauthentication interval range
    resetDefaultWhen string
    Only if mode==dynamic Control when the DPC port should be changed to the default port usage. enum: link_down, none (let the DPC port keep at the current port usage)
    rules SwitchPortUsagesRule[]
    Only if mode==dynamic
    serverFailNetwork string
    Only if mode!=dynamic and port_auth==dot1x sets server fail fallback vlan
    serverRejectNetwork string
    Only if mode!=dynamic and port_auth==dot1x when radius server reject / fails
    speed string
    Only if mode!=dynamic speed, default is auto to automatically negotiate speed
    stormControl SwitchPortUsagesStormControl
    Switch storm control Only if mode!=dynamic
    stpEdge boolean
    Only if mode!=dynamic when enabled, the port is not expected to receive BPDU frames
    stpNoRootPort boolean
    stpP2p boolean
    voipNetwork string
    Only if mode!=dynamic network/vlan for voip traffic, must also set port_network. to authenticate device, set port_auth
    all_networks bool
    Only if mode==trunk whether to trunk all network/vlans
    allow_dhcpd bool

    Only if mode!=dynamic if DHCP snooping is enabled, whether DHCP server is allowed on the interfaces with. All the interfaces from port configs using this port usage are effected. Please notice that allow_dhcpd is a tri_state.

    When it is not defined, it means using the system’s default setting which depends on whether the port is a access or trunk port.

    allow_multiple_supplicants bool
    Only if mode!=dynamic
    bypass_auth_when_server_down bool
    Only if mode!=dynamic and port_auth==dot1x bypass auth for known clients if set to true when RADIUS server is down
    bypass_auth_when_server_down_for_unkonwn_client bool
    Only if mode!=dynamic and port_auth=dot1x bypass auth for all (including unknown clients) if set to true when RADIUS server is down
    description str
    Only if mode!=dynamic
    disable_autoneg bool
    Only if mode!=dynamic if speed and duplex are specified, whether to disable autonegotiation
    disabled bool
    Only if mode!=dynamic whether the port is disabled
    duplex str
    Only if mode!=dynamic link connection mode. enum: auto, full, half
    dynamic_vlan_networks Sequence[str]
    Only if mode!=dynamic and port_auth==dot1x, if dynamic vlan is used, specify the possible networks/vlans RADIUS can return
    enable_mac_auth bool
    Only if mode!=dynamic and port_auth==dot1x whether to enable MAC Auth
    enable_qos bool
    Only if mode!=dynamic
    guest_network str
    Only if mode!=dynamic and port_auth==dot1x which network to put the device into if the device cannot do dot1x. default is null (i.e. not allowed)
    inter_switch_link bool
    Only if mode!=dynamic inter_switch_link is used together with "isolation" under networks NOTE: inter_switch_link works only between Juniper device. This has to be applied to both ports connected together
    mac_auth_only bool
    Only if mode!=dynamic and enable_mac_auth==true
    mac_auth_preferred bool
    Only if mode!=dynamic + enable_mac_auth==true + mac_auth_only==false, dot1x will be given priority then mac_auth. Enable this to prefer mac_auth over dot1x.
    mac_auth_protocol str
    Only if mode!=dynamic and enable_mac_auth ==true. This type is ignored if mist_nac is enabled. enum: eap-md5, eap-peap, pap
    mac_limit int
    Only if mode!=dynamic max number of mac addresses, default is 0 for unlimited, otherwise range is 1 or higher, with upper bound constrained by platform
    mode str
    mode==dynamic must only be used with the port usage with the name dynamic. enum: access, dynamic, inet, trunk
    mtu int
    Only if mode!=dynamic media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation. The default value is 1514.
    networks Sequence[str]
    Only if mode==trunk, the list of network/vlans
    persist_mac bool
    Only if mode==access and port_auth!=dot1x whether the port should retain dynamically learned MAC addresses
    poe_disabled bool
    Only if mode!=dynamic whether PoE capabilities are disabled for a port
    port_auth str
    Only if mode!=dynamic if dot1x is desired, set to dot1x. enum: dot1x
    port_network str
    Only if mode!=dynamic native network/vlan for untagged traffic
    reauth_interval int
    Only if mode!=dynamic and port_auth=dot1x reauthentication interval range
    reset_default_when str
    Only if mode==dynamic Control when the DPC port should be changed to the default port usage. enum: link_down, none (let the DPC port keep at the current port usage)
    rules Sequence[SwitchPortUsagesRule]
    Only if mode==dynamic
    server_fail_network str
    Only if mode!=dynamic and port_auth==dot1x sets server fail fallback vlan
    server_reject_network str
    Only if mode!=dynamic and port_auth==dot1x when radius server reject / fails
    speed str
    Only if mode!=dynamic speed, default is auto to automatically negotiate speed
    storm_control SwitchPortUsagesStormControl
    Switch storm control Only if mode!=dynamic
    stp_edge bool
    Only if mode!=dynamic when enabled, the port is not expected to receive BPDU frames
    stp_no_root_port bool
    stp_p2p bool
    voip_network str
    Only if mode!=dynamic network/vlan for voip traffic, must also set port_network. to authenticate device, set port_auth
    allNetworks Boolean
    Only if mode==trunk whether to trunk all network/vlans
    allowDhcpd Boolean

    Only if mode!=dynamic if DHCP snooping is enabled, whether DHCP server is allowed on the interfaces with. All the interfaces from port configs using this port usage are effected. Please notice that allow_dhcpd is a tri_state.

    When it is not defined, it means using the system’s default setting which depends on whether the port is a access or trunk port.

    allowMultipleSupplicants Boolean
    Only if mode!=dynamic
    bypassAuthWhenServerDown Boolean
    Only if mode!=dynamic and port_auth==dot1x bypass auth for known clients if set to true when RADIUS server is down
    bypassAuthWhenServerDownForUnkonwnClient Boolean
    Only if mode!=dynamic and port_auth=dot1x bypass auth for all (including unknown clients) if set to true when RADIUS server is down
    description String
    Only if mode!=dynamic
    disableAutoneg Boolean
    Only if mode!=dynamic if speed and duplex are specified, whether to disable autonegotiation
    disabled Boolean
    Only if mode!=dynamic whether the port is disabled
    duplex String
    Only if mode!=dynamic link connection mode. enum: auto, full, half
    dynamicVlanNetworks List<String>
    Only if mode!=dynamic and port_auth==dot1x, if dynamic vlan is used, specify the possible networks/vlans RADIUS can return
    enableMacAuth Boolean
    Only if mode!=dynamic and port_auth==dot1x whether to enable MAC Auth
    enableQos Boolean
    Only if mode!=dynamic
    guestNetwork String
    Only if mode!=dynamic and port_auth==dot1x which network to put the device into if the device cannot do dot1x. default is null (i.e. not allowed)
    interSwitchLink Boolean
    Only if mode!=dynamic inter_switch_link is used together with "isolation" under networks NOTE: inter_switch_link works only between Juniper device. This has to be applied to both ports connected together
    macAuthOnly Boolean
    Only if mode!=dynamic and enable_mac_auth==true
    macAuthPreferred Boolean
    Only if mode!=dynamic + enable_mac_auth==true + mac_auth_only==false, dot1x will be given priority then mac_auth. Enable this to prefer mac_auth over dot1x.
    macAuthProtocol String
    Only if mode!=dynamic and enable_mac_auth ==true. This type is ignored if mist_nac is enabled. enum: eap-md5, eap-peap, pap
    macLimit Number
    Only if mode!=dynamic max number of mac addresses, default is 0 for unlimited, otherwise range is 1 or higher, with upper bound constrained by platform
    mode String
    mode==dynamic must only be used with the port usage with the name dynamic. enum: access, dynamic, inet, trunk
    mtu Number
    Only if mode!=dynamic media maximum transmission unit (MTU) is the largest data unit that can be forwarded without fragmentation. The default value is 1514.
    networks List<String>
    Only if mode==trunk, the list of network/vlans
    persistMac Boolean
    Only if mode==access and port_auth!=dot1x whether the port should retain dynamically learned MAC addresses
    poeDisabled Boolean
    Only if mode!=dynamic whether PoE capabilities are disabled for a port
    portAuth String
    Only if mode!=dynamic if dot1x is desired, set to dot1x. enum: dot1x
    portNetwork String
    Only if mode!=dynamic native network/vlan for untagged traffic
    reauthInterval Number
    Only if mode!=dynamic and port_auth=dot1x reauthentication interval range
    resetDefaultWhen String
    Only if mode==dynamic Control when the DPC port should be changed to the default port usage. enum: link_down, none (let the DPC port keep at the current port usage)
    rules List<Property Map>
    Only if mode==dynamic
    serverFailNetwork String
    Only if mode!=dynamic and port_auth==dot1x sets server fail fallback vlan
    serverRejectNetwork String
    Only if mode!=dynamic and port_auth==dot1x when radius server reject / fails
    speed String
    Only if mode!=dynamic speed, default is auto to automatically negotiate speed
    stormControl Property Map
    Switch storm control Only if mode!=dynamic
    stpEdge Boolean
    Only if mode!=dynamic when enabled, the port is not expected to receive BPDU frames
    stpNoRootPort Boolean
    stpP2p Boolean
    voipNetwork String
    Only if mode!=dynamic network/vlan for voip traffic, must also set port_network. to authenticate device, set port_auth

    SwitchPortUsagesRule, SwitchPortUsagesRuleArgs

    Src string
    enum: link_peermac, lldp_chassis_id, lldp_hardware_revision, lldp_manufacturer_name, lldp_oui, lldp_serial_number, lldp_system_name, radius_dynamicfilter, radius_usermac, radius_username
    Equals string
    EqualsAnies List<string>
    use equals_any to match any item in a list
    Expression string
    "[0:3]":"abcdef" > "abc" "split(.)[1]": "a.b.c" > "b" "split(-)[1][0:3]: "a1234-b5678-c90" > "b56"
    Usage string
    port_usage name
    Src string
    enum: link_peermac, lldp_chassis_id, lldp_hardware_revision, lldp_manufacturer_name, lldp_oui, lldp_serial_number, lldp_system_name, radius_dynamicfilter, radius_usermac, radius_username
    Equals string
    EqualsAnies []string
    use equals_any to match any item in a list
    Expression string
    "[0:3]":"abcdef" > "abc" "split(.)[1]": "a.b.c" > "b" "split(-)[1][0:3]: "a1234-b5678-c90" > "b56"
    Usage string
    port_usage name
    src String
    enum: link_peermac, lldp_chassis_id, lldp_hardware_revision, lldp_manufacturer_name, lldp_oui, lldp_serial_number, lldp_system_name, radius_dynamicfilter, radius_usermac, radius_username
    equalsAnies List<String>
    use equals_any to match any item in a list
    equals_ String
    expression String
    "[0:3]":"abcdef" > "abc" "split(.)[1]": "a.b.c" > "b" "split(-)[1][0:3]: "a1234-b5678-c90" > "b56"
    usage String
    port_usage name
    src string
    enum: link_peermac, lldp_chassis_id, lldp_hardware_revision, lldp_manufacturer_name, lldp_oui, lldp_serial_number, lldp_system_name, radius_dynamicfilter, radius_usermac, radius_username
    equals string
    equalsAnies string[]
    use equals_any to match any item in a list
    expression string
    "[0:3]":"abcdef" > "abc" "split(.)[1]": "a.b.c" > "b" "split(-)[1][0:3]: "a1234-b5678-c90" > "b56"
    usage string
    port_usage name
    src str
    enum: link_peermac, lldp_chassis_id, lldp_hardware_revision, lldp_manufacturer_name, lldp_oui, lldp_serial_number, lldp_system_name, radius_dynamicfilter, radius_usermac, radius_username
    equals str
    equals_anies Sequence[str]
    use equals_any to match any item in a list
    expression str
    "[0:3]":"abcdef" > "abc" "split(.)[1]": "a.b.c" > "b" "split(-)[1][0:3]: "a1234-b5678-c90" > "b56"
    usage str
    port_usage name
    src String
    enum: link_peermac, lldp_chassis_id, lldp_hardware_revision, lldp_manufacturer_name, lldp_oui, lldp_serial_number, lldp_system_name, radius_dynamicfilter, radius_usermac, radius_username
    equals String
    equalsAnies List<String>
    use equals_any to match any item in a list
    expression String
    "[0:3]":"abcdef" > "abc" "split(.)[1]": "a.b.c" > "b" "split(-)[1][0:3]: "a1234-b5678-c90" > "b56"
    usage String
    port_usage name

    SwitchPortUsagesStormControl, SwitchPortUsagesStormControlArgs

    NoBroadcast bool
    whether to disable storm control on broadcast traffic
    NoMulticast bool
    whether to disable storm control on multicast traffic
    NoRegisteredMulticast bool
    whether to disable storm control on registered multicast traffic
    NoUnknownUnicast bool
    whether to disable storm control on unknown unicast traffic
    Percentage int
    bandwidth-percentage, configures the storm control level as a percentage of the available bandwidth
    NoBroadcast bool
    whether to disable storm control on broadcast traffic
    NoMulticast bool
    whether to disable storm control on multicast traffic
    NoRegisteredMulticast bool
    whether to disable storm control on registered multicast traffic
    NoUnknownUnicast bool
    whether to disable storm control on unknown unicast traffic
    Percentage int
    bandwidth-percentage, configures the storm control level as a percentage of the available bandwidth
    noBroadcast Boolean
    whether to disable storm control on broadcast traffic
    noMulticast Boolean
    whether to disable storm control on multicast traffic
    noRegisteredMulticast Boolean
    whether to disable storm control on registered multicast traffic
    noUnknownUnicast Boolean
    whether to disable storm control on unknown unicast traffic
    percentage Integer
    bandwidth-percentage, configures the storm control level as a percentage of the available bandwidth
    noBroadcast boolean
    whether to disable storm control on broadcast traffic
    noMulticast boolean
    whether to disable storm control on multicast traffic
    noRegisteredMulticast boolean
    whether to disable storm control on registered multicast traffic
    noUnknownUnicast boolean
    whether to disable storm control on unknown unicast traffic
    percentage number
    bandwidth-percentage, configures the storm control level as a percentage of the available bandwidth
    no_broadcast bool
    whether to disable storm control on broadcast traffic
    no_multicast bool
    whether to disable storm control on multicast traffic
    no_registered_multicast bool
    whether to disable storm control on registered multicast traffic
    no_unknown_unicast bool
    whether to disable storm control on unknown unicast traffic
    percentage int
    bandwidth-percentage, configures the storm control level as a percentage of the available bandwidth
    noBroadcast Boolean
    whether to disable storm control on broadcast traffic
    noMulticast Boolean
    whether to disable storm control on multicast traffic
    noRegisteredMulticast Boolean
    whether to disable storm control on registered multicast traffic
    noUnknownUnicast Boolean
    whether to disable storm control on unknown unicast traffic
    percentage Number
    bandwidth-percentage, configures the storm control level as a percentage of the available bandwidth

    SwitchRadiusConfig, SwitchRadiusConfigArgs

    AcctInterimInterval int
    how frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the radius server, 600 and up is recommended when enabled
    AcctServers List<Pulumi.JuniperMist.Device.Inputs.SwitchRadiusConfigAcctServer>
    AuthServers List<Pulumi.JuniperMist.Device.Inputs.SwitchRadiusConfigAuthServer>
    AuthServersRetries int
    radius auth session retries
    AuthServersTimeout int
    radius auth session timeout
    CoaEnabled bool
    CoaPort int
    Network string
    use networkor source_ip which network the RADIUS server resides, if there's static IP for this network, we'd use it as source-ip
    SourceIp string
    use networkor source_ip
    AcctInterimInterval int
    how frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the radius server, 600 and up is recommended when enabled
    AcctServers []SwitchRadiusConfigAcctServer
    AuthServers []SwitchRadiusConfigAuthServer
    AuthServersRetries int
    radius auth session retries
    AuthServersTimeout int
    radius auth session timeout
    CoaEnabled bool
    CoaPort int
    Network string
    use networkor source_ip which network the RADIUS server resides, if there's static IP for this network, we'd use it as source-ip
    SourceIp string
    use networkor source_ip
    acctInterimInterval Integer
    how frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the radius server, 600 and up is recommended when enabled
    acctServers List<SwitchRadiusConfigAcctServer>
    authServers List<SwitchRadiusConfigAuthServer>
    authServersRetries Integer
    radius auth session retries
    authServersTimeout Integer
    radius auth session timeout
    coaEnabled Boolean
    coaPort Integer
    network String
    use networkor source_ip which network the RADIUS server resides, if there's static IP for this network, we'd use it as source-ip
    sourceIp String
    use networkor source_ip
    acctInterimInterval number
    how frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the radius server, 600 and up is recommended when enabled
    acctServers SwitchRadiusConfigAcctServer[]
    authServers SwitchRadiusConfigAuthServer[]
    authServersRetries number
    radius auth session retries
    authServersTimeout number
    radius auth session timeout
    coaEnabled boolean
    coaPort number
    network string
    use networkor source_ip which network the RADIUS server resides, if there's static IP for this network, we'd use it as source-ip
    sourceIp string
    use networkor source_ip
    acct_interim_interval int
    how frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the radius server, 600 and up is recommended when enabled
    acct_servers Sequence[SwitchRadiusConfigAcctServer]
    auth_servers Sequence[SwitchRadiusConfigAuthServer]
    auth_servers_retries int
    radius auth session retries
    auth_servers_timeout int
    radius auth session timeout
    coa_enabled bool
    coa_port int
    network str
    use networkor source_ip which network the RADIUS server resides, if there's static IP for this network, we'd use it as source-ip
    source_ip str
    use networkor source_ip
    acctInterimInterval Number
    how frequently should interim accounting be reported, 60-65535. default is 0 (use one specified in Access-Accept request from RADIUS Server). Very frequent messages can affect the performance of the radius server, 600 and up is recommended when enabled
    acctServers List<Property Map>
    authServers List<Property Map>
    authServersRetries Number
    radius auth session retries
    authServersTimeout Number
    radius auth session timeout
    coaEnabled Boolean
    coaPort Number
    network String
    use networkor source_ip which network the RADIUS server resides, if there's static IP for this network, we'd use it as source-ip
    sourceIp String
    use networkor source_ip

    SwitchRadiusConfigAcctServer, SwitchRadiusConfigAcctServerArgs

    Host string
    ip / hostname of RADIUS server
    Secret string
    secret of RADIUS server
    KeywrapEnabled bool
    KeywrapFormat string
    enum: ascii, hex
    KeywrapKek string
    KeywrapMack string
    Port int
    Acct port of RADIUS server
    Host string
    ip / hostname of RADIUS server
    Secret string
    secret of RADIUS server
    KeywrapEnabled bool
    KeywrapFormat string
    enum: ascii, hex
    KeywrapKek string
    KeywrapMack string
    Port int
    Acct port of RADIUS server
    host String
    ip / hostname of RADIUS server
    secret String
    secret of RADIUS server
    keywrapEnabled Boolean
    keywrapFormat String
    enum: ascii, hex
    keywrapKek String
    keywrapMack String
    port Integer
    Acct port of RADIUS server
    host string
    ip / hostname of RADIUS server
    secret string
    secret of RADIUS server
    keywrapEnabled boolean
    keywrapFormat string
    enum: ascii, hex
    keywrapKek string
    keywrapMack string
    port number
    Acct port of RADIUS server
    host str
    ip / hostname of RADIUS server
    secret str
    secret of RADIUS server
    keywrap_enabled bool
    keywrap_format str
    enum: ascii, hex
    keywrap_kek str
    keywrap_mack str
    port int
    Acct port of RADIUS server
    host String
    ip / hostname of RADIUS server
    secret String
    secret of RADIUS server
    keywrapEnabled Boolean
    keywrapFormat String
    enum: ascii, hex
    keywrapKek String
    keywrapMack String
    port Number
    Acct port of RADIUS server

    SwitchRadiusConfigAuthServer, SwitchRadiusConfigAuthServerArgs

    Host string
    ip / hostname of RADIUS server
    Secret string
    secret of RADIUS server
    KeywrapEnabled bool
    KeywrapFormat string
    enum: ascii, hex
    KeywrapKek string
    KeywrapMack string
    Port int
    Auth port of RADIUS server
    RequireMessageAuthenticator bool
    whether to require Message-Authenticator in requests
    Host string
    ip / hostname of RADIUS server
    Secret string
    secret of RADIUS server
    KeywrapEnabled bool
    KeywrapFormat string
    enum: ascii, hex
    KeywrapKek string
    KeywrapMack string
    Port int
    Auth port of RADIUS server
    RequireMessageAuthenticator bool
    whether to require Message-Authenticator in requests
    host String
    ip / hostname of RADIUS server
    secret String
    secret of RADIUS server
    keywrapEnabled Boolean
    keywrapFormat String
    enum: ascii, hex
    keywrapKek String
    keywrapMack String
    port Integer
    Auth port of RADIUS server
    requireMessageAuthenticator Boolean
    whether to require Message-Authenticator in requests
    host string
    ip / hostname of RADIUS server
    secret string
    secret of RADIUS server
    keywrapEnabled boolean
    keywrapFormat string
    enum: ascii, hex
    keywrapKek string
    keywrapMack string
    port number
    Auth port of RADIUS server
    requireMessageAuthenticator boolean
    whether to require Message-Authenticator in requests
    host str
    ip / hostname of RADIUS server
    secret str
    secret of RADIUS server
    keywrap_enabled bool
    keywrap_format str
    enum: ascii, hex
    keywrap_kek str
    keywrap_mack str
    port int
    Auth port of RADIUS server
    require_message_authenticator bool
    whether to require Message-Authenticator in requests
    host String
    ip / hostname of RADIUS server
    secret String
    secret of RADIUS server
    keywrapEnabled Boolean
    keywrapFormat String
    enum: ascii, hex
    keywrapKek String
    keywrapMack String
    port Number
    Auth port of RADIUS server
    requireMessageAuthenticator Boolean
    whether to require Message-Authenticator in requests

    SwitchRemoteSyslog, SwitchRemoteSyslogArgs

    Archive SwitchRemoteSyslogArchive
    Console SwitchRemoteSyslogConsole
    Enabled bool
    Files []SwitchRemoteSyslogFile
    Network string
    if source_address is configured, will use the vlan firstly otherwise use source_ip
    SendToAllServers bool
    Servers []SwitchRemoteSyslogServer
    TimeFormat string
    enum: millisecond, year, year millisecond
    Users []SwitchRemoteSyslogUser
    archive SwitchRemoteSyslogArchive
    console SwitchRemoteSyslogConsole
    enabled Boolean
    files List<SwitchRemoteSyslogFile>
    network String
    if source_address is configured, will use the vlan firstly otherwise use source_ip
    sendToAllServers Boolean
    servers List<SwitchRemoteSyslogServer>
    timeFormat String
    enum: millisecond, year, year millisecond
    users List<SwitchRemoteSyslogUser>
    archive SwitchRemoteSyslogArchive
    console SwitchRemoteSyslogConsole
    enabled boolean
    files SwitchRemoteSyslogFile[]
    network string
    if source_address is configured, will use the vlan firstly otherwise use source_ip
    sendToAllServers boolean
    servers SwitchRemoteSyslogServer[]
    timeFormat string
    enum: millisecond, year, year millisecond
    users SwitchRemoteSyslogUser[]
    archive Property Map
    console Property Map
    enabled Boolean
    files List<Property Map>
    network String
    if source_address is configured, will use the vlan firstly otherwise use source_ip
    sendToAllServers Boolean
    servers List<Property Map>
    timeFormat String
    enum: millisecond, year, year millisecond
    users List<Property Map>

    SwitchRemoteSyslogArchive, SwitchRemoteSyslogArchiveArgs

    Files int
    Size string
    Files int
    Size string
    files Integer
    size String
    files number
    size string
    files int
    size str
    files Number
    size String

    SwitchRemoteSyslogConsole, SwitchRemoteSyslogConsoleArgs

    SwitchRemoteSyslogConsoleContent, SwitchRemoteSyslogConsoleContentArgs

    Facility string
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    Severity string
    enum: alert, any, critical, emergency, error, info, notice, warning
    Facility string
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    Severity string
    enum: alert, any, critical, emergency, error, info, notice, warning
    facility String
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    severity String
    enum: alert, any, critical, emergency, error, info, notice, warning
    facility string
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    severity string
    enum: alert, any, critical, emergency, error, info, notice, warning
    facility str
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    severity str
    enum: alert, any, critical, emergency, error, info, notice, warning
    facility String
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    severity String
    enum: alert, any, critical, emergency, error, info, notice, warning

    SwitchRemoteSyslogFile, SwitchRemoteSyslogFileArgs

    SwitchRemoteSyslogFileArchive, SwitchRemoteSyslogFileArchiveArgs

    Files int
    Size string
    Files int
    Size string
    files Integer
    size String
    files number
    size string
    files int
    size str
    files Number
    size String

    SwitchRemoteSyslogFileContent, SwitchRemoteSyslogFileContentArgs

    Facility string
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    Severity string
    enum: alert, any, critical, emergency, error, info, notice, warning
    Facility string
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    Severity string
    enum: alert, any, critical, emergency, error, info, notice, warning
    facility String
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    severity String
    enum: alert, any, critical, emergency, error, info, notice, warning
    facility string
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    severity string
    enum: alert, any, critical, emergency, error, info, notice, warning
    facility str
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    severity str
    enum: alert, any, critical, emergency, error, info, notice, warning
    facility String
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    severity String
    enum: alert, any, critical, emergency, error, info, notice, warning

    SwitchRemoteSyslogServer, SwitchRemoteSyslogServerArgs

    Contents List<Pulumi.JuniperMist.Device.Inputs.SwitchRemoteSyslogServerContent>
    ExplicitPriority bool
    Facility string
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    Host string
    Match string
    Port int
    Protocol string
    enum: tcp, udp
    RoutingInstance string
    Severity string
    enum: alert, any, critical, emergency, error, info, notice, warning
    SourceAddress string
    if source_address is configured, will use the vlan firstly otherwise use source_ip
    StructuredData bool
    Tag string
    Contents []SwitchRemoteSyslogServerContent
    ExplicitPriority bool
    Facility string
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    Host string
    Match string
    Port int
    Protocol string
    enum: tcp, udp
    RoutingInstance string
    Severity string
    enum: alert, any, critical, emergency, error, info, notice, warning
    SourceAddress string
    if source_address is configured, will use the vlan firstly otherwise use source_ip
    StructuredData bool
    Tag string
    contents List<SwitchRemoteSyslogServerContent>
    explicitPriority Boolean
    facility String
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    host String
    match String
    port Integer
    protocol String
    enum: tcp, udp
    routingInstance String
    severity String
    enum: alert, any, critical, emergency, error, info, notice, warning
    sourceAddress String
    if source_address is configured, will use the vlan firstly otherwise use source_ip
    structuredData Boolean
    tag String
    contents SwitchRemoteSyslogServerContent[]
    explicitPriority boolean
    facility string
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    host string
    match string
    port number
    protocol string
    enum: tcp, udp
    routingInstance string
    severity string
    enum: alert, any, critical, emergency, error, info, notice, warning
    sourceAddress string
    if source_address is configured, will use the vlan firstly otherwise use source_ip
    structuredData boolean
    tag string
    contents Sequence[SwitchRemoteSyslogServerContent]
    explicit_priority bool
    facility str
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    host str
    match str
    port int
    protocol str
    enum: tcp, udp
    routing_instance str
    severity str
    enum: alert, any, critical, emergency, error, info, notice, warning
    source_address str
    if source_address is configured, will use the vlan firstly otherwise use source_ip
    structured_data bool
    tag str
    contents List<Property Map>
    explicitPriority Boolean
    facility String
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    host String
    match String
    port Number
    protocol String
    enum: tcp, udp
    routingInstance String
    severity String
    enum: alert, any, critical, emergency, error, info, notice, warning
    sourceAddress String
    if source_address is configured, will use the vlan firstly otherwise use source_ip
    structuredData Boolean
    tag String

    SwitchRemoteSyslogServerContent, SwitchRemoteSyslogServerContentArgs

    Facility string
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    Severity string
    enum: alert, any, critical, emergency, error, info, notice, warning
    Facility string
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    Severity string
    enum: alert, any, critical, emergency, error, info, notice, warning
    facility String
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    severity String
    enum: alert, any, critical, emergency, error, info, notice, warning
    facility string
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    severity string
    enum: alert, any, critical, emergency, error, info, notice, warning
    facility str
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    severity str
    enum: alert, any, critical, emergency, error, info, notice, warning
    facility String
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    severity String
    enum: alert, any, critical, emergency, error, info, notice, warning

    SwitchRemoteSyslogUser, SwitchRemoteSyslogUserArgs

    SwitchRemoteSyslogUserContent, SwitchRemoteSyslogUserContentArgs

    Facility string
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    Severity string
    enum: alert, any, critical, emergency, error, info, notice, warning
    Facility string
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    Severity string
    enum: alert, any, critical, emergency, error, info, notice, warning
    facility String
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    severity String
    enum: alert, any, critical, emergency, error, info, notice, warning
    facility string
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    severity string
    enum: alert, any, critical, emergency, error, info, notice, warning
    facility str
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    severity str
    enum: alert, any, critical, emergency, error, info, notice, warning
    facility String
    enum: any, authorization, change-log, config, conflict-log, daemon, dfc, external, firewall, ftp, interactive-commands, kernel, ntp, pfe, security, user
    severity String
    enum: alert, any, critical, emergency, error, info, notice, warning

    SwitchSnmpConfig, SwitchSnmpConfigArgs

    clientLists List<Property Map>
    contact String
    description String
    enabled Boolean
    engineId String
    enum: engine-id-suffix, local, use-default-ip-address, use_mac-address
    location String
    name String
    network String
    trapGroups List<Property Map>
    v2cConfigs List<Property Map>
    v3Config Property Map
    views List<Property Map>

    SwitchSnmpConfigClientList, SwitchSnmpConfigClientListArgs

    ClientListName string
    Clients List<string>
    ClientListName string
    Clients []string
    clientListName String
    clients List<String>
    clientListName string
    clients string[]
    client_list_name str
    clients Sequence[str]
    clientListName String
    clients List<String>

    SwitchSnmpConfigTrapGroup, SwitchSnmpConfigTrapGroupArgs

    Categories List<string>
    GroupName string
    Categories list can refer to https://www.juniper.net/documentation/software/topics/task/configuration/snmp_trap-groups-configuring-junos-nm.html
    Targets List<string>
    Version string
    enum: all, v1, v2
    Categories []string
    GroupName string
    Categories list can refer to https://www.juniper.net/documentation/software/topics/task/configuration/snmp_trap-groups-configuring-junos-nm.html
    Targets []string
    Version string
    enum: all, v1, v2
    categories List<String>
    groupName String
    Categories list can refer to https://www.juniper.net/documentation/software/topics/task/configuration/snmp_trap-groups-configuring-junos-nm.html
    targets List<String>
    version String
    enum: all, v1, v2
    categories string[]
    groupName string
    Categories list can refer to https://www.juniper.net/documentation/software/topics/task/configuration/snmp_trap-groups-configuring-junos-nm.html
    targets string[]
    version string
    enum: all, v1, v2
    categories Sequence[str]
    group_name str
    Categories list can refer to https://www.juniper.net/documentation/software/topics/task/configuration/snmp_trap-groups-configuring-junos-nm.html
    targets Sequence[str]
    version str
    enum: all, v1, v2
    categories List<String>
    groupName String
    Categories list can refer to https://www.juniper.net/documentation/software/topics/task/configuration/snmp_trap-groups-configuring-junos-nm.html
    targets List<String>
    version String
    enum: all, v1, v2

    SwitchSnmpConfigV2cConfig, SwitchSnmpConfigV2cConfigArgs

    Authorization string
    ClientListName string
    client_list_name here should refer to client_list above
    CommunityName string
    View string
    view name here should be defined in views above
    Authorization string
    ClientListName string
    client_list_name here should refer to client_list above
    CommunityName string
    View string
    view name here should be defined in views above
    authorization String
    clientListName String
    client_list_name here should refer to client_list above
    communityName String
    view String
    view name here should be defined in views above
    authorization string
    clientListName string
    client_list_name here should refer to client_list above
    communityName string
    view string
    view name here should be defined in views above
    authorization str
    client_list_name str
    client_list_name here should refer to client_list above
    community_name str
    view str
    view name here should be defined in views above
    authorization String
    clientListName String
    client_list_name here should refer to client_list above
    communityName String
    view String
    view name here should be defined in views above

    SwitchSnmpConfigV3Config, SwitchSnmpConfigV3ConfigArgs

    SwitchSnmpConfigV3ConfigNotify, SwitchSnmpConfigV3ConfigNotifyArgs

    Name string
    Tag string
    Type string
    enum: inform, trap
    Name string
    Tag string
    Type string
    enum: inform, trap
    name String
    tag String
    type String
    enum: inform, trap
    name string
    tag string
    type string
    enum: inform, trap
    name str
    tag str
    type str
    enum: inform, trap
    name String
    tag String
    type String
    enum: inform, trap

    SwitchSnmpConfigV3ConfigNotifyFilter, SwitchSnmpConfigV3ConfigNotifyFilterArgs

    SwitchSnmpConfigV3ConfigNotifyFilterContent, SwitchSnmpConfigV3ConfigNotifyFilterContentArgs

    Include bool
    Oid string
    Include bool
    Oid string
    include Boolean
    oid String
    include boolean
    oid string
    include bool
    oid str
    include Boolean
    oid String

    SwitchSnmpConfigV3ConfigTargetAddress, SwitchSnmpConfigV3ConfigTargetAddressArgs

    Address string
    AddressMask string
    Port int
    TagList string
    <refer to notify tag, can be multiple with blank
    TargetAddressName string
    TargetParameters string
    refer to notify target parameters name
    Address string
    AddressMask string
    Port int
    TagList string
    <refer to notify tag, can be multiple with blank
    TargetAddressName string
    TargetParameters string
    refer to notify target parameters name
    address String
    addressMask String
    port Integer
    tagList String
    <refer to notify tag, can be multiple with blank
    targetAddressName String
    targetParameters String
    refer to notify target parameters name
    address string
    addressMask string
    port number
    tagList string
    <refer to notify tag, can be multiple with blank
    targetAddressName string
    targetParameters string
    refer to notify target parameters name
    address str
    address_mask str
    port int
    tag_list str
    <refer to notify tag, can be multiple with blank
    target_address_name str
    target_parameters str
    refer to notify target parameters name
    address String
    addressMask String
    port Number
    tagList String
    <refer to notify tag, can be multiple with blank
    targetAddressName String
    targetParameters String
    refer to notify target parameters name

    SwitchSnmpConfigV3ConfigTargetParameter, SwitchSnmpConfigV3ConfigTargetParameterArgs

    MessageProcessingModel string
    enum: v1, v2c, v3
    Name string
    NotifyFilter string
    refer to profile-name in notify_filter
    SecurityLevel string
    enum: authentication, none, privacy
    SecurityModel string
    enum: usm, v1, v2c
    SecurityName string
    refer to security_name in usm
    MessageProcessingModel string
    enum: v1, v2c, v3
    Name string
    NotifyFilter string
    refer to profile-name in notify_filter
    SecurityLevel string
    enum: authentication, none, privacy
    SecurityModel string
    enum: usm, v1, v2c
    SecurityName string
    refer to security_name in usm
    messageProcessingModel String
    enum: v1, v2c, v3
    name String
    notifyFilter String
    refer to profile-name in notify_filter
    securityLevel String
    enum: authentication, none, privacy
    securityModel String
    enum: usm, v1, v2c
    securityName String
    refer to security_name in usm
    messageProcessingModel string
    enum: v1, v2c, v3
    name string
    notifyFilter string
    refer to profile-name in notify_filter
    securityLevel string
    enum: authentication, none, privacy
    securityModel string
    enum: usm, v1, v2c
    securityName string
    refer to security_name in usm
    message_processing_model str
    enum: v1, v2c, v3
    name str
    notify_filter str
    refer to profile-name in notify_filter
    security_level str
    enum: authentication, none, privacy
    security_model str
    enum: usm, v1, v2c
    security_name str
    refer to security_name in usm
    messageProcessingModel String
    enum: v1, v2c, v3
    name String
    notifyFilter String
    refer to profile-name in notify_filter
    securityLevel String
    enum: authentication, none, privacy
    securityModel String
    enum: usm, v1, v2c
    securityName String
    refer to security_name in usm

    SwitchSnmpConfigV3ConfigUsm, SwitchSnmpConfigV3ConfigUsmArgs

    EngineType string
    enum: local_engine, remote_engine
    Engineid string
    required only if engine_type==remote_engine
    Users List<Pulumi.JuniperMist.Device.Inputs.SwitchSnmpConfigV3ConfigUsmUser>
    EngineType string
    enum: local_engine, remote_engine
    Engineid string
    required only if engine_type==remote_engine
    Users []SwitchSnmpConfigV3ConfigUsmUser
    engineType String
    enum: local_engine, remote_engine
    engineid String
    required only if engine_type==remote_engine
    users List<SwitchSnmpConfigV3ConfigUsmUser>
    engineType string
    enum: local_engine, remote_engine
    engineid string
    required only if engine_type==remote_engine
    users SwitchSnmpConfigV3ConfigUsmUser[]
    engine_type str
    enum: local_engine, remote_engine
    engineid str
    required only if engine_type==remote_engine
    users Sequence[SwitchSnmpConfigV3ConfigUsmUser]
    engineType String
    enum: local_engine, remote_engine
    engineid String
    required only if engine_type==remote_engine
    users List<Property Map>

    SwitchSnmpConfigV3ConfigUsmUser, SwitchSnmpConfigV3ConfigUsmUserArgs

    AuthenticationPassword string
    Not required if authentication_type==authentication_none include alphabetic, numeric, and special characters, but it cannot include control characters.
    AuthenticationType string
    sha224, sha256, sha384, sha512 are supported in 21.1 and newer release. enum: authentication_md5, authentication_none, authentication_sha, authentication_sha224, authentication_sha256, authentication_sha384, authentication_sha512
    EncryptionPassword string
    Not required if encryption_type==privacy-none include alphabetic, numeric, and special characters, but it cannot include control characters
    EncryptionType string
    enum: privacy-3des, privacy-aes128, privacy-des, privacy-none
    Name string
    AuthenticationPassword string
    Not required if authentication_type==authentication_none include alphabetic, numeric, and special characters, but it cannot include control characters.
    AuthenticationType string
    sha224, sha256, sha384, sha512 are supported in 21.1 and newer release. enum: authentication_md5, authentication_none, authentication_sha, authentication_sha224, authentication_sha256, authentication_sha384, authentication_sha512
    EncryptionPassword string
    Not required if encryption_type==privacy-none include alphabetic, numeric, and special characters, but it cannot include control characters
    EncryptionType string
    enum: privacy-3des, privacy-aes128, privacy-des, privacy-none
    Name string
    authenticationPassword String
    Not required if authentication_type==authentication_none include alphabetic, numeric, and special characters, but it cannot include control characters.
    authenticationType String
    sha224, sha256, sha384, sha512 are supported in 21.1 and newer release. enum: authentication_md5, authentication_none, authentication_sha, authentication_sha224, authentication_sha256, authentication_sha384, authentication_sha512
    encryptionPassword String
    Not required if encryption_type==privacy-none include alphabetic, numeric, and special characters, but it cannot include control characters
    encryptionType String
    enum: privacy-3des, privacy-aes128, privacy-des, privacy-none
    name String
    authenticationPassword string
    Not required if authentication_type==authentication_none include alphabetic, numeric, and special characters, but it cannot include control characters.
    authenticationType string
    sha224, sha256, sha384, sha512 are supported in 21.1 and newer release. enum: authentication_md5, authentication_none, authentication_sha, authentication_sha224, authentication_sha256, authentication_sha384, authentication_sha512
    encryptionPassword string
    Not required if encryption_type==privacy-none include alphabetic, numeric, and special characters, but it cannot include control characters
    encryptionType string
    enum: privacy-3des, privacy-aes128, privacy-des, privacy-none
    name string
    authentication_password str
    Not required if authentication_type==authentication_none include alphabetic, numeric, and special characters, but it cannot include control characters.
    authentication_type str
    sha224, sha256, sha384, sha512 are supported in 21.1 and newer release. enum: authentication_md5, authentication_none, authentication_sha, authentication_sha224, authentication_sha256, authentication_sha384, authentication_sha512
    encryption_password str
    Not required if encryption_type==privacy-none include alphabetic, numeric, and special characters, but it cannot include control characters
    encryption_type str
    enum: privacy-3des, privacy-aes128, privacy-des, privacy-none
    name str
    authenticationPassword String
    Not required if authentication_type==authentication_none include alphabetic, numeric, and special characters, but it cannot include control characters.
    authenticationType String
    sha224, sha256, sha384, sha512 are supported in 21.1 and newer release. enum: authentication_md5, authentication_none, authentication_sha, authentication_sha224, authentication_sha256, authentication_sha384, authentication_sha512
    encryptionPassword String
    Not required if encryption_type==privacy-none include alphabetic, numeric, and special characters, but it cannot include control characters
    encryptionType String
    enum: privacy-3des, privacy-aes128, privacy-des, privacy-none
    name String

    SwitchSnmpConfigV3ConfigVacm, SwitchSnmpConfigV3ConfigVacmArgs

    SwitchSnmpConfigV3ConfigVacmAccess, SwitchSnmpConfigV3ConfigVacmAccessArgs

    SwitchSnmpConfigV3ConfigVacmAccessPrefixList, SwitchSnmpConfigV3ConfigVacmAccessPrefixListArgs

    ContextPrefix string
    only required if type==context_prefix
    NotifyView string
    refer to view name
    ReadView string
    refer to view name
    SecurityLevel string
    enum: authentication, none, privacy
    SecurityModel string
    enum: any, usm, v1, v2c
    Type string
    enum: context_prefix, default_context_prefix
    WriteView string
    refer to view name
    ContextPrefix string
    only required if type==context_prefix
    NotifyView string
    refer to view name
    ReadView string
    refer to view name
    SecurityLevel string
    enum: authentication, none, privacy
    SecurityModel string
    enum: any, usm, v1, v2c
    Type string
    enum: context_prefix, default_context_prefix
    WriteView string
    refer to view name
    contextPrefix String
    only required if type==context_prefix
    notifyView String
    refer to view name
    readView String
    refer to view name
    securityLevel String
    enum: authentication, none, privacy
    securityModel String
    enum: any, usm, v1, v2c
    type String
    enum: context_prefix, default_context_prefix
    writeView String
    refer to view name
    contextPrefix string
    only required if type==context_prefix
    notifyView string
    refer to view name
    readView string
    refer to view name
    securityLevel string
    enum: authentication, none, privacy
    securityModel string
    enum: any, usm, v1, v2c
    type string
    enum: context_prefix, default_context_prefix
    writeView string
    refer to view name
    context_prefix str
    only required if type==context_prefix
    notify_view str
    refer to view name
    read_view str
    refer to view name
    security_level str
    enum: authentication, none, privacy
    security_model str
    enum: any, usm, v1, v2c
    type str
    enum: context_prefix, default_context_prefix
    write_view str
    refer to view name
    contextPrefix String
    only required if type==context_prefix
    notifyView String
    refer to view name
    readView String
    refer to view name
    securityLevel String
    enum: authentication, none, privacy
    securityModel String
    enum: any, usm, v1, v2c
    type String
    enum: context_prefix, default_context_prefix
    writeView String
    refer to view name

    SwitchSnmpConfigV3ConfigVacmSecurityToGroup, SwitchSnmpConfigV3ConfigVacmSecurityToGroupArgs

    contents List<Property Map>
    securityModel String
    enum: usm, v1, v2c

    SwitchSnmpConfigV3ConfigVacmSecurityToGroupContent, SwitchSnmpConfigV3ConfigVacmSecurityToGroupContentArgs

    Group string
    refer to group_name under access
    SecurityName string
    Group string
    refer to group_name under access
    SecurityName string
    group String
    refer to group_name under access
    securityName String
    group string
    refer to group_name under access
    securityName string
    group str
    refer to group_name under access
    security_name str
    group String
    refer to group_name under access
    securityName String

    SwitchSnmpConfigView, SwitchSnmpConfigViewArgs

    Include bool
    if the root oid configured is included
    Oid string
    ViewName string
    Include bool
    if the root oid configured is included
    Oid string
    ViewName string
    include Boolean
    if the root oid configured is included
    oid String
    viewName String
    include boolean
    if the root oid configured is included
    oid string
    viewName string
    include bool
    if the root oid configured is included
    oid str
    view_name str
    include Boolean
    if the root oid configured is included
    oid String
    viewName String

    SwitchStpConfig, SwitchStpConfigArgs

    VstpEnabled bool
    ignored for switches participating in EVPN
    VstpEnabled bool
    ignored for switches participating in EVPN
    vstpEnabled Boolean
    ignored for switches participating in EVPN
    vstpEnabled boolean
    ignored for switches participating in EVPN
    vstp_enabled bool
    ignored for switches participating in EVPN
    vstpEnabled Boolean
    ignored for switches participating in EVPN

    SwitchSwitchMgmt, SwitchSwitchMgmtArgs

    ApAffinityThreshold int
    ap_affinity_threshold ap_affinity_threshold can be added as a field under site/setting. By default this value is set to 12. If the field is set in both site/setting and org/setting, the value from site/setting will be used.
    CliBanner string
    Set Banners for switches. Allows markup formatting
    CliIdleTimeout int
    Sets timeout for switches
    ConfigRevertTimer int
    the rollback timer for commit confirmed
    DhcpOptionFqdn bool
    Enable to provide the FQDN with DHCP option 81
    DisableOobDownAlarm bool
    LocalAccounts Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchSwitchMgmtLocalAccounts>
    Property key is the user name. For Local user authentication
    MxedgeProxyHost string
    MxedgeProxyPort int
    ProtectRe Pulumi.JuniperMist.Device.Inputs.SwitchSwitchMgmtProtectRe
    restrict inbound-traffic to host when enabled, all traffic that is not essential to our operation will be dropped e.g. ntp / dns / traffic to mist will be allowed by default, if dhcpd is enabled, we'll make sure it works
    RootPassword string
    Tacacs Pulumi.JuniperMist.Device.Inputs.SwitchSwitchMgmtTacacs
    UseMxedgeProxy bool
    to use mxedge as proxy
    ApAffinityThreshold int
    ap_affinity_threshold ap_affinity_threshold can be added as a field under site/setting. By default this value is set to 12. If the field is set in both site/setting and org/setting, the value from site/setting will be used.
    CliBanner string
    Set Banners for switches. Allows markup formatting
    CliIdleTimeout int
    Sets timeout for switches
    ConfigRevertTimer int
    the rollback timer for commit confirmed
    DhcpOptionFqdn bool
    Enable to provide the FQDN with DHCP option 81
    DisableOobDownAlarm bool
    LocalAccounts map[string]SwitchSwitchMgmtLocalAccounts
    Property key is the user name. For Local user authentication
    MxedgeProxyHost string
    MxedgeProxyPort int
    ProtectRe SwitchSwitchMgmtProtectRe
    restrict inbound-traffic to host when enabled, all traffic that is not essential to our operation will be dropped e.g. ntp / dns / traffic to mist will be allowed by default, if dhcpd is enabled, we'll make sure it works
    RootPassword string
    Tacacs SwitchSwitchMgmtTacacs
    UseMxedgeProxy bool
    to use mxedge as proxy
    apAffinityThreshold Integer
    ap_affinity_threshold ap_affinity_threshold can be added as a field under site/setting. By default this value is set to 12. If the field is set in both site/setting and org/setting, the value from site/setting will be used.
    cliBanner String
    Set Banners for switches. Allows markup formatting
    cliIdleTimeout Integer
    Sets timeout for switches
    configRevertTimer Integer
    the rollback timer for commit confirmed
    dhcpOptionFqdn Boolean
    Enable to provide the FQDN with DHCP option 81
    disableOobDownAlarm Boolean
    localAccounts Map<String,SwitchSwitchMgmtLocalAccounts>
    Property key is the user name. For Local user authentication
    mxedgeProxyHost String
    mxedgeProxyPort Integer
    protectRe SwitchSwitchMgmtProtectRe
    restrict inbound-traffic to host when enabled, all traffic that is not essential to our operation will be dropped e.g. ntp / dns / traffic to mist will be allowed by default, if dhcpd is enabled, we'll make sure it works
    rootPassword String
    tacacs SwitchSwitchMgmtTacacs
    useMxedgeProxy Boolean
    to use mxedge as proxy
    apAffinityThreshold number
    ap_affinity_threshold ap_affinity_threshold can be added as a field under site/setting. By default this value is set to 12. If the field is set in both site/setting and org/setting, the value from site/setting will be used.
    cliBanner string
    Set Banners for switches. Allows markup formatting
    cliIdleTimeout number
    Sets timeout for switches
    configRevertTimer number
    the rollback timer for commit confirmed
    dhcpOptionFqdn boolean
    Enable to provide the FQDN with DHCP option 81
    disableOobDownAlarm boolean
    localAccounts {[key: string]: SwitchSwitchMgmtLocalAccounts}
    Property key is the user name. For Local user authentication
    mxedgeProxyHost string
    mxedgeProxyPort number
    protectRe SwitchSwitchMgmtProtectRe
    restrict inbound-traffic to host when enabled, all traffic that is not essential to our operation will be dropped e.g. ntp / dns / traffic to mist will be allowed by default, if dhcpd is enabled, we'll make sure it works
    rootPassword string
    tacacs SwitchSwitchMgmtTacacs
    useMxedgeProxy boolean
    to use mxedge as proxy
    ap_affinity_threshold int
    ap_affinity_threshold ap_affinity_threshold can be added as a field under site/setting. By default this value is set to 12. If the field is set in both site/setting and org/setting, the value from site/setting will be used.
    cli_banner str
    Set Banners for switches. Allows markup formatting
    cli_idle_timeout int
    Sets timeout for switches
    config_revert_timer int
    the rollback timer for commit confirmed
    dhcp_option_fqdn bool
    Enable to provide the FQDN with DHCP option 81
    disable_oob_down_alarm bool
    local_accounts Mapping[str, SwitchSwitchMgmtLocalAccounts]
    Property key is the user name. For Local user authentication
    mxedge_proxy_host str
    mxedge_proxy_port int
    protect_re SwitchSwitchMgmtProtectRe
    restrict inbound-traffic to host when enabled, all traffic that is not essential to our operation will be dropped e.g. ntp / dns / traffic to mist will be allowed by default, if dhcpd is enabled, we'll make sure it works
    root_password str
    tacacs SwitchSwitchMgmtTacacs
    use_mxedge_proxy bool
    to use mxedge as proxy
    apAffinityThreshold Number
    ap_affinity_threshold ap_affinity_threshold can be added as a field under site/setting. By default this value is set to 12. If the field is set in both site/setting and org/setting, the value from site/setting will be used.
    cliBanner String
    Set Banners for switches. Allows markup formatting
    cliIdleTimeout Number
    Sets timeout for switches
    configRevertTimer Number
    the rollback timer for commit confirmed
    dhcpOptionFqdn Boolean
    Enable to provide the FQDN with DHCP option 81
    disableOobDownAlarm Boolean
    localAccounts Map<Property Map>
    Property key is the user name. For Local user authentication
    mxedgeProxyHost String
    mxedgeProxyPort Number
    protectRe Property Map
    restrict inbound-traffic to host when enabled, all traffic that is not essential to our operation will be dropped e.g. ntp / dns / traffic to mist will be allowed by default, if dhcpd is enabled, we'll make sure it works
    rootPassword String
    tacacs Property Map
    useMxedgeProxy Boolean
    to use mxedge as proxy

    SwitchSwitchMgmtLocalAccounts, SwitchSwitchMgmtLocalAccountsArgs

    Password string
    Role string
    enum: admin, helpdesk, none, read
    Password string
    Role string
    enum: admin, helpdesk, none, read
    password String
    role String
    enum: admin, helpdesk, none, read
    password string
    role string
    enum: admin, helpdesk, none, read
    password str
    role str
    enum: admin, helpdesk, none, read
    password String
    role String
    enum: admin, helpdesk, none, read

    SwitchSwitchMgmtProtectRe, SwitchSwitchMgmtProtectReArgs

    AllowedServices List<string>
    optionally, services we'll allow. enum: icmp, ssh
    Customs List<Pulumi.JuniperMist.Device.Inputs.SwitchSwitchMgmtProtectReCustom>
    Enabled bool
    when enabled, all traffic that is not essential to our operation will be dropped e.g. ntp / dns / traffic to mist will be allowed by default if dhcpd is enabled, we'll make sure it works
    TrustedHosts List<string>
    host/subnets we'll allow traffic to/from
    AllowedServices []string
    optionally, services we'll allow. enum: icmp, ssh
    Customs []SwitchSwitchMgmtProtectReCustom
    Enabled bool
    when enabled, all traffic that is not essential to our operation will be dropped e.g. ntp / dns / traffic to mist will be allowed by default if dhcpd is enabled, we'll make sure it works
    TrustedHosts []string
    host/subnets we'll allow traffic to/from
    allowedServices List<String>
    optionally, services we'll allow. enum: icmp, ssh
    customs List<SwitchSwitchMgmtProtectReCustom>
    enabled Boolean
    when enabled, all traffic that is not essential to our operation will be dropped e.g. ntp / dns / traffic to mist will be allowed by default if dhcpd is enabled, we'll make sure it works
    trustedHosts List<String>
    host/subnets we'll allow traffic to/from
    allowedServices string[]
    optionally, services we'll allow. enum: icmp, ssh
    customs SwitchSwitchMgmtProtectReCustom[]
    enabled boolean
    when enabled, all traffic that is not essential to our operation will be dropped e.g. ntp / dns / traffic to mist will be allowed by default if dhcpd is enabled, we'll make sure it works
    trustedHosts string[]
    host/subnets we'll allow traffic to/from
    allowed_services Sequence[str]
    optionally, services we'll allow. enum: icmp, ssh
    customs Sequence[SwitchSwitchMgmtProtectReCustom]
    enabled bool
    when enabled, all traffic that is not essential to our operation will be dropped e.g. ntp / dns / traffic to mist will be allowed by default if dhcpd is enabled, we'll make sure it works
    trusted_hosts Sequence[str]
    host/subnets we'll allow traffic to/from
    allowedServices List<String>
    optionally, services we'll allow. enum: icmp, ssh
    customs List<Property Map>
    enabled Boolean
    when enabled, all traffic that is not essential to our operation will be dropped e.g. ntp / dns / traffic to mist will be allowed by default if dhcpd is enabled, we'll make sure it works
    trustedHosts List<String>
    host/subnets we'll allow traffic to/from

    SwitchSwitchMgmtProtectReCustom, SwitchSwitchMgmtProtectReCustomArgs

    Subnets List<string>
    PortRange string
    matched dst port, "0" means any. Note: For protocol==any and port_range==any, configure trusted_hosts instead
    Protocol string
    enum: any, icmp, tcp, udp. Note: For protocol==any and port_range==any, configure trusted_hosts instead
    Subnets []string
    PortRange string
    matched dst port, "0" means any. Note: For protocol==any and port_range==any, configure trusted_hosts instead
    Protocol string
    enum: any, icmp, tcp, udp. Note: For protocol==any and port_range==any, configure trusted_hosts instead
    subnets List<String>
    portRange String
    matched dst port, "0" means any. Note: For protocol==any and port_range==any, configure trusted_hosts instead
    protocol String
    enum: any, icmp, tcp, udp. Note: For protocol==any and port_range==any, configure trusted_hosts instead
    subnets string[]
    portRange string
    matched dst port, "0" means any. Note: For protocol==any and port_range==any, configure trusted_hosts instead
    protocol string
    enum: any, icmp, tcp, udp. Note: For protocol==any and port_range==any, configure trusted_hosts instead
    subnets Sequence[str]
    port_range str
    matched dst port, "0" means any. Note: For protocol==any and port_range==any, configure trusted_hosts instead
    protocol str
    enum: any, icmp, tcp, udp. Note: For protocol==any and port_range==any, configure trusted_hosts instead
    subnets List<String>
    portRange String
    matched dst port, "0" means any. Note: For protocol==any and port_range==any, configure trusted_hosts instead
    protocol String
    enum: any, icmp, tcp, udp. Note: For protocol==any and port_range==any, configure trusted_hosts instead

    SwitchSwitchMgmtTacacs, SwitchSwitchMgmtTacacsArgs

    AcctServers []SwitchSwitchMgmtTacacsAcctServer
    DefaultRole string
    enum: admin, helpdesk, none, read
    Enabled bool
    Network string
    which network the TACACS server resides
    TacplusServers []SwitchSwitchMgmtTacacsTacplusServer
    acctServers List<SwitchSwitchMgmtTacacsAcctServer>
    defaultRole String
    enum: admin, helpdesk, none, read
    enabled Boolean
    network String
    which network the TACACS server resides
    tacplusServers List<SwitchSwitchMgmtTacacsTacplusServer>
    acctServers SwitchSwitchMgmtTacacsAcctServer[]
    defaultRole string
    enum: admin, helpdesk, none, read
    enabled boolean
    network string
    which network the TACACS server resides
    tacplusServers SwitchSwitchMgmtTacacsTacplusServer[]
    acctServers List<Property Map>
    defaultRole String
    enum: admin, helpdesk, none, read
    enabled Boolean
    network String
    which network the TACACS server resides
    tacplusServers List<Property Map>

    SwitchSwitchMgmtTacacsAcctServer, SwitchSwitchMgmtTacacsAcctServerArgs

    Host string
    Port string
    Secret string
    Timeout int
    Host string
    Port string
    Secret string
    Timeout int
    host String
    port String
    secret String
    timeout Integer
    host string
    port string
    secret string
    timeout number
    host str
    port str
    secret str
    timeout int
    host String
    port String
    secret String
    timeout Number

    SwitchSwitchMgmtTacacsTacplusServer, SwitchSwitchMgmtTacacsTacplusServerArgs

    Host string
    Port string
    Secret string
    Timeout int
    Host string
    Port string
    Secret string
    Timeout int
    host String
    port String
    secret String
    timeout Integer
    host string
    port string
    secret string
    timeout number
    host str
    port str
    secret str
    timeout int
    host String
    port String
    secret String
    timeout Number

    SwitchVirtualChassis, SwitchVirtualChassisArgs

    Members List<Pulumi.JuniperMist.Device.Inputs.SwitchVirtualChassisMember>
    list of Virtual Chassis members
    Preprovisioned bool
    to configure whether the VC is preprovisioned or nonprovisioned
    Members []SwitchVirtualChassisMember
    list of Virtual Chassis members
    Preprovisioned bool
    to configure whether the VC is preprovisioned or nonprovisioned
    members List<SwitchVirtualChassisMember>
    list of Virtual Chassis members
    preprovisioned Boolean
    to configure whether the VC is preprovisioned or nonprovisioned
    members SwitchVirtualChassisMember[]
    list of Virtual Chassis members
    preprovisioned boolean
    to configure whether the VC is preprovisioned or nonprovisioned
    members Sequence[SwitchVirtualChassisMember]
    list of Virtual Chassis members
    preprovisioned bool
    to configure whether the VC is preprovisioned or nonprovisioned
    members List<Property Map>
    list of Virtual Chassis members
    preprovisioned Boolean
    to configure whether the VC is preprovisioned or nonprovisioned

    SwitchVirtualChassisMember, SwitchVirtualChassisMemberArgs

    Mac string
    fpc0, same as the mac of device_id
    MemberId int
    VcRole string
    Both vc_role master and backup will be matched to routing-engine role in Junos preprovisioned VC config. enum: backup, linecard, master
    Mac string
    fpc0, same as the mac of device_id
    MemberId int
    VcRole string
    Both vc_role master and backup will be matched to routing-engine role in Junos preprovisioned VC config. enum: backup, linecard, master
    mac String
    fpc0, same as the mac of device_id
    memberId Integer
    vcRole String
    Both vc_role master and backup will be matched to routing-engine role in Junos preprovisioned VC config. enum: backup, linecard, master
    mac string
    fpc0, same as the mac of device_id
    memberId number
    vcRole string
    Both vc_role master and backup will be matched to routing-engine role in Junos preprovisioned VC config. enum: backup, linecard, master
    mac str
    fpc0, same as the mac of device_id
    member_id int
    vc_role str
    Both vc_role master and backup will be matched to routing-engine role in Junos preprovisioned VC config. enum: backup, linecard, master
    mac String
    fpc0, same as the mac of device_id
    memberId Number
    vcRole String
    Both vc_role master and backup will be matched to routing-engine role in Junos preprovisioned VC config. enum: backup, linecard, master

    SwitchVrfConfig, SwitchVrfConfigArgs

    Enabled bool
    whether to enable VRF (when supported on the device)
    Enabled bool
    whether to enable VRF (when supported on the device)
    enabled Boolean
    whether to enable VRF (when supported on the device)
    enabled boolean
    whether to enable VRF (when supported on the device)
    enabled bool
    whether to enable VRF (when supported on the device)
    enabled Boolean
    whether to enable VRF (when supported on the device)

    SwitchVrfInstances, SwitchVrfInstancesArgs

    Networks List<string>
    VrfExtraRoutes Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchVrfInstancesVrfExtraRoutes>
    Property key is the destination CIDR (e.g. "10.0.0.0/8")
    Networks []string
    VrfExtraRoutes map[string]SwitchVrfInstancesVrfExtraRoutes
    Property key is the destination CIDR (e.g. "10.0.0.0/8")
    networks List<String>
    vrfExtraRoutes Map<String,SwitchVrfInstancesVrfExtraRoutes>
    Property key is the destination CIDR (e.g. "10.0.0.0/8")
    networks string[]
    vrfExtraRoutes {[key: string]: SwitchVrfInstancesVrfExtraRoutes}
    Property key is the destination CIDR (e.g. "10.0.0.0/8")
    networks Sequence[str]
    vrf_extra_routes Mapping[str, SwitchVrfInstancesVrfExtraRoutes]
    Property key is the destination CIDR (e.g. "10.0.0.0/8")
    networks List<String>
    vrfExtraRoutes Map<Property Map>
    Property key is the destination CIDR (e.g. "10.0.0.0/8")

    SwitchVrfInstancesVrfExtraRoutes, SwitchVrfInstancesVrfExtraRoutesArgs

    Via string
    Next-hop address
    Via string
    Next-hop address
    via String
    Next-hop address
    via string
    Next-hop address
    via str
    Next-hop address
    via String
    Next-hop address

    SwitchVrrpConfig, SwitchVrrpConfigArgs

    Enabled bool
    Groups Dictionary<string, Pulumi.JuniperMist.Device.Inputs.SwitchVrrpConfigGroups>
    Property key is the VRRP name
    Enabled bool
    Groups map[string]SwitchVrrpConfigGroups
    Property key is the VRRP name
    enabled Boolean
    groups Map<String,SwitchVrrpConfigGroups>
    Property key is the VRRP name
    enabled boolean
    groups {[key: string]: SwitchVrrpConfigGroups}
    Property key is the VRRP name
    enabled bool
    groups Mapping[str, SwitchVrrpConfigGroups]
    Property key is the VRRP name
    enabled Boolean
    groups Map<Property Map>
    Property key is the VRRP name

    SwitchVrrpConfigGroups, SwitchVrrpConfigGroupsArgs

    priority Integer
    priority number
    priority Number

    Import

    Using pulumi import, import mist_device_switch with:

    Switch Configuration can be imported by specifying the site_id and the device_id

    $ pulumi import junipermist:device/switch:Switch switch_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309
    

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

    Package Details

    Repository
    junipermist pulumi/pulumi-junipermist
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the mist Terraform Provider.
    junipermist logo
    Juniper Mist v0.0.27 published on Friday, Sep 27, 2024 by Pulumi