Create Transport Node

Create Transport Node

Enables a fabric node to act as a transport node.

Additional documentation on creating a transport node can be found in the NSX-T Installation Guide.

Transport nodes are hypervisor hosts and NSX Edges that will participate in an NSX-T overlay. For a hypervisor host, this means that it hosts VMs that will communicate over NSX-T logical switches. For NSX Edges, this means that it will have logical router uplinks and downlinks.

When creating a transport node, you must provide the node id of an existing fabric node (hypervisor host or NSX Edge node) in the node_id property of the payload. This property is required.

Additionally, in order for the transport node to forward packets, the host_switch_spec property must be specified.

Host switches (called bridges in OVS on KVM hypervisors) are the individual switches within the host virtual switch. Virtual machines are connected to the host switches.

When creating a transport node, you need to specify if the host switches are already manually preconfigured on the node, or if NSX should create and manage the host switches. You specify this choice by the type of host switches you pass in the host_switch_spec property of the TransportNode request payload.

For a KVM host, you can preconfigure the host switch, or you can have NSX Manager perform the configuration. For an ESXi host or NSX Edge node, NSX Manager always configures the host switch.

To preconfigure the host switches on a KVM host, pass an array of PreconfiguredHostSwitchSpec objects that describes those host switches. In the current NSX-T release, only one prefonfigured host switch can be specified. See the PreconfiguredHostSwitchSpec schema definition for documentation on the properties that must be provided. Preconfigured host switches are only supported on KVM hosts, not on ESXi hosts or NSX Edge nodes.

To allow NSX to manage the host switch configuration on KVM hosts, ESXi hosts, or NSX Edge nodes, pass an array of StandardHostSwitchSpec objects in the host_switch_spec property, and NSX will automatically create host switches with the properties you provide. In the current NSX-T release, up to 5 host switches can be automatically managed. See the StandardHostSwitchSpec schema definition for documentation on the properties that must be provided.

Note: previous versions of NSX-T used a property named host_switches to specify the host switch configuration on the transport node. That property is deprecated, but still functions. You should configure new host switches using the host_switch_spec property.

Request
URI
POST
https://nsxmanager.your.domain/api/v1/transport-nodes
COPY
Request Body
TransportNode of type(s) application/json
Optional
This request body class requires all of the following: ManagedResource , InlineTransportNode1
{
    "_self": {
        "action": "string",
        "href": "string",
        "rel": "string"
    },
    "_links": [
        {
            "action": "string",
            "href": "string",
            "rel": "string"
        }
    ],
    "_schema": "string",
    "_revision": 0,
    "_system_owned": false,
    "display_name": "string",
    "description": "string",
    "tags": [
        {
            "scope": "string",
            "tag": "string"
        }
    ],
    "_create_user": "string",
    "_protection": "string",
    "_create_time": 0,
    "_last_modified_time": 0,
    "_last_modified_user": "string",
    "id": "string",
    "resource_type": "string",
    "host_switches": [
        {
            "pnics": [
                {
                    "uplink_name": "string",
                    "device_name": "string"
                }
            ],
            "host_switch_name": "string",
            "static_ip_pool_id": "string",
            "host_switch_profile_ids": [
                {
                    "value": "string",
                    "key": "string"
                }
            ]
        }
    ],
    "host_switch_spec": {
        "resource_type": "string"
    },
    "node_id": "string",
    "maintenance_mode": "string",
    "transport_zone_endpoints": [
        {
            "transport_zone_id": "string",
            "transport_zone_profile_ids": [
                {
                    "profile_id": "string",
                    "resource_type": "string"
                }
            ]
        }
    ]
}
Authentication
This operation uses the following authentication methods.
Responses
201

Created

Returns TransportNode of type(s) application/json
This response body class contains all of the following: ManagedResource , InlineTransportNode1
{
    "_self": {
        "action": "string",
        "href": "string",
        "rel": "string"
    },
    "_links": [
        {
            "action": "string",
            "href": "string",
            "rel": "string"
        }
    ],
    "_schema": "string",
    "_revision": 0,
    "_system_owned": false,
    "display_name": "string",
    "description": "string",
    "tags": [
        {
            "scope": "string",
            "tag": "string"
        }
    ],
    "_create_user": "string",
    "_protection": "string",
    "_create_time": 0,
    "_last_modified_time": 0,
    "_last_modified_user": "string",
    "id": "string",
    "resource_type": "string",
    "host_switches": [
        {
            "pnics": [
                {
                    "uplink_name": "string",
                    "device_name": "string"
                }
            ],
            "host_switch_name": "string",
            "static_ip_pool_id": "string",
            "host_switch_profile_ids": [
                {
                    "value": "string",
                    "key": "string"
                }
            ]
        }
    ],
    "host_switch_spec": {
        "resource_type": "string"
    },
    "node_id": "string",
    "maintenance_mode": "string",
    "transport_zone_endpoints": [
        {
            "transport_zone_id": "string",
            "transport_zone_profile_ids": [
                {
                    "profile_id": "string",
                    "resource_type": "string"
                }
            ]
        }
    ]
}

400
Returns BadRequest of type(s) application/json
{
    "details": "string",
    "related_errors": [
        "ApiError Object"
    ],
    "module_name": "string",
    "error_message": "string",
    "error_code": 0
}
object
error_data
Optional

Additional data about the error

string
details
Optional

Further details about the error

array of ApiError
related_errors
Optional

Other errors related to this error

string
module_name
Optional

The module name where the error occurred

string
error_message
Optional

A description of the error

integer As int64 As int64
error_code
Optional

A numeric error code


403
Returns Forbidden of type(s) application/json
{
    "details": "string",
    "related_errors": [
        "ApiError Object"
    ],
    "module_name": "string",
    "error_message": "string",
    "error_code": 0
}
object
error_data
Optional

Additional data about the error

string
details
Optional

Further details about the error

array of ApiError
related_errors
Optional

Other errors related to this error

string
module_name
Optional

The module name where the error occurred

string
error_message
Optional

A description of the error

integer As int64 As int64
error_code
Optional

A numeric error code


404
Returns NotFound of type(s) application/json
{
    "details": "string",
    "related_errors": [
        "ApiError Object"
    ],
    "module_name": "string",
    "error_message": "string",
    "error_code": 0
}
object
error_data
Optional

Additional data about the error

string
details
Optional

Further details about the error

array of ApiError
related_errors
Optional

Other errors related to this error

string
module_name
Optional

The module name where the error occurred

string
error_message
Optional

A description of the error

integer As int64 As int64
error_code
Optional

A numeric error code


412
Returns PreconditionFailed of type(s) application/json
{
    "details": "string",
    "related_errors": [
        "ApiError Object"
    ],
    "module_name": "string",
    "error_message": "string",
    "error_code": 0
}
object
error_data
Optional

Additional data about the error

string
details
Optional

Further details about the error

array of ApiError
related_errors
Optional

Other errors related to this error

string
module_name
Optional

The module name where the error occurred

string
error_message
Optional

A description of the error

integer As int64 As int64
error_code
Optional

A numeric error code


500
Returns InternalServerError of type(s) application/json
{
    "details": "string",
    "related_errors": [
        "ApiError Object"
    ],
    "module_name": "string",
    "error_message": "string",
    "error_code": 0
}
object
error_data
Optional

Additional data about the error

string
details
Optional

Further details about the error

array of ApiError
related_errors
Optional

Other errors related to this error

string
module_name
Optional

The module name where the error occurred

string
error_message
Optional

A description of the error

integer As int64 As int64
error_code
Optional

A numeric error code


503
Returns ServiceUnavailable of type(s) application/json
{
    "details": "string",
    "related_errors": [
        "ApiError Object"
    ],
    "module_name": "string",
    "error_message": "string",
    "error_code": 0
}
object
error_data
Optional

Additional data about the error

string
details
Optional

Further details about the error

array of ApiError
related_errors
Optional

Other errors related to this error

string
module_name
Optional

The module name where the error occurred

string
error_message
Optional

A description of the error

integer As int64 As int64
error_code
Optional

A numeric error code


Network Transport Operations
POST
Create Bridge Cluster
POST
Create Bridge Endpoint
POST
Create Bridge Endpoint Profile
POST
Create Cluster Profile
POST
Create Compute Collection Transport Node Template
POST
Create Edge Cluster
POST
Create Host Switch Profile
POST
Create Network Migration Spec
POST
Create Transport Node
POST
Create Transport Zone
POST
Create Transport Zone Profile
DELETE
Delete Bridge Cluster
DELETE
Delete Bridge Endpoint
DELETE
Delete Bridge Endpoint Profile
DELETE
Delete Cluster Profile
DELETE
Delete Compute Collection Transport Node Template
DELETE
Delete Edge Cluster
DELETE
Delete Host Switch Profile
DELETE
Delete Network Migration Spec
DELETE
Delete Transport Node
DELETE
Delete Transport Zone
DELETE
Delete Transport Zone Profile
GET
Get Bridge Cluster
GET
Get Bridge Cluster Status
GET
Get Bridge Endpoint
GET
Get Bridge Endpoint Profile
GET
Get Bridge Endpoint Statistics
GET
Get Bridge Endpoint Status
GET
Get Cluster Profile
GET
Get Compute Collection Transport Node Template
GET
Get Compute Collection Transport Node Template State
GET
Get Host Switch Profile
GET
Get Network Migration Spec
GET
Get Transport Node
GET
Get Transport Node State
GET
Get Transport Zone
GET
Get Transport Zone Profile
GET
Get Transport Zone Status
GET
List Bridge Clusters
GET
List Bridge Endpoint Profiles
GET
List Bridge Endpoints
GET
List Cluster Profiles
GET
List Compute Collection Transport Node Templates
GET
List Edge Clusters
GET
List Host Switch Profiles
GET
List Neighbor Properties
GET
List Network Migration Specs
GET
List Transport Nodes
GET
List Transport Nodes By State
GET
List Transport Zone Profiles
GET
List Transport Zones
GET
Read Edge Cluster
GET
Read Neighbor Properties
POST
Replace Edge Cluster Member Transport Node Replace Transport Node
POST
Resync Transport Node Resync Host Config
PUT
Update Bridge Cluster
PUT
Update Bridge Endpoint
PUT
Update Bridge Endpoint Profile
PUT
Update Cluster Profile
PUT
Update Compute Collection Transport Node Template
PUT
Update Edge Cluster
PUT
Update Host Switch Profile
PUT
Update Network Migration Spec
PUT
Update Transport Node
POST
Update Transport Node Maintenance Mode
PUT
Update Transport Zone
PUT
Update Transport Zone Profile