Skip To Content

Add Terminal Configuration


Adds a terminal configuration to an existing utility network.

Specific devices with terminals require constraints that define the valid configuration of the internal connectivity of the device. This tool allows you to add a new terminal configuration to a utility network that can be later assigned to a feature class at the asset group or asset type level using the Set Terminal Configuration tool.


  • Terminals are configured on a device by assigning a terminal configuration. Only one terminal configuration can be assigned to each of the asset types that support terminals.

  • The terminals on a device have a directionality setting. They can be set as directional (only one flow direction is permissible) or bidirectional (both flow directions are permissible).

  • You can specify and name between two and eight terminals. The terminal name should be a meaningful description such as high-side and source-side.

  • For devices with three or four terminals, you can define valid configurations. This is designed to handle complex switching devices where you need to constrain the flow paths between pairs of terminals. For example, in a four-terminal device with terminals named A, B, C, and D, you may want to allow flow from A to B and C, but not from A to D.

  • The connected ArcGIS Enterprise portal account must be the portal utility network owner.

  • The network topology must be disabled.

  • This tool should be executed when connected to the default version.

  • The input utility network must be from a database connection established as the database utility network owner.


AddTerminalConfiguration(in_utility_network, terminal_configuration_name, traversability_model, {terminals_directional}, {terminals_bidirectional}, {valid_paths}, {default_path})
ParameterExplanationData Type

The input utility network to add the terminal configuration to.

Utility Network; Utility Network Layer

The name for the terminal configuration.


Choose the directionality of the terminal configuration. A directional traversability model means that the flow for the terminal will only go in one direction. A bidirectional traversability model means that the terminal allows flow in both directions.

  • DIRECTIONALOnly one flow direction is permissible.
  • BIDIRECTIONALBoth flow directions are permissible.
[[name, upstream],...]

If the traversability model is directional, provide the name of each terminal and specify whether the terminal is upstream or not. The minimum number of terminals required is 2. This parameter is required if you choose a directional traversability model.

  • Name—The name of the terminal.
  • Upstream—Whether the terminal is upstream or downstream. Use the keyword True if the terminal is upstream, or False if the terminal is downstream.
Value Table

If the traversability model is bidirectional, provide the names of each bidirectional terminal. A minimum of two terminals is required.

Value Table
[[Name, [Value]],...]

Specify the valid paths for the terminal configuration. For bidirectional traversability, this parameter is required if you have three or more terminals. If you are using directional traversability, one of the terminals must be upstream in order to have any valid configurations. Valid paths must be set in order to indicate which of the paths within a device are valid for a resource to travel through. Provide a name for each valid path and specify a value.

  • Name—The name of the valid path.
  • Value—The value of the path.
    • All—Indicates all paths are valid.
    • None—Indicates no paths are valid.
    • Terminal pair—Indicates a single path from one terminal to another, for example, A-B.
    • Collection of terminal pairs—Indicates a collection of single paths from one terminal to another, for example, A-B,A-C.
Value Table

Of the valid configurations specified, you may set the default path. This will be assigned to new features that have this terminal configuration assigned to their asset type. If you have not specified one of the valid configurations, the default configuration will be All.

  • ALLIndicates all paths are valid. This is the default.
  • NONEIndicates no paths are valid.

Derived Output

NameExplanationData Type

The updated utility network.

Utility Network

Code sample

AddTerminalConfiguration example 1 (Python window)

Add a terminal configuration that is bidirectional with three terminals.

import arcpy
arcpy.AddTerminalConfiguration_un('Electric Utility Network', 'config1', 
                                  'BIDIRECTIONAL', 'A;B;C', 
                                  'Top A-B;Bottom A-C', 'Top')
AddTerminalConfiguration example 2 (Python window)

Add a terminal configuration that is directional with three terminals.

import arcpy
arcpy.AddTerminalConfiguration_un('Electric Utility Network', 'config2', 
                                  'DIRECTIONAL', 'A true;B true;C false', 
                                  'Top A-B;Bottom A-C', 'Bottom')


This tool does not use any geoprocessing environments.

Licensing information

  • Basic: No
  • Standard: Yes
  • Advanced: Yes

Related topics