{ "additionalProperties": false, "extends": { "$ref": "ManagedResource }, "id": "LogicalSwitch", "module_id": "LogicalSwitch", "properties": { "_create_time": { "$ref": "EpochMsTimestamp, "can_sort": true, "description": "Timestamp of resource creation", "readonly": true }, "_create_user": { "description": "ID of the user who created this resource", "readonly": true, "type": "string" }, "_last_modified_time": { "$ref": "EpochMsTimestamp, "can_sort": true, "description": "Timestamp of last modification", "readonly": true }, "_last_modified_user": { "description": "ID of the user who last modified this resource", "readonly": true, "type": "string" }, "_links": { "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", "items": { "$ref": "ResourceLink }, "readonly": true, "title": "References related to this resource", "type": "array" }, "_protection": { "description": "Protection status is one of the following: PROTECTED - the client who retrieved the entity is not allowed to modify it. NOT_PROTECTED - the client who retrieved the entity is allowed to modify it REQUIRE_OVERRIDE - the client who retrieved the entity is a super user and can modify it, but only when providing the request header X-Allow-Overwrite=true. UNKNOWN - the _protection field could not be determined for this entity.", "readonly": true, "title": "Indicates protection status of this resource", "type": "string" }, "_revision": { "description": "The _revision property describes the current revision of the resource. To prevent clients from overwriting each other's changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected.", "title": "Generation of this resource config", "type": "int" }, "_schema": { "readonly": true, "title": "Schema for this resource", "type": "string" }, "_self": { "$ref": "SelfResourceLink, "readonly": true, "title": "Link to this resource" }, "_system_owned": { "description": "Indicates system owned resource", "readonly": true, "type": "boolean" }, "address_bindings": { "deprecated": true, "help_detail": "Each address binding must contain an IPElement and/or MAC address.\nVLAN ID is optional. This binding configuration can be used by\nfeatures such as spoof-guard.\nNOTE: This field is deprecated for use at Logical Switch level and will be removed in upcoming releases.\nUser should only use address_bindings from Logical Port level.\n", "help_summary": "Allowed addresses or range of addresses for the Logical Switch.", "items": { "$ref": "PacketAddressClassifier }, "maxItems": 100, "minItems": 0, "required": false, "title": "Address bindings for the Logical switch", "type": "array" }, "admin_state": { "enum": [ "UP", "DOWN" ], "required": true, "title": "Represents Desired state of the Logical Switch", "type": "string" }, "description": { "can_sort": true, "maxLength": 1024, "title": "Description of this resource", "type": "string" }, "display_name": { "can_sort": true, "description": "Defaults to ID if not set", "maxLength": 255, "title": "Identifier to use when displaying entity in logs or GUI", "type": "string" }, "extra_configs": { "description": "This property could be used for vendor specific configuration in key value string pairs, the setting in extra_configs will be automatically inheritted by logical ports in the logical switch.", "items": { "$ref": "ExtraConfig }, "required": false, "title": "Extra configs on logical switch", "type": "array" }, "global_vni": { "description": "The VNI is used for intersite traffic and the global logical switch ID. The global VNI pool is agnostic of the local VNI pool, and there is no need to have an exclusive VNI range. For example, VNI x can be the global VNI for logical switch B and the local VNI for logical switch A.", "required": false, "title": "VNI allocated by the global manager", "type": "int" }, "hybrid": { "default": false, "description": "If this flag is set to true, then all the logical switch ports attached to this logical switch will behave in a hybrid fashion. The hybrid logical switch port indicates to NSX that the VM intends to operate in underlay mode, but retains the ability to forward egress traffic to the NSX overlay network. This flag can be enabled only for the logical switches in the overlay type transport zone which has host switch mode as STANDARD and also has either CrossCloud or CloudScope tag scopes. Only the NSX public cloud gateway (PCG) uses this flag, other host agents like ESX, KVM and Edge will ignore it. This property cannot be modified once the logical switch is created.", "required": false, "title": "Flag to identify a hybrid logical switch", "type": "boolean" }, "id": { "can_sort": true, "title": "Unique identifier of this resource", "type": "string" }, "ip_pool_id": { "description": "IP pool id that associated with a LogicalSwitch.", "required": false, "title": "Allocation ip pool associated with the Logical switch", "type": "string" }, "mac_pool_id": { "description": "Mac pool id that associated with a LogicalSwitch.", "required": false, "title": "Allocation mac pool associated with the Logical switch", "type": "string" }, "replication_mode": { "enum": [ "MTEP", "SOURCE" ], "required": false, "title": "Replication mode of the Logical Switch", "type": "string" }, "resource_type": { "description": "The type of this resource.", "readonly": false, "type": "string" }, "span": { "description": "Each manager ID represents the NSX Local Manager the logical switch connects. This will be populated by the manager.", "items": { "type": "string" }, "maxItems": 16, "minItems": 0, "required": false, "title": "List of Local Manager IDs the logical switch extends", "type": "array" }, "switch_type": { "description": "This field indicates purpose of a LogicalSwitch. It is set by manager internally or user can provide this field. If not set, DEFAULT type is assigned. NSX components can use this field to create LogicalSwitch that provides component specific functionality. DEFAULT type LogicalSwitches are created for basic L2 connectivity by API users. SERVICE_PLANE type LogicalSwitches are system created service plane LogicalSwitches for Service Insertion service. User can not create SERVICE_PLANE type of LogicalSwitch. DHCP_RELAY type LogicalSwitches are created by external user like Policy with special permissions or by system and will be treated as internal LogicalSwitches. Such LogicalSwitch will not be exposed to vSphere user. GLOBAL type LogicalSwitches are created to span multiple NSX domains to connect multiple remote sites. INTER_ROUTER type LogicalSwitches are policy-created LogicalSwitches which provide inter-router connectivity", "enum": [ "DEFAULT", "SERVICE_PLANE", "DHCP_RELAY", "GLOBAL", "INTER_ROUTER", "EVPN" ], "required": false, "title": "Type of LogicalSwitch.", "type": "string" }, "switching_profile_ids": { "items": { "$ref": "SwitchingProfileTypeIdEntry }, "required": false, "type": "array" }, "tags": { "items": { "$ref": "Tag }, "maxItems": 30, "title": "Opaque identifiers meaningful to the API user", "type": "array" }, "transport_zone_id": { "required": true, "title": "Id of the TransportZone to which this LogicalSwitch is associated", "type": "string" }, "uplink_teaming_policy_name": { "description": "This name has to be one of the switching uplink teaming policy names listed inside the logical switch's TransportZone. If this field is not specified, the logical switch will not have a teaming policy associated with it and the host switch's default teaming policy will be used.", "required": false, "title": "The name of the switching uplink teaming policy for the logical switch", "type": "string" }, "vlan": { "$ref": "VlanID, "description": "This property is dedicated to VLAN based network, to set VLAN of logical network. It is mutually exclusive with 'vlan_trunk_spec'.", "required": false, "title": "VLAN Id of logical switch" }, "vlan_trunk_spec": { "$ref": "VlanTrunkSpec, "description": "This property is used for VLAN trunk specification of logical switch. It's mutually exclusive with 'vlan'. Also it could be set to do guest VLAN tagging in overlay network.", "required": false, "title": "VLAN trunk spec of logical switch" }, "vni": { "description": "Only for OVERLAY network. A VNI will be auto-allocated from the default VNI pool if not given; otherwise the given VNI has to be inside the default pool and not used by any other LogicalSwitch.", "required": false, "title": "VNI for this LogicalSwitch.", "type": "int" } }, "type": "object" }