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, in