1. Packages
  2. Packages
  3. Unifi
  4. API Docs
  5. setting
  6. GlobalSwitch
Viewing docs for Unifi v0.3.0
published on Wednesday, Jul 8, 2026 by Pulumiverse
unifi logo
Viewing docs for Unifi v0.3.0
published on Wednesday, Jul 8, 2026 by Pulumiverse

    The unifi.setting.GlobalSwitch resource manages the switch isolation settings (device isolation and ACL-based layer-3 isolation) for a UniFi site, exposed in the controller UI under Settings → Network → Switch Isolation Settings.

    This resource is intentionally narrow: it manages only the isolation-related fields of the controller’s globalSwitch setting object. All other fields of that object (such as DHCP snooping, 802.1X, STP, jumbo frames, and flow control) are preserved untouched using a read-modify-write write path, so this resource can be adopted without clobbering settings managed elsewhere (for example, DHCP snooping via unifi.setting.Usw).

    Requires controller version 7.2 or later. The Switch Isolation Settings are only available on UniFi Network controllers from version 7.2 onward.

    Clearing collections is not supported. Because the underlying controller fields are omitempty, setting any of aclDeviceIsolation, aclL3Isolation, or switchExclusions to an empty value cannot reliably clear it via the API. Configure at least one element. Removing theattribute does not unmanage or clear it: the last applied value is retained and kept in sync. Empty values are rejected at plan time.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as unifi from "@pulumiverse/unifi";
    
    // Define the networks used by the layer-3 isolation rules. The isolation
    // settings reference networks by their UniFi network ID (the `id` attribute),
    // not by name or CIDR.
    const engineering = new unifi.Network("engineering", {
        name: "Engineering",
        purpose: "corporate",
        subnet: "10.0.10.1/24",
        vlanId: 10,
    });
    const guest = new unifi.Network("guest", {
        name: "Guest",
        purpose: "corporate",
        subnet: "10.0.20.1/24",
        vlanId: 20,
    });
    // Manage the site's switch isolation settings
    // (Settings -> Network -> Switch Isolation Settings).
    //
    // Only the isolation-related fields are managed; all other global switch
    // settings (DHCP snooping, STP, jumbo frames, etc.) are preserved untouched.
    const example = new unifi.setting.GlobalSwitch("example", {
        aclL3Isolations: [{
            sourceNetwork: guest.id,
            destinationNetworks: [engineering.id],
        }],
        switchExclusions: ["00:11:22:33:44:55"],
    });
    
    import pulumi
    import pulumiverse_unifi as unifi
    
    # Define the networks used by the layer-3 isolation rules. The isolation
    # settings reference networks by their UniFi network ID (the `id` attribute),
    # not by name or CIDR.
    engineering = unifi.Network("engineering",
        name="Engineering",
        purpose="corporate",
        subnet="10.0.10.1/24",
        vlan_id=10)
    guest = unifi.Network("guest",
        name="Guest",
        purpose="corporate",
        subnet="10.0.20.1/24",
        vlan_id=20)
    # Manage the site's switch isolation settings
    # (Settings -> Network -> Switch Isolation Settings).
    #
    # Only the isolation-related fields are managed; all other global switch
    # settings (DHCP snooping, STP, jumbo frames, etc.) are preserved untouched.
    example = unifi.setting.GlobalSwitch("example",
        acl_l3_isolations=[{
            "source_network": guest.id,
            "destination_networks": [engineering.id],
        }],
        switch_exclusions=["00:11:22:33:44:55"])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-unifi/sdk/go/unifi"
    	"github.com/pulumiverse/pulumi-unifi/sdk/go/unifi/setting"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Define the networks used by the layer-3 isolation rules. The isolation
    		// settings reference networks by their UniFi network ID (the `id` attribute),
    		// not by name or CIDR.
    		engineering, err := unifi.NewNetwork(ctx, "engineering", &unifi.NetworkArgs{
    			Name:    pulumi.String("Engineering"),
    			Purpose: pulumi.String("corporate"),
    			Subnet:  pulumi.String("10.0.10.1/24"),
    			VlanId:  pulumi.Int(10),
    		})
    		if err != nil {
    			return err
    		}
    		guest, err := unifi.NewNetwork(ctx, "guest", &unifi.NetworkArgs{
    			Name:    pulumi.String("Guest"),
    			Purpose: pulumi.String("corporate"),
    			Subnet:  pulumi.String("10.0.20.1/24"),
    			VlanId:  pulumi.Int(20),
    		})
    		if err != nil {
    			return err
    		}
    		// Manage the site's switch isolation settings
    		// (Settings -> Network -> Switch Isolation Settings).
    		//
    		// Only the isolation-related fields are managed; all other global switch
    		// settings (DHCP snooping, STP, jumbo frames, etc.) are preserved untouched.
    		_, err = setting.NewGlobalSwitch(ctx, "example", &setting.GlobalSwitchArgs{
    			AclL3Isolations: setting.GlobalSwitchAclL3IsolationArray{
    				&setting.GlobalSwitchAclL3IsolationArgs{
    					SourceNetwork: guest.ID(),
    					DestinationNetworks: pulumi.StringArray{
    						engineering.ID(),
    					},
    				},
    			},
    			SwitchExclusions: pulumi.StringArray{
    				pulumi.String("00:11:22:33:44:55"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Unifi = Pulumiverse.Unifi;
    
    return await Deployment.RunAsync(() => 
    {
        // Define the networks used by the layer-3 isolation rules. The isolation
        // settings reference networks by their UniFi network ID (the `id` attribute),
        // not by name or CIDR.
        var engineering = new Unifi.Network("engineering", new()
        {
            Name = "Engineering",
            Purpose = "corporate",
            Subnet = "10.0.10.1/24",
            VlanId = 10,
        });
    
        var guest = new Unifi.Network("guest", new()
        {
            Name = "Guest",
            Purpose = "corporate",
            Subnet = "10.0.20.1/24",
            VlanId = 20,
        });
    
        // Manage the site's switch isolation settings
        // (Settings -> Network -> Switch Isolation Settings).
        //
        // Only the isolation-related fields are managed; all other global switch
        // settings (DHCP snooping, STP, jumbo frames, etc.) are preserved untouched.
        var example = new Unifi.Setting.GlobalSwitch("example", new()
        {
            AclL3Isolations = new[]
            {
                new Unifi.Setting.Inputs.GlobalSwitchAclL3IsolationArgs
                {
                    SourceNetwork = guest.Id,
                    DestinationNetworks = new[]
                    {
                        engineering.Id,
                    },
                },
            },
            SwitchExclusions = new[]
            {
                "00:11:22:33:44:55",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumiverse.unifi.Network;
    import com.pulumiverse.unifi.NetworkArgs;
    import com.pulumiverse.unifi.setting.GlobalSwitch;
    import com.pulumiverse.unifi.setting.GlobalSwitchArgs;
    import com.pulumi.unifi.setting.inputs.GlobalSwitchAclL3IsolationArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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) {
            // Define the networks used by the layer-3 isolation rules. The isolation
            // settings reference networks by their UniFi network ID (the `id` attribute),
            // not by name or CIDR.
            var engineering = new Network("engineering", NetworkArgs.builder()
                .name("Engineering")
                .purpose("corporate")
                .subnet("10.0.10.1/24")
                .vlanId(10)
                .build());
    
            var guest = new Network("guest", NetworkArgs.builder()
                .name("Guest")
                .purpose("corporate")
                .subnet("10.0.20.1/24")
                .vlanId(20)
                .build());
    
            // Manage the site's switch isolation settings
            // (Settings -> Network -> Switch Isolation Settings).
            //
            // Only the isolation-related fields are managed; all other global switch
            // settings (DHCP snooping, STP, jumbo frames, etc.) are preserved untouched.
            var example = new GlobalSwitch("example", GlobalSwitchArgs.builder()
                .aclL3Isolations(GlobalSwitchAclL3IsolationArgs.builder()
                    .sourceNetwork(guest.id())
                    .destinationNetworks(engineering.id())
                    .build())
                .switchExclusions("00:11:22:33:44:55")
                .build());
    
        }
    }
    
    resources:
      # Define the networks used by the layer-3 isolation rules. The isolation
      # settings reference networks by their UniFi network ID (the `id` attribute),
      # not by name or CIDR.
      engineering:
        type: unifi:Network
        properties:
          name: Engineering
          purpose: corporate
          subnet: 10.0.10.1/24
          vlanId: 10
      guest:
        type: unifi:Network
        properties:
          name: Guest
          purpose: corporate
          subnet: 10.0.20.1/24
          vlanId: 20
      # Manage the site's switch isolation settings
      # (Settings -> Network -> Switch Isolation Settings).
      #
      # Only the isolation-related fields are managed; all other global switch
      # settings (DHCP snooping, STP, jumbo frames, etc.) are preserved untouched.
      example:
        type: unifi:setting:GlobalSwitch
        properties:
          aclL3Isolations:
            - sourceNetwork: ${guest.id}
              destinationNetworks:
                - ${engineering.id}
          switchExclusions: # Specify the site (optional, defaults to the site configured in the provider,
          #   # otherwise "default").
          #   # site = "default"
            - 00:11:22:33:44:55
    
    pulumi {
      required_providers {
        unifi = {
          source = "pulumi/unifi"
        }
      }
    }
    
    # Define the networks used by the layer-3 isolation rules. The isolation
    # settings reference networks by their UniFi network ID (the `id` attribute),
    # not by name or CIDR.
    resource "unifi_network" "engineering" {
      name    = "Engineering"
      purpose = "corporate"
      subnet  = "10.0.10.1/24"
      vlan_id = 10
    }
    resource "unifi_network" "guest" {
      name    = "Guest"
      purpose = "corporate"
      subnet  = "10.0.20.1/24"
      vlan_id = 20
    }
    # Manage the site's switch isolation settings
    # (Settings -> Network -> Switch Isolation Settings).
    #
    # Only the isolation-related fields are managed; all other global switch
    # settings (DHCP snooping, STP, jumbo frames, etc.) are preserved untouched.
    resource "unifi_setting_globalswitch" "example" {
      acl_l3_isolations {
        source_network       = unifi_network.guest.id
        destination_networks = [unifi_network.engineering.id]
      }
      switch_exclusions = ["00:11:22:33:44:55"]
    }
    

    Create GlobalSwitch Resource

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

    Constructor syntax

    new GlobalSwitch(name: string, args?: GlobalSwitchArgs, opts?: CustomResourceOptions);
    @overload
    def GlobalSwitch(resource_name: str,
                     args: Optional[GlobalSwitchArgs] = None,
                     opts: Optional[ResourceOptions] = None)
    
    @overload
    def GlobalSwitch(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     acl_device_isolations: Optional[Sequence[str]] = None,
                     acl_l3_isolations: Optional[Sequence[GlobalSwitchAclL3IsolationArgs]] = None,
                     site: Optional[str] = None,
                     switch_exclusions: Optional[Sequence[str]] = None)
    func NewGlobalSwitch(ctx *Context, name string, args *GlobalSwitchArgs, opts ...ResourceOption) (*GlobalSwitch, error)
    public GlobalSwitch(string name, GlobalSwitchArgs? args = null, CustomResourceOptions? opts = null)
    public GlobalSwitch(String name, GlobalSwitchArgs args)
    public GlobalSwitch(String name, GlobalSwitchArgs args, CustomResourceOptions options)
    
    type: unifi:setting:GlobalSwitch
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "unifi_setting_globalswitch" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args GlobalSwitchArgs
    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 GlobalSwitchArgs
    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 GlobalSwitchArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args GlobalSwitchArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args GlobalSwitchArgs
    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 globalSwitchResource = new Unifi.Setting.GlobalSwitch("globalSwitchResource", new()
    {
        AclDeviceIsolations = new[]
        {
            "string",
        },
        AclL3Isolations = new[]
        {
            new Unifi.Setting.Inputs.GlobalSwitchAclL3IsolationArgs
            {
                DestinationNetworks = new[]
                {
                    "string",
                },
                SourceNetwork = "string",
            },
        },
        Site = "string",
        SwitchExclusions = new[]
        {
            "string",
        },
    });
    
    example, err := setting.NewGlobalSwitch(ctx, "globalSwitchResource", &setting.GlobalSwitchArgs{
    	AclDeviceIsolations: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	AclL3Isolations: setting.GlobalSwitchAclL3IsolationArray{
    		&setting.GlobalSwitchAclL3IsolationArgs{
    			DestinationNetworks: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			SourceNetwork: pulumi.String("string"),
    		},
    	},
    	Site: pulumi.String("string"),
    	SwitchExclusions: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    resource "unifi_setting_globalswitch" "globalSwitchResource" {
      acl_device_isolations = ["string"]
      acl_l3_isolations {
        destination_networks = ["string"]
        source_network       = "string"
      }
      site              = "string"
      switch_exclusions = ["string"]
    }
    
    var globalSwitchResource = new GlobalSwitch("globalSwitchResource", GlobalSwitchArgs.builder()
        .aclDeviceIsolations("string")
        .aclL3Isolations(GlobalSwitchAclL3IsolationArgs.builder()
            .destinationNetworks("string")
            .sourceNetwork("string")
            .build())
        .site("string")
        .switchExclusions("string")
        .build());
    
    global_switch_resource = unifi.setting.GlobalSwitch("globalSwitchResource",
        acl_device_isolations=["string"],
        acl_l3_isolations=[{
            "destination_networks": ["string"],
            "source_network": "string",
        }],
        site="string",
        switch_exclusions=["string"])
    
    const globalSwitchResource = new unifi.setting.GlobalSwitch("globalSwitchResource", {
        aclDeviceIsolations: ["string"],
        aclL3Isolations: [{
            destinationNetworks: ["string"],
            sourceNetwork: "string",
        }],
        site: "string",
        switchExclusions: ["string"],
    });
    
    type: unifi:setting:GlobalSwitch
    properties:
        aclDeviceIsolations:
            - string
        aclL3Isolations:
            - destinationNetworks:
                - string
              sourceNetwork: string
        site: string
        switchExclusions:
            - string
    

    GlobalSwitch Resource Properties

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

    Inputs

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

    The GlobalSwitch resource accepts the following input properties:

    AclDeviceIsolations List<string>
    Set of device identifiers to isolate (the controller's Device Isolation control). Each element is sent to the controller verbatim, with no validation or normalization: the UniFi globalSwitch API does not constrain this field's format, so supply the identifiers exactly as the controller expects them (refer to the controller UI). Reordering has no effect (this is an unordered set). At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    AclL3Isolations List<Pulumiverse.Unifi.Setting.Inputs.GlobalSwitchAclL3Isolation>
    Set of layer-3 (network-to-network) isolation rules. Each entry isolates a source network from a set of destination networks. All values are UniFi network IDs (the id of a unifi.Network resource), not network names or CIDRs. Reordering has no effect (unordered set).
    Site string
    The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
    SwitchExclusions List<string>
    Set of switch MAC addresses excluded from isolation enforcement. Each element must be the MAC address of a switch that is already adopted/managed by the controller; the controller rejects MACs that do not correspond to a known switch. MAC addresses are case-insensitive and may use : or - separators (e.g. aa:bb:cc:dd:ee:ff and AA-BB-CC-DD-EE-FF are treated as the same address and produce no diff); the value is kept as written. At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    AclDeviceIsolations []string
    Set of device identifiers to isolate (the controller's Device Isolation control). Each element is sent to the controller verbatim, with no validation or normalization: the UniFi globalSwitch API does not constrain this field's format, so supply the identifiers exactly as the controller expects them (refer to the controller UI). Reordering has no effect (this is an unordered set). At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    AclL3Isolations []GlobalSwitchAclL3IsolationArgs
    Set of layer-3 (network-to-network) isolation rules. Each entry isolates a source network from a set of destination networks. All values are UniFi network IDs (the id of a unifi.Network resource), not network names or CIDRs. Reordering has no effect (unordered set).
    Site string
    The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
    SwitchExclusions []string
    Set of switch MAC addresses excluded from isolation enforcement. Each element must be the MAC address of a switch that is already adopted/managed by the controller; the controller rejects MACs that do not correspond to a known switch. MAC addresses are case-insensitive and may use : or - separators (e.g. aa:bb:cc:dd:ee:ff and AA-BB-CC-DD-EE-FF are treated as the same address and produce no diff); the value is kept as written. At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    acl_device_isolations list(string)
    Set of device identifiers to isolate (the controller's Device Isolation control). Each element is sent to the controller verbatim, with no validation or normalization: the UniFi globalSwitch API does not constrain this field's format, so supply the identifiers exactly as the controller expects them (refer to the controller UI). Reordering has no effect (this is an unordered set). At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    acl_l3_isolations list(object)
    Set of layer-3 (network-to-network) isolation rules. Each entry isolates a source network from a set of destination networks. All values are UniFi network IDs (the id of a unifi.Network resource), not network names or CIDRs. Reordering has no effect (unordered set).
    site string
    The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
    switch_exclusions list(string)
    Set of switch MAC addresses excluded from isolation enforcement. Each element must be the MAC address of a switch that is already adopted/managed by the controller; the controller rejects MACs that do not correspond to a known switch. MAC addresses are case-insensitive and may use : or - separators (e.g. aa:bb:cc:dd:ee:ff and AA-BB-CC-DD-EE-FF are treated as the same address and produce no diff); the value is kept as written. At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    aclDeviceIsolations List<String>
    Set of device identifiers to isolate (the controller's Device Isolation control). Each element is sent to the controller verbatim, with no validation or normalization: the UniFi globalSwitch API does not constrain this field's format, so supply the identifiers exactly as the controller expects them (refer to the controller UI). Reordering has no effect (this is an unordered set). At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    aclL3Isolations List<GlobalSwitchAclL3Isolation>
    Set of layer-3 (network-to-network) isolation rules. Each entry isolates a source network from a set of destination networks. All values are UniFi network IDs (the id of a unifi.Network resource), not network names or CIDRs. Reordering has no effect (unordered set).
    site String
    The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
    switchExclusions List<String>
    Set of switch MAC addresses excluded from isolation enforcement. Each element must be the MAC address of a switch that is already adopted/managed by the controller; the controller rejects MACs that do not correspond to a known switch. MAC addresses are case-insensitive and may use : or - separators (e.g. aa:bb:cc:dd:ee:ff and AA-BB-CC-DD-EE-FF are treated as the same address and produce no diff); the value is kept as written. At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    aclDeviceIsolations string[]
    Set of device identifiers to isolate (the controller's Device Isolation control). Each element is sent to the controller verbatim, with no validation or normalization: the UniFi globalSwitch API does not constrain this field's format, so supply the identifiers exactly as the controller expects them (refer to the controller UI). Reordering has no effect (this is an unordered set). At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    aclL3Isolations GlobalSwitchAclL3Isolation[]
    Set of layer-3 (network-to-network) isolation rules. Each entry isolates a source network from a set of destination networks. All values are UniFi network IDs (the id of a unifi.Network resource), not network names or CIDRs. Reordering has no effect (unordered set).
    site string
    The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
    switchExclusions string[]
    Set of switch MAC addresses excluded from isolation enforcement. Each element must be the MAC address of a switch that is already adopted/managed by the controller; the controller rejects MACs that do not correspond to a known switch. MAC addresses are case-insensitive and may use : or - separators (e.g. aa:bb:cc:dd:ee:ff and AA-BB-CC-DD-EE-FF are treated as the same address and produce no diff); the value is kept as written. At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    acl_device_isolations Sequence[str]
    Set of device identifiers to isolate (the controller's Device Isolation control). Each element is sent to the controller verbatim, with no validation or normalization: the UniFi globalSwitch API does not constrain this field's format, so supply the identifiers exactly as the controller expects them (refer to the controller UI). Reordering has no effect (this is an unordered set). At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    acl_l3_isolations Sequence[GlobalSwitchAclL3IsolationArgs]
    Set of layer-3 (network-to-network) isolation rules. Each entry isolates a source network from a set of destination networks. All values are UniFi network IDs (the id of a unifi.Network resource), not network names or CIDRs. Reordering has no effect (unordered set).
    site str
    The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
    switch_exclusions Sequence[str]
    Set of switch MAC addresses excluded from isolation enforcement. Each element must be the MAC address of a switch that is already adopted/managed by the controller; the controller rejects MACs that do not correspond to a known switch. MAC addresses are case-insensitive and may use : or - separators (e.g. aa:bb:cc:dd:ee:ff and AA-BB-CC-DD-EE-FF are treated as the same address and produce no diff); the value is kept as written. At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    aclDeviceIsolations List<String>
    Set of device identifiers to isolate (the controller's Device Isolation control). Each element is sent to the controller verbatim, with no validation or normalization: the UniFi globalSwitch API does not constrain this field's format, so supply the identifiers exactly as the controller expects them (refer to the controller UI). Reordering has no effect (this is an unordered set). At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    aclL3Isolations List<Property Map>
    Set of layer-3 (network-to-network) isolation rules. Each entry isolates a source network from a set of destination networks. All values are UniFi network IDs (the id of a unifi.Network resource), not network names or CIDRs. Reordering has no effect (unordered set).
    site String
    The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
    switchExclusions List<String>
    Set of switch MAC addresses excluded from isolation enforcement. Each element must be the MAC address of a switch that is already adopted/managed by the controller; the controller rejects MACs that do not correspond to a known switch. MAC addresses are case-insensitive and may use : or - separators (e.g. aa:bb:cc:dd:ee:ff and AA-BB-CC-DD-EE-FF are treated as the same address and produce no diff); the value is kept as written. At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.

    Outputs

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

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

    Look up Existing GlobalSwitch Resource

    Get an existing GlobalSwitch 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?: GlobalSwitchState, opts?: CustomResourceOptions): GlobalSwitch
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            acl_device_isolations: Optional[Sequence[str]] = None,
            acl_l3_isolations: Optional[Sequence[GlobalSwitchAclL3IsolationArgs]] = None,
            site: Optional[str] = None,
            switch_exclusions: Optional[Sequence[str]] = None) -> GlobalSwitch
    func GetGlobalSwitch(ctx *Context, name string, id IDInput, state *GlobalSwitchState, opts ...ResourceOption) (*GlobalSwitch, error)
    public static GlobalSwitch Get(string name, Input<string> id, GlobalSwitchState? state, CustomResourceOptions? opts = null)
    public static GlobalSwitch get(String name, Output<String> id, GlobalSwitchState state, CustomResourceOptions options)
    resources:  _:    type: unifi:setting:GlobalSwitch    get:      id: ${id}
    import {
      to = unifi_setting_globalswitch.example
      id = "${id}"
    }
    
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AclDeviceIsolations List<string>
    Set of device identifiers to isolate (the controller's Device Isolation control). Each element is sent to the controller verbatim, with no validation or normalization: the UniFi globalSwitch API does not constrain this field's format, so supply the identifiers exactly as the controller expects them (refer to the controller UI). Reordering has no effect (this is an unordered set). At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    AclL3Isolations List<Pulumiverse.Unifi.Setting.Inputs.GlobalSwitchAclL3Isolation>
    Set of layer-3 (network-to-network) isolation rules. Each entry isolates a source network from a set of destination networks. All values are UniFi network IDs (the id of a unifi.Network resource), not network names or CIDRs. Reordering has no effect (unordered set).
    Site string
    The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
    SwitchExclusions List<string>
    Set of switch MAC addresses excluded from isolation enforcement. Each element must be the MAC address of a switch that is already adopted/managed by the controller; the controller rejects MACs that do not correspond to a known switch. MAC addresses are case-insensitive and may use : or - separators (e.g. aa:bb:cc:dd:ee:ff and AA-BB-CC-DD-EE-FF are treated as the same address and produce no diff); the value is kept as written. At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    AclDeviceIsolations []string
    Set of device identifiers to isolate (the controller's Device Isolation control). Each element is sent to the controller verbatim, with no validation or normalization: the UniFi globalSwitch API does not constrain this field's format, so supply the identifiers exactly as the controller expects them (refer to the controller UI). Reordering has no effect (this is an unordered set). At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    AclL3Isolations []GlobalSwitchAclL3IsolationArgs
    Set of layer-3 (network-to-network) isolation rules. Each entry isolates a source network from a set of destination networks. All values are UniFi network IDs (the id of a unifi.Network resource), not network names or CIDRs. Reordering has no effect (unordered set).
    Site string
    The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
    SwitchExclusions []string
    Set of switch MAC addresses excluded from isolation enforcement. Each element must be the MAC address of a switch that is already adopted/managed by the controller; the controller rejects MACs that do not correspond to a known switch. MAC addresses are case-insensitive and may use : or - separators (e.g. aa:bb:cc:dd:ee:ff and AA-BB-CC-DD-EE-FF are treated as the same address and produce no diff); the value is kept as written. At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    acl_device_isolations list(string)
    Set of device identifiers to isolate (the controller's Device Isolation control). Each element is sent to the controller verbatim, with no validation or normalization: the UniFi globalSwitch API does not constrain this field's format, so supply the identifiers exactly as the controller expects them (refer to the controller UI). Reordering has no effect (this is an unordered set). At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    acl_l3_isolations list(object)
    Set of layer-3 (network-to-network) isolation rules. Each entry isolates a source network from a set of destination networks. All values are UniFi network IDs (the id of a unifi.Network resource), not network names or CIDRs. Reordering has no effect (unordered set).
    site string
    The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
    switch_exclusions list(string)
    Set of switch MAC addresses excluded from isolation enforcement. Each element must be the MAC address of a switch that is already adopted/managed by the controller; the controller rejects MACs that do not correspond to a known switch. MAC addresses are case-insensitive and may use : or - separators (e.g. aa:bb:cc:dd:ee:ff and AA-BB-CC-DD-EE-FF are treated as the same address and produce no diff); the value is kept as written. At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    aclDeviceIsolations List<String>
    Set of device identifiers to isolate (the controller's Device Isolation control). Each element is sent to the controller verbatim, with no validation or normalization: the UniFi globalSwitch API does not constrain this field's format, so supply the identifiers exactly as the controller expects them (refer to the controller UI). Reordering has no effect (this is an unordered set). At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    aclL3Isolations List<GlobalSwitchAclL3Isolation>
    Set of layer-3 (network-to-network) isolation rules. Each entry isolates a source network from a set of destination networks. All values are UniFi network IDs (the id of a unifi.Network resource), not network names or CIDRs. Reordering has no effect (unordered set).
    site String
    The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
    switchExclusions List<String>
    Set of switch MAC addresses excluded from isolation enforcement. Each element must be the MAC address of a switch that is already adopted/managed by the controller; the controller rejects MACs that do not correspond to a known switch. MAC addresses are case-insensitive and may use : or - separators (e.g. aa:bb:cc:dd:ee:ff and AA-BB-CC-DD-EE-FF are treated as the same address and produce no diff); the value is kept as written. At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    aclDeviceIsolations string[]
    Set of device identifiers to isolate (the controller's Device Isolation control). Each element is sent to the controller verbatim, with no validation or normalization: the UniFi globalSwitch API does not constrain this field's format, so supply the identifiers exactly as the controller expects them (refer to the controller UI). Reordering has no effect (this is an unordered set). At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    aclL3Isolations GlobalSwitchAclL3Isolation[]
    Set of layer-3 (network-to-network) isolation rules. Each entry isolates a source network from a set of destination networks. All values are UniFi network IDs (the id of a unifi.Network resource), not network names or CIDRs. Reordering has no effect (unordered set).
    site string
    The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
    switchExclusions string[]
    Set of switch MAC addresses excluded from isolation enforcement. Each element must be the MAC address of a switch that is already adopted/managed by the controller; the controller rejects MACs that do not correspond to a known switch. MAC addresses are case-insensitive and may use : or - separators (e.g. aa:bb:cc:dd:ee:ff and AA-BB-CC-DD-EE-FF are treated as the same address and produce no diff); the value is kept as written. At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    acl_device_isolations Sequence[str]
    Set of device identifiers to isolate (the controller's Device Isolation control). Each element is sent to the controller verbatim, with no validation or normalization: the UniFi globalSwitch API does not constrain this field's format, so supply the identifiers exactly as the controller expects them (refer to the controller UI). Reordering has no effect (this is an unordered set). At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    acl_l3_isolations Sequence[GlobalSwitchAclL3IsolationArgs]
    Set of layer-3 (network-to-network) isolation rules. Each entry isolates a source network from a set of destination networks. All values are UniFi network IDs (the id of a unifi.Network resource), not network names or CIDRs. Reordering has no effect (unordered set).
    site str
    The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
    switch_exclusions Sequence[str]
    Set of switch MAC addresses excluded from isolation enforcement. Each element must be the MAC address of a switch that is already adopted/managed by the controller; the controller rejects MACs that do not correspond to a known switch. MAC addresses are case-insensitive and may use : or - separators (e.g. aa:bb:cc:dd:ee:ff and AA-BB-CC-DD-EE-FF are treated as the same address and produce no diff); the value is kept as written. At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    aclDeviceIsolations List<String>
    Set of device identifiers to isolate (the controller's Device Isolation control). Each element is sent to the controller verbatim, with no validation or normalization: the UniFi globalSwitch API does not constrain this field's format, so supply the identifiers exactly as the controller expects them (refer to the controller UI). Reordering has no effect (this is an unordered set). At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.
    aclL3Isolations List<Property Map>
    Set of layer-3 (network-to-network) isolation rules. Each entry isolates a source network from a set of destination networks. All values are UniFi network IDs (the id of a unifi.Network resource), not network names or CIDRs. Reordering has no effect (unordered set).
    site String
    The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
    switchExclusions List<String>
    Set of switch MAC addresses excluded from isolation enforcement. Each element must be the MAC address of a switch that is already adopted/managed by the controller; the controller rejects MACs that do not correspond to a known switch. MAC addresses are case-insensitive and may use : or - separators (e.g. aa:bb:cc:dd:ee:ff and AA-BB-CC-DD-EE-FF are treated as the same address and produce no diff); the value is kept as written. At least one element is required when set; the value cannot be cleared and is retained even if the attribute is later removed.

    Supporting Types

    GlobalSwitchAclL3Isolation, GlobalSwitchAclL3IsolationArgs

    DestinationNetworks List<string>
    Set of UniFi network IDs that the source network is isolated from. At least one destination network is required.
    SourceNetwork string
    The UniFi network ID (the id of a unifi.Network) that this rule applies to. Must be unique across all entries.
    DestinationNetworks []string
    Set of UniFi network IDs that the source network is isolated from. At least one destination network is required.
    SourceNetwork string
    The UniFi network ID (the id of a unifi.Network) that this rule applies to. Must be unique across all entries.
    destination_networks list(string)
    Set of UniFi network IDs that the source network is isolated from. At least one destination network is required.
    source_network string
    The UniFi network ID (the id of a unifi.Network) that this rule applies to. Must be unique across all entries.
    destinationNetworks List<String>
    Set of UniFi network IDs that the source network is isolated from. At least one destination network is required.
    sourceNetwork String
    The UniFi network ID (the id of a unifi.Network) that this rule applies to. Must be unique across all entries.
    destinationNetworks string[]
    Set of UniFi network IDs that the source network is isolated from. At least one destination network is required.
    sourceNetwork string
    The UniFi network ID (the id of a unifi.Network) that this rule applies to. Must be unique across all entries.
    destination_networks Sequence[str]
    Set of UniFi network IDs that the source network is isolated from. At least one destination network is required.
    source_network str
    The UniFi network ID (the id of a unifi.Network) that this rule applies to. Must be unique across all entries.
    destinationNetworks List<String>
    Set of UniFi network IDs that the source network is isolated from. At least one destination network is required.
    sourceNetwork String
    The UniFi network ID (the id of a unifi.Network) that this rule applies to. Must be unique across all entries.

    Package Details

    Repository
    unifi pulumiverse/pulumi-unifi
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the unifi Terraform Provider.
    unifi logo
    Viewing docs for Unifi v0.3.0
    published on Wednesday, Jul 8, 2026 by Pulumiverse

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial