Module Documentation

Orchestrator

class pyedgeconnect.Orchestrator(url: str, api_key: str = '', auth_mode: str = 'local', log_file: bool = False, log_console: bool = False, log_success: bool = False, verify_ssl: bool = True, timeout: tuple = (9.15, 12))[source]

Bases: HttpCommon

Orchestrator setup and imports related methods for making API calls to Orchestrator. Child class of HttpCommon

get_appliance_acls(ne_id: str, cached: bool) dict

Get Access list settings configurations from Edge Connect appliance

Swagger Section

Method

Endpoint

acls

GET

/acls/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary where each key is name of an ACL, each value is an object of the ACL’s settings. Each ACL’s settings contains ‘entry’ and ‘rmap’. ‘rmap’ give info about the routemap which uses this ACL.

Return type

dict

cancel_audit_log_task(action_key: str) bool

Certain actions like appliance upgrade, appliance restore etc., return a key as in response. Cancel the action referenced by provided key.

Swagger Section

Method

Endpoint

actionLog

POST

/action/cancel

Parameters

action_key (str) – GUID of task to retrieve status for

Returns

Returns True/False based on successful call

Return type

bool

get_audit_log(start_time: int, end_time: int, limit: int, log_level: int = 1, ne_pk: Optional[str] = None, username: Optional[str] = None) list

Get audit log details filtered by specified query parameters

Swagger Section

Method

Endpoint

actionLog

GET

/action

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • limit (int) – Limit the number of rows to retrieve from audit log

  • log_level (int, optional) – 0 for Debug, 1 for Info, 2 for Error. Defaults to 1

  • ne_pk (str, optional) – Filter for specific appliance with Network Primary Key (nePk) of appliance, e.g. 3.NE

  • username (str, optional) – Filter for specific user

Returns

Returns list of dictionaries

[dict]: Audit log line

  • keyword id (int): Id of the log entry

  • keyword user (str): User who performed this action

  • keyword ipAddress (str): IP Address who performed this action

  • keyword nepk (str): Primary key of the appliance on which this action was performed

  • keyword name (str): Name of the action

  • keyword description (str): Description of the action

  • keyword taskStatus (str): Status of the action

  • keyword startTime (int): Start time of the action in milliseconds since epoch

  • keyword endTime (int): End time of the action in milliseconds since epoch

  • keyword queuedTime (int): Original queued time of the action in milliseconds since epoch

  • keyword percentComplete (int): Percentage completion of the action

  • keyword completionStatus (bool): Show if action succeeded or failed

  • keyword result (str): Opaque blob of data related to action. Typically, this is the result of the action.

  • keyword intTaskStatus (int): Status of the action in integer enum format

  • keyword guid (str): GUID of a group of related actions

Return type

list

get_audit_log_task_status(action_key: str) dict

Certain actions like appliance upgrade, appliance restore etc., return a key as in response. Check for status of such operations using the key

Swagger Section

Method

Endpoint

actionLog

GET

/action/status

Parameters

action_key (str) – GUID of task to retrieve status for

Returns

Returns dictionary of specified task details

  • keyword id (int): Id of the log entry

  • keyword user (str): User who performed this action

  • keyword ipAddress (str): IP Address who performed this action

  • keyword nepk (str): Primary key of the appliance on which this action was performed

  • keyword name (str): Name of the action

  • keyword description (str): Description of the action

  • keyword taskStatus (str): Status of the action

  • keyword startTime (int): Start time of the action in milliseconds since epoch

  • keyword endTime (int): End time of the action in milliseconds since epoch

  • keyword queuedTime (int): Original queued time of the action in milliseconds since epoch

  • keyword percentComplete (int): Percentage completion of the action

  • keyword completionStatus (boolean): Show if action succeeded or failed

  • keyword result (str): Opaque blob of data related to action. Typically, this is the result of the action.

  • keyword intTaskStatus (int): Status of the action in integer enum format

  • keyword guid (str): GUID of a group of related actions

Return type

list

get_active_sessions_orchestrator() list

Get all current active sessions on Orchestrator

Swagger Section

Method

Endpoint

activeSessions

GET

/session/activeSessions

Returns

Returns list of dictionaries of active sessions

[dict]: Active session object

  • keyword username (str): Username

  • keyword type (str): Protocol/method used for establishing the session e.g. web or ssh

  • keyword idle_time (int): Measure of current interval during which user is idle (seconds)

  • keyword login_time (int): Time of user login (EPOCH time in seconds)

  • keyword remote_host (str): The IP address of the user originating the session

Return type

dict

get_appliance_admin_distance(ne_id: str, cached: bool) dict

Get Admin Distance configurations from Edge Connect appliance

Swagger Section

Method

Endpoint

adminDistance

GET

/appliance/adminDistance/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of admin distance values

Return type

dict

get_orchestrator_advanced_properties() dict

Get Orchestrator advanced properties

Swagger Section

Method

Endpoint

advancedProperties

GET

/gms/advancedProperties

Returns

Returns dictionary of Orchestrator advanced properties

  • keyword ParallelStatsTasks (int): Default value is 20

  • keyword jettyMinThreads (int): Default value is 10

  • keyword ParallelOrchestrationTasks (int): Default value is 50

  • keyword restRequestTimeout (int): Default value is 60

  • keyword excludedTableNames (str): Default value is dailyapp,dailydrc,dailydrops,dailydscp,dailyflow,dailyinterface,dailyjitter,dailymemory,dailynxtraffic,dailyshaper,dailytrafficclass,dailytunneltraffic,hourlyapp,hourlydns,hourlydrc,hourlydrops,hourlydscp,hourlyflow,hourlyflowapp,hourlyflowapp2,hourlyinterface,hourlyjitter,hourlylatency,hourlyloss,hourlynxtraffic,hourlyport,hourlyshaper,hourlytoptalkers,hourlytrafficclass,hourlytunneltraffic,minuteapp,minutedrc,minutedrops,minutedscp,minuteflow,minuteinterface,minutejitter,minutenxtraffic,minuteshaper,minutetrafficclass,minutetunneltraffic,neconfig2,hourlyBehavioral,minuteinterfaceoverlay,hourlyinterfaceoverlay,dailyinterfaceoverlay,restrequesttimestats,minutemos,hourlymos,dailymos,minuteboost,hourlyboost,dailyboost,minutesecuritypolicy,hourlysecuritypolicy,dailysecuritypolicy

  • keyword sslExcludeCiphers (str): Default value is .*NULL.*,.*RC4.*,.*MD5.*,.*DES.*,.*DSS.*

  • keyword ContentSecurityPolicyHeaderEnabled (bool): Default value is true

  • keyword excludeTables (bool): Default value is false

  • keyword jettyAcceptQueueSize (int): Default value is 1000

  • keyword bridgeCacheExpireTime (int): Default value is 120

  • keyword sslIncludeProtocols (str): Default value is TLSv1.2

  • keyword dbPoolMaxConnectionLifeTime (int): Default value is 300000

  • keyword dbPoolIdleTimeout (int): Default value is 120000

  • keyword sslIncludeCiphers (str): Default value is TLS_DHE_RSA.*,TLS_ECDHE.*

  • keyword sslExcludeProtocols (str): Default value is SSL,SSLv3,SSLv2,SSLv2Hello,TLSv1,TLSv1.1

  • keyword modifyTunnelBatchSize (int): Default value is 500

  • keyword dbPoolValidationTimeout (int): Default value is 3000

  • keyword mgmtInterface (str): Default value is eth0

  • keyword dbPoolMinimumIdleConnections (int): Default value is 10

  • keyword emailImagesMaxSize (int): Default value is 10

  • keyword newSoftwareReleasesNotification (bool): Default value is true

  • keyword dbPoolConnectionTimeout (int): Default value is 30000

  • keyword ParallelActionTasks (int): Default value is 50

  • keyword threadPoolSize (int): Default value is 1000

  • keyword dbPoolLeakDetectionThreshold (int): Default value is 300000

  • keyword denyApplianceOnDelete (bool): Default value is true

  • keyword failedLoginAttemptThreshold (int): Default value is 5

  • keyword ParallelReachabilityTasks (int): Default value is 20

  • keyword restRequestStatsCollection (bool): Default value is true

  • keyword jettyMaxThreads (int): Default value is 128

  • keyword jettyIdleTimeout (int): Default value is 60000

  • keyword dbPoolMaxConnections (int): Default value is 1000

  • keyword MultipleOrchestratorsForOneZscalerAccount (bool): Default value is false

  • keyword bondedTunnelReorderWaitTime (int): Default value is 100

  • keyword fileOpsChunkSize (int): Default value is result of 1024 * 1024, 1048576

  • keyword oauthRefreshTokenRefreshTime (int): time interval in minutes to periodically check whether refresh token is still valid for OAuth sessions, default is 5

Return type

dict

get_orchestrator_advanced_properties_metadata() dict

Get Orchestrator advanced properties metadata and default values

Swagger Section

Method

Endpoint

advancedProperties

GET

/gms/advancedProperties/metadata

Returns

Returns dictionary of Orchestrator advanced properties with respective default values, if a restart is required, and optional custom value if currently set

  • keyword <adv_property_name> (dict): Dictionary for each advanced property information

    • keyword defaultValue (str/int/bool): The default value of the related property, type varies based on property

    • keyword isRestartRequired (bool): True if property change would require a restart, False if no restart required

    • keyword customValue (str/int/bool, optional): This key will only be present if the current value set on Orchestrator is different from the default value

Return type

dict

update_orchestrator_advanced_properties(parallel_stats_tasks: int, jetty_min_threads: int, parallel_orchestration_tasks: int, rest_request_timeout: int, excluded_table_names: str, ssl_exclude_ciphers: str, content_security_policy_header_enabled: bool, exclude_tables: bool, jetty_accept_queue_size: int, bridge_cache_expire_time: int, ssl_include_protocols: str, db_pool_max_connection_lifetime: int, db_pool_idle_timeout: int, ssl_include_ciphers: str, ssl_exclude_protocols: str, modify_tunnel_batch_size: int, db_pool_validation_timeout: int, mgmt_interface: str, db_pool_minimum_idle_connections: int, email_images_max_size: int, new_software_releases_notification: bool, db_pool_connection_timeout: int, parallel_action_tasks: int, thread_pool_size: int, db_pool_leak_detection_threshold: int, deny_appliance_on_delete: bool, failed_login_attempt_threshold: int, parallel_reachability_tasks: int, rest_request_stats_collection: bool, jetty_max_threads: int, jetty_idle_timeout: int, db_pool_max_connections: int, multiple_orchestrators_one_zscaler: bool, bonded_tunnel_reorder_wait_time: int, file_ops_chunk_size: int, oauth_refresh_token_refresh_time: int) bool

Update Orchestrator advanced properties

Swagger Section

Method

Endpoint

advancedProperties

PUT

/gms/advancedProperties

Warning

All parameters must be updated, as such, for updating a single paramter, it is advised to retrieve current values from get_orchestrator_advanced_properties() to make sure other unitended changes are not made.

Parameters
  • parallel_stats_tasks (int) – Number of parallel stats tasks

  • jetty_min_threads (int) – Minimum number of jetty threads

  • parallel_orchestration_tasks (int) – Number of parallel orchestration tasks

  • rest_request_timeout (int) – Timeout in seconds for REST requests

  • excluded_table_names (str) – Tables to exclude

  • ssl_exclude_ciphers (str) – SSL ciphers to exclude

  • content_security_policy_header_enabled (bool) – Enable content security policy header

  • exclude_tables (bool) – Exclude the named tables in excluded_table_names

  • jetty_accept_queue_size (int) – Queue size for Jetty

  • bridge_cache_expire_time (int) – Bridge cache expire time

  • ssl_include_protocols (str) – SSL protocols to include

  • db_pool_max_connection_lifetime (int) – Database pool max connection lifetime

  • db_pool_idle_timeout (int) – Database pool idle timeout value

  • ssl_include_ciphers (str) – SSL ciphers to inlucde

  • ssl_exclude_protocols (str) – SSL protocols to exclude

  • modify_tunnel_batch_size (int) – Batch size of tunnel modify actions

  • db_pool_validation_timeout (int) – Database pool validation timeout value

  • mgmt_interface (str) – Orchestrator host management interface

  • db_pool_minimum_idle_connections (int) – Database pool minimum idle connections

  • email_images_max_size (int) – Email image attachment maximum size

  • new_software_releases_notification (bool) – Notify messages on new software releases

  • db_pool_connection_timeout (int) – Database pool connection timeout value

  • parallel_action_tasks (int) – Number of parallel action tasks

  • thread_pool_size (int) – Thread pool size

  • db_pool_leak_detection_threshold (int) – Database pool leak detection

  • deny_appliance_on_delete (bool) – Deny appliance when deleted from Orchestrator

  • failed_login_attempt_threshold (int) – Number of failed login attempts before locking user

  • parallel_reachability_tasks (int) – Number of parallel reachability tasks

  • rest_request_stats_collection (bool) – Enable REST request stats collection

  • jetty_max_threads (int) – Maximum of jetty threads

  • jetty_idle_timeout (int) – Jetty idle timeout value

  • db_pool_max_connections (int) – Database pool maximum connections

  • multiple_orchestrators_one_zscaler (bool) – True if multiple Orchestrators are leveraging one Z-Scaler account

  • bonded_tunnel_reorder_wait_time (int) – Wait time for bonded tunnel reorder action

  • file_ops_chunk_size (int) – File operations chunk size

  • oauth_refresh_token_refresh_time (int) – OAuth refresh-token refresh time

Returns

Returns True/False based on successful call

Return type

bool

get_aggregate_stats_active_flows(ne_pk_list: list[str], top: Optional[int] = None) dict

Get active flow counts by NE id

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats/aggregate/flow/active

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • top (int, optional) – Top number of flows to return, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_appliances(start_time: int, end_time: int, granularity: str, group_pk: Optional[str] = None, traffic_type: Optional[str] = None, ip: Optional[bool] = None, metric: Optional[str] = None, top: Optional[int] = None, overlay: Optional[str] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate appliance stats data filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/appliance

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • group_pk (str, optional) – Filter by appliance group identifier, e.g. 0.Network is root group, 1.Network is internal use, 2.Network is auto-discovered groups. 3.Network and beyond is user-defined groups, defaults to None

  • traffic_type (str, optional) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results or False or None for default sorting by appliance ID, defaults to None

  • metric (str, optional) – Sort stats by the provided metric, can also be used with the param ‘top’ to limit number of items received, e.g. throughput, defaults to None

  • top (int, optional) – This parameter should be provided together with param metric to indicate top x items of a metric. e.g. if metric is set to throughput and top is 10, retrieves top 10 tunnels by throughput, defaults to None

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0,return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise,return bonded tunnels associated with the specified overlay id, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_appliances_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, granularity: str, traffic_type: Optional[str] = None, ip: Optional[bool] = None, metric: Optional[str] = None, top: Optional[int] = None, overlay: Optional[str] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate appliance stats data filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats/aggregate/appliance

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • traffic_type (str, optional) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results or False or None for default sorting by appliance ID, defaults to None

  • metric (str, optional) – Sort stats by the provided metric, can also be used with the param ‘top’ to limit number of items received, e.g. throughput, defaults to None

  • top (int, optional) – This parameter should be provided together with param metric to indicate top x items of a metric. e.g. if metric is set to throughput and top is 10, retrieves top 10 tunnels by throughput, defaults to None

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0,return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise,return bonded tunnels associated with the specified overlay id, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_appliances_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, traffic_type: Optional[str] = None, ip: Optional[bool] = None, metric: Optional[str] = None, top: Optional[int] = None, overlay: Optional[str] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate appliance stats data for a single appliance filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/appliance/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • traffic_type (str, optional) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results or False or None for default sorting by appliance ID, defaults to None

  • metric (str, optional) – Sort stats by the provided metric, can also be used with the param ‘top’ to limit number of items received, e.g. throughput, defaults to None

  • top (int, optional) – This parameter should be provided together with param metric to indicate top x items of a metric. e.g. if metric is set to throughput and top is 10, retrieves top 10 tunnels by throughput, defaults to None

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0,return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise,return bonded tunnels associated with the specified overlay id, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_application2_ne_pk_tunnels(ne_pk_tunnel_list: list[str], start_time: int, end_time: int, application: Optional[str] = None, top: Optional[int] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate application2 stats data filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats2/aggregate/application2

Parameters
  • ne_pk_tunnel_list (list[str]) –

    List of dictionaries of appliance nePk values and optional tunnel id’s, e.g. [{"nePk":"77.NE", "tunnelId":"tunnel_8"}, ...]

    • keyword ids (str): Network Primary Key (nePk) of appliance, e.g. 3.NE

    • keyword tunnelId (str): tunnel id, e.g. Tunnel_12, mandatory field but can be blank string “”

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • application (str, optional) – Filter for data belonging to appliaction with matching name, defaults to None

  • top (int, optional) – Return top x applications by throughput. e.g., if top=10 is provided, retrieve top 10 applications by throughput, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_application_ne_pk_tunnels(ne_pk_tunnel_list: list[str], start_time: int, end_time: int, granularity: str, application: Optional[str] = None, traffic_type: Optional[str] = None, ip: Optional[bool] = None, metric: Optional[str] = None, top: Optional[int] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate application stats data filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats2/aggregate/application

Parameters
  • ne_pk_tunnel_list (list[str]) –

    List of dictionaries of appliance nePk values and optional tunnel id’s, e.g. [{"nePk":"77.NE", "tunnelId":"tunnel_8"}, ...]

    • keyword ids (str): Network Primary Key (nePk) of appliance, e.g. 3.NE

    • keyword tunnelId (str): tunnel id, e.g. Tunnel_12, mandatory field but can be blank string “”

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • application (str, optional) – Filter for data belonging to appliaction with matching name, defaults to None

  • traffic_type (str, optional) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results or False or None for default sorting by appliance ID, defaults to None

  • metric (str, optional) – Sort stats by the provided metric, can also be used with the param ‘top’ to limit number of items received, e.g. throughput, defaults to None

  • top (int, optional) – This parameter should be provided together with param metric to indicate top x items of a metric. e.g. if metric is set to throughput and top is 10, retrieves top 10 tunnels by throughput, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_applications(start_time: int, end_time: int, group_pk: Optional[str] = None, application: Optional[str] = None, top: Optional[int] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate application stats data filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/application2

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • group_pk (str, optional) – Filter by appliance group identifier, e.g. 0.Network is root group, 1.Network is internal use, 2.Network is auto-discovered groups. 3.Network and beyond is user-defined groups, defaults to None

  • application (str, optional) – Filter for data belonging to appliaction with matching name, defaults to None

  • top (int, optional) – Return top x applications by throughput. e.g., if 10 is provided, retrieve top 10 applications by throughput, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_applications_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, application: Optional[str] = None, top: Optional[int] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate application stats data filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats/aggregate/application2

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • application (str, optional) – Filter for data belonging to appliaction with matching name, defaults to None

  • top (int, optional) – Return top x applications by throughput. e.g., if 10 is provided, retrieve top 10 applications by throughput, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_applications_single_appliance(ne_pk: str, ne_pk_list: list[str], start_time: int, end_time: int, application: Optional[str] = None, top: Optional[int] = None, overlay: Optional[str] = None, data_format: Optional[str] = None) dict

Get aggregate application stats data filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/application2/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • application (str, optional) – Filter for data belonging to appliaction with matching name, defaults to None

  • top (int, optional) – Return top x applications by throughput. e.g., if 10 is provided, retrieve top 10 applications by throughput, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_boost_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, granularity: str, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate boost stats data

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats/aggregate/boost

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_boost_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, tunnel_name: Optional[str] = None, overlay: Optional[str] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate boost stats data for a single appliance

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/boost/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • tunnel_name (str, optional) – Filter response data for specified tunnel name, defaults to None

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0,return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise,return bonded tunnels associated with the specified overlay id, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_dns_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, is_source: Optional[int] = None, split_type: Optional[int] = None, top: Optional[int] = None, split_by_ne: Optional[bool] = None, group_by: Optional[str] = None, group_by_subdomains: Optional[int] = None) dict

Get aggregate dns stats data filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats/aggregate/dns

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • is_source (int, optional) – Integer value representing whether dns is from source or destination. 0 for source, 1 for destination, defaults to None

  • split_type (int, optional) – Filter data for specific type, 0 for ‘http’, 1 for ‘https’, 2 for ‘unassigned’ and 3 for ‘others, defaults to None

  • top (int, optional) – Return top x rows of data, defaults to None

  • split_by_ne (bool, optional) – True to split aggregate stats by appliance, if True, there will be an extra level of key inside each stats object indicating what appliance the inner stats object belongs to, defaults to None

  • group_by (str, optional) – Group the data based on this value, default behavior if unspecified is to group by dns, defaults to None

  • group_by_subdomains (int, optional) – Group the data based on the number of subdomains, if unspecified the default value is 2, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_dns_ne_pk_tunnels(ne_pk_tunnel_list: list[str], start_time: int, end_time: int, is_source: Optional[int] = None, split_type: Optional[int] = None, top: Optional[int] = None, split_by_ne: Optional[bool] = None, group_by: Optional[str] = None, group_by_subdomains: Optional[int] = None) dict

Get aggregate dns stats data filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats2/aggregate/dns

Parameters
  • ne_pk_tunnel_list (list[str]) –

    List of dictionaries of appliance nePk values and optional tunnel id’s, e.g. [{"nePk":"77.NE", "tunnelId":"tunnel_8"}, ...]

    • keyword ids (str): Network Primary Key (nePk) of appliance, e.g. 3.NE

    • keyword tunnelId (str): tunnel id, e.g. Tunnel_12, mandatory field but can be blank string “”

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • is_source (int, optional) – Integer value representing whether dns is from source or destination. 0 for source, 1 for destination, defaults to None

  • split_type (int, optional) – Filter data for specific type, 0 for ‘http’, 1 for ‘https’, 2 for ‘unassigned’ and 3 for ‘others, defaults to None

  • top (int, optional) – Return top x rows of data, defaults to None

  • split_by_ne (bool, optional) – True to split aggregate stats by appliance, if True, there will be an extra level of key inside each stats object indicating what appliance the inner stats object belongs to, defaults to None

  • group_by (str, optional) – Group the data based on this value, default behavior if unspecified is to group by dns, defaults to None

  • group_by_subdomains (int, optional) – Group the data based on the number of subdomains, if unspecified the default value is 2, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_dns_single_appliance(ne_pk: str, start_time: int, end_time: int, is_source: Optional[int] = None, split_type: Optional[int] = None, top: Optional[int] = None, split_by_ne: Optional[bool] = None, group_by: Optional[str] = None, group_by_subdomains: Optional[int] = None) dict

Get aggregate dns stats data for a single appliance filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats/aggregate/dns/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • is_source (int, optional) – Integer value representing whether dns is from source or destination. 0 for source, 1 for destination, defaults to None

  • split_type (int, optional) – Filter data for specific type, 0 for ‘http’, 1 for ‘https’, 2 for ‘unassigned’ and 3 for ‘others, defaults to None

  • top (int, optional) – Return top x rows of data, defaults to None

  • split_by_ne (bool, optional) – True to split aggregate stats by appliance, if True, there will be an extra level of key inside each stats object indicating what appliance the inner stats object belongs to, defaults to None

  • group_by (str, optional) – Group the data based on this value, default behavior if unspecified is to group by dns, defaults to None

  • group_by_subdomains (int, optional) – Group the data based on the number of subdomains, if unspecified the default value is 2, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_drc(start_time: int, end_time: int, granularity: str, group_pk: Optional[str] = None, top: Optional[int] = None, overlay: Optional[str] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate tunnel drc stats data filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/drc

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • group_pk (str, optional) – Filter by appliance group identifier, e.g. 0.Network is root group, 1.Network is internal use, 2.Network is auto-discovered groups. 3.Network and beyond is user-defined groups, defaults to None

  • top (int, optional) – Number of rows to return from query, defaults to None

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0,return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise,return bonded tunnels associated with the specified overlay id, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_drc_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, granularity: str, top: Optional[int] = None, overlay: Optional[str] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate tunnel drc stats data filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats/aggregate/drc

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • top (int, optional) – Number of rows to return from query, defaults to None

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0,return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise,return bonded tunnels associated with the specified overlay id, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_drc_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, tunnel_name: Optional[str] = None, top: Optional[int] = None, overlay: Optional[str] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate tunnel drc stats data for a single appliance filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/drc/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • tunnel_name (str, optional) – Filter response data for specified tunnel name, defaults to None

  • top (int, optional) – Number of rows to return from query, defaults to None

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0,return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise,return bonded tunnels associated with the specified overlay id, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_dscp(start_time: int, end_time: int, granularity: str, group_pk: Optional[str] = None, dscp: Optional[int] = None, traffic_type: Optional[str] = None, ip: Optional[bool] = None, metric: Optional[str] = None, top: Optional[int] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate traffic class stats data filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/dscp

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • group_pk (str, optional) – Filter by appliance group identifier, e.g. 0.Network is root group, 1.Network is internal use, 2.Network is auto-discovered groups. 3.Network and beyond is user-defined groups, defaults to None

  • dscp (int, optional) – Filter for data which belongs to a certain flow type. Valid values are 0-63, defaults to None

  • traffic_type (str, optional) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results or False or None for default sorting by appliance ID, defaults to None

  • metric (str, optional) – Sort stats by the provided metric, can also be used with the param ‘top’ to limit number of items received, e.g. throughput, defaults to None

  • top (int, optional) – This parameter should be provided together with param metric to indicate top x items of a metric. e.g. if metric is set to throughput and top is 10, retrieves top 10 tunnels by throughput, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_dscp_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, granularity: str, dscp: Optional[int] = None, traffic_type: Optional[str] = None, ip: Optional[bool] = None, metric: Optional[str] = None, top: Optional[int] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate traffic class stats data filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats/aggregate/dscp

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • dscp (int, optional) – Filter for data which belongs to a certain flow type. Valid values are 0-63, defaults to None

  • traffic_type (str, optional) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results or False or None for default sorting by appliance ID, defaults to None

  • metric (str, optional) – Sort stats by the provided metric, can also be used with the param ‘top’ to limit number of items received, e.g. throughput, defaults to None

  • top (int, optional) – This parameter should be provided together with param metric to indicate top x items of a metric. e.g. if metric is set to throughput and top is 10, retrieves top 10 tunnels by throughput, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_dscp_single_appliance(ne_pk: str, start_time: int, end_time: int, traffic_type: str, granularity: str, group_pk: Optional[str] = None, dscp: Optional[int] = None, traffic_class: Optional[int] = None, ip: Optional[bool] = None, metric: Optional[str] = None, top: Optional[int] = None, data_format: Optional[str] = None) dict

Get aggregate dscp stats data for a single appliance filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/dscp/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • traffic_type (str) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • group_pk (str, optional) – Filter by appliance group identifier, e.g. 0.Network is root group, 1.Network is internal use, 2.Network is auto-discovered groups. 3.Network and beyond is user-defined groups, defaults to None

  • dscp (int, optional) – Filter for data which belongs to a certain flow type. Valid values are 0-63, defaults to None

  • traffic_class (int, optional) – Filter for data which belongs to particular traffic class, accepted values between 1-10, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results or False or None for default sorting by appliance ID, defaults to None

  • metric (str, optional) – Sort stats by the provided metric, can also be used with the param ‘top’ to limit number of items received, e.g. throughput, defaults to None

  • top (int, optional) – This parameter should be provided together with param metric to indicate top x items of a metric. e.g. if metric is set to throughput and top is 10, retrieves top 10 tunnels by throughput, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_flows(start_time: int, end_time: int, granularity: str, group_pk: Optional[str] = None, flow: Optional[str] = None, traffic_type: Optional[str] = None, ip: Optional[bool] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate flow stats data filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/flow

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • group_pk (str, optional) – Filter by appliance group identifier, e.g. 0.Network is root group, 1.Network is internal use, 2.Network is auto-discovered groups. 3.Network and beyond is user-defined groups, defaults to None

  • flow (str, optional) – Filter for data of a particular flow type. Accepted values are “TCP_ACCELERATED” “TCP_NOT_ACCELERATED” “NON_TCP”, defaults to None

  • traffic_type (str, optional) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results or False or None for default sorting by appliance ID, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_flows_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, granularity: str, group_pk: Optional[str] = None, flow: Optional[str] = None, traffic_type: Optional[str] = None, ip: Optional[bool] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate flow stats data filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats/aggregate/flow

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • group_pk (str, optional) – Filter by appliance group identifier, e.g. 0.Network is root group, 1.Network is internal use, 2.Network is auto-discovered groups. 3.Network and beyond is user-defined groups, defaults to None

  • flow (str, optional) – Filter for data of a particular flow type. Accepted values are “TCP_ACCELERATED” “TCP_NOT_ACCELERATED” “NON_TCP”, defaults to None

  • traffic_type (str, optional) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results or False or None for default sorting by appliance ID, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_flows_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, traffic_class: Optional[int] = None, flow: Optional[str] = None, ip: Optional[str] = None, data_format: Optional[str] = None) dict

Get aggregate flow stats data for a single appliance filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/flow/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • traffic_class (int, optional) – Filter for data which belongs to particular traffic class, accepted values between 1-10, defaults to None

  • flow (str, optional) – Filter for data of a particular flow type. Accepted values are “TCP_ACCELERATED” “TCP_NOT_ACCELERATED” “NON_TCP”, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results or False or None for default sorting by appliance ID, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_interface(start_time: int, end_time: int, granularity: str, traffic_type: str, data_format: Optional[str] = None) dict

Get aggregate interface stats data for a all appliance filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/interface

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • traffic_type (str) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_interface_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, granularity: str, traffic_type: str, data_format: Optional[str] = None) dict

Get aggregate interface stats data for a all appliance filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats/aggregate/interface

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • traffic_type (str) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_interface_overlay_transport_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, granularity: str, interface_name: Optional[str] = None, overlay: Optional[str] = None, data_format: Optional[str] = None) dict

Get aggregate interface overlay transport stats data

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats/aggregate/interfaceOverlay

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • interface_name (str, optional) – Filter data by interface name, defaults to None

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0,return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise,return bonded tunnels associated with the specified overlay id, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_interface_overlay_transport_ne_pk_tunnels(ne_pk_tunnel_list: list[str], start_time: int, end_time: int, granularity: str, interface_name: Optional[str] = None, overlay: Optional[str] = None) dict

Get aggregate interface overlay transport stats data filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats2/aggregate/interfaceOverlay

Parameters
  • ne_pk_tunnel_list (list[str]) –

    List of dictionaries of appliance nePk values and optional tunnel id’s, e.g. [{"nePk":"77.NE", "tunnelId":"tunnel_8"}, ...]

    • keyword ids (str): Network Primary Key (nePk) of appliance, e.g. 3.NE

    • keyword tunnelId (str): tunnel id, e.g. Tunnel_12, mandatory field but can be blank string “”

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • interface_name (str, optional) – Filter data by interface name, defaults to None

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0,return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise,return bonded tunnels associated with the specified overlay id, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_jitter(start_time: int, end_time: int, granularity: str, ip: Optional[bool] = None, overlay: Optional[str] = None, group_by_ne: Optional[bool] = None, data_format: Optional[str] = None) dict

Get aggregate jitter stats data filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/jitter

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • ip (bool, optional) – True to use IP address as key to sort results or False or None for default sorting by appliance ID, defaults to None

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0,return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise,return bonded tunnels associated with the specified overlay id, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_jitter_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, granularity: str, ip: Optional[bool] = None, top: Optional[int] = None, overlay: Optional[str] = None, group_by_ne: Optional[bool] = None, data_format: Optional[str] = None) dict

Get aggregate jitter stats data filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats/aggregate/jitter

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • ip (bool, optional) – True to use IP address as key to sort results or False or None for default sorting by appliance ID, defaults to None

  • top (int, optional) – Number of rows to return from query, defaults to None

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0,return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise,return bonded tunnels associated with the specified overlay id, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_jitter_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, ip: Optional[bool] = None, top: Optional[int] = None, overlay: Optional[str] = None, group_by_ne: Optional[bool] = None, tunnel_name: Optional[str] = None, data_format: Optional[str] = None) dict

Get aggregate jitter stats data for single appliance filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/jitter/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • ip (bool, optional) – True to use IP address as key to sort results or False or None for default sorting by appliance ID, defaults to None

  • top (int, optional) – Number of rows to return from query, defaults to None

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0,return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise,return bonded tunnels associated with the specified overlay id, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

  • tunnel_name (str, optional) – Filter response data for specified tunnel name, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_mos_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, granularity: str, top: Optional[int] = None, overlay: Optional[str] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate Mean Opinion Score stats data

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats/aggregate/mos

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • top (int, optional) – Number of rows to return from query, defaults to None

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0,return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise,return bonded tunnels associated with the specified overlay id, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_mos_ne_pk_tunnels(ne_pk_tunnel_list: list[str], start_time: int, end_time: int, granularity: str, top: Optional[int] = None, overlay: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate Mean Opinion Score stats data

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats2/aggregate/mos

Parameters
  • ne_pk_tunnel_list (list[str]) –

    List of dictionaries of appliance nePk values and optional tunnel id’s, e.g. [{"nePk":"77.NE", "tunnelId":"tunnel_8"}, ...]

    • keyword ids (str): Network Primary Key (nePk) of appliance, e.g. 3.NE

    • keyword tunnelId (str): tunnel id, e.g. Tunnel_12, mandatory field but can be blank string “”

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • top (int, optional) – Number of rows to return from query, defaults to None

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0,return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise,return bonded tunnels associated with the specified overlay id, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_mos_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, tunnel_name: Optional[str] = None, top: Optional[int] = None, overlay: Optional[str] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate Mean Opinion Score stats data for single appliance

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/mos/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • tunnel_name (str, optional) – Filter response data for specified tunnel name, defaults to None

  • top (int, optional) – Number of rows to return from query, defaults to None

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0,return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise,return bonded tunnels associated with the specified overlay id, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_overlay_bandwidth_ne_pk_tunnels(ne_pk_tunnel_list: list[str], start_time: int, end_time: int, granularity: str) dict

Get aggregate overlay bandwidth stats data filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats2/aggregate/overlays/bandwidth

Parameters
  • ne_pk_tunnel_list (list[str]) –

    List of dictionaries of appliance nePk values and optional tunnel id’s, e.g. [{"nePk":"77.NE", "tunnelId":"tunnel_8"}, ...]

    • keyword ids (str): Network Primary Key (nePk) of appliance, e.g. 3.NE

    • keyword tunnelId (str): tunnel id, e.g. Tunnel_12, mandatory field but can be blank string “”

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_ports(start_time: int, end_time: int, is_source: Optional[int] = None, is_known: Optional[int] = None, protocol: Optional[int] = None, port: Optional[int] = None, top: Optional[int] = None, split_by_ne: Optional[bool] = None, last_hour: Optional[bool] = None, data_format: Optional[str] = None) dict

Get aggregate ports stats data filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/ports

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • is_source (int, optional) – 0 to specifiy port as source port, 1 to specifiy port as destination port, defaults to None

  • is_known (int, optional) – 1 to specify if port is assigned to an application, 0 if not, defaults to None

  • protocol (int, optional) – Integer value representing protocol used by port, defaults to None

  • port (int, optional) – Integer value of port number, defaults to None

  • top (int, optional) – Number of rows to return from query, defaults to None

  • split_by_ne (bool, optional) – True to split aggregate stats by appliance, if True, there will be an extra level of key inside each stats object indicating what appliance the inner stats object belongs to, defaults to None

  • last_hour (bool, optional) – If True, fetch data one hour behind from last hour if no data within last hour range, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_ports_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, is_source: Optional[int] = None, is_known: Optional[int] = None, protocol: Optional[int] = None, port: Optional[int] = None, top: Optional[int] = None, split_by_ne: Optional[bool] = None, last_hour: Optional[bool] = None) dict

Get aggregate ports stats data filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats/aggregate/ports

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • is_source (int, optional) – 0 to specifiy port as source port, 1 to specifiy port as destination port, defaults to None

  • is_known (int, optional) – 1 to specify if port is assigned to an application, 0 if not, defaults to None

  • protocol (int, optional) – Integer value representing protocol used by port, defaults to None

  • port (int, optional) – Integer value of port number, defaults to None

  • top (int, optional) – Number of rows to return from query, defaults to None

  • split_by_ne (bool, optional) – True to split aggregate stats by appliance, if True, there will be an extra level of key inside each stats object indicating what appliance the inner stats object belongs to, defaults to None

  • last_hour (bool, optional) – If True, fetch data one hour behind from last hour if no data within last hour range, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_ports_ne_pk_tunnels(ne_pk_tunnel_list: list[str], start_time: int, end_time: int, is_source: Optional[int] = None, is_known: Optional[int] = None, protocol: Optional[int] = None, port: Optional[int] = None, top: Optional[int] = None, split_by_ne: Optional[bool] = None, last_hour: Optional[bool] = None) dict

Get aggregate ports stats data filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats2/aggregate/ports

Parameters
  • ne_pk_tunnel_list (list[str]) –

    List of dictionaries of appliance nePk values and optional tunnel id’s, e.g. [{"nePk":"77.NE", "tunnelId":"tunnel_8"}, ...]

    • keyword ids (str): Network Primary Key (nePk) of appliance, e.g. 3.NE

    • keyword tunnelId (str): tunnel id, e.g. Tunnel_12, mandatory field but can be blank string “”

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • is_source (int, optional) – 0 to specifiy port as source port, 1 to specifiy port as destination port, defaults to None

  • is_known (int, optional) – 1 to specify if port is assigned to an application, 0 if not, defaults to None

  • protocol (int, optional) – Integer value representing protocol used by port, defaults to None

  • port (int, optional) – Integer value of port number, defaults to None

  • top (int, optional) – Number of rows to return from query, defaults to None

  • split_by_ne (bool, optional) – True to split aggregate stats by appliance, if True, there will be an extra level of key inside each stats object indicating what appliance the inner stats object belongs to, defaults to None

  • last_hour (bool, optional) – If True, fetch data one hour behind from last hour if no data within last hour range, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_ports_single_appliance(ne_pk: str, start_time: int, end_time: int, is_source: Optional[int] = None, is_known: Optional[int] = None, protocol: Optional[int] = None, port: Optional[int] = None, top: Optional[int] = None, split_by_ne: Optional[bool] = None, last_hour: Optional[bool] = None) dict

Get aggregate ports stats data for a single appliance filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/ports/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • is_source (int, optional) – 0 to specifiy port as source port, 1 to specifiy port as destination port, defaults to None

  • is_known (int, optional) – 1 to specify if port is assigned to an application, 0 if not, defaults to None

  • protocol (int, optional) – Integer value representing protocol used by port, defaults to None

  • port (int, optional) – Integer value of port number, defaults to None

  • top (int, optional) – Number of rows to return from query, defaults to None

  • split_by_ne (bool, optional) – True to split aggregate stats by appliance, if True, there will be an extra level of key inside each stats object indicating what appliance the inner stats object belongs to, defaults to None

  • last_hour (bool, optional) – If True, fetch data one hour behind from last hour if no data within last hour range, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_security_policy_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, granularity: str, top: Optional[int] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate security policy stats data

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats/aggregate/securityPolicy

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • top (int, optional) – Return top x rows of data, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_security_policy_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, from_zone: str, to_zone: str, top: Optional[int] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate security policy stats data for single appliance

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/securityPolicy/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • from_zone (str) – Filter for data which come from the zone indicated by this zone internal ID

  • to_zone (str) – Filter for data which go to the zone indicated by this zone internal ID

  • top (int, optional) – Return top x rows of data, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_shaper_ne_pk_list(ne_pk_tunnel_list: list[str], start_time: int, end_time: int, granularity: str, direction: int, top: Optional[int] = None) dict

Get aggregate interface overlay transport stats data filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats2/aggregate/shaper

Parameters
  • ne_pk_tunnel_list (list[str]) –

    List of dictionaries of appliance nePk values and optional tunnel id’s, e.g. [{"nePk":"77.NE", "tunnelId":"tunnel_8"}, ...]

    • keyword ids (str): Network Primary Key (nePk) of appliance, e.g. 3.NE

    • keyword tunnelId (str): tunnel id, e.g. Tunnel_12, mandatory field but can be blank string “”

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • direction (int) – 0 for Outbound, 1 for Inbound

  • top (int, optional) – Number of rows to return from query, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_top_talkers(start_time: int, end_time: int, top: Optional[int] = None, split_by_ne: Optional[bool] = None, data_format: Optional[str] = None) dict

Get aggregate topTalkers stats data filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/topTalkers

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • top (int, optional) – Number of rows to return from query, defaults to None

  • split_by_ne (bool, optional) – True to split aggregate stats by appliance, if True, there will be an extra level of key inside each stats object indicating what appliance the inner stats object belongs to, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_top_talkers_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, top: Optional[int] = None, split_by_ne: Optional[bool] = None, data_format: Optional[str] = None) dict

Get aggregate topTalkers stats data filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats/aggregate/topTalkers

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • top (int, optional) – Number of rows to return from query, defaults to None

  • split_by_ne (bool, optional) – True to split aggregate stats by appliance, if True, there will be an extra level of key inside each stats object indicating what appliance the inner stats object belongs to, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_top_talkers_ne_pk_tunnels(ne_pk_tunnel_list: list[str], start_time: int, end_time: int, top: Optional[int] = None, split_by_ne: Optional[bool] = None) dict

Get aggregate topTalkers stats data filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats2/aggregate/topTalkers

Parameters
  • ne_pk_tunnel_list (list[str]) –

    List of dictionaries of appliance nePk values and optional tunnel id’s, e.g. [{"nePk":"77.NE", "tunnelId":"tunnel_8"}, ...]

    • keyword ids (str): Network Primary Key (nePk) of appliance, e.g. 3.NE

    • keyword tunnelId (str): tunnel id, e.g. Tunnel_12, mandatory field but can be blank string “”

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • top (int, optional) – This parameter should be provided together with param metric to indicate top x items of a metric. e.g. if metric is set to throughput and top is 10, retrieves top 10 tunnels by throughput, defaults to None

  • split_by_ne (bool, optional) – True to split aggregate stats by appliance, if True, there will be an extra level of key inside each stats object indicating what appliance the inner stats object belongs to, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_top_talkers_single_appliance(ne_pk: str, start_time: int, end_time: int, top: Optional[int] = None) dict

Get aggregate topTalkers stats data for a single appliance filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/topTalkers/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • top (int, optional) – Number of rows to return from query, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_top_talkers_split_single_appliance(ne_pk: str, start_time: int, end_time: int, source_ip: Optional[str] = None) dict

Get aggregate topTalkers stats data for a single appliance filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/topTalkers/split/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • source_ip (str, optional) – Filter source IP address, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_traffic_behavior(start_time: int, end_time: int, group_pk: Optional[str] = None, behavioral_cat: Optional[str] = None, data_format: Optional[str] = None) dict

Get aggregate Traffic Behavioral stats data filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/trafficBehavior

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • group_pk (str, optional) – Filter by appliance group identifier, e.g. 0.Network is root group, 1.Network is internal use, 2.Network is auto-discovered groups. 3.Network and beyond is user-defined groups, defaults to None

  • behavioral_cat (str, optional) – Filter for data which belongs to behavioral category in query, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_traffic_behavior_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, behavioral_cat: Optional[str] = None, application: Optional[str] = None, data_format: Optional[str] = None, top: Optional[int] = None, last_hour: Optional[bool] = None, is_aggregated: Optional[bool] = None) dict

Get aggregate Traffic Behavioral stats data filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats/aggregate/trafficBehavior

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • behavioral_cat (str, optional) – Filter for data which belongs to behavioral category in query, defaults to None

  • application (str, optional) – Filter for data belonging to appliaction with matching name, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • top (int, optional) – Restrict applications for each behavior category to top N, defaults to None

  • last_hour (bool, optional) – If True, fetch data one hour behind from last hour if no data within last hour range, defaults to None

  • is_aggregated (bool, optional) – If True, get aggregate traffic behavioral stats data, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_traffic_behavior_single_appliance(ne_pk: str, start_time: int, end_time: int, behavioral_cat: Optional[str] = None, application: Optional[str] = None, top: Optional[int] = None, last_hour: Optional[bool] = None) dict

Get aggregate Traffic Behavioral stats data for a single appliance filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/trafficBehavior/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • behavioral_cat (str, optional) – Filter for data which belongs to behavioral category in query, defaults to None

  • application (str, optional) – Filter for data belonging to appliaction with matching name, defaults to None

  • top (int, optional) – Restrict applications for each behavior category to top N, defaults to None

  • last_hour (bool, optional) – If True, fetch data one hour behind from last hour if no data within last hour range, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_traffic_class(start_time: int, end_time: int, granularity: str, group_pk: Optional[str] = None, traffic_class: Optional[int] = None, traffic_type: Optional[str] = None, ip: Optional[bool] = None, metric: Optional[str] = None, top: Optional[int] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate traffic class stats data filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/trafficClass

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • group_pk (str, optional) – Filter by appliance group identifier, e.g. 0.Network is root group, 1.Network is internal use, 2.Network is auto-discovered groups. 3.Network and beyond is user-defined groups, defaults to None

  • traffic_class (int, optional) – Filter for data which belongs to particular traffic class, accepted values between 1-10, defaults to None

  • traffic_type (str, optional) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results or False or None for default sorting by appliance ID, defaults to None

  • metric (str, optional) – Sort stats by the provided metric, can also be used with the param ‘top’ to limit number of items received, e.g. throughput, defaults to None

  • top (int, optional) – This parameter should be provided together with param metric to indicate top x items of a metric. e.g. if metric is set to throughput and top is 10, retrieves top 10 tunnels by throughput, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_traffic_class_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, granularity: str, traffic_class: Optional[int] = None, traffic_type: Optional[str] = None, ip: Optional[bool] = None, metric: Optional[str] = None, top: Optional[int] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate traffic class stats data filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats/aggregate/trafficClass

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • traffic_class (int, optional) – Filter for data which belongs to particular traffic class, accepted values between 1-10, defaults to None

  • traffic_type (str, optional) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results or False or None for default sorting by appliance ID, defaults to None

  • metric (str, optional) – Sort stats by the provided metric, can also be used with the param ‘top’ to limit number of items received, e.g. throughput, defaults to None

  • top (int, optional) – This parameter should be provided together with param metric to indicate top x items of a metric. e.g. if metric is set to throughput and top is 10, retrieves top 10 tunnels by throughput, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_traffic_class_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, traffic_class: Optional[int] = None, traffic_type: Optional[str] = None, ip: Optional[bool] = None, metric: Optional[str] = None, top: Optional[int] = None, data_format: Optional[str] = None) dict

Get aggregate trafficClass stats data for a single appliance filter by query parameters

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/trafficClass/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • traffic_class (int, optional) – Filter for data which belongs to particular traffic class, accepted values between 1-10, defaults to None

  • traffic_type (str, optional) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results or False or None for default sorting by appliance ID, defaults to None

  • metric (str, optional) – Sort stats by the provided metric, can also be used with the param ‘top’ to limit number of items received, e.g. throughput, defaults to None

  • top (int, optional) – This parameter should be provided together with param metric to indicate top x items of a metric. e.g. if metric is set to throughput and top is 10, retrieves top 10 tunnels by throughput, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_tunnels(start_time: int, end_time: int, granularity: str, group_pk: Optional[str] = None, ip: Optional[bool] = None, metric: Optional[str] = None, top: Optional[int] = None, overlay: Optional[str] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate tunnel stats data filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/tunnel

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • group_pk (str, optional) – Filter by appliance group identifier, e.g. 0.Network is root group, 1.Network is internal use, 2.Network is auto-discovered groups. 3.Network and beyond is user-defined groups, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results or False or None for default sorting by appliance ID, defaults to None

  • metric (str, optional :param top: This parameter should be provided together with param metric to indicate top x items of a metric. e.g. if metric is set to throughput and top is 10, retrieves top 10 tunnels by throughput, defaults to None) – Sort stats by the provided metric, can also be used with the param ‘top’ to limit number of items received, e.g. throughput, defaults to None

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0,return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise,return bonded tunnels associated with the specified overlay id, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_tunnels_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, granularity: str, ip: Optional[bool] = None, metric: Optional[str] = None, top: Optional[int] = None, overlay: Optional[str] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate tunnel stats data filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats/aggregate/tunnel

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • ip (bool, optional) – True to use IP address as key to sort results or False or None for default sorting by appliance ID, defaults to None

  • metric (str, optional :param top: This parameter should be provided together with param metric to indicate top x items of a metric. e.g. if metric is set to throughput and top is 10, retrieves top 10 tunnels by throughput, defaults to None) – Sort stats by the provided metric, can also be used with the param ‘top’ to limit number of items received, e.g. throughput, defaults to None

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0,return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise,return bonded tunnels associated with the specified overlay id, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_tunnels_ne_pk_tunnels(ne_pk_tunnel_list: list[str], start_time: int, end_time: int, granularity: str, metric: Optional[str] = None, top: Optional[int] = None, overlay: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate tunnel stats data filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

POST

/stats2/aggregate/tunnel

Parameters
  • ne_pk_tunnel_list (list[str]) –

    List of dictionaries of appliance nePk values and optional tunnel id’s, e.g. [{"nePk":"77.NE", "tunnelId":"tunnel_8"}, ...]

    • keyword ids (str): Network Primary Key (nePk) of appliance, e.g. 3.NE

    • keyword tunnelId (str): tunnel id, e.g. Tunnel_12, mandatory field but can be blank string “”

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • metric (str, optional) – Sort stats by the provided metric, can also be used with the param ‘top’ to limit number of items received, e.g. throughput, defaults to None

  • top (int, optional) – This parameter should be provided together with param metric to indicate top x items of a metric. e.g. if metric is set to throughput and top is 10, retrieves top 10 tunnels by throughput, defaults to None

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0,return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise,return bonded tunnels associated with the specified overlay id, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

get_aggregate_stats_tunnels_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, tunnel_name: Optional[str] = None, ip: Optional[bool] = None, metric: Optional[str] = None, top: Optional[int] = None, overlay: Optional[str] = None, data_format: Optional[str] = None, group_by_ne: Optional[bool] = None) dict

Get aggregate tunnel stats data for a single appliance filter by query parameters.

Swagger Section

Method

Endpoint

aggregateStats

GET

/stats/aggregate/tunnel/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • tunnel_name (str, optional) – Filter response data for specified tunnel name, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results or False or None for default sorting by appliance ID, defaults to None

  • metric (str, optional) – Sort stats by the provided metric, can also be used with the param ‘top’ to limit number of items received, e.g. throughput, defaults to None

  • top (int, optional) – This parameter should be provided together with param metric to indicate top x items of a metric. e.g. if metric is set to throughput and top is 10, retrieves top 10 tunnels by throughput, defaults to None

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0,return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise,return bonded tunnels associated with the specified overlay id, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • group_by_ne (bool, optional) – Group aggregate stats by appliance. Set to True for an extra level of key inside each tunnel stats object indicating what appliance the inner stats object belongs to. When not specified, behaves as True, defaults to None

Returns

Returns dictionary of aggregate stats filtered by query parameters

Return type

dict

acknolwedge_alarms_from_appliance(ne_id: str, alarm_list: list, acknowledge: bool) bool

Acknowledge alarms on appliance for specific id’s and sequence id’s of alarms

Swagger Section

Method

Endpoint

alarm

POST

/alarm/acknowledgement/appliance/{neId}

Parameters
  • ne_id (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

  • alarm_list (list) –

    List of dictionaries with alarms to acknowledge

    [dict]:

    • keyword id (int): alarm id

    • keyword sequenceId (int): alarm sequence id

    • keyword source (str): alarm source, mandatory field but can be left as blank string “”

  • acknowledge (bool) – True to acknowledge the alarms, False to leave unacknowledged

Returns

Returns True/False based on successful call

Return type

bool

acknowledge_alarms_from_orchestrator(alarm_list: list, acknowledge: bool) dict

Acknowledge alarms from Orchestrator

Swagger Section

Method

Endpoint

alarm

POST

/alarm/acknowledgement/gms

Parameters
  • alarm_list (list) – List of integer alarm id’s to acknowledge

  • acknowledge (bool) – True to acknowledge the alarms, False to leave unacknowledged

Returns

Returns True/False based on successful call

Return type

bool

add_note_to_appliance_alarm(ne_id: str, alarm_list: list, note: str) bool

Add note/comment to specified appliance alarms

Swagger Section

Method

Endpoint

alarm

POST

/alarm/note/appliance/{neId}

Parameters
  • ne_id (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

  • alarm_list (list) –

    List of dictionaries with alarms to acknowledge

    [dict]:

    • keyword id (int): alarm id

    • keyword sequenceId (int): alarm sequence id

    • keyword source (str): alarm source, mandatory field but can be left as blank string “”

  • note (str) – Comment to add to alarms, cannot be a blank string

Returns

Returns True/False based on successful call

Return type

bool

clear_alarms_from_appliance(ne_id: str, alarm_list: list) bool

Clear alarms on appliance for specific id’s and sequence id’s of alarms

Swagger Section

Method

Endpoint

alarm

POST

/alarm/clearance/appliance/{neId}

Parameters
  • ne_id (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

  • alarm_list (list) –

    List of dictionaries with alarms to acknowledge

    [dict]:

    • keyword id (int): alarm id

    • keyword sequenceId (int): alarm sequence id

    • keyword source (str): alarm source, mandatory field but can be left as blank string “”

Returns

Returns True/False based on successful call

Return type

bool

clear_alarms_from_orchestrator(alarm_list: list) bool

Clear specified Orchestrator alarms

Swagger Section

Method

Endpoint

alarm

POST

/alarm/clearance/gms

Parameters
  • alarm_list (list) – List of integer alarm id’s to acknowledge

  • note (str) – Comment to add to alarms, cannot be a blank string

Returns

Returns True/False based on successful call

Return type

bool

delete_alarm_email_delay() bool

Deletes alarm email delay configuration

Swagger Section

Method

Endpoint

alarm

DELETE

/alarm/delayEmail

Returns

Returns True/False based on successful call

Return type

bool

delete_all_customized_alarm_severity() bool

Deletes all customized alarm severity settings

Swagger Section

Method

Endpoint

alarm

DELETE

/alarm/customization/severity

Returns

Returns True/False based on successful call

Return type

bool

delete_customized_alarm_severity_for_type(alarm_type_id: int) bool

Deletes customized alarm severity settings for specific alarm type id

Swagger Section

Method

Endpoint

alarm

DELETE

/alarm/customization/severity/{alarmTypeId}

Note

If the alarm type is not customized it will return HTTP 204 with no content.

Parameters

alarm_type_id (int) – Alarm type id, e.g. 65536

Returns

Returns True/False based on successful call

Return type

bool

delete_supressed_alarms() bool

Re-enable all disabled alarms

Swagger Section

Method

Endpoint

alarm

DELETE

/alarm/suppress

Returns

Returns True/False based on successful call

Return type

bool

get_alarm_count_all_appliances() list

Returns summary of active alarms for each appliance

Swagger Section

Method

Endpoint

alarm

GET

/alarm/count/appliance

Returns

Returns list of dictionaries for each appliance alarm counts

[dict]:

  • keyword applianceId (str): ne_pk of appliance

  • keyword numOfCriticalAlarms (int): number of active critical alarms

  • keyword numOfWarningAlarms (int): number of active warning alarms

  • keyword numOfMinorAlarms (int): number of active minor alarms

  • keyword numOfMajorAlarms (int): number of active major alarms

  • keyword numOfAlarms (int): number of total active alarms

Return type

list

get_alarm_count_from_appliance(ne_id: str) dict

Returns summary of active alarms for specified appliance

Swagger Section

Method

Endpoint

alarm

GET

/alarm/count/appliance/{neId}

Parameters

ne_id (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

Returns

Returns dictionary of active alarm counts

  • keyword numOfCriticalAlarms (int): number of active critical alarms

  • keyword numOfWarningAlarms (int): number of active warning alarms

  • keyword numOfMinorAlarms (int): number of active minor alarms

  • keyword numOfMajorAlarms (int): number of active major alarms

Return type

dict

get_alarm_count_orchestrator_and_appliances() dict

Returns summary of active alarms for Orchestrator and all appliances

Swagger Section

Method

Endpoint

alarm

GET

/alarm/summary

Returns

Returns dictionary of active alarm counts

  • keyword numOfCriticalAlarms (int): number of active critical alarms

  • keyword numOfWarningAlarms (int): number of active warning alarms

  • keyword numOfMinorAlarms (int): number of active minor alarms

  • keyword numOfMajorAlarms (int): number of active major alarms

Return type

dict

get_alarm_count_orchestrator_or_appliances(alarm_from: str) dict

Returns summary of active alarms for Orchestrator or all appliances

Swagger Section

Method

Endpoint

alarm

GET

/alarm/summary/{type}

Parameters

alarm_from (str) – “gms” will provide alarm count from orchestrator, “appliance” will provide alarm count from all appliances

Returns

Returns dictionary of active alarm counts

  • keyword numOfCriticalAlarms (int): number of active critical alarms

  • keyword numOfWarningAlarms (int): number of active warning alarms

  • keyword numOfMinorAlarms (int): number of active minor alarms

  • keyword numOfMajorAlarms (int): number of active major alarms

Return type

dict

get_alarm_descriptions(data_format: str, default_values: bool) list

Get alarm descriptions and type details

Swagger Section

Method

Endpoint

alarm

GET

/alarm/description2

Parameters
  • data_format (str) – If csv ask browser to download a file of Orchestrator alarm descriptions in .csv format.

  • default_values (bool) – If True, export alarm descriptions with default values, when False, export alarm descriptions with customized values

Returns

Returns list of all alarm descriptions, corresponding type id’s, etc.

[dict]: alarm object

  • keyword typeId (int, optional): Alarm type id

  • keyword name (str, optional): Alarm name

  • keyword severity (str, optional): Alarm severity info

  • keyword description (str, optional): Alarm description

  • keyword recommendedAction (str, optional): recommended action

  • keyword serviceAffecting (bool, optional): Is alarm service affecting

  • keyword source (str, optional): Module/system that generates alarm

  • keyword systemType (int, optional): Identifies which system generated the alaram. 0 = Appliance, 100 = Orchestartor

  • keyword sourceType (int, optional): Identifies the category of alarm. 1 = Tunnel, 2 = Traffic Class, 3 = Equipment, 4 = Software, 5 = Threshold

  • keyword alarmType (int, optional): Uniquely identifies the type of alarm within a sourceType

Return type

list

get_alarm_email_delay() dict

Get alarm email delay configuration.

Swagger Section

Method

Endpoint

alarm

GET

/alarm/delayEmail

Note

If no delay is configured will return HTTP 204 no content.

Returns

Returns dictionary alarm email delay duration

  • keyword duration (int): Alarm email delay duration in seconds

Return type

dict

get_alarm_notification_status() dict

Check status if alarm notifications are enabled

Swagger Section

Method

Endpoint

alarm

GET

/alarm/notification

Returns

Dictionary of alarm notification status

  • keyword enable (bool): True if enabled, False if disabled

Return type

dict

get_alarms_from_appliances(ne_pk_list: list[str], view: str = 'all', severity: Optional[str] = None, order_by_severity: Optional[bool] = None, max_alarms: Optional[int] = None, start_time: Optional[int] = None, end_time: Optional[int] = None) list

Get active, historical, or all alarms from appliances

Swagger Section

Method

Endpoint

alarm

POST

/alarm/appliance

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • view (str, optional) – Accepted values are active for current alarms, closed for historical alarms, all for both active and historical alarms, defaults to “all”

  • severity (str, optional) – Filter by severity of alarm. Accepted values are warning, minor, major, and critical, defaults to None

  • order_by_severity (bool, optional) – If True will order the response alarms by ranking severity, defaults to None

  • max_alarms (int, optional) – Maximum number of alarms to return in response, defaults to None

  • start_time (int, optional) – Long(Signed 64 bits) value of milliseconds since EPOCH time indicating the starting time boundary of data time range, defaults to None

  • end_time (int, optional) – Long(Signed 64 bits) value of milliseconds since EPOCH time indicating the ending time boundary of data time range, defaults to None

Returns

Returns list of dictionaries per alarm

  • [dict]: list of alarm dictionary objects

    • keyword applianceId (str): appliance ne_pk value

    • keyword severity (str): severity of alarm

    • keyword sequenceId (int): alarm sequence number

    • keyword source (str): source of alarm, e.g. system

    • keyword acknowledged (bool): if alarm has been acknolwedged

    • keyword clearable (bool): if the alarm can be cleared

    • keyword timeOccurredInMills (int): time alarm occured in unix epoch milliseconds

    • keyword description (str): alarm description

    • keyword type (str): alarm type

    • keyword recommendedAction (str): recommended action message, if any

    • keyword serviceAffect (bool): if this condition could affect service

    • keyword typeId (int): uuid of alarm type

    • keyword name (str): name of alarm type

    • keyword occurrenceCount (int): number of occurences

    • keyword hostName (str): hostname of appliance generating alarm

    • keyword closed (bool): if alarm has been closed

    • keyword clearedTimeInMills (int): time alarm cleared in unix epoch milliseconds

Return type

list

get_alarms_from_orchestrator(view: str = 'all', severity: Optional[str] = None, start_time: Optional[int] = None, end_time: Optional[int] = None) list

Get active, historical, or all alarms from Orchestrator

Swagger Section

Method

Endpoint

alarm

GET

/alarm/gms

Parameters
  • view (str, optional) – Accepted values are “active” for current alarms, “closed” for historical alarms, “all” for both active and historical alarms, defaults to “all”

  • severity (str, optional) – Filter by severity of alarm. Accepted values are warning, minor, major, and critical, None

  • start_time (int, optional) – Long(Signed 64 bits) value of milliseconds since EPOCH time indicating the starting time boundary of data time range, None

  • end_time (int, optional) – Long(Signed 64 bits) value of milliseconds since EPOCH time indicating the ending time boundary of data time range, None

Returns

Returns list of dictionaries per alarm

[dict]: list of alarm dictionary objects

  • keyword id (int): alarm id number

  • keyword severity (str): severity of alarm

  • keyword source (str): source of alarm, e.g. system

  • keyword acknowledged (bool): if alarm has been acknolwedged

  • keyword clearable (bool): if the alarm can be cleared

  • keyword timeOccurredInMills (int): time alarm occured in unix epoch milliseconds

  • keyword description (str): alarm description

  • keyword typ (str): alarm type

  • keyword recommendedAction (str): recommended action message, if any

  • keyword serviceAffect (bool): if this condition could affect service

  • keyword typeId (int): uuid of alarm type

  • keyword name (str): name of alarm type

  • keyword occurrenceCount (int): number of occurences

  • keyword closed (bool): if alarm has been closed

  • keyword clearedTimeInMills (int): time alarm cleared in unix epoch milliseconds

Return type

list

get_customized_alarm_severity() list

Get customized alarm severities

Swagger Section

Method

Endpoint

alarm

GET

/alarm/customization/severity

Returns

Returns list of all customized alarm serverities

[dict]: alarm object

  • keyword <alarm_typeId> (int): Alarm severity

Return type

list

get_customized_alarm_severity_for_type(alarm_type_id: int) dict

Get customized alarm severity for specific alarm type id.

Swagger Section

Method

Endpoint

alarm

GET

/alarm/customization/severity/{alarmTypeId}

Note

If the alarm type is not customized it will return HTTP 204 with no content.

Parameters

alarm_type_id (int) – Alarm type id, e.g. 65536

Returns

Returns dictionary of customized alarm serverity for alarm type id

  • keyword <alarm_type_id> (str): Severity values can be warning, minor, major, and critical

Return type

dict

get_supressed_alarms() dict

Get configured supressed alarms

Swagger Section

Method

Endpoint

alarm

GET

/alarm/suppress

Returns

Returns dictionary of appliances and alarm types that are currently disabled

  • keyword alarmTypeIds (list[int]): List of alarm type ids

  • keyword applianceIds (list[str]): List of appliance ids

Return type

dict

set_alarm_email_delay(alarm_email_delay: int) bool

Set alarm email delay configuration

Swagger Section

Method

Endpoint

alarm

POST

/alarm/delayEmail

Parameters

alarm_email_delay (int) – Alarm email delay duration in seconds

Returns

Returns True/False based on successful call

Return type

bool

set_alarm_notification_status(enable: bool) dict

Set status for alarm notifications

Swagger Section

Method

Endpoint

alarm

POST

/alarm/notification

Parameters

enable (bool) – True to enable alarm notifications, False to disable

Returns

Returns True/False based on successful call

Return type

bool

set_customized_alarm_severity(alarm_severities: dict) bool

Set customized alarm severities for alarm type id’s

Swagger Section

Method

Endpoint

alarm

POST

/alarm/customization/severity

Parameters

alarm_severities (dict) –

Dictionary of alarm type id’s and corresponding severity

  • keyword <alarm_type_id> (str): Severity values can be warning, minor, major, and critical

Returns

Returns True/False based on successful call

Return type

bool

set_supressed_alarms(action: str, alarm_list: list, ne_pk_list: list[str]) bool

Set to suppress or enabled (if previously suppressed) specified alarm types on specified appliances

Swagger Section

Method

Endpoint

alarm

POST

/alarm/suppress

Parameters
  • action (str) – ENABLE to enable/re-enable or DISABLE to suppress/disable.

  • alarm_list (list) – List of alarm type ids. Value can not be null. e.g. [65536, 65537]

  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

Returns

Returns True/False based on successful call

Return type

bool

update_alarm_email_delay(alarm_email_delay: int) bool

Update alarm email delay configuration

Swagger Section

Method

Endpoint

alarm

PUT

/alarm/delayEmail

Parameters

alarm_email_delay (int) – Alarm email delay duration in seconds

Returns

Returns True/False based on successful call

Return type

bool

update_customized_alarm_severity(alarm_severities: dict) bool

Update customized alarm severities for alarm type id’s

Swagger Section

Method

Endpoint

alarm

PUT

/alarm/customization/severity

Parameters

alarm_severities (dict) –

Dictionary of alarm type id’s and corresponding severity

  • keyword <alarm_type_id> (str): Severity values can be warning, minor, major, and critical

Returns

Returns True/False based on successful call

Return type

bool

add_api_key(name: str, permission: str, expiration: int, active: bool, key: Optional[str] = None, description: Optional[str] = None, ip_list: Optional[str] = None) bool

Operation to add a new API key to Orchestrator

Swagger Section

Method

Endpoint

apiKey

POST

/apiKey

Parameters
  • name (str) – API Key Name

  • permission (str) – API Key privileges. Allowed values are ‘net_read_write’ for RW and ‘net_read” for RO

  • expiration (int) – API Key expiration in UNIX timestamp. Key will automatically become inactive on expiration date.

  • active (bool) – API Key state is active (True) or inactive (False). Inactive keys cannot be used to make requests.

  • key (str, optional) – API Key value, defaults to None

  • description (str, optional) – API Key description, defaults to None

  • ip_list (str) – List of allowed IP’s to make requests with this API Key. Leave blank to allow all IP’s.

Returns

Returns True/False based on successful call

Return type

bool

delete_api_key(name: str) bool

Deletes API key by name

Swagger Section

Method

Endpoint

apiKey

DELETE

/apiKey/{name}

Parameters

name (str) – API Key Name to delete

Returns

Returns True/False based on successful call

Return type

bool

get_api_key(name: str) dict

Retrieves API key by name

Swagger Section

Method

Endpoint

apiKey

GET

/apiKey/{name}

Parameters

name (str) – API Key Name to retrieve

Returns

Dictionary of API key

Return type

dict

get_api_keys() dict

Retrieves all configured API keys as JSON

Swagger Section

Method

Endpoint

apiKey

GET

/apiKey

Returns

Dictionary of configured API keys from Orchestrator

Return type

dict

update_api_key(name: str, permission: str, expiration: int, active: bool, key: Optional[str] = None, description: Optional[str] = None, ip_list: Optional[str] = None) bool

Update existing API key on Orchestrator

Swagger Section

Method

Endpoint

apiKey

PUT

/apiKey/{name}

Parameters
  • name (str) – API Key Name

  • permission (str) – API Key privileges. Allowed values are ‘net_read_write’ for RW and ‘net_read” for RO

  • expiration (int) – API Key expiration in UNIX timestamp. Key will automatically become inactive on expiration date.

  • active (bool) – API Key state is active (True) or inactive (False). Inactive keys cannot be used to make requests.

  • key (str, optional) – API Key value, defaults to None

  • description (str, optional) – API Key description, defaults to None

  • ip_list (str) – List of allowed IP’s to make requests with this API Key. Leave blank to allow all IP’s. OptionalAPI Key state is active (True) or inactive (False). Inactive keys cannot be used to make requests, defaults to None

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_system_deployment_info(ne_id: str, cached: bool) dict

Get appliance system deployment information

Swagger Section

Method

Endpoint

appSystemDeployInfo

GET

/systemInfo/system/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of appliance deployment info

  • keyword bw (dict): System bandwidth object

    • keyword if_rx_target (bool): Target bandwidth enabled

  • keyword auto_subnet (dict): Auto subnet object

    • keyword self (bool): Flag to enable and disable subnet sharing

    • keyword add_local (bool): Enable automatic advertising local subnets. Note: Only applicable for appliances whose version is less than 8.1.4.

    • keyword add_local_lan (bool): Enable automatic advertising local subnets for LAN interfaces only. Note: Only applicable for appliances whose version is greater than or equal to 8.1.4.

    • keyword add_local_wan (bool): Enable automatic advertising local subnets for WAN interfaces only. Note: Only applicable for appliances whose version is greater than or equal to 8.1.4.

    • keyword add_local_metric (int): Metric assigned to subnets of interfaces on this appliance

    • keyword redist_bgp (bool): Enable redistribution of learned BGP routes via subnet sharing

    • keyword redist_ospf (bool): Enable redistribution of learned OSPF routes via subnet sharing

    • keyword redist_ospf_filter (int): Filter for OSPF routes redistributed to subnet sharing

    • keyword redist_ospf_metric (int): Add metric to OSPF routes to be redistributed to subnet sharing

    • keyword local_ospf_filter (int): Filter for locally learned OSPF routes

  • keyword nm_fsp_enable (bool): Enable network memory FSP

  • keyword nat (bool): Enable NAT

  • keyword auto_syn (bool): Enable auto SYN

  • keyword bridge_loop_test (bool): Bridge loop test

  • keyword auto_tunnel (bool): Enable auto tunnel

  • keyword ipsec_override (bool): SSL IPSec override

  • keyword auto_ipid (bool): Enable auto IP ID

  • keyword excess_flow (dict): Excess flow object

    • keyword dscp_marking (bool): Excess flow DSCP marking

    • keyword policy (str): Excess flow policy, e.g. bypass

  • keyword dpc (dict): DPC object

    • keyword tunfail (str): DPC tunnel failover behavior, e.g. fail-stick

  • keyword disk_encrypt_enable (bool): Enable disk encryption

  • keyword igmp_snooping (bool): Bridge multicast IGMP snooping

  • keyword nm_media (int): System network memory media

  • keyword nm_mode (int): System network memory mode

  • keyword node_dns (dict): DNS lookup object

    • keyword enable (bool): Enable DNS lookup

    • keyword ipaddr (str): DNS IP address

  • keyword smb_signing (bool): SMB signing optimization

  • keyword udp_inact_time (int): UDP flow timeout in seconds range from 1 to 65535

  • keyword quies_tun_ka_intvl (int): Quiescent-tunnel keep alive time range from 1 to 65535

  • keyword max_tcp_mss (int): Maximum TCP MSS range from 500 to 9000

  • keyword int_hairpin (bool): Enable internal hairpinning

  • keyword auto_pol_lookup_intvl (int): Auto policy lookup interval

  • keyword passthru_to_sender (bool): Disable passthrough L2 return to sender

  • keyword orch_guid (str): Orchestrator GUID

  • keyword idrc (dict): IDRC object

    • keyword param_delta (float): Parameter delta for IDRC

    • keyword param_g (float): Parameter g for IDRC

    • keyword param_m (float): Parameter m for IDRC

    • keyword param_y (float): Parameter y for IDRC

  • keyword ha_if (str): High availability interface

  • keyword port_fwd_rules (str): Inbound port forwarding rules

  • keyword udp_ipsec_lcl_ports (str): List of ports used locally for UDP IPSec tunnels

  • keyword udp_ipsec_peer_ports (str): List of ports used by peers for UDP IPSec tunnels

  • keyword network_role (int): Network role,

  • keyword options (int): Tunnel system level options for future

  • keyword serverMode (dict): Server mode object

    • keyword target_in_thres (float): Interface max link threshold

    • keyword target_out_thres (float): Interface max link threshold

    • keyword in_max_bw (int): Server inbound max bandwidth (kbps)

    • keyword out_max_bw (int): Server outbound max bandwidth (kbps)

  • keyword shaperinbound (dict): Shaper inbound object

    • keyword wan (dict): Shaper interface wan

      • keyword max_bw (int): Shaper max bandwidth (kbps)

      • keyword dyn_bw_enable (bool): Enable/disable dynamic bandwidth for inbound shaper

      • keyword self (str): Shaper interface name. It is the same as the parent node key wan

      • keyword accuracy (int): Shaper accuracy (usec)

      • keyword enable (bool): Enable/disable inbound shaper

      • keyword traffic-class (dict): Traffic class

        • keyword <traffic_class_id> (dict): Traffic class ID, e.g. 1 object with nested attributes

          • keyword max_bw (float): Traffic class max bandwidth %

          • keyword min_bw (float): Traffic class min bandwidth %

          • keyword max_bw_abs (int): Traffic class max bandwidth (kbps)

          • keyword min_bw_abs (int): Traffic class min bandwidth (kbps)

          • keyword flow_limit (int): Traffic class flow rate limit

          • keyword self (int): Traffic class ID. It is the same as the parent node key trafficClassId

          • keyword excess (int): Traffic class excess weight

          • keyword priority (int): Traffic class priority

          • keyword max_wait (int): Traffic class max wait

Return type

dict

get_discovered_appliance_system_deployment_info(discovered_id: int) dict

Get discovered appliance system deployment information

Swagger Section

Method

Endpoint

appSystemDeployInfo

GET

/systemInfo/systemForDiscovered/{discoveredId}

Parameters

discovered_id (int) – Discovered appliance id

Returns

Returns dictionary of appliance deployment info

  • keyword bw (dict): System bandwidth object

    • keyword if_rx_target (bool): Target bandwidth enabled

  • keyword auto_subnet (dict): Auto subnet object

    • keyword self (bool): Flag to enable and disable subnet sharing

    • keyword add_local (bool): Enable automatic advertising local subnets. Note: Only applicable for appliances whose version is less than 8.1.4.

    • keyword add_local_lan (bool): Enable automatic advertising local subnets for LAN interfaces only. Note: Only applicable for appliances whose version is greater than or equal to 8.1.4.

    • keyword add_local_wan (bool): Enable automatic advertising local subnets for WAN interfaces only. Note: Only applicable for appliances whose version is greater than or equal to 8.1.4.

    • keyword add_local_metric (int): Metric assigned to subnets of interfaces on this appliance

    • keyword redist_bgp (bool): Enable redistribution of learned BGP routes via subnet sharing

    • keyword redist_ospf (bool): Enable redistribution of learned OSPF routes via subnet sharing

    • keyword redist_ospf_filter (int): Filter for OSPF routes redistributed to subnet sharing

    • keyword redist_ospf_metric (int): Add metric to OSPF routes to be redistributed to subnet sharing

    • keyword local_ospf_filter (int): Filter for locally learned OSPF routes

  • keyword nm_fsp_enable (bool): Enable network memory FSP

  • keyword nat (bool): Enable NAT

  • keyword auto_syn (bool): Enable auto SYN

  • keyword bridge_loop_test (bool): Bridge loop test

  • keyword auto_tunnel (bool): Enable auto tunnel

  • keyword ipsec_override (bool): SSL IPSec override

  • keyword auto_ipid (bool): Enable auto IP ID

  • keyword excess_flow (dict): Excess flow object

    • keyword dscp_marking (bool): Excess flow DSCP marking

    • keyword policy (str): Excess flow policy, e.g. bypass

  • keyword dpc (dict): DPC object

    • keyword tunfail (str): DPC tunnel failover behavior, e.g. fail-stick

  • keyword disk_encrypt_enable (bool): Enable disk encryption

  • keyword igmp_snooping (bool): Bridge multicast IGMP snooping

  • keyword nm_media (int): System network memory media

  • keyword nm_mode (int): System network memory mode

  • keyword node_dns (dict): DNS lookup object

    • keyword enable (bool): Enable DNS lookup

    • keyword ipaddr (str): DNS IP address

  • keyword smb_signing (bool): SMB signing optimization

  • keyword udp_inact_time (int): UDP flow timeout in seconds range from 1 to 65535

  • keyword quies_tun_ka_intvl (int): Quiescent-tunnel keep alive time range from 1 to 65535

  • keyword max_tcp_mss (int): Maximum TCP MSS range from 500 to 9000

  • keyword int_hairpin (bool): Enable internal hairpinning

  • keyword auto_pol_lookup_intvl (int): Auto policy lookup interval

  • keyword passthru_to_sender (bool): Disable passthrough L2 return to sender

  • keyword orch_guid (str): Orchestrator GUID

  • keyword idrc (dict): IDRC object

    • keyword param_delta (float): Parameter delta for IDRC

    • keyword param_g (float): Parameter g for IDRC

    • keyword param_m (float): Parameter m for IDRC

    • keyword param_y (float): Parameter y for IDRC

  • keyword ha_if (str): High availability interface,

  • keyword port_fwd_rules (str): Inbound port forwarding rules

  • keyword udp_ipsec_lcl_ports (str): List of ports used locally for UDP IPSec tunnels

  • keyword udp_ipsec_peer_ports (str): List of ports used by peers for UDP IPSec tunnels

  • keyword network_role (int): Network role,

  • keyword options (int): Tunnel system level options for future

  • keyword serverMode (dict): Server mode object

    • keyword target_in_thres (float): Interface max link threshold

    • keyword target_out_thres (float): Interface max link threshold

    • keyword in_max_bw (int): Server inbound max bandwidth (kbps)

    • keyword out_max_bw (int): Server outbound max bandwidth (kbps)

  • keyword shaperinbound (dict): Shaper inbound object

    • keyword wan (dict): Shaper interface wan

      • keyword max_bw (int): Shaper max bandwidth (kbps)

      • keyword dyn_bw_enable (bool): Enable/disable dynamic bandwidth for inbound shaper

      • keyword self (str): Shaper interface name. It is the same as the parent node key wan

      • keyword accuracy (int): Shaper accuracy (usec)

      • keyword enable (bool): Enable/disable inbound shaper

      • keyword traffic-class (dict): Traffic class

        • keyword <traffic_class_id> (dict): Traffic class ID, e.g. 1 object with nested attributes

          • keyword max_bw (float): Traffic class max bandwidth %

          • keyword min_bw (float): Traffic class min bandwidth %

          • keyword max_bw_abs (int): Traffic class max bandwidth (kbps)

          • keyword min_bw_abs (int): Traffic class min bandwidth (kbps)

          • keyword flow_limit (int): Traffic class flow rate limit

          • keyword self (int): Traffic class ID. It is the same as the parent node key trafficClassId

          • keyword excess (int): Traffic class excess weight

          • keyword priority (int): Traffic class priority

          • keyword max_wait (int): Traffic class max wait

Return type

dict

get_appliance_system_state_info(ne_id: str, cached: bool) dict

Get appliance system state information

Swagger Section

Method

Endpoint

appSystemStateInfo

GET

/systemInfo/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of appliance system state info

  • keyword portalObjectId (str): Appliance ID in Cloud Portal

  • keyword hostname (str): Appliance hostname

  • keyword nepk (str): Appliance ID

  • keyword biosVersion (str): BIOS version, e.g. 6.00

  • keyword rebootRequired (bool): True if system currently requires reboot

  • keyword inlineRouter (bool): True if system currently deployed in inline-router mode

  • keyword timezone (str): Configured timezone, e.g. Etc/UTC

  • keyword release (str): Current running software release, e.g. ECOS 9.1.0.1_91199

  • keyword uuid (str): UUID of appliance

  • keyword platform (str): Running platform, e.g. VMware for a VM EC running on ESXi

  • keyword datetime (str): Current Date/Time reported by appliance in format of YYYY/MM/DD HH:MM:SS TMZ

  • keyword gmtOffset (int): Hours offset from GMT

  • keyword modelShort (str): Short format of model name

  • keyword model (str): Full length detailed model name

  • keyword isLicenseInstalled (bool): Legacy local license status, e.g. false, not related to modern BW license

  • keyword licenseRequired (bool): If legacy license is required

  • keyword licenseExpiryDate (str):

  • keyword licenseExpirationDaysLeft (int): Days left of license in scientific format, e.g. 1.79e+308

  • keyword uptimeString (str): Uptime in string format, e.g. 1d 28m 40s

  • keyword releaseWithoutPrefix (str): Current running software release without ECOS prefix, e.g. 9.1.0.1_91199

  • keyword hasUnsavedChanges (bool): True if appliance has any current changes that have not yet been saved

  • keyword applianceid (int): Integer represetation of appliance id, e.g. 1894366

  • keyword deploymentMode (str): Current deployment mode, e.g. router

  • keyword uptime (int): Appliance uptime in milliseconds

  • keyword serial (str): Appliance serial number

  • keyword status (str): Appliance status, e.g. Normal

  • keyword alarmSummary (dict): Alarm summary object

    • keyword num_cleared (int): Number of cleared alarms

    • keyword num_critical (int): Number of critical alarms

    • keyword num_equipment_outstanding (int):

    • keyword num_major (int): Number of major alarms

    • keyword num_minor (int): Number of minor alarms

    • keyword num_outstanding (int): NEEDS DESCRIPTION

    • keyword num_raise_ignore (int): NEEDS DESCRIPTION

    • keyword num_software_outstanding (int): NEEDS DESCRIPTION

    • keyword num_tca_outstanding (int): NEEDS DESCRIPTION

    • keyword num_traffic_class_outstanding (int): NEEDS DESCRIPTION

    • keyword num_tunnel_outstanding (int): NEEDS DESCRIPTION

    • keyword num_warning (int): Number of warning alarms

Return type

dict

add_and_approve_discovered_appliances(id_key: int, group_pk: str, longitude: float = 0, latitude: float = 0) bool

Add and approve discovered appliance

Swagger Section

Method

Endpoint

appliance

POST

/appliance/discovered/approve/{key}

Parameters
  • id_key (int) – ID of appliance to be approved, e.g. 10

  • group_pk (str) – The appliance group identifier, e.g. 4.Network

  • latitude (float, optional) – the latitude of the appliance’s address, defaults to 0

  • longitude (float, optional) – the longitude of the appliance’s address, defaults to 0

Returns

Returns True/False based on successful call.

Return type

bool

add_discovered_appliances(id_key: int, group_pk: str, longitude: float = 0, latitude: float = 0) bool

Add discovered appliance

Swagger Section

Method

Endpoint

appliance

POST

/appliance/discovered/add/{key}

Parameters
  • id_key (int) – ID of appliance to be approved, e.g. 10

  • group_pk (str) – The appliance group identifier, e.g. 4.Network

  • latitude (float, optional) – the latitude of the appliance’s address, defaults to 0

  • longitude (float, optional) – the longitude of the appliance’s address, defaults to 0

Returns

Returns True/False based on successful call.

Return type

bool

appliance_delete_api(ne_pk: str, url: str) dict

Pass along a POST API call to an appliance

Swagger Section

Method

Endpoint

appliance

DELETE

/appliance/rest/{nePk}/{url : (.*)}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

  • url (str) – The API url call to pass to the appliance. This should be the path after ‘rest/json/’ of the appliance API call.

Returns

Returns True/False based on successful call

Return type

bool

appliance_get_api(ne_pk: str, url: str) dict

Pass along a GET API call to an appliance

Swagger Section

Method

Endpoint

appliance

GET

/appliance/rest/{nePk}/{url : (.*)}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

  • url (str) – The API url call to pass to the appliance. This should be the path after ‘rest/json/’ of the appliance API call.

Returns

Returns response of appliance GET API call

Return type

dict

appliance_post_api(ne_pk: str, url: str, data) dict

Pass along a POST API call to an appliance

Swagger Section

Method

Endpoint

appliance

POST

/appliance/rest/{nePk}/{url : (.*)}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

  • url (str) – The API url call to pass to the appliance. This should be the path after ‘rest/json/’ of the appliance API call.

  • data (list or dict) – The data to pass in body of call. Can be a list or dict

Returns

Returns True/False based on successful call

Return type

bool

change_appliance_credentials(ne_pk: str, username: str, password: str) bool

Update appliance access credentials

Swagger Section

Method

Endpoint

appliance

POST

/appliance/changePassword/{nePk}/{username}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

  • username (str) – The username for logging on to this appliance.

  • password (str) – The password for logging on to this appliance.

Returns

Returns True/False based on successful call.

Return type

bool

change_appliance_group(group_pk: str, ne_pk_list: list[str]) bool

Modify an appliance’s group membership. To get primary key of Orchestrator group, use get_gms_groups()

Swagger Section

Method

Endpoint

appliance

POST

/appliance/changeGroup/{groupPk}

Parameters
  • group_pk (str) – The appliance group identifier, e.g. “4.Network”

  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

Returns

Returns True/False based on successful call.

Return type

bool

default_appliance_stats_config() dict

Get default values for appliance statistics configuration

Swagger Section

Method

Endpoint

appliance

GET

/appliance/statsConfig/default

Returns

Returns dictionary of appliance stats configuration

Return type

dict

delete_appliance(ne_pk: str) bool

Delete an appliance from Orchestrator. IMPORTANT - In addition to removing from Orchestrator, this will remove account/key and Orchestrator information on appliance.

Swagger Section

Method

Endpoint

appliance

DELETE

/appliance/{nePk}

Parameters

ne_pk (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

Returns

Returns True/False based on successful call.

Return type

bool

delete_appliance_for_rediscovery(ne_pk: str) bool

Delete an appliance from Orchestrator for rediscovery

Swagger Section

Method

Endpoint

appliance

DELETE

/appliance/deleteForDiscovery/{nePk}

Parameters

ne_pk (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

Returns

Returns True/False based on successful call

Return type

bool

delete_denied_appliances(appliances: list[str]) bool

This API is to permanently delete denied appliances. The portal object ID can be found from get_all_denied_appliances()

Swagger Section

Method

Endpoint

appliance

POST

/appliance/denied/delete

Parameters

appliances (list[str]) – List of strings of appliance portal object id’s to permanently delete, e.g. ["6193c766026ea2b776b038ac",...]

Returns

Returns True/False based on successful call.

Return type

bool

deny_appliance(id_key: int) bool

Deny discovered appliance

Swagger Section

Method

Endpoint

appliance

POST

/appliance/discovered/deny/{id}

Parameters

id_key (int) – ID of appliance to be approved, e.g. 10

Returns

Returns True/False based on successful call.

Return type

bool

get_all_approved() list

Get all appliances currently approved

Swagger Section

Method

Endpoint

appliance

GET

/appliance/approved

Returns

Returns approved appliances

Return type

list

get_all_denied_appliances() list

Get all appliances currently denied

Swagger Section

Method

Endpoint

appliance

GET

/appliance/denied

Returns

Returns denied appliances

Return type

list

get_all_discovered() list

Get all appliances currently discovered

Swagger Section

Method

Endpoint

appliance

GET

/appliance/discovered

Returns

Returns discovered appliances

Return type

list

get_appliance_dns_cache_config(ne_pk: str, cached: bool) dict

Get appliance DNS Cache configuration

Swagger Section

Method

Endpoint

appliance

GET

/appliance/dnsCache/config/{neId}?cached={cached}

Returns

Returns dictionary of DNS cache configuration

Return type

dict

get_appliance_info(ne_pk: str) dict

Get appliance information

Swagger Section

Method

Endpoint

appliance

GET

/appliance/{nePk}

Parameters

ne_pk (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

Returns

Returns dictionary of appliance information

  • keyword id (str): This is the primary key of the appliance. Every appliance managed by Orchestrator is given a primary key and it uniquely identifies an appliance among all appliances managed by Orchestrator

  • keyword uuid (str): This is also an unique identifier. It is generated and self assigned by the appliance itself.

  • keyword networkRole (str): The network role the appliance is configured in Orchestrator. spoke = 0, hub = 1, mesh = 2

  • keyword site (str): An identifier used to tag an appliance with a site name

  • keyword sitePriority (int): Priority given to the appliance with the site it belongs to

  • keyword userName (str): User name used to login to appliance

  • keyword password (str): Password used to login to appliance. They are not returned for security reasons

  • keyword groupId (str): Primary key identifier of the Orchestrator group the appliance belongs to

  • keyword IP (str): IP Address of the appliance

  • keyword webProtocolType (int): Protocol used by Orchestrator to talk to appliance. Http = 1, Https = 2, Both = 3

  • keyword serial (str): Serial number of the appliance

  • keyword hasUnsavedChanges (bool): If True, there are unsaved changes on the appliance

  • keyword rebootRequired (bool): If True, the applianceappliance requires areboot

  • keyword model (str): Appliance model. Eg: EC-XS

  • keyword hardwareRevision (str): Hardware revision of the appliance. e.g. 200193-004 Rev A

  • keyword hostName (str): Appliance hostname

  • keyword applianceId (str): This is yet another identifier of the appliance. But it is mainly used by the appliance to identify its peer

  • keyword mode (str): Deployment mode the appliance is configured in

  • keyword bypass (bool): If True, appliance is currently in bypass

  • keyword softwareVersion (str): Software version running on the appliance

  • keyword startupTime (int): No description in Swagger

  • keyword webProtocol (str): String version of the protocol field. Possible values are BOTH, HTTP, and HTTPS

  • keyword systemBandwidth (int): Appliance system bandwidth, in Kbps

  • keyword state (int): State of the appliance. 0 - Unknown ( When an appliance is added to Orchestrator, it is in this state ), 1 - Normal (Appliance is reachable from Orchestrator), 2 - Unreachable (Appliance is unreachable from Orchestrator), 3 - Unsupported Version (Orchestrator does not support this version of the appliance ), 4 - Out of Synchronization (Orchestrator’s cache of appliance configuration/state is out of sync with the configuration/state on the appliance), 5 - Synchronization in Progress (Orchestrator is currently synchronizing appliances’s configuration and state)

  • keyword dynamicUuid (str): NEEDS DESCRIPTION

  • keyword portalObjectId (str): Appliance hash ID in Cloud Portal

  • keyword discoveredFrom (int): How the appliance was added to Orchestrator. 1 = MANUAL, 2 = PORTAL, 3 = APPLIANCE

  • keyword reachabilityChannel (int): Reachability channel of the appliance. 0 - Unknown, 1 - Orchestrator talks to appliance using HTTP/HTTPS using user id and password. This is not used for EdgeConnects and SD-WAN, 2 - Appliance connects to Orchestrator using HTTPS Websocket. Orchestrator uses this permanent connection to configure/monitor appliance. This is done because Appliance may be behind a firewall making it hard for Orchestrator to contact appliance using IP address, 4 - Orchestrator sends configuration/monitoring request to Cloud Portal which relays those requests to Appliance. Appliance sends its response to Cloud Portal which relays it back to Orchestrator.

  • keyword ip (str): Same as IP field

  • keyword nePk (str): same as ID field

  • keyword zoneList (dict): dictionary of list of zones being used by appliance

    • keyword zones (list[str]): list of zones

  • keyword interfaceList (dict): dictionary of list of interface labels being used by appliance

    • keyword interfaceLabels (list[str]): list of interface numbers

  • keyword tagsList (list): No description in Swagger

Return type

dict

Raises

ValueError – Checks format of provided NePK value containing “.NE”

get_appliance_stats_config() dict

Get appliance statistics configuration

Swagger Section

Method

Endpoint

appliance

GET

/appliance/statsConfig

Returns

Returns dictionary of appliance stats configuration

Return type

dict

get_appliances() list

Get all appliances from Orchestrator

Swagger Section

Method

Endpoint

appliance

GET

/appliance

Returns

Returns list of dictionaries of each appliance

Return type

list

get_appliances_queued_for_deletion() dict

Get all appliances queued for deletion from Orchestrator

Swagger Section

Method

Endpoint

appliance

GET

/appliance/queuedForDeletion

Returns

Returns list of dictionaries of each appliance queued for deletion

Return type

list

modify_appliance(ne_pk: str, username: str, password: str, ip: str, web_protocol_type: int, network_role: str) bool

Modify an appliance’s IP address, username, password, network Role, and webProtocol

Swagger Section

Method

Endpoint

appliance

POST

/appliance/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

  • username (str) – The username for logging on to this appliance.

  • password (str) – The password for logging on to this appliance.

  • ip (str) – The ip address of the appliance.

  • web_protocol_type (int) – Protocol used by Orchestrator to talk to appliance. Http = 1, Https = 2, Both = 3,

  • network_role (str) – The network role the appliance is configured in Orchestrator. spoke = 0, hub = 1, mesh = 2

Returns

Returns True/False based on successful call.

Return type

bool

modify_appliance_stats_config(vertical_retention: int, minute_retention: int, app: dict, port: dict, dns: dict, ip: dict, flows_csv_enable: bool) bool

Update appliance stats configuration to be synchronized to appliances

Swagger Section

Method

Endpoint

appliance

POST

/appliance/statsConfig

Parameters
  • vertical_retention (int) – The setting of how many days of vertical stats this appliance will keep,

  • minute_retention (int) – The setting of how many minutes of minute stats this appliance will keep,

  • app (dict) –

    Dictionary with two k/v pairs

    • keyword max_items (int): -1 indicates that appliance controls the number of entries.

    • keyword evict_enable (bool): No description in Swagger

  • port (dict) –

    Dictionary with two k/v pairs

    • keyword max_items (int): -1 indicates that appliance controls the number of entries.

    • keyword evict_enable (bool): No description in Swagger

  • dns (dict) –

    Dictionary with two k/v pairs

    • keyword max_items (int): -1 indicates that appliance controls the number of entries.

    • keyword evict_enable (bool): No description in Swagger

  • ip (dict) –

    Dictionary with two k/v pairs

    • keyword max_items (int): -1 indicates that appliance controls the number of entries.

    • keyword evict_enable (bool): No description in Swagger

  • flows_csv_enable (bool) – No description in Swagger

Returns

Returns True/False based on successful call.

Return type

bool

rediscover_denied_appliance(id_key: int) bool

Discover denied appliance

Swagger Section

Method

Endpoint

appliance

POST

/appliance/rediscoverAppliance/{id}

Parameters

ne_pk (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

Returns

Returns True/False based on successful call.

Return type

bool

update_discovered_appliances() bool

Trigger discovered appliances update

Swagger Section

Method

Endpoint

appliance

PUT

/appliance/discovered/update

Returns

Returns True/False based on successful call.

Return type

bool

backup_appliance_config(ne_pk_list: list[str], comment: str) dict

Backup appliance configuration to Orchestrator database

Swagger Section

Method

Endpoint

applianceBackup

POST

/appliance/backup

The response of this operation is a client key which can be polled to get progress of the requested operation. To poll for status, perform pyedgeconnect.Orchestrator.get_audit_log_task_status()

Parameters
  • ne_pk_list – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • comment (str) – Comment to include with action

Returns

Returns dictionary with identifying key of this task.

  • keyword clientKey (str): Client key which can be polled to get progress of the requested action.

Return type

dict

delete_appliance_backup(appliance_backup_id: int) bool

Delete specific backup of appliance from Orchestrator database

Swagger Section

Method

Endpoint

applianceBackup

DELETE

/appliance/backup/{backupFilePk}

Parameters

appliance_backup_id (int) – The integer id of a specific backup to filter for, defaults to None

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_backup_history(ne_id: str, running_config: bool, appliance_backup_id: Optional[int] = None) list

Get backup history of appliance

Swagger Section

Method

Endpoint

applianceBackup

GET

/appliance/backup/{neId}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • running_config (bool) – True to include appliance running configuration in the response data. False will set the runningConfig value to null

  • appliance_backup_id (int, optional) – The integer id of a specific backup to filter for, defaults to None

Returns

Returns list of dictionaries of appliance backup history

[dict]: Appliance backup object

  • keyword id (int): The id number of this backup in Orchestrator database

  • keyword comment (str): Comment message on backup

  • keyword backupTime (int): Time backup was executed in unix epoch seconds

  • keyword swVersion (str): Appliance software version at time of backup

  • keyword fileName (str): The filename on which the appliance configuration is now based

  • keyword runningConfig (str): The appliance currently active configuration files’ data

  • keyword uploadStream: No description in Swagger, often value of null

Return type

dict

restore_appliance_from_backup(ne_pk: str, appliance_backup_id: int) dict

Restore appliance from the specified backup

Swagger Section

Method

Endpoint

applianceBackup

POST

/appliance/restore/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • appliance_backup_id (int) – The integer id of a specific backup to filter for, defaults to None

Returns

Returns dictionary with identifying key of this task.

  • keyword clientKey (str): Client key which can be polled to get progress of the requested action.

Return type

dict

appliance_crash_history(action: Optional[str] = None)

Get appliance crash history. Can optionally send crash reports to Cloud Portal

Swagger Section

Method

Endpoint

applianceCrashHistory

GET

/gms/applianceCrashHistory

Parameters

action (str, optional) – If this paramter has a value, the appliance crash reports will be sent to Cloud Portal, defaults to None

Returns

Returns True/False based on successful call sending crash reports to Cloud Portal. If action is None, will return dict of appliance crash history.

Return type

bool or dict

delete_appliance_extra_info(ne_pk: str) dict

Delete appliance extra info from appliance, includes location, contact, and user-defined ipsecudp information

Swagger Section

Method

Endpoint

applianceExtraInfo

DELETE

/appliance/extraInfo/{nePk}

Parameters

ne_pk (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_extra_info(ne_pk: str) dict

Get appliance extra info, including location, contact, and ipsecudp information

Swagger Section

Method

Endpoint

applianceExtraInfo

GET

/appliance/extraInfo/{nePk}

Parameters

ne_pk (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns dictionary of appliance extra info

  • keyword location (dict): Location info object

    • keyword address (str): Street Address

    • keyword address2 (str): Additional Address Info

    • keyword city (str): City

    • keyword state (str): State

    • keyword zipCode (str): Zip Code

    • keyword country (str): Country

  • keyword contact (dict): Contact info object

    • keyword name (str): Contact name

    • keyword email (str): Contact email

    • keyword phoneNumber (str): Contact phone number

  • keyword overlaySettings (dict): Overlay settings info object

    • keyword ipsecUdpPort (str): Port used for ipsec udp traffic on appliance

    • keyword isUserDefinedIPSecUDPPort (bool): True if user has defined custom port, False if port is determined by Orchestrator/Appliance

Return type

dict

set_appliance_extra_info(ne_pk: str, address: str = '', address2: str = '', city: str = '', state: str = '', zip_code: str = '', country: str = '', contact_name: str = '', contact_email: str = '', contact_phone: str = '', ipsec_udp_port: str = '') dict

Set appliance extra info, including location, contact, and ipsecudp information

Swagger Section

Method

Endpoint

applianceExtraInfo

POST

/appliance/extraInfo/{nePk}

Parameters
  • ne_pk (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • address (str, optional) – Street address location, defaults to blank string

  • address2 (str, optional) – Additional address location info, defaults to blank string

  • city (str, optional) – City, defaults to blank string

  • state (str, optional) – State, defaults to blank string

  • zip_code (str, optional) – Zip code, defaults to blank string

  • country (str, optional) – Country, defaults to blank string

  • contact_name (str, optional) – Contact person name, defaults to blank string

  • contact_email (str, optional) – Contact person email, defaults to blank string

  • contact_phone (str, optional) – Contact person phone number, defaults to blank string

  • ipsec_udp_port (str, optional) – Port to be used for IPSEC UDP traffic, defaults to blank string

Returns

Returns True/False based on successful call

Return type

bool

apply_preconfig_to_existing(preconfig_id: str, ne_pk: str) bool

Apply preconfig to existing approved appliance

Swagger Section

Method

Endpoint

appliancePreconfig

POST

/gms/appliance/preconfiguration/{preconfigId}/apply/{nePk}

Parameters
  • preconfig_id (str) – Numeric ID of preconfig to apply, e.g. 15

  • ne_pk (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

Returns

Returns True/False based on successful call

Return type

bool

approve_and_apply_preconfig(preconfig_id: str, discovered_id: str) bool

Approve an appliance and apply a preconfig to it

Swagger Section

Method

Endpoint

appliancePreconfig

POST

/gms/appliance/preconfiguration/{preconfigId}/apply/discovered/{discoveredId}

Parameters
  • preconfig_id (str) – Numeric ID of preconfig to apply, e.g. 15

  • discovered_id (str) – Numeric ID of discovered appliance, e.g. 10

Returns

Returns True/False based on successful call

Return type

bool

create_preconfig(preconfig_name: str, yaml_preconfig: str, auto_apply: bool, serial_number: str = '', tag: str = '', comment: str = '') dict

Upload a YAML Preconfig to Orchestrator

Swagger Section

Method

Endpoint

appliancePreconfig

POST

/gms/appliance/preconfiguration

Parameters
  • preconfig_name (str) – Name of preconfig and tag to match, often the hostname of the intended device

  • yaml_preconfig (str) – YAML text of preconfig configuration, this will get base64 converted in this function before upload.

  • auto_apply (bool) – When True, Auto Apply will immediately provision an appliance when discovered with matching criteria. False will require manual approval of an appliance.

  • serial_number (str, optional) – Serial number of the appliance to match against discovery criteria, defaults to “”

  • tag (str, optional) – Appliance tag for Orchestrator to match against discovered devices, defaults to “”

  • comment (str, optional) – Comment field / notes on preconfig, defaults to “”

Returns

Returns assigned ID value of newly created preconfig

  • keyword id (int): Id of the new preconfiguration to be referenced in other API calls

Return type

dict

delete_preconfig(preconfig_id: str) bool

Delete a preconfig from Orchestrator

Swagger Section

Method

Endpoint

appliancePreconfig

DELETE

/gms/appliance/preconfiguration/{preconfigId}

Parameters

preconfig_id (str) – Numeric ID of preconfig to delete, e.g. 15

Returns

Returns True/False based on successful call

Return type

bool

find_matching_preconfig(serial_number: str = '', tag: str = '') dict

Find and return the first matching preconfig by serial number then tag. If both are blank (“”) will return first preconfig.

Swagger Section

Method

Endpoint

appliancePreconfig

POST

/gms/appliance/preconfiguration/findMatch

Parameters
  • serial_number (str, optional) – Serial number of the appliance to match against discovery criteria, defaults to “”

  • tag (str, optional) – Appliance tag for Orchestrator to match against discovered devices, defaults to “”

Returns

Returns dictionary with preconfig detail

  • keyword id (int, optional): Id of the preconfiguration, used to reference this preconfiguration in the other APIs

  • keyword name (str, optional): Name of preconfiguration

  • keyword serialNum (str, optional): Serial number to match on

  • keyword tag (str, optional): Tag to match on

  • keyword comment (str, optional): User provided comment for the preconfiguration

  • keyword autoApply (bool, optional): Automatically apply this preconfiguration to the matched appliance when Orchestrator discovers it

  • keyword configData (str, optional): Base64 encoded preconfiguration YAML string

  • keyword createdtime (int, optional): Time when preconfiguration was created in epoch milliseconds

  • keyword modifiedtime (int, optional): Time when preconfiguration was last modified in epoch milliseconds

  • keyword nepk (str, optional): Appliance ID that preconfig was last applied to

  • keyword discoveredId (str, optional): Discovered appliance ID that preconfig was last applied to (the id of appliances in the discovered tab are different than when the appliance is approved)

  • keyword guid (str, optional): ID of the log created in actionlog when the preconfiguration was applied

  • keyword taskStatus (int, optional): The current status of the preconfig apply. 0: Not Started, 1: In Progress, and 2: Finished

  • keyword completionStatus (bool, optional): Whether the apply was successful or not, only look at this if taskStatus == 2

  • keyword starttime (int, optional): Start time of last apply in epoch milliseconds

  • keyword endtime (int, optional): End time of last apply in unix epoch milliseconds

  • keyword result (list[dict], optional)

    [dict]: results object

    • keyword taskStatus (int, optional): The current status of the preconfig apply. 0: Not Started, 1: In Progress, and 2: Finished

    • keyword completionStatus (bool, optional): Whether the apply was successful or not, only look at this if taskStatus == 2

    • keyword name (str, optional): Name of the task

    • keyword result (str, optional): Status/result string information of the task

    • keyword nePk (str, optional): Appliance ID task is applying to

    • keyword data (str, optional): String or JSON for the data that was used by this task

Return type

dict

get_all_preconfig(data_filter: Optional[str] = None) list

Get preconfigs from Orchestrator

Swagger Section

Method

Endpoint

appliancePreconfig

GET

/gms/appliance/preconfiguration

Parameters

filter (str, optional) – Filter of returned results. Value of “names” will return list of dictionaries of just preconfig names. Value of “metadata” will include all associated metatdata without configuration data. No filter will return all metadata and base64 of the preconfig configuration, defaults to None

Returns

Returns list of dictionaries of preconfigs and/or associated metadata and configuration

[dict]: preconfig object

  • keyword id (int, optional): Id of the preconfiguration, used to reference this preconfiguration in the other APIs

  • keyword name (str, optional): Name of the preconfiguration

  • keyword serialNum (str, optional): Serial number to match on

  • keyword tag (str, optional): Tag to match on,

  • keyword comment (str, optional): User provided comment for the preconfiguration

  • keyword autoApply (bool, optional): Automatically apply this preconfiguration to the matched appliance when Orchestrator discovers it

  • keyword configData (str, optional): Base64 encoded preconfiguration YAML string

  • keyword createdtime (int, optional): Time when preconfiguration was created in epoch milliseconds

  • keyword modifiedtime (int, optional): Time when preconfiguration was last modified in epoch milliseconds

  • keyword nepk (str, optional): Appliance ID that preconfig was last applied to

  • keyword discoveredId (str, optional): Discovered appliance ID that preconfig was last applied to (the id of appliances in the discovered tab are different than when the appliance is approved)

  • keyword guid (str, optional): ID of the log created in actionlog when the preconfiguration was applied

  • keyword taskStatus (int, optional): The current status of the preconfig apply. 0: Not Started, 1: In Progress, and 2: Finished

  • keyword completionStatus (bool, optional): Whether the apply was successful or not, only look at this if taskStatus == 2

  • keyword starttime (int, optional): Start time of last apply in epoch milliseconds

  • keyword endtime (int, optional): End time of last apply in epoch milliseconds

  • keyword result (list[dict], optional): results

    [dict]: results object

    • keyword taskStatus (int, optional): The current status of the preconfig apply. 0: Not Started, 1: In Progress, 2: Finished

    • keyword completionStatus (bool, optional): Whether the apply was successful or not, only look at this if taskStatus == 2

    • keyword name (str, optional): Name of the task

    • keyword result (str, optional): Status/result string information of the task

    • keyword nePk (str, optional): Appliance ID task applies to

    • keyword data (str, optional): String or JSON for the data that was used by this task

Return type

list

get_apply_preconfig_status(preconfig_id: str) dict

Get the apply status of a preconfig

Swagger Section

Method

Endpoint

appliancePreconfig

GET

/gms/appliance/preconfiguration/{preconfigId}/apply

Parameters

preconfig_id (str) – Numeric ID of preconfig to check, e.g. 15

Returns

Returns dictionary with preconfig status detail

  • keyword id (int, optional): Id of the preconfiguration, used to reference this preconfiguration in the other APIs

  • keyword guid (str, optional): ID of the log created in actionlog when the preconfiguration was applied

  • keyword taskStatus (int, optional): The current status of the preconfig apply. 0: Not Started, 1: In Progress, and 2: Finished

  • keyword completionStatus (bool, optional): Whether the apply was successful or not, only look at this if taskStatus == 2

  • keyword starttime (int, optional): Start time of last apply in epoch milliseconds

  • keyword endtime (int, optional): End time of last apply in unix epoch milliseconds

  • keyword result (list[dict], optional)

    [dict]: results object

    • keyword taskStatus (int, optional): The current status of the preconfig apply. 0: Not Started, 1: In Progress, and 2: Finished

    • keyword completionStatus (bool, optional): Whether the apply was successful or not, only look at this if taskStatus == 2

    • keyword name (str, optional): Name of the task

    • keyword result (str, optional): Status/result string information of the task

    • keyword nePk (str, optional): Appliance ID task is applying to

    • keyword data (str, optional): String or JSON for the data that was used by this task

Return type

dict

get_default_preconfig() dict

Get the default preconfiguration, this contains the template YAML which has all possible configuration items. You will have to base64 decode configData to see the YAML in plain text.

Swagger Section

Method

Endpoint

appliancePreconfig

GET

/gms/appliance/preconfiguration/default

Returns

Returns dictionary with preconfig detail

  • keyword id (int, optional): Id of the preconfiguration, used to reference this preconfiguration in the other APIs

  • keyword name (str, optional): Name of preconfiguration

  • keyword serialNum (str, optional): Serial number to match on

  • keyword tag (str, optional): Tag to match on

  • keyword comment (str, optional): User provided comment for the preconfiguration

  • keyword autoApply (bool, optional): Automatically apply this preconfiguration to the matched appliance when Orchestrator discovers it

  • keyword configData (str, optional): Base64 encoded preconfiguration YAML string

  • keyword createdtime (int, optional): Time when preconfiguration was created in epoch milliseconds

  • keyword modifiedtime (int, optional): Time when preconfiguration was last modified in epoch milliseconds

  • keyword nepk (str, optional): Appliance ID that preconfig was last applied to

  • keyword discoveredId (str, optional): Discovered appliance ID that preconfig was last applied to (the id of appliances in the discovered tab are different than when the appliance is approved)

  • keyword guid (str, optional): ID of the log created in actionlog when the preconfiguration was applied

  • keyword taskStatus (int, optional): The current status of the preconfig apply. 0: Not Started, 1: In Progress, and 2: Finished

  • keyword completionStatus (bool, optional): Whether the apply was successful or not, only look at this if taskStatus == 2

  • keyword starttime (int, optional): Start time of last apply in epoch milliseconds

  • keyword endtime (int, optional): End time of last apply in unix epoch milliseconds

  • keyword result (list[dict], optional)

    [dict]: results object

    • keyword taskStatus (int, optional): The current status of the preconfig apply. 0: Not Started, 1: In Progress, and 2: Finished

    • keyword completionStatus (bool, optional): Whether the apply was successful or not, only look at this if taskStatus == 2

    • keyword name (str, optional): Name of the task

    • keyword result (str, optional): Status/result string information of the task

    • keyword nePk (str, optional): Appliance ID task is applying to

    • keyword data (str, optional): String or JSON for the data that was used by this task

Return type

dict

get_preconfig(preconfig_id: str) dict

Get specific preconfig from Orchestrator

Swagger Section

Method

Endpoint

appliancePreconfig

GET

/gms/appliance/preconfiguration/{preconfigId}

Parameters

preconfig_id (str) – ID of the preconfig to retrieve, e.g. 15

Returns

Returns dictionary with preconfig detail

  • keyword id (int, optional): Id of the preconfiguration, used to reference this preconfiguration in the other APIs

  • keyword name (str, optional): Name of preconfiguration

  • keyword serialNum (str, optional): Serial number to match on

  • keyword tag (str, optional): Tag to match on

  • keyword comment (str, optional): User provided comment for the preconfiguration

  • keyword autoApply (bool, optional): Automatically apply this preconfiguration to the matched appliance when Orchestrator discovers it

  • keyword configData (str, optional): Base64 encoded preconfiguration YAML string

  • keyword createdtime (int, optional): Time when preconfiguration was created in epoch milliseconds

  • keyword modifiedtime (int, optional): Time when preconfiguration was last modified in epoch milliseconds

  • keyword nepk (str, optional): Appliance ID that preconfig was last applied to

  • keyword discoveredId (str, optional): Discovered appliance ID that preconfig was last applied to (the id of appliances in the discovered tab are different than when the appliance is approved)

  • keyword guid (str, optional): ID of the log created in actionlog when the preconfiguration was applied

  • keyword taskStatus (int, optional): The current status of the preconfig apply. 0: Not Started, 1: In Progress, and 2: Finished

  • keyword completionStatus (bool, optional): Whether the apply was successful or not, only look at this if taskStatus == 2

  • keyword starttime (int, optional): Start time of last apply in epoch milliseconds

  • keyword endtime (int, optional): End time of last apply in unix epoch milliseconds

  • keyword result (list[dict], optional)

    [dict]: results object

    • keyword taskStatus (int, optional): The current status of the preconfig apply. 0: Not Started, 1: In Progress, and 2: Finished

    • keyword completionStatus (bool, optional): Whether the apply was successful or not, only look at this if taskStatus == 2

    • keyword name (str, optional): Name of the task

    • keyword result (str, optional): Status/result string information of the task

    • keyword nePk (str, optional): Appliance ID task is applying to

    • keyword data (str, optional): String or JSON for the data that was used by this task

Return type

dict

modify_preconfig(preconfig_name: str, yaml_preconfig: str, auto_apply: bool, preconfig_id: str, serial_number: str = '', tag: str = '', comment: str = '') bool

Modify a YAML Preconfig on Orchestrator

Swagger Section

Method

Endpoint

appliancePreconfig

POST

/gms/appliance/preconfiguration/{preconfigId}

Parameters
  • preconfig_name (str) – Name of preconfig and tag to match, often the hostname of the intended device

  • yaml_preconfig (str) – YAML text of preconfig configuration, this will get base64 converted in this function before upload.

  • auto_apply (bool) – When True, Auto Apply will immediately provision an appliance when discovered with matching criteria. False will require manual approval of an appliance.

  • preconfig_id (str) – ID of the preconfig to modify, e.g. 15

  • serial_number (str, optional) – Serial number of the appliance to match against discovery criteria, defaults to “”

  • tag (str, optional) – Appliance tag for Orchestrator to match against discovered devices, defaults to “”

  • comment (str, optional) – Comment field / notes on preconfig, defaults to “”

Returns

Returns True/False based on successful call

Return type

bool

validate_preconfig(preconfig_name: str, yaml_preconfig: str, auto_apply: bool = False, serial_number: str = '', tag: str = '', comment: str = '') Response

Runs validation on a preconfig on Orchestrator to identify errors within the configuration

Swagger Section

Method

Endpoint

appliancePreconfig

POST

/gms/appliance/preconfiguration/validate

Parameters
  • preconfig_name (str) – Name of preconfig and tag to match, often the hostname of the intended device

  • yaml_preconfig (str) – YAML text of preconfig configuration, this will get base64 converted in this function before upload.

  • auto_apply (bool, optional) – Parameter exists, but does not have a function in the validation process, only applys to a saved preconfig on Orchestrator.

  • serial_number (str, optional) – Serial number of the appliance to match against discovery criteria, defaults to “”

  • tag (str, optional) – Appliance tag for Orchestrator to match against discovered devices, defaults to “”

  • comment (str, optional) – Comment field / notes on preconfig, defaults to “”

Returns

Returns full requests response from Orchestrator

Return type

requests.Response object

get_appliance_reboot_history(action: Optional[str] = None) list

Get all appliance reboot history, optionally send reboot reports to Cloud Portal

Swagger Section

Method

Endpoint

applianceRebootHistory

GET

/gms/applianceRebootHistory

Parameters

action (string, optional) – If None, returns all the appliance history otherwise it will send all the reboot reports to portal, defaults to None

Returns

Returns list of dictionaries for each appliance reboot history

[dict]: list of reboot history dictionaries

  • keyword nePk (str, optional): This is the primary key of the appliance. e.g. 3.NE

  • keyword time (int, optional): Epoch time of Appliance reboot Time

  • keyword version (str, optional): Appliance version before it rebooted

  • keyword rootCause (str, optional): Root cause for the reboot. Normal indicates reboot was initiated by user. Unexpected shutdown - indicates there could be a appliance crash

  • keyword sentToPortal (bool, optional): boolean flag to indicate whether the reboot record sent to portal or not

Return type

list

appliance_resync(ne_pk_list: list[str]) str

Trigger synchronization for list of appliances provided. Synchronize operation will return a string key. Use pyedgeconnect.Orchestrator.get_audit_log_task_status() with the key value to get the status of the operation.

Swagger Section

Method

Endpoint

applianceResync

POST

/applianceResync

Parameters

ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

Returns

Returns key value for requested operation. Use pyedgeconnect.Orchestrator.get_audit_log_task_status() with the key value to get the status of the operation.

Return type

str

delete_ecos_image(image_name: str) dict

Delete ECOS image

Swagger Section

Method

Endpoint

upgradeAppliances

DELETE

/vxoaImages/{imageFile}

Parameters

image_name (str) – The image name to delete, e.g. pdimage-9.1.0.2_91232.img

Returns

Returns dictionary of appliance upgrade background task

  • keyword clientKey (str): The client key of appliances upgrade background task

Return type

dict

get_ecos_images() list

Get ECOS images data including file name, version, and build date and time

Swagger Section

Method

Endpoint

applianceUpgrade

GET

/vxoaImages

Returns

Returns list of dictionaries of ECOS image details

  • [dict]: Image object

    • keyword NxImage.fileName (str): image filename, e.g. pdimage-9.0.3.2_89687.img

    • keyword NxImage.buildDate (str): image build date time, e.g. 2021-09-02 20:39:05

    • keyword NxImage.version (str): image version, e.g. 9.0.3.2_89687

    • keyword NxImage.lastModified (int): image last modified time in Unix Epoch milliseconds

    • keyword portalDownloaded (bool): If image is downloaded from Cloud Portal

Return type

dict

get_appliance_software_version(ne_pk: str, cached: bool) list

Get appliance software version information

Swagger Section

Method

Endpoint

appliancesSoftwareVersions

GET

/appliancesSoftwareVersions/{nePK}?cached={cached}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns list of dictionaries of software version information per partition.

[dict]: Software version info object

  • keyword partition (int): integer of partition where software is installed

  • keyword build_version (str): software version number

  • keyword build_time (str): timetstamp of build

  • keyword active (bool): True if this partition is the active software

  • keyword next_boot (bool): True if this partition will be active for next boot

  • keyword fallback_boot (bool): True if this partition will boot if another active partition fails

Return type

list

delete_user_defined_app_address_map(ip_start: int, ip_end: int) bool

Delete specific user defined application group based on address map

Swagger Section

Method

Endpoint

applicationDefinition

DELETE

/applicationDefinition/ipIntelligenceClassification/{ipStart}/{ipEnd}

Parameters
  • ip_start (str) – Starting IP address, IP addresses must be passed as 32-bit integer values, e.g. 167837953 rather than 10.1.1.1

  • ip_end (str) – Ending IP address, IP addresses must be passed as 32-bit integer values, e.g. 167837953 rather than 10.1.1.1

Returns

Returns True/False based on successful call

Return type

bool

delete_user_defined_app_dns_classification(domain: str) bool

Delete specific user defined application dns classification

Swagger Section

Method

Endpoint

applicationDefinition

DELETE

/applicationDefinition/dnsClassification/{domain}

Parameters

domain (str) – Domain for classification, e.g. site.tld or service.site.tld

Returns

Returns True/False based on successful call

Return type

bool

delete_user_defined_app_port_protocol(port: int, protocol: int) bool

Delete a user-defined application for IP port and protocol

Swagger Section

Method

Endpoint

applicationDefinition

DELETE

/applicationDefinition/portProtocolClassification/{port}/{protocol}

Parameters
  • port (int) – IP port, e.g. 8089

  • protocol (int) – IP = 0, TCP = 6, UDP = 17

Returns

Returns True/False based on successful call

Return type

bool

get_application_modification_times() list

Retrieve modification times and hashes of application and application group definitions

Swagger Section

Method

Endpoint

applicationDefinition

GET

/applicationDefinition/updatedTime

Returns

Returns list of dictionaries for both applications and application group modifications

Return type

list

get_user_defined_app_address_map() dict

Get all user defined application group based on address map

Swagger Section

Method

Endpoint

applicationDefinition

GET

/applicationDefinition/ipIntelligenceClassification

Returns

Returns user-defined application by address map

Return type

dict

get_user_defined_app_dns_classification() list

Retrieve user defined application dns classification

Swagger Section

Method

Endpoint

applicationDefinition

GET

/applicationDefinition/dnsClassification

Returns

Returns list of dictionaries for user defined application dns classifications

[dict]: DNS application object

  • keyword domain (str): Domain to match against, e.g. test.url.com

  • keyword name (str): Name of application entry. Maximum of 31 characters.

  • keyword description (str): Description of entry

  • keyword priority (int): Confidence metric for classification, accepted value beween 0-100.

  • keyword disabled (bool): False if classification is active and True if disabled

Return type

list

get_user_defined_app_groups() list

Retrieve user defined application groups as JSON

Swagger Section

Method

Endpoint

applicationDefinition

GET

/applicationDefinition/applicationTags

Returns

Returns user defined application groups

Return type

list

get_user_defined_app_port_protocol() dict

Retrieve user-defined application port and protocol classification (IP/TCP/UDP)

Swagger Section

Method

Endpoint

applicationDefinition

GET

/applicationDefinition/portProtocolClassification

Returns

Returns user-defined application port and protocol classification

Return type

dict

post_user_defined_app_address_map(ip_start: int, ip_end: int, name: str = '', description: str = '', priority: str = '', country: str = '', country_code: str = '', org: str = '') bool

Create or update user defined application groups based on address map

Swagger Section

Method

Endpoint

applicationDefinition

POST

/applicationDefinition/ipIntelligenceClassification/{ipStart}/{ipEnd}

Parameters
  • ip_start (str) – Starting IP address, IP addresses must be passed as 32-bit integer values, e.g. 167837953 rather than 10.1.1.1

  • ip_end (str) – Ending IP address, IP addresses must be passed as 32-bit integer values, e.g. 167837953 rather than 10.1.1.1

  • name (str, optional) – Name of application group, defaults to “”

  • description (str, optional) – Description of application group, defaults to “”

  • priority (str, optional) – Priority of application group, defaults to “”

  • country (str, optional) – Country of application group, defaults to “”

  • country_code (str, optional) – Country code of application group, defaults to “”

  • org (str, optional) – Organization of application group, defaults to “”

Returns

Returns True/False based on successful call

Return type

bool

update_user_defined_app_dns_classification(domain: str, name: str, priority: int, disabled: bool, description: str = '') bool

Create or modify a user-defined application for domain name

Swagger Section

Method

Endpoint

applicationDefinition

POST

/applicationDefinition/dnsClassification/{domain}

Parameters
  • domain (str) – Domain for classification, e.g. site.tld or service.site.tld

  • name (str) – Identifying name of the domain, can also re-use the domain. Maximum of 31 characters.

  • priority (int) – Confidence metric for classification, e.g. 95

  • disabled (bool) – False if classification is active and True if disabled

  • description (str, optional) – Description of the classification, defaults to “”

Returns

Returns True/False based on successful call

Return type

bool

update_user_defined_app_groups(app_tags_body: dict) bool

Update user defined application groups

Warning

This will overwrite all user-defined application groups, to preserve currently defined groups, first get existing groups with get_user_defined_app_groups() and append a new application group as a separate key in the app_tags_body dictionary.

Swagger Section

Method

Endpoint

applicationDefinition

POST

/applicationDefinition/applicationTags

Parameters

app_tags_body (dict) –

Dictionary of a user-defined group name, and the contained applications and/or parent group.

  • keyword <user_defined_group_name> (dict): application group

    • keyword apps (list[str]): application list

    • keyword parentGroup (list[str]): parent group list

Returns

Returns True/False based on successful call

Return type

bool

update_user_defined_app_port_protocol(port: int, protocol: int, name: str, priority: int, disabled: bool, description: str = '') bool

Create or modify a user-defined application for IP port and protocol

Swagger Section

Method

Endpoint

applicationDefinition

POST

/applicationDefinition/portProtocolClassification/{port}/{protocol}

Parameters
  • port (int) – IP port, e.g. 8089

  • protocol (int) – IP = 0, TCP = 6, UDP = 17

  • name (str) – Identifying name of the domain, can also re-use the domain. Maximum of 31 characters.

  • priority (int) – Confidence metric for classification, e.g. 95

  • disabled (bool) – False is if classification is active and True if disabled

  • description (str, optional) – Description of the classification, defaults to “”

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_auth_information(ne_id: str, cached: bool) dict

Get configured authentication and authorization on appliance

Swagger Section

Method

Endpoint

authentication

GET

/authRadiusTacacs/{neId}

The returned data contains aaa, radius and tacacs objects. aaa object includes auth_method and author objects. auth_method represents Authentication Order for the appliance, You can have up to 3 levels of Authentication Order (local, radius and tacacs). author represents Authorization Information for the appliance and it consists of default user and map order. radius and tacacs contains server object, The return value is a hash map of RADIUS/TACACS settings keyed by their order.

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of AAA configuration information

Return type

dict

get_avc_mode() dict

Get Orchestrator AVC mode

Swagger Section

Method

Endpoint

avcMode

GET

/avcMode

Returns

Returns dictionary of AVC value, e.g. {“AVC”: “all”}

Return type

dict

get_appliance_login_banners(ne_id: str, cached: bool) dict

Get configured message of the day (motd) and issue banners for Edge Connect appliance

Swagger Section

Method

Endpoint

banners

GET

/banners/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary with banner configuration

  • keyword motd (str): Message that appears on succesful login

  • keyword issue (str): Message that appears on login prompt

Return type

dict

get_appliance_bgp_config(ne_id: str) dict

Returns all appliance BGP configuration

Swagger Section

Method

Endpoint

bgp

GET

/bgp/config/system/{neId}

Parameters

ne_id (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

Returns

Returns appliance BGP configuration

Return type

dict

get_appliance_bgp_config_all_vrfs(ne_id: str) dict

Returns all appliance BGP configuration for all vrfs

Swagger Section

Method

Endpoint

bgp

GET

/bgp/config/allVrfs/system/{neId}

Parameters

ne_id (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

Returns

Returns appliance BGP configuration

Return type

dict

get_appliance_bgp_neighbors(ne_id: str) dict

Returns appliance BGP neighbor configuration

Swagger Section

Method

Endpoint

bgp

GET

/bgp/config/neighbor/{neId}

Parameters

ne_id (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

Returns

Returns appliance BGP neighbors

Return type

dict

get_appliance_bgp_neighbors_all_vrfs(ne_id: str) dict

Returns appliance BGP neighbor configuration

Swagger Section

Method

Endpoint

bgp

GET

/bgp/config/allVrfs/neighbor/{neId}

Parameters

ne_id (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

Returns

Returns appliance BGP neighbors

Return type

dict

get_appliance_bgp_state(ne_id: str) dict

Returns appliance BGP current state

Swagger Section

Method

Endpoint

bgp

GET

/bgp/state/{neId}

Parameters

ne_id (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

Returns

Returns appliance BGP state

Return type

dict

get_appliance_bgp_state_all_vrfs(ne_id: str) dict

Returns appliance BGP current state

Swagger Section

Method

Endpoint

bgp

GET

/bgp/state/allVrfs/{neId}

Parameters

ne_id (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

Returns

Returns appliance BGP state

Return type

dict

get_bonded_tunnel_details(limit: int, matching_alias: Optional[str] = None, overlay_id: Optional[int] = None, state: Optional[str] = None, tunnel_id: Optional[bool] = None, alias: Optional[bool] = None, tag: Optional[bool] = None, source_ne_pk: Optional[bool] = None, dest_ne_pk: Optional[bool] = None, dest_tunnel_id: Optional[bool] = None, dest_tunnel_alias: Optional[bool] = None, operational_status: Optional[bool] = None, admin_status: Optional[bool] = None, remote_id_state: Optional[bool] = None, fec_status: Optional[bool] = None, fec_ratio: Optional[bool] = None, children: Optional[bool] = None) dict

Get bonded tunnel details across all appliances

Swagger Section

Method

Endpoint

bondedTunnelsConfiguration

GET

/tunnels2/bonded

Parameters
  • limit (int) – Max number of tunnels to return in response

  • matching_alias (str, optional) – Match tunnel alias on text string provided, defaults to None

  • overlay_id (int, optional) – The overlay ID to match tunnels on, defaults to None

  • state (str, optional) – Regular expression to match tunnel state, e.g. “Up” “Down”, defaults to None

  • tunnel_id (bool, optional) – Include bonded tunnel id in response, defaults to None

  • alias (bool, optional) – Include alias name of tunnel in UI in response, defaults to None

  • tag (bool, optional) – Include overlay name for bonded tunnel in response, defaults to None

  • source_ne_pk (bool, optional) – Include nePk of appliance that the tunnel belongs to in response, defaults to None

  • dest_ne_pk (bool, optional) – Include nePk of destination appliance for the tunnel in response, defaults to None

  • dest_tunnel_id (bool, optional) – Include tunnel id of opposite tunnel on the destination appliance in response, defaults to None

  • dest_tunnel_alias (bool, optional) – Include tunnel alias of opposite tunnel on the destination appliance in response, defaults to None

  • operation_status – Include current status of tunnel in response, defaults to None

  • admin_status (bool, optional) – Include admin status of tunnel in response, defaults to None

  • remote_id_state (bool, optional) – Include remote tunnel id state in response, defaults to None

  • fec_status (bool, optional) – Include FEC status of the tunnel in response, defaults to None

  • fec_ratio (bool, optional) – Include current FEC ratio of the tunnel in response, defaults to None

  • children (bool, optional) – Include physical tunnels within bonded tunnel in response, defaults to None

Returns

Returns dictionary of tunnel details based on supplied query details

Return type

dict

get_bonded_tunnel_details_for_appliance(ne_pk: str, limit: int, matching_alias: Optional[str] = None, overlay_id: Optional[int] = None, state: Optional[str] = None, tunnel_id: Optional[bool] = None, alias: Optional[bool] = None, tag: Optional[bool] = None, source_ne_pk: Optional[bool] = None, dest_ne_pk: Optional[bool] = None, dest_tunnel_id: Optional[bool] = None, dest_tunnel_alias: Optional[bool] = None, operational_status: Optional[bool] = None, admin_status: Optional[bool] = None, remote_id_state: Optional[bool] = None, fec_status: Optional[bool] = None, fec_ratio: Optional[bool] = None, children: Optional[bool] = None) dict

Get bonded tunnel details for specific appliance

Swagger Section

Method

Endpoint

bondedTunnelsConfiguration

GET

/tunnels2/bonded/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • limit (int) – Max number of tunnels to return in response

  • matching_alias (str, optional) – Match tunnel alias on text string provided, defaults to None

  • overlay_id (int, optional) – The overlay ID to match tunnels on, defaults to None

  • state (str, optional) – Regular expression to match tunnel state, e.g. “Up” “Down”, defaults to None

  • tunnel_id (bool, optional) – Include bonded tunnel id in response, defaults to None

  • alias (bool, optional) – Include alias name of tunnel in UI in response, defaults to None

  • tag (bool, optional) – Include overlay name for bonded tunnel in response, defaults to None

  • source_ne_pk (bool, optional) – Include nePk of appliance that the tunnel belongs to in response, defaults to None

  • dest_ne_pk (bool, optional) – Include nePk of destination appliance for the tunnel in response, defaults to None

  • dest_tunnel_id (bool, optional) – Include tunnel id of opposite tunnel on the destination appliance in response, defaults to None

  • dest_tunnel_alias (bool, optional) – Include tunnel alias of opposite tunnel on the destination appliance in response, defaults to None

  • operation_status – Include current status of tunnel in response, defaults to None

  • admin_status (bool, optional) – Include admin status of tunnel in response, defaults to None

  • remote_id_state (bool, optional) – Include remote tunnel id state in response, defaults to None

  • fec_status (bool, optional) – Include FEC status of the tunnel in response, defaults to None

  • fec_ratio (bool, optional) – Include current FEC ratio of the tunnel in response, defaults to None

  • children (bool, optional) – Include physical tunnels within bonded tunnel in response, defaults to None

Returns

Returns dictionary of tunnel details based on supplied query details

Return type

dict

get_bonded_tunnel_details_for_appliance_tunnel(ne_pk: str, bonded_tunnel_id: str) dict

Get bonded tunnel details for specific tunnel on appliance

Swagger Section

Method

Endpoint

bondedTunnelsConfiguration

GET

/tunnels2/bonded/{nePk}/{bondedTunnelId}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • bonded_tunnel_id (str) – Bonded tunnel id, e.g. “bondedTunnel_12”

Returns

Returns dictionary of tunnel details based on supplied query details

Return type

dict

get_bonded_tunnels_for_physical_tunnel(ne_pk: str, physical_tunnel_id: str, state: Optional[str] = None) dict

Get bonded tunnels associated with a particular physical tunnel

Swagger Section

Method

Endpoint

bondedTunnelsConfiguration

GET

/tunnels2/bondedTunnelsWithPhysicalTunnel/{nePk}/{physicalTunnelId}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • physical_tunnel_id (str) – Physical tunnel id, e.g. “Tunnel_12”

  • state (str, optional) – Regular expression to match tunnel state, e.g. “Up” “Down”, defaults to None

Returns

Returns dictionary of tunnel details based on supplied query details

Return type

dict

get_bonded_tunnels_state(ne_pk_list: list[str]) dict

Get bonded tunnel details for list of appliances

Swagger Section

Method

Endpoint

bondedTunnelsConfiguration

POST

/tunnels/bonded/state

Parameters

ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

Returns

Returns dictionary of bonded tunnel details for provided appliances

Return type

dict

get_appliance_bridge_interface_state(ne_id: str, cached: bool) dict

Lists the Bridge Interfaces State and pass through Tx Interface

Swagger Section

Method

Endpoint

bridgeInterfaceState

GET

/appliance/interface/bridge/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of bridge interface configuration. If device is in router mode will return dictionary of single item router with value of The appliance is currently in Router Mode

  • keyword bridge (dict): Container for each bridge interface

    • keyword <interface_name> (dict): Interface object, e.g. lan0 and it’s underlying state

      • keyword state (str): Admin state of interface

      • keyword link_state (str): Link state of interface

      • keyword pthru_tx_if (str): Transmit destination interface for traffic received on this interface

Return type

dict

broadcast_cli(appliance_list: list, cli_commands: list) bool

Send broadcast CLI commands to list of appliances

Swagger Section

Method

Endpoint

broadcastCli

POST

/broadcastCli

Parameters
  • appliance_list (list) – List of appliances by Network Primary Key (nePk), e.g. 3.NE

  • cli_commands (list) – List of commands to be executed on appliance, e.g. “ping 8.8.8.8”

Returns

Returns True/False based on successful call.

Return type

bool

get_built_in_policies(ne_pk: str) dict

Get built-in policy information from appliance

Swagger Section

Method

Endpoint

builtInPolicies

GET

/saMap/{nePk}

Parameters

ne_pk (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

Returns

Returns appliance policy information

Return type

dict

get_custom_appliance_tags(ne_id: str, cached: bool) dict

Get user-defined appliance tags

Swagger Section

Method

Endpoint

customApplianceTags

GET

/customApplianceTags/{neId}?cached={cached}

Parameters
  • ne_id (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns user-defined appliance tags

Return type

dict

check_custom_certs_appliances_to_portal(custom_certs: bool) dict

Checks whether appliances can connect to Portal and Orchestrator using the default or custom CA certificates

Swagger Section

Method

Endpoint

customCerts

GET

/customCert/applianceConnectivity/{custom}

Returns

TBD

Return type

TBD

check_custom_certs_orchestrator_to_portal(custom_certs: bool) dict

Checks whether Orchestrator can connect to Portal using the default or custom CA certificates

Swagger Section

Method

Endpoint

customCerts

GET

/customCert/orchestratorConnectivity/{custom}

Returns

TBD

Return type

TBD

delete_custom_cert(alias: str) bool

Delete custom CA certificate

Swagger Section

Method

Endpoint

customCerts

DELETE

/customCert/{alias}

Parameters

alias (str) – Alias used to identify the CA Certificate

Returns

Returns True/False based on successful call

Return type

bool

get_custom_certs() list

Returns list of custom CA certificates from Orchestrator

Swagger Section

Method

Endpoint

customCerts

GET

/customCert

Returns

Returns list of custom certificates in Orchestrator

  • keyword alias (str): Alias used to identify the CA Certificate

  • keyword key (str): The CA Certificate

  • keyword lastUpdatedTimestamp (str): The timestamp of the last time the CA Certificate was updated in Orchestrator

  • keyword expiration (str): CA Certificate’s expiration date

  • keyword issuer (str): CA Certificate’s issuer

  • keyword issuedTo (str): CA Certificate’s issued to

Return type

list

get_custom_certs_enabled() dict

Returns whether or not Orchestrator is currently using custom CA certificate trust store

Swagger Section

Method

Endpoint

customCerts

GET

/customCert/enable

Returns

Returns dictionary of custom certificates status

  • keyword enabled (bool): True if custom CA certificate trust store is in use, False if not in use

Return type

dict

set_custom_certs_enabled(enabled: bool) dict

Enable or disable custom CA certificate trust store

Swagger Section

Method

Endpoint

customCerts

POST

/customCert/enable

Parameters

enabled (bool) – Set to True to enable use of custom CA certificates trust store, False to use default certificates trust store

Returns

Returns True/False based on successful call

Return type

bool

update_custom_certs(alias: str, key: str, expiration: str, issuer: str, issued_to: str, last_timestamp: str = '') bool

Add new or update existing custom CA certificate

Swagger Section

Method

Endpoint

customCerts

POST

/customCert

Parameters
  • alias (str) – Alias used to identify the CA Certificate

  • key (str) – The CA Certificate

  • expiration (str) – CA Certificate’s expiration date

  • issuer (str) – CA Certificate’s issuer

  • issued_to (str) – CA Certificate’s issued to

  • last_timestamp (str, optional) – The timestamp of the last time the CA Certificate was updated in Orchestrator

Returns

Returns True/False based on successful call

Return type

bool

verify_custom_cert(alias: str, key: str, expiration: str, issuer: str, issued_to: str, last_timestamp: str = '') bool

Verify the custom CA certificate

Swagger Section

Method

Endpoint

customCerts

POST

/customCert/verify

Parameters
  • alias (str) – Alias used to identify the CA Certificate

  • key (str) – The CA Certificate

  • expiration (str) – CA Certificate’s expiration date

  • issuer (str) – CA Certificate’s issuer

  • issued_to (str) – CA Certificate’s issued to

  • last_timestamp (str, optional) – The timestamp of the last time the CA Certificate was updated in Orchestrator

Returns

Returns True/False based on successful call

Return type

bool

delete_db_partition(table: str, partition: str) bool

Delete Orchestrator database table partition.

Swagger Section

Method

Endpoint

dbPartition

DELETE

/dbPartition/{table}/{partition}

Note

Default & Current partition cannot be deleted

Parameters
  • table (str) – Name of db table

  • partition (str) – Name of db partition

Returns

Returns True/False based on successful call

Return type

bool

get_db_partition(table: Optional[str] = None, partition: Optional[str] = None) list

Get Orchestrator database partition details

Swagger Section

Method

Endpoint

dbPartition

GET

/dbPartition/info

Parameters
  • table (str, optional) – Name of db table, defaults to None

  • partition (str, optional) – Name of db partition, defaults to None

Returns

Returns list

Return type

list

cancel_debug_file_download() bool

Cancel download of debug file

Swagger Section

Method

Endpoint

debugFiles

POST

/debugFiles/cancel

Returns

Returns True/False based on successful call

Return type

bool

delete_debug_file_from_appliance(ne_pk: str, group: Optional[str] = None, filename: Optional[str] = None) bool

Delete debug files from an appliance

Swagger Section

Method

Endpoint

debugFiles

POST

/debugFiles/delete/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • group (str, optional) – The group the file to delete belongs to, defaults to None

  • filename (str, optional) – Name of file to delete, defaults to None

Returns

Returns True/False based on successful call

Return type

bool

delete_debug_file_from_orchestrator(filename: str) bool

Delete debug file from Orchestrator

Swagger Section

Method

Endpoint

debugFiles

POST

/debugFiles/delete

Parameters

filename (str) – Name of debug file to delete from Orchestrator

Returns

Returns True/False based on successful call

Return type

bool

generate_appliance_sysdump(ne_pk_list: list[str]) bool

Generate an appliance SysDump on one or more appliances

Note

This API Call is not in current Swagger as of Orch 9.0.3

Swagger Section

Method

Endpoint

n/a

POST

/debugFiles/generateApplianceSysDump

Parameters

ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

Returns

Returns True/False based on successful call

Return type

bool

get_debug_file_proxy_settings() dict

Get debug file proxy settings on Orchestrator

Swagger Section

Method

Endpoint

debugFiles

GET

/debugFiles/proxyConfig

Returns

Returns dictionary of appliance debug file information.

  • keyword useProxy (bool): Use a proxy or not for file upload

  • keyword proxyHost (str): Hostname or IP address of proxy

  • keyword proxyUser (str): Username

  • keyword proxyPassword (str): Password

  • keyword proxyPort (int): Port to connect to proxy

Return type

dict

get_debug_files_from_appliance(ne_pk: str) dict

Get debug files from appliance. Each debug file info contains ‘name’ and ‘stats’. The value of the stats is a dictionary of the stats.

Swagger Section

Method

Endpoint

debugFiles

GET

/debugFiles/{nePk}

Parameters

ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

Returns

Returns dictionary of appliance debug file information.

  • keyword debugDump (list[dict]): Info of Sys Dump file

    [dict]: debug file object

    • keyword name (str): name of file

    • keyword stats (dict): file statistics

      • keyword dev (int, optional): No description in Swagger

      • keyword mode (int, optional): The mode of the file

      • keyword nlink (int, optional): No description in Swagger

      • keyword uid (int, optional): No description in Swagger

      • keyword gid (int, optional): No description in Swagger

      • keyword rdev (int, optional): No description in Swagger

      • keyword blksize (int, optional): The size of the block

      • keyword ino (int, optional): No description in Swagger

      • keyword size (int, optional): The size of the file

      • keyword blocks (int, optional): The blocks of the file

      • keyword atime (str, optional): The access time of the file

      • keyword mtime (str, optional): The modified time of the file

      • keyword ctime (str, optional): The change time of the file

      • keyword birthtime (str, optional): No description in Swagger

  • keyword techDump (list[dict]): Info of Show Tech file

    [dict]: debug file object

    • keyword name (str): name of file

    • keyword stats (dict): file statistics

      • keyword dev (int, optional): No description in Swagger

      • keyword mode (int, optional): The mode of the file

      • keyword nlink (int, optional): No description in Swagger

      • keyword uid (int, optional): No description in Swagger

      • keyword gid (int, optional): No description in Swagger

      • keyword rdev (int, optional): No description in Swagger

      • keyword blksize (int, optional): The size of the block

      • keyword ino (int, optional): No description in Swagger

      • keyword size (int, optional): The size of the file

      • keyword blocks (int, optional): The blocks of the file

      • keyword atime (str, optional): The access time of the file

      • keyword mtime (str, optional): The modified time of the file

      • keyword ctime (str, optional): The change time of the file

      • keyword birthtime (str, optional): No description in Swagger

  • keyword snapshots (list[dict]): Info of Snapshot file

    [dict]: debug file object

    • keyword name (str): name of file

    • keyword stats (dict): file statistics

      • keyword dev (int, optional): No description in Swagger

      • keyword mode (int, optional): The mode of the file

      • keyword nlink (int, optional): No description in Swagger

      • keyword uid (int, optional): No description in Swagger

      • keyword gid (int, optional): No description in Swagger

      • keyword rdev (int, optional): No description in Swagger

      • keyword blksize (int, optional): The size of the block

      • keyword ino (int, optional): No description in Swagger

      • keyword size (int, optional): The size of the file

      • keyword blocks (int, optional): The blocks of the file

      • keyword atime (str, optional): The access time of the file

      • keyword mtime (str, optional): The modified time of the file

      • keyword ctime (str, optional): The change time of the file

      • keyword birthtime (str, optional): No description in Swagger

  • keyword tcpDump (list[dict]): Info of TCP Dump file

    [dict]: debug file object

    • keyword name (str): name of file

    • keyword stats (dict): file statistics

      • keyword dev (int, optional): No description in Swagger

      • keyword mode (int, optional): The mode of the file

      • keyword nlink (int, optional): No description in Swagger

      • keyword uid (int, optional): No description in Swagger

      • keyword gid (int, optional): No description in Swagger

      • keyword rdev (int, optional): No description in Swagger

      • keyword blksize (int, optional): The size of the block

      • keyword ino (int, optional): No description in Swagger

      • keyword size (int, optional): The size of the file

      • keyword blocks (int, optional): The blocks of the file

      • keyword atime (str, optional): The access time of the file

      • keyword mtime (str, optional): The modified time of the file

      • keyword ctime (str, optional): The change time of the file

      • keyword birthtime (str, optional): No description in Swagger

  • keyword debugFile (list[dict]): Info of debug file

    [dict]: debug file object

    • keyword name (str): name of file

    • keyword stats (dict): file statistics

      • keyword dev (int, optional): No description in Swagger

      • keyword mode (int, optional): The mode of the file

      • keyword nlink (int, optional): No description in Swagger

      • keyword uid (int, optional): No description in Swagger

      • keyword gid (int, optional): No description in Swagger

      • keyword rdev (int, optional): No description in Swagger

      • keyword blksize (int, optional): The size of the block

      • keyword ino (int, optional): No description in Swagger

      • keyword size (int, optional): The size of the file

      • keyword blocks (int, optional): The blocks of the file

      • keyword atime (str, optional): The access time of the file

      • keyword mtime (str, optional): The modified time of the file

      • keyword ctime (str, optional): The change time of the file

      • keyword birthtime (str, optional): No description in Swagger

  • keyword log (list[dict]): Info of the log file

    [dict]: debug file object

    • keyword name (str): name of file

    • keyword stats (dict): file statistics

      • keyword dev (int, optional): No description in Swagger

      • keyword mode (int, optional): The mode of the file

      • keyword nlink (int, optional): No description in Swagger

      • keyword uid (int, optional): No description in Swagger

      • keyword gid (int, optional): No description in Swagger

      • keyword rdev (int, optional): No description in Swagger

      • keyword blksize (int, optional): The size of the block

      • keyword ino (int, optional): No description in Swagger

      • keyword size (int, optional): The size of the file

      • keyword blocks (int, optional): The blocks of the file

      • keyword atime (str, optional): The access time of the file

      • keyword mtime (str, optional): The modified time of the file

      • keyword ctime (str, optional): The change time of the file

      • keyword birthtime (str, optional): No description in Swagger

Return type

dict

set_debug_file_proxy_settings(use_proxy: bool, proxy_host: str, proxy_user: str, proxy_password: str, proxy_port: int) bool

Set proxy settings for debug files on Orchestrator

Swagger Section

Method

Endpoint

debugFiles

POST

/debugFiles/proxyConfig

Parameters
  • use_proxy (bool) – True to use a proxy for file upload or False if not

  • proxy_host (str) – Hostname or IP address of proxy

  • proxy_user (str) – Username to authenticate with proxy

  • proxy_password (str) – Password to authenticate with proxy

  • proxy_port (int) – Port number to connect to proxy on, e.g. 8443

Returns

Returns True/False based on successful call

Return type

bool

upload_appliance_debug_files_to_orchestrator(ne_pk: str, debug_file_group: str, debug_filenames: list) bool

Upload appliance debug files to Orchestrator (user can then download in the UI)

Note

This API Call is not in current Swagger as of Orch 9.0.3

Swagger Section

Method

Endpoint

n/a

POST

/applianceFiles/uploadToOrchestrator

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • debug_file_group (str) – Type of debug files, accepted values are debugDump for sysdumps, techDump for show tech, snapshots, tcpDump for packet captures, debugFile, and log for log file.

  • debug_filenames (list) – List of filenames of debug files to upload to the case

Returns

Returns True/False based on successful call

Return type

bool

upload_appliance_debug_files_to_support(ne_pk: str, debug_file_group: str, debug_filenames: list, case_number: str) bool

Upload appliance debug files to support case

Note

This API Call is not in current Swagger as of Orch 9.0.3

Swagger Section

Method

Endpoint

n/a

POST

/debugFiles/uploadApplianceFilesToAWS

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • debug_file_group (str) – Type of debug files, accepted values are debugDump for sysdumps, techDump for show tech, snapshots, tcpDump for packet captures, debugFile, and log for log file.

  • debug_filenames (list) – List of filenames of debug files to upload to the case

  • case_number (str) – Support case number to upload the files to

Returns

Returns True/False based on successful call

Return type

bool

get_all_appliance_deployment() dict

Get deployment information for appliances managed by the Orchestrator. This returns the current deployment mode and list of lan/wan interface details for each appliance managed by this Orchestrator

Swagger Section

Method

Endpoint

deployment

GET

/tunnelsConfiguration/deployment

Returns

Returns dictionary of appliance deployment information

  • keyword <ne_pk> (dict): appliance deployment object

    • keyword mode (str): Deployment mode of appliance e.g. INLINE_ROUTER, ROUTER, BRIDGE, SERVER

    • keyword lanInterfaces (list[dict]): List of lan interfaces for this appliance

      • keyword name (str): Interface name,

      • keyword ipAddress (str): Interface IP Address

      • keyword mask (int): Interface Subnet Mask

      • keyword subInterface (int): Sub interface id, 0 if not a sub interface

      • keyword vlan (int): VLAN id, 0 if not a VLAN

      • keyword lanSide (bool): Whether this interface has lanSide tag (applicable for inline router mode only)

      • keyword wanSide (bool): Whether this interface has wanSide tag (appliacable for inline router mode only)

      • keyword harden (bool): Whether this interface is hardened

      • keyword label (str): Interface label id. Empty string if no label configured for this interface

      • keyword dhcp (bool): Whether DHCP is enabled on this interface

      • keyword wanNextHop (str): IP Address of WAN gateway. 0.0.0.0 if not configured

      • keyword publicIpAddress (str): Resolved Public IP Address of this interface. Empty string if nothing resolved

      • keyword outboundBandwidth (int): Outbound Shaping kbps value, 0 if not configured

      • keyword inboundBandwidth (int): Inbound Shaping kbps value, 0 if not configured

      • keyword parentInterfaceName (str),

      • keyword ipv4 (bool): Whether interface IP address is IP version 4

      • keyword publicIPv4 (bool): Whether interface public IP addres is IP version 4

      • keyword behindNAT (bool): Whether this interface is connected to a NAT device

    • keyword wanInterfaces (list[dict]): List of wan interfaces for this appliance

      • keyword name (str): Interface name,

      • keyword ipAddress (str): Interface IP Address

      • keyword mask (int): Interface Subnet Mask

      • keyword subInterface (int): Sub interface id, 0 if not a sub interface

      • keyword vlan (int): VLAN id, 0 if not a VLAN

      • keyword lanSide (bool): Whether this interface has lanSide tag (applicable for inline router mode only)

      • keyword wanSide (bool): Whether this interface has wanSide tag (appliacable for inline router mode only)

      • keyword harden (bool): Whether this interface is hardened

      • keyword label (str): Interface label id. Empty string if no label configured for this interface

      • keyword dhcp (bool): Whether DHCP is enabled on this interface

      • keyword wanNextHop (str): IP Address of WAN gateway. 0.0.0.0 if not configured

      • keyword publicIpAddress (str): Resolved Public IP Address of this interface. Empty string if nothing resolved

      • keyword outboundBandwidth (int): Outbound Shaping kbps value, 0 if not configured

      • keyword inboundBandwidth (int): Inbound Shaping kbps value, 0 if not configured

      • keyword parentInterfaceName (str),

      • keyword ipv4 (bool): Whether interface IP address is IP version 4

      • keyword publicIPv4 (bool): Whether interface public IP addres is IP version 4

      • keyword behindNAT (bool): Whether this interface is connected to a NAT device

    • keyword singleBridge (bool): Deployment singleBridge of appliance

Return type

dict

get_appliance_deployment(ne_pk: str) dict

Get the deployment configuration of the appliance, does a direct call to the appliance.

Swagger Section

Method

Endpoint

deployment

GET

/deployment/{nePk}

Parameters

ne_pk (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

Returns

Returns dictionary of appliance deployment information

  • keyword scalars (dict): Scalars object, example values included below

    • keyword maxWanBandwidth (int): 200000

    • keyword defaultMaxWanBandwidth (int): 200000

    • keyword maxRxTargetBandwidth (int): 2000000

    • keyword maxTunnels (int): 2000

    • keyword maxIKETunnels (int): 4000

    • keyword minMtu (int): 700

    • keyword maxMtu (int): 9000

    • keyword maxRouteMaps (int): 10

    • keyword maxOptMaps (int): 10

    • keyword maxQoSMaps (int): 10

    • keyword maxNatMaps (int): 10

    • keyword maxRouteMapEntries (int): 2000

    • keyword maxOptMapEntries (int): 200

    • keyword maxQoSMapEntries (int): 200

    • keyword maxNatMapEntries (int): 300

    • keyword isPortalLicensed (bool): true

    • keyword portalLicenseType (int): 2

    • keyword supportServerMode (bool): true

    • keyword isLicenseRequired (bool): false

    • keyword isDynamicLimits (bool): true

    • keyword isDynamicInterface (bool): true

    • keyword isModel4Port (bool): true

    • keyword isModel10G (bool): false

    • keyword isModelSingleDisk (bool): true

    • keyword isModelPowerCycle (bool): false

    • keyword num1GigPorts (int): 32

    • keyword num1GigFiberPorts (int): 0

    • keyword numMgmtPorts (int): 2

    • keyword num10GigPorts (int): 0

    • keyword isGMSCompatible (bool): true

    • keyword maxAcls (int): 100

    • keyword maxAclEntries (int): 100

    • keyword maxUDAs (int): 200

    • keyword maxUDAEntries (int): 400

    • keyword maxVLANs (int): 127

    • keyword maxSubInterfaces (int): 127

    • keyword diskLayout (str): “”

    • keyword vrrpCompatible (bool): false

    • keyword supportsBridgeLoopTest (bool): true

    • keyword supportsDiskSelfTest (bool): true

    • keyword supportsBypass (bool): false

    • keyword isNMInDisklessMode (bool): false

    • keyword nmDiskSize (int): 70

    • keyword processorCount (int): 2

    • keyword memorySize (int): 6

    • keyword cacheDiskCount (int): 0

    • keyword spindleDiskCount (int): 1

    • keyword maxFlows (int): 128000

    • keyword maxRedFlows (int): 1024000

    • keyword maxBypassFlows (int): 1024000

    • keyword actualProcessorCount (int): 2

    • keyword actualMemorySize (int): 6

    • keyword actualNMDiskSize (int): 70

    • keyword isModelForReplication (bool): false

    • keyword maxIpServiceEntries (int): 1000000

    • keyword maxSaasEntries (int): 256000

    • keyword maxOverlays (int): 7

    • keyword maxSegMapEntries (int): 2000

    • keyword maxDnsProxySegments (int): 4

    • keyword maxRoutemaps (int): 10

    • keyword maxOptmaps (int): 10

    • keyword maxQosmaps (int): 10

    • keyword maxNatmaps (int): 10

    • keyword maxAcmaps (int): 10

    • keyword maxPolicymaps (int): 70

    • keyword maxMapnamelen (int): 32

    • keyword maxRulesperacl (int): 100

    • keyword maxAclrulelen (int): 1024

    • keyword isIdsSupported (bool): false

  • keyword sysConfig (dict): Appliance’s system configuration

    • keyword mode (str): System deployment mode, bridge or router

    • keyword useMgmt0 (bool): Use mgmt0 interface as a datapath interface as well. (only valid under router mode)

    • keyword tenG (bool): Use 10Gbps interfaces (only valid for models with 10Gbps interfaces)

    • keyword bonding (bool): Use interface bonding (only valid for models with 2 LAN interfaces and 2 WAN interfaces)

    • keyword maxBW (int): System maximum bandwidth in Kbps

    • keyword propagateLinkDown (bool): Propagate link down state: this is valid in bridge mode only. If it is true, if either LAN or WAN side interface of the bridge is down, the system brings down the other interface automatically

    • keyword singleBridge (bool): Single 4-port flat bridge configuration (only valid for 4-port models)

    • keyword inline (bool): Inline router mode (only valid for router mode). This is the recommended mode.

    • keyword ifLabels (dict): interface labels

      • keyword lan (list[dict]): Available LAN interface labels

        • [dict]: interface detail

          • keyword id (str): Unique label ID

          • keyword name (str): Label name eg: Voice, Data, MPLS

      • keyword wan (list[dict]): Available WAN interface labels

        • [dict]: interface detail

          • keyword id (str): Unique label ID

          • keyword name (str): Label name eg: Voice, Data, MPLS

    • keyword haIf (str): Name of the interface used to build ‘internal’ High Availability (HA) VLAN interfaces using which two appliances in a HA configuration can communicate with each other

    • keyword maxInBW (int): System maximum inbound bandwidth in Kbps (to enable inbound shaping make sure maxInBWEnabled is set to true)

    • keyword maxInBWEnabled (bool): Enable inbound bandwidth shaping (if this is true, you must specify maxInBW)

    • keyword license (dict): Appliance EC license information (only valid for EC models)

      • keyword ecMini (bool): Is EC Mini license enabled

      • keyword ecPlus (bool): Is EC Plus license enabled

      • keyword ecTier (str): EC Tier license name

      • keyword ecTierBW (int): EC Tier bandwidth in Kbps

      • keyword ecBoost (bool): Is EC Boost license enabled

      • keyword ecBoostBW (int): Boost bandwidth in Kbps

      • keyword <license_type> (dict, optional): This key is dynamic based on the EC license type (fx, ecsp etc). Contains additional details based on license type.

    • keyword zones (list[dict]): Firewall zones

      • [dict]: FW Zones object

        • keyword id (int): Zone ID, e.g. 1

        • keyword name (str): Zone name, e.g. Public

    • keyword vrfs (list[dict]): VRF segments

      • [dict]: VRF segments object

        • keyword id (int): VRF ID, e.g. 0

        • keyword name (str): VRF name, e.g. Default

    • keyword vrfZonesMap (dict): Mapping of zone ids and corresponding VRFs

      • keyword <vrf_id> (dict): VRF mapping

        • keyword <zone_id> (dict): Zone mapping

          • keyword id (int): Zone ID, e.g. 1

          • keyword name (str): Zone name, e.g. Public

  • keyword mgmtIfData (dict): Appliance’s management network interfaces information

    • keyword <mgmt_interface> (dict): mgmt object

      • keyword dhcp (bool): Is DHCP on or off on this management interface

      • keyword nexthop (str): Management interface gateway IP address

      • keyword ip (str): Management interface IP address

      • keyword mask (int): Management interface network mask

  • keyword modeIfs (list[dict]): Interface details

    • keyword devNum (str): Deployment interface type, rtr1/rtr2, bdg1/bdg2, only for UI use, not needed in POST

    • keyword ifName (str): Deployment interface name, wan0/lan0 for router mode, bvi0/bvi1 for bridge mode

    • keyword applianceIPs (list[dict]): Deployment interface IP addresses assignment

      • [dict]: Interface object

        • keyword ip (str): Appliance interface IP address

        • keyword mask (int): IP address network mask

        • keyword subif (str): Sub-interface ID

        • keyword vlan (str): VLAN ID

        • keyword wanNexthop (str): Next hop IP address

        • keyword label (str): Interface label assigned to this interface

        • keyword lanSide (bool): Determines if this interface is on LAN side

        • keyword wanSide (bool): Determines if this interface is on WAN side

        • keyword dhcp (bool): Determines if DHCP is enabled for this interface (only applicable for WAN side main interface IPs in inline router mode)

        • keyword harden (int): Determines if this interface has firewall configured (only applicable for WAN side main/VLAN interfaces in router mode). Valid values are 0:Allow All, 1:Hardened, 2:Stateful, 3:Stateful+SNAT

        • keyword behindNAT (str): Determines if this interface is connected to a Network Address Translation device (only applicable to WAN interfaces). Valid values are ‘auto’, ‘none’, ‘’. ‘auto’ means interface is behind a NAT device. ‘none’ or ‘’ mean interface is NOT behind a NAT device

        • keyword maxBW (dict): Maximum inbound/outbound bandwidth for this interface in Kbps (only applicable to WAN interfaces)

          • keyword inbound (int): Maximum inbound (WAN to LAN) bandwidth for this interface in Kbps

          • keyword outbound (int): Maximum outbound (LAN to WAN) bandwidth for this interface in Kbps

        • keyword dhcpd (dict): Interface DHCP (server/relay) configuration (only applicable to LAN interfaces in inline router mode)

          • keyword type (str): Enum to determine if this LAN interface is acting like a DHCP server, relay or none. Valid values are server, relay, none

          • keyword server (dict): DHCP server related configuration

            • keyword prefix (str): DHCP server subnet and mask value e.g. 10.3.171.0/24

            • keyword ipStart (str): IP within the DHCP server subnet from where to start allocating IPs

            • keyword ipEnd (str): IP within the DHCP server subnet till where IPs can be allocated

            • keyword gw (list[str]): Gateway IP Address

            • keyword dns (list[str]): DNS server(s) IP Address

            • keyword ntpd (list[str]): NTP server(s) IP Address

            • keyword netbios (list[str]): NetBIOS name server(s) IP Address

            • keyword netbiosNodeType (str): Enum denoting the type of NetBIOS server. Valid values are B, P, M, H

            • keyword maxLease (int): Maximum lease time in seconds

            • keyword defaultLease (int): Default lease time in seconds

            • keyword options (dict): Object containing dynamic DHCP options

              • keyword <option_id> (str): option value

            • keyword host (dict): Object containing list of hosts with static IP reservations

              • keyword <hostname> (dict):

                • keyword mac (str): MAC address

                • keyword ip (str): IP address

            • keyword failover (bool): Determine if appliance enable DHCP failover

          • keyword relay (dict): DHCP relay related configuration

            • keyword dhcpserver (list[str]): Array of destination DHCP server IP addresses

            • keyword option82 (bool): Determine whether option 82 is enabled

            • keyword option82_policy (str): Enum to determine option 82 policy used if option 82 is enabled. Valid values are append, replace, forward, discard

        • keyword brifs (dict): Bridge interface configurations

          • keyword <interface> (dict): brif object

            • keyword label (str): Bridge lan/wan side interface label

            • keyword harden (str): Firewall configuration for bridge interface. Valid values are 0:Allow All, 1:Hardened, 2:Stateful, 3:Stateful+SNAT

            • keyword wanSide (bool): This bridge interface is on WAN side

            • keyword lanSide (bool): This bridge interface is on LAN side

            • keyword comment (str): User comments

        • keyword zone (int): Zone id assigned to this interface. 0 if no zone assigned

        • keyword vrf (int): VRF segment id assigned to this interface. 0 if default VRF segment is assigned

        • keyword comment (str): User comments

        • keyword failover (bool): Determine if appliance enable DHCP failover

  • keyword dpRoutes (list[dict]):

    • [dict]: dpRoutes object

      • keyword prefix (str): Subnetwork prefix, for example, 2.2.2.0/24

      • keyword nexthop (str): Next hop IP address for this route entry

      • keyword intf (str): Interface name for this route entry, auto or bvi0/bvi1/VLAN for bridge mode

      • keyword metric (int): Routing metric value, lower values have higher priority

      • keyword type (str): Route entry type, gw is the only option for now

  • keyword vifs (dict): vifs object

    • keyword pppoe (list[str]): List of PPPoE interface names configured on this appliance

    • keyword bondedIfs (list[str]): List of bonded interfaces configured on this appliance

  • keyword dhcpFailover (dict): DHCP failover config

    • keyword <interface> (dict): interface dhcp failover config

      • keyword max_unack_updates (int): Tells the remote DHCP server how many BNDUPD messages it can send before it receives a BNDACK from the local system

      • keyword peer_port (int): Define which TCP port to connect to its failover peer for failover messages

      • keyword my_port (int): Defines which TCP port the server should listen for connections from its failover peer

      • keyword max_resp_delay (int): Tells the DHCP server how many seconds may pass without receiving a message from its failover peer before it assumes that connection has failed

      • keyword load_bal_max (int): Defines a threshold to compare with the secs field of the client’s DHCP packet in order to override load balancing

      • keyword role (str) = Specify if the server is the primary or secondary, primary or secondary

      • keyword mclt (int): Define the Maximum Client Lead Time

      • keyword split (int): Specify the split between the primary and secondary

      • keyword peer_ip (str): Define which server it should connect to reach its failover peer

      • keyword my_ip (str): Define the address that the server should listen for connections from its failover peer

Return type

dict

get_single_appliance_deployment(ne_pk: str) dict

Get the deployment configuration of the appliance

Swagger Section

Method

Endpoint

deployment

GET

/tunnelsConfiguration/deployment/{nePk}

Parameters

ne_pk (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

Returns

Returns dictionary of appliance deployment information

  • keyword mode (str): Deployment mode of appliance

    e.g. INLINE_ROUTER, ROUTER, BRIDGE, SERVER

  • keyword lanInterfaces (list[dict]): List of lan

    interfaces for this appliance

    • keyword name (str): Interface name,

    • keyword ipAddress (str): Interface IP Address

    • keyword mask (int): Interface Subnet Mask

    • keyword subInterface (int): Sub interface id,

      0 if not a sub interface

    • keyword vlan (int): VLAN id, 0 if not a VLAN

    • keyword lanSide (bool): Whether this interface

      has lanSide tag (applicable for inline router mode only)

    • keyword wanSide (bool): Whether this interface

      has wanSide tag (appliacable for inline router mode only)

    • keyword harden (bool): Whether this interface is

      hardened

    • keyword label (str): Interface label id. Empty

      string if no label configured for this interface

    • keyword dhcp (bool): Whether DHCP is enabled on

      this interface

    • keyword wanNextHop (str): IP Address of WAN

      gateway. 0.0.0.0 if not configured

    • keyword publicIpAddress (str): Resolved Public

      IP Address of this interface. Empty string if nothing resolved

    • keyword outboundBandwidth (int): Outbound

      Shaping kbps value, 0 if not configured

    • keyword inboundBandwidth (int): Inbound Shaping

      kbps value, 0 if not configured

    • keyword parentInterfaceName (str),

    • keyword ipv4 (bool): Whether interface IP

      address is IP version 4

    • keyword publicIPv4 (bool): Whether interface

      public IP addres is IP version 4

    • keyword behindNAT (bool): Whether this interface

      is connected to a NAT device

  • keyword wanInterfaces (list[dict]): List of wan

    interfaces for this appliance

    • keyword name (str): Interface name,

    • keyword ipAddress (str): Interface IP Address

    • keyword mask (int): Interface Subnet Mask

    • keyword subInterface (int): Sub interface id,

      0 if not a sub interface

    • keyword vlan (int): VLAN id, 0 if not a VLAN

    • keyword lanSide (bool): Whether this interface

      has lanSide tag (applicable for inline router mode only)

    • keyword wanSide (bool): Whether this interface

      has wanSide tag (appliacable for inline router mode only)

    • keyword harden (bool): Whether this interface is

      hardened

    • keyword label (str): Interface label id. Empty

      string if no label configured for this interface

    • keyword dhcp (bool): Whether DHCP is enabled on

      this interface

    • keyword wanNextHop (str): IP Address of WAN

      gateway. 0.0.0.0 if not configured

    • keyword publicIpAddress (str): Resolved Public

      IP Address of this interface. Empty string if nothing resolved

    • keyword outboundBandwidth (int): Outbound

      Shaping kbps value, 0 if not configured

    • keyword inboundBandwidth (int): Inbound Shaping

      kbps value, 0 if not configured

    • keyword parentInterfaceName (str),

    • keyword ipv4 (bool): Whether interface IP

      address is IP version 4

    • keyword publicIPv4 (bool): Whether interface

      public IP addres is IP version 4

    • keyword behindNAT (bool): Whether this interface

      is connected to a NAT device

  • keyword singleBridge (bool): Deployment singleBridge

    of appliance

Return type

dict

get_appliance_discovery_emails() dict

Get email addresses configured to be notified for discovery of new appliances

Swagger Section

Method

Endpoint

discovery

GET

/gms/discovery

Returns

Returns dictionary of configured email addresses

  • keyword emails (list[str]): email addresses to notify on discovery of new appliance

Return type

dict

set_appliance_discovery_emails(email_list: list[str]) bool

Update email addresses configured to be notified for discovery of new appliances.

Warning

Replaces the current configured list with the new list. To add an email, first retrieve the current emails and pass all desired emails in the new list.

Swagger Section

Method

Endpoint

discovery

POST

/gms/discovery

Parameters

email_list (list[str]) – List of email addresses to be notified for appliance discovery

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_disk_information(ne_id: str) dict

Get disk information from appliance

Swagger Section

Method

Endpoint

disks

GET

/configReportDisk/{neId}

Parameters

ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns dictionary of disk information

  • keyword disks (dict): Dictionary of disks in Edge Connect appliance. Disks are identified by numeric strings, e.g. "0"

  • keyword controller (dict): Dictionary of controller information

  • keyword diskImage (str): Filename of disk image

Return type

dict

get_appliance_dns(ne_id: str, cached: bool) dict

Get DNS server IP addresses and domain configurations from Edge Connect appliance

Swagger Section

Method

Endpoint

dns

GET

/resolver/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of appliance DNS configuration

  • keyword domain_search (dict): DNS search domains

    • keyword 1 (dict, optional): Primary Domain

      • keyword self (int): 1

      • keyword domainname (str): Search domain

    • keyword 2 (dict, optional): Secondary Domain

      • keyword self (int): 2

      • keyword domainname (str): Search domain

    • keyword 3 (dict, optional): Tertiary Domain

      • keyword self (int): 3

      • keyword domainname (str): Search domain

  • keyword nameserver (dict): DNS server

    • keyword 1 (dict, optional): Primary DNS server

      • keyword self (int): 1

      • keyword address (str): IP address of DNS server

      • keyword srcinf (str): Source interface

      • keyword vrf_id (int): VRF ID number, e.g. 0

    • keyword 2 (dict, optional): Secondary DNS server

      • keyword self (int): 2

      • keyword address (str): IP address of DNS server

      • keyword srcinf (str): Source interface

      • keyword vrf_id (int): VRF ID number, e.g. 0

    • keyword 3 (dict, optional): Tertiary DNS server

      • keyword self (int): 3

      • keyword address (str): IP address of DNS server

      • keyword srcinf (str): Source interface

      • keyword vrf_id (int): VRF ID number, e.g. 0

Return type

dict

get_dns_proxy(ne_id: str, cached: bool) dict

Get DNS Proxy configurations from Edge Connect appliance

Swagger Section

Method

Endpoint

dnsProxy

GET

/dnsProxy/config/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary where each key is a segment id that contains its associated DNS proxy configuration (profiles, domain groups and maps).

Return type

dict

create_tunnel_exceptions(tunnel_exceptions: list[dict]) list

Configure a tunnel exception between appliances from all or specific interface labels.

Swagger Section

Method

Endpoint

exception

POST

/exception/tunnel

The interface label is the numeric id (as a string) of the interface label. These can be retrieved with pyedgeconnect.Orchestrator.get_all_interface_labels() The interface labels can also use the value of any to include all interface labels for that appliance. The description can be left as a blank string, but must be included in the body.

Example:

tunnel_exceptions = [
    {
        "appliance_id_1": "3.NE",
        "interface_label_1": "1",
        "appliance_id_2": "4.NE",
        "interface_label_2": "1",
        "description": "Exclude 3-4 on 1"
    },
    {
        "appliance_id_1": "5.NE",
        "interface_label_1": "any",
        "appliance_id_2": "6.NE",
        "interface_label_2": "any",
        "description": ""
    },
]
Parameters

tunnel_exceptions (list[dict]) –

List of tunnel exception pairings

[dict]: Tunnel exception pair

  • keyword appliance_id_1 (str): “77.NE”,

  • keyword interface_label_1 (str): “1”,

  • keyword appliance_id_2 (str): “80.NE”,

  • keyword interface_label_2 (str): “1”,

  • keyword description (str): “”

Returns

Returns list of the configured exception if success. If there is an existing exception with the same parameters the return list will be empty, []

[dict]: Tunnel exception object

  • keyword id (int): ID of tunnel exception entry

  • keyword appliance_id_1 (str): NePk of appliance 1

  • keyword interface_label_1 (str): Appliance 1 interface label id

  • keyword appliance_id_2 (str): NePk of appliance 2

  • keyword interface_label_2 (str): Appliance 2 interface label id

  • keyword description (str): Description of this tunnel exception

Return type

list

delete_all_tunnel_exceptions() bool

Delete all configured tunnel exceptions

Swagger Section

Method

Endpoint

exception

DELETE

/exception/tunnel

Returns

Returns True/False based on successful call

Return type

bool

delete_single_tunnel_exception(exception_id: int) bool

Delete specified tunnel exception by id

Swagger Section

Method

Endpoint

exception

DELETE

/exception/tunnel/{id}

Returns

Returns True/False based on successful call

Return type

bool

delete_tunnel_exceptions_list(exception_id_list: list[int]) bool

Delete list of tunnel exceptions

Swagger Section

Method

Endpoint

exception

POST

/exception/tunnel/deleteByIds

Parameters

exception_id_list (list[int]) – List of tunnel exception ids to delete

Returns

Returns True/False based on successful call

Return type

bool

get_tunnel_exceptions() list

Get all configured tunnel exceptions

Swagger Section

Method

Endpoint

exception

GET

/exception/tunnel

Returns

Returns list of all tunnel exceptions

[dict]: Tunnel exception object

  • keyword id (int): ID of tunnel exception entry

  • keyword appliance_id_1 (str): NePk of appliance 1

  • keyword interface_label_1 (str): Appliance 1 interface label id

  • keyword appliance_id_2 (str): NePk of appliance 2

  • keyword interface_label_2 (str): Appliance 2 interface label id

  • keyword description (str): Description of this tunnel exception

Return type

list

update_single_tunnel_exception(exception_id: int, appliance_1_ne_pk: str, appliance_1_label: str, appliance_2_ne_pk: str, appliance_2_label: str, description: str = '') bool

Update a tunnel exception between two appliances.

Swagger Section

Method

Endpoint

exception

PUT

/exception/tunnel/{id}

Parameters
  • exception_id (int) – ID of the existing tunnel exception to update

  • appliance_1_ne_pk (str) – Network Primary Key (nePk) of first appliance, e.g. 3.NE

  • appliance_1_label (str) – Interface label id of first appliance for tunnel exception. Can use the value of any for all interface labels, e.g. 2 or any

  • appliance_1_ne_pk – Network Primary Key (nePk) of second appliance, e.g. 5.NE

  • appliance_2_label (str) – Interface label id of second appliance for tunnel exception. Can use the value of any for all interface labels, e.g. 2 or any

  • description (str, optional) – Description/comment to include with exception

Returns

Returns True/False based on successful call

Return type

bool

update_tunnel_exceptions(tunnel_exceptions: list[dict]) bool

Update one or multiple tunnel exceptions between appliances

Swagger Section

Method

Endpoint

exception

PUT

/exception/tunnel

The interface label is the numeric id (as a string) of the interface label. These can be retrieved with pyedgeconnect.Orchestrator.get_all_interface_labels() The interface labels can also use the value of any to include all interface labels for that appliance. The description can be left as a blank string, but must be included in the body. The existing tunnel exception ids can be retrieved with pyedgeconnect.Orchestrator.get_tunnel_exceptions()

Example:

tunnel_exceptions = [
    {
        "id": 5,
        "appliance_id_1": "3.NE",
        "interface_label_1": "1",
        "appliance_id_2": "4.NE",
        "interface_label_2": "1",
        "description": "Exclude 3-4 on 1"
    },
    {
        "id": 6,
        "appliance_id_1": "5.NE",
        "interface_label_1": "any",
        "appliance_id_2": "6.NE",
        "interface_label_2": "any",
        "description": ""
    },
]
Parameters

tunnel_exceptions (list[dict]) –

List of tunnel exception pairings

[dict]: Tunnel exception pair

  • keyword id (int): ID of existing tunnel exception

  • keyword appliance_id_1 (str): “77.NE”,

  • keyword interface_label_1 (str): “1”,

  • keyword appliance_id_2 (str): “80.NE”,

  • keyword interface_label_2 (str): “1”,

  • keyword description (str): “”

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_flow_bandwidth_stats(ne_id: str, flow_id: int, flow_seq_num: int) list

Get the so far accumulated bandwidth stats about the flow

Swagger Section

Method

Endpoint

flow

GET

/flow/flowBandwidthStats/{neId}/q

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • flow_id (int) – Flow ID

  • flow_seq_num (int) – Flow sequence number

Returns

Returns list of dictionaries for so far accumulated bandwidth stats about the flow

Return type

list[dict]

get_appliance_flow_details(ne_id: str, flow_id: int, flow_seq_num: int) list

Get specific flow details from appliance

Swagger Section

Method

Endpoint

flow

GET

/flow/flowDetails/{neId}/q

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • flow_id (int) – Flow ID

  • flow_seq_num (int) – Flow sequence number

Returns

Returns nested dictionary/lists of flow details

[dict]: Response object

  • keyword Route (list[dict]): No description in Swagger

  • keyword Optimization (list[dict]): No description in Swagger

  • keyword Stats (list[dict]): No description in Swagger

  • keyword QoS (list[dict]): No description in Swagger

  • keyword Application Performance (list[dict]): No description in Swagger

Return type

list

get_appliance_flow_details_verbose(ne_id: str, flow_id: int, flow_seq_num: int) list

Get verbose specific flow details from appliance

Swagger Section

Method

Endpoint

flow

GET

/flow/flowDetails2/{neId}/q

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • flow_id (int) – Flow ID

  • flow_seq_num (int) – Flow sequence number

Returns

Returns list of dictionaries flow details

[dict]: Response object

  • keyword General (dict): General stats object

    • keyword Stats (list[dict]): No description in Swagger

    • keyword Route (list[dict]): No description in Swagger

    • keyword Optimization (list[dict]): No description in Swagger

    • keyword QoS (list[dict]): No description in Swagger

  • keyword TCP Info (dict): TCP info object

    • keyword TCP-Sats (list[dict]): No description in Swagger

  • keyword Nat Info (dict): NAT info object

    • keyword NAT (list[dict]): No description in Swagger

Return type

list

get_appliance_flows(ne_id: str, ip1: Optional[str] = None, mask1: Optional[str] = None, port1: Optional[int] = None, ip2: Optional[str] = None, mask2: Optional[str] = None, port2: Optional[int] = None, ip_either_flag: bool = True, port_either_flag: bool = True, vrf1: Optional[str] = None, vrf2: Optional[str] = None, vrf_either: Optional[str] = None, application: Optional[str] = None, application_group: Optional[str] = None, protocol: Optional[str] = None, vlan: Optional[int] = None, dscp: Optional[str] = None, overlays: Optional[str] = None, transport: Optional[str] = None, services: Optional[str] = None, zone1: Optional[str] = None, zone2: Optional[str] = None, zone_either: Optional[str] = None, flow_category: str = 'all', edge_ha: bool = False, built_in: bool = False, uptime: Optional[str] = None, active_uptime_start: Optional[int] = None, active_uptime_end: Optional[int] = None, term_uptime_start: Optional[int] = None, term_uptime_end: Optional[int] = None, bytes_transferred: str = 'total', duration: Optional[str] = None, anytime_slow_flows: Optional[str] = None) dict

Get active, inactive, or both types of flows from an appliance based on supplied query parameters

Swagger Section

Method

Endpoint

flow

GET

/flow/{neId}/q

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • ip1 (str, optional) – First IP endpoint, defaults to None

  • mask1 (str, optional) – Mask for ip1 ip address, defaults to None

  • port1 (int, optional) – Port for ip1, defaults to None

  • ip2 (str, optional) – Second IP endpoint, defaults to None

  • mask2 (str, optional) – Mask for ip2 ip address, defaults to None

  • port2 (int, optional) – Port for ip2, defaults to None

  • ip_either_flag (bool, optional) – Enable directionality for IP parameters. True will treat ip1 as source ip and ip2 as destination ip, defaults to True.

  • port_either_flag (bool, optional) – Enable directionality for port parameters. True will treat port1 as source port and port2 as destination port, defaults to True.

  • vrf1 (str, optional) – VRF ID for ip1, 0 is the default VRF ID, defaults to None

  • vrf2 (str, optional) – VRF ID for ip2, 0 is the default VRF ID, defaults to None

  • vrf_either (str, optional) – VRF ID for flows sourced from or destinted to. Accepted values are any, 0 for default VRF, or a specific VRF ID, defaults to None

  • application (str, optional) – Filter for application-specific flows. Allows both built-in and user-defined applications as values, defaults to None

  • application_group (str, optional) – Filter for application-group flows, defaults to None

  • protocol (str, optional) – Filter by protocol, e.g. ip, icmp, bgp, etc., defaults to None

  • vlan (int, optional) – Filter for VLAN ID, defaults to None

  • dscp (str, optional) – Filter for DSCP marking, defaults to None

  • overlays (str, optional) – Filter for Overlay ID, multiple values can be passed separated by | e.g. 1|2, defaults to None

  • transport (str, optional) – Transport type, accepted values include fabric, underlay, breakout. Multiple values can be used together separated by | e.g. fabric|underlay, defaults to None

  • services (str, optional) – Service name, third-party services should be formatted with an asterisk at the end to filter by prefix instead of complete match, multiple services separated by | e.g. Zscaler_*|PaloAlto, defaults to None

  • zone1 (str, optional) – Flows to zone1, accepted values include any, 0 for default zone, or specific zone id, defaults to None

  • zone2 (str, optional) – Flows from zone2, accepted values include any, 0 for default zone, or specific zone id, defaults to None

  • zone_either (str, optional) – Flows to or from specified zone, accepted values include any, 0 for default zone, or specific zone id, defaults to None

  • flow_category (str, optional) – Filter flow category, accepted values are all, asymmetric, stale, passThrough, boosted, routeDropped, firewallDropped, directlyAttached, defaults to None

  • edge_ha (bool, optional) – True to include EdgeHA flows, False to exclude, defaults to False

  • built_in (bool, optional) – True to include built-in policy flows, False to exclude, defaults to False

  • uptime (str, optional) – Filter for uptime of flow. Term for ended within. Accepted values include anytime, last5m, term5m, term, last1hr, term1hr, last4hr, term4h, last24hr, term24hr. last implies started, term implies ended. Values can be combined with %7C, e.g., value of anytime%7Cterm24hr would implie started anytime or ended within past 24 hours. Defaults to None

  • active_uptime_start (int, optional) – Custom start time filter for active flows, units in epoch milliseconds, must be used along with active_uptime_end, otherwise ignored. Defaults to None

  • active_uptime_end (int, optional) – Custom end time filter for active flows, units in epoch milliseconds, must be used along with active_uptime_start, otherwise ignored. Defaults to None

  • term_uptime_start (int, optional) – Custom start time filter for ended flows, units in epoch milliseconds, must be used along with term_uptime_end, otherwise ignored. Defaults to None

  • term_uptime_end (int, optional) – Custom end time filter for ended flows, units in epoch milliseconds, must be used along with term_uptime_start, otherwise ignored. Defaults to None

  • bytes_transferred (str, optional) – Bytes transfered, accepted values are total and last5m, defaults to “total”

  • duration (str, optional) – Flows that have lasted less than (“<”) or greater than (“>”) the specified duration (in minutes). Value should be any or a number formatted with a “<” or “>” in front of a value between 0 and 18446744073709551615. e.g. >5000, defaults to None

  • anytime_slow_flows (str, optional) – Slow Flows flag. If this flag is present, it will show slow flows only, defaults to None

Returns

Returns dictionary of flows based on supplied query details

  • keyword total_flows (int): Total number of flows

  • keyword matched_flows (int): Total number of matched flows

  • keyword now (int): current epoch time in seconds

  • keyword returned_flows (int): Number of returned flows

  • keyword stale_flows (int): Number of stale flows

  • keyword inconsistent_flows (int): Number of inconsistent flows

  • keyword flows_with_issues (int): Number of flows with issues

  • keyword flows_optimized (int): Number of optimized flows

  • keyword flows_with_ignores (int): No description in Swagger

  • keyword flows_passthrough (int): Number of passthrough flows

  • keyword flows_management (int): Number of management flows

  • keyword active (dict): Active flows object

    • keyword total_flows (int): Number of active flows

    • keyword stale_flows (int): Number of active stale flows

    • keyword inconsistent_flows (int): Number of active inconsistent flows

    • keyword flows_with_issues (int): Number of active flows with issues

    • keyword flows_optimized (int): Number of active optimized flows

    • keyword flows_with_ignores (int): No description in Swagger

    • keyword flows_passthrough (int): Number of active passthrough flows

    • keyword flows_management (int): Number of active management flows

    • keyword flows_asymmetric (int): Number of active asymmetric flows

    • keyword flows_route_dropped (int): Number of active flows dropped due to route

    • keyword flows_firewall_dropped (int): Number of active flows dropped due to firewall

  • keyword inactive (dict): Inactive flows object

    • keyword total_flows (int): Number of inactive flows

    • keyword stale_flows (int): Number of inactive stale flows

    • keyword inconsistent_flows (int): Number of inactive inconsistent flows

    • keyword flows_with_issues (int): Number of inactive flows with issues

    • keyword flows_optimized (int): Number of inactive optimized flows

    • keyword flows_with_ignores (int): No description in Swagger

    • keyword flows_passthrough (int): Number of inactive passthrough flows

    • keyword flows_management (int): Number of inactive management flows

    • keyword flows_asymmetric (int): Number of inactive asymmetric flows

    • keyword flows_route_dropped (int): Number of inactive flows dropped due to route

    • keyword flows_firewall_dropped (int): Number of inactive flows dropped due to firewall

  • keyword ret_code (int): No description in Swagger

  • keyword err_msg (str): Error message

  • keyword flows (list[list]): List of flow details

    • [0] (int): Flow Id

    • [1] (int): Flow Sequence Id

    • [2] (int): SilverPeak Flow Id

    • [3] (str): Application Name, e.g. https

    • [4] (int): IP1_1, IPv6 128-bit source IP address spread over four fields (IP1_1-4). If IPv4, 32-bit integer format and other fields are 0.

    • [5] (int): IP1_2, in 32-bit integer format

    • [6] (int): IP1_3, in 32-bit integer format

    • [7] (int): IP1_4, in 32-bit integer format

    • [8] (int): Ip1 Version e.g. 4 or 6

    • [9] (str): IP1 String

    • [10] (int): Port1, port number of source address

    • [11] (int): IP2_1, IPv6 128-bit destination IP address spread over four fields (IP2_1-4). If IPv4, 32-bit integer format and other fields are 0.

    • [12] (int): IP2_2, in 32-bit integer format

    • [13] (int): IP2_3, in 32-bit integer format

    • [14] (int): IP2_4, in 32-bit integer format

    • [15] (int): Ip2 Version e.g. 4 or 6

    • [16] (str): IP2 String

    • [17] (int): Port2, port number of destination address

    • [18] (int): Flow Optimization Status

    • [19] (int): Percentage Reduction Inbound

    • [20] (int): Inbound TX Bytes

    • [21] (int): Inbound RX Bytes

    • [22] (int): Outbound RX Bytes

    • [23] (int): Outbound TX Bytes

    • [24] (int): Percentage Reduction OutBound

    • [25] (int): Uptime in ms

    • [26] (str): Protocol, e.g. tcp

    • [27] (str): Outbound Tunnel Id

    • [28] (str): Inbound Tunnel Id

    • [29] (str): Configured Outbound Tunnel Id

    • [30] (int): LAN Side VLAN associated with flow

    • [31] (int): QoS Traffic Class (1-10)

    • [32] (str): LAN DSCP treatment behavior, e.g. trust-lan

    • [33] (str): WAN DSCP treatment behavior, e.g. trust-lan

    • [34] (int): IP address of Peer flow redirected from

    • [35] (str): ISCI vendor Flow Info

    • [36] (int): NAT address of IP1 (source)

    • [37] (int): NAT address of IP1 (destination)

    • [38] (int): Flow Start Time, unix epoch seconds

    • [39] (int): Flow End Time, unix epoch seconds

    • [40] (int): Service Id, identifying owner and location

    • [41] (int): SaaS Id

    • [42] (int): TCP UTC Slow Start Time, unix epoch seconds

    • [43] (int): TCP Slow Duration

    • [44] (str): IP1 Domain Name

    • [45] (str): IP2 Domain Name

    • [46] (int): From Zone, integer zone id

    • [47] (int): To Zone, integer zone id

    • [48] (int): If flow was dropped by security policy (ZBF) e.g. 0 if not dropped.

    • [49] (str): EdgeHA, "true" or "false" if belongs to HA interface subnet

    • [50] (str): LAN TX DSCP

    • [51] (str): LAN RX DSCP

    • [52] (str): WAN TX DSCP

    • [53] (str): WAN RX DSCP

    • [54] (str): NAT IP (if NAT applied)

    • [55] (str): NAT Port

    • [56] (str): Original Port

    • [57] (str): NAT Type, e.g. LAN_SNAT, LAN_DNAT, WAN_SNAT or WAN_DNAT

    • [58] (str): Application Type, e.g. Idle, Voice, Video_Conferencing, Video_Streaming, Bulk_Data_transfer, or Interactive

    • [59] (int): Drop reason, 0 for not dropped, 1 indicates dropped by ZBF, 2 dropped due to routing decision

    • [60] (str): Business Intent Overlay, e.g. DefaultOverlay

    • [61] (int): Source VRF ID

    • [62] (int): Destination VRF ID

Return type

dict

reclassify_flows(ne_id: str, flow_id_list: list = []) dict

Reclassify specified flows on an appliance.

Swagger Section

Method

Endpoint

flow

POST

/flow/flowReClassification/{neId}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • flow_id_list (list) – List of flow id’s to be reset on appliance, e.g. [0,1,2], defaults to empty list to reclassify all flows

Returns

Responds with dictionary with action success message

  • keyword results (list): No description in Swagger

  • keyword rc (int): 0 indicates success, -1 indicates failure

  • keyword value (str): Action message, e.g. Action set successful.

Return type

dict

reset_flows(ne_id: str, flow_id_list: list) dict

Reset specified flows on an appliance.

Swagger Section

Method

Endpoint

flow

POST

/flow/flowReset/{neId}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • flow_id_list (list) – List of flow id’s to be reset on appliance, e.g. [0,1,2]

Returns

If specified flows were present, returns results, otherwise will respond with a 204, empty content

Return type

dict

add_or_update_orchestrator_backup_config(protocol: int, hostname: str, port: int, directory: str, username: str, password: str, max_backups: int) dict

Add or update Orchestrator backup configuration. Separate configurations are unique by value of hostname.

Swagger Section

Method

Endpoint

gmsBackup

POST

/gms/backup/config

The schedule of the backup has to be added or adjusted via the job scheduling functions (rest API calls beginning with /gms/job…)

Parameters
  • protocol (int) – The protocol of the remote server, 3 - SCP, 4 - HTTP, 5 - HTTPS, 6 - SFTP, any other number corresponds to FTP

  • hostname – The hostname or ip of the remote server

  • port (int) – Port to connect to remove server on

  • directory (str) – The directory for the backup on the remote server

  • username (str) – The username to connect to the remote server

  • password (str) – The password to connect to the remote server

  • max_backups (int) – Number of maximum backups to store

Returns

Returns dictionary with backup configuration id

  • keyword gmsConfigId (int): Backup configuration id number

Return type

dict

create_orchestrator_blueprint_template(mode: str, download: str = '') dict

Create an Orchestrator blueprint template and download. This operation takes a significant amount of time to run.

Swagger Section

Method

Endpoint

gmsBackup

GET

/gms/backup/exportTemplate?mode={mode}&download={download}

For the mode parameter:

  • Value of template includes all Orchestrator configuration except for the following:

    • All stats and large historical data (including audit logs, report histories, etc.)

    • Not allowed if appliances are in orchestrator.

  • Value of migration Includes all Orchestrator configuration except for the following:

    • All stats and large historical data (including audit logs, report histories, etc.)

    • Should be used to migrate from cloud to on premise or vice versa.

Parameters
  • mode (str) – Accepted values are template or migration

  • download (str, optional) – Any supplied value will be considered as true, defaults to “”

Returns

Returns string of all Orchestrator blueprint config

Return type

str

get_orchestrator_backup_config() dict

Get configured backup settings for Orchestrator

Swagger Section

Method

Endpoint

gmsBackup

GET

/gms/backup

Returns

Returns dictionary of Orchestrator backup settings

  • keyword protocol (int): The protocol of the remote server, 3 - SCP, 4 - HTTP, 5 - HTTPS, 6 - SFTP, any other number corresponds to FTP

  • keyword hostname (str): The hostname of the remote server

  • keyword port (int): The port of the remote server

  • keyword maxBackups (int): The number of the backup files in the directory,

  • keyword directory (str): The directory for the backup on the remote server

  • keyword username (str): The username to connect to the remote server

  • keyword password (str): Will be null for security reasons

Return type

dict

test_orchestrator_backup_config(protocol: int, hostname: str, port: int, directory: str, username: str, password: str) dict

Test specified settings for an Orchestrator backup

Swagger Section

Method

Endpoint

gmsBackup

POST

/gms/backup/testConnection

Parameters
  • protocol (int) – The protocol of the remote server, 3 - SCP, 4 - HTTP, 5 - HTTPS, 6 - SFTP, any other number corresponds to FTP

  • hostname – The hostname or ip of the remote server

  • port (int) – Port to connect to remove server on

  • directory (str) – The directory for the backup on the remote server

  • username (str) – The username to connect to the remote server

  • password (str) – The password to connect to the remote server

Returns

Returns dictionary of backup test results

  • keyword message (str): Orchestrator backup test results

Return type

dict

delete_gms_notification() bool

Delete Orchestrator notification banner message

Swagger Section

Method

Endpoint

gmsNotification

DELETE

/notification

Returns

Returns True/False based on successful call.

Return type

bool

get_gms_notification() list

Get current Orchestrator notification banner message

Swagger Section

Method

Endpoint

gmsNotification

GET

/notification

Returns

Returns list of configured Banner Message

[dict]: Banner Message Config object

  • keyword resourceBase (str):

  • keyword resourceKey (str):

  • keyword configData (dict): Banner Message object

    • keyword message (str): Banner Message string

    • keyword author (str): Author of Banner Message

  • keyword version (int): Version of message, increments on update

  • keyword timestamp (int): Timestamp of update in unix epoch time

Return type

list

update_gms_notification(message: str, author: str = '') bool

Update Orchestrator notification banner message

Swagger Section

Method

Endpoint

gmsNotification

POST

/notification

Parameters
  • message (str) – Banner notification message

  • author (str, optional) – Author of message, defaults to “”

Returns

Returns True/False based on successful call.

Return type

bool

get_orchestrator_registration_setting() dict

This configuration determines what appliances will use to connect to Orchestrator. If the customDefaultIP is a blank string, Orchestrator will send it’s internal management IP (returned as internalManagementIP) as the default. If any labels are configured, it will push that IP/domain instead.

Swagger Section

Method

Endpoint

gmsRegistration

GET

/gms/gmsRegistration2

Returns

Returns values for Orchestrator registration settings pushed to appliances

  • keyword customDefaultIP (str): The user set default domain or IP to send to appliances

  • keyword internalManagementIP (str): The Orchestrator’s management IP

  • keyword label (dict): Priority value for label

    • keyword ipOrDns (str): IP or DNS value to reach Orchestrator with over this label

    • keyword labelId (int): Label integer ID

Return type

dict

set_orchestrator_registration_setting(custom_default_ip: str = '', label_details: dict = {}) dict

This configuration determines what appliances will use to connect to Orchestrator. If the customDefaultIP is a blank string, Orchestrator will send it’s internal management IP (returned as internalManagementIP) as the default. If any labels are configured, it will push that IP/domain instead. These settings can be found in the web UI under Administration -> General Settings -> Setup -> Orchestrator Reachability

Swagger Section

Method

Endpoint

gmsRegistration

POST

/gms/gmsRegistration2

Warning

This will overwrite current Orchestrator reachability settings. Retrieve the current settings with pyedgeconnect.Orchestrator.get_orchestrator_registration_setting()

Parameters
  • custom_default_ip (str, optional) – The user set default domain or IP to send to appliances, e.g. my-orch-useast1.silverpeak.cloud

  • label_details (dict, optional) –

    Priority and IP/DNS details for specific labels for appliances to use to connect to Orchestrator. Defaults to blank dictionary {} Outlined in structure as follows:

    label_details = {

    “1”: {

    “ipOrDns”: “”,

    ”labelId”: 0

    },

    ”2”: {

    “ipOrDns”: “”,

    ”labelId”: 0

    }

    }

Returns

Returns True/False based on successful call

Return type

bool

get_orchestrator_hello() str

Returns hello message from Orchestrator

Swagger Section

Method

Endpoint

gmsServer

GET

/gmsserver/hello

Returns

Returns str hash message

Return type

str

get_orchestrator_server_brief() dict

Returns orchestrator server information such as uptime, release, timeZone, container mode etc.

Swagger Section

Method

Endpoint

gmsServer

GET

/gmsserver/briefInfo

Returns

Returns dictionary of orchestrator server information

  • keyword uptime (str): Duration since the server came online

  • keyword release (str): Orchestrator release version

  • keyword time (str): Current time as a string

  • keyword timeZone (str): Time zone of orchestrator

  • keyword inContainerMode (bool): Container mode

Return type

dict

get_orchestrator_server_info() dict

Returns orchestrator server information such as used disk space, hostname, release, etc.

Swagger Section

Method

Endpoint

gmsServer

GET

/gmsserver/info

Returns

Returns dictionary of orchestrator server information

  • keyword usedDiskSpace (str): Total disk Memory used so far

  • keyword hostName (str): Host name of the orchestrator server

  • keyword role (int): Role

  • keyword serialNumber (str): Orchestrator server serial number

  • keyword hwRev (str): hwRev

  • keyword numCpus (int): Number of CPUs

  • keyword release (str): Orchestrator release version

  • keyword freeDiskSpace (str): Remaining disk Memory

  • keyword osRev (str): Operating system version

  • keyword uptime (str): Duration since the server came online

  • keyword domain (str): Orchestrator domain name

  • keyword host (str): Orchestrator host IP address

  • keyword numActiveUsers (int): Number of active users accessing the Orchestrator

  • keyword model (str): Orchestrator server model number

  • keyword platform (str): The platform Orchestrator deployed

  • keyword loadAverage (int): loadAverage

  • keyword time (int): Current time as integer

  • keyword memSize (int): Total memory of the server

  • keyword inContainerMode (bool): Container mode

Return type

dict

get_orchestrator_server_os() str

Returns orchestrator operating system

Swagger Section

Method

Endpoint

gmsServer

GET

/gmsOperatingSystem

Returns

Returns string of orchestrator server operating system, e.g. linux

Return type

str

get_orchestrator_server_ping() dict

Returns orchestrator server information such as hostname, uptime, version, dbHealth

Swagger Section

Method

Endpoint

gmsServer

GET

/gmsserver/ping

Returns

Returns dictionary of orchestrator server information

  • keyword hostName (str): Host name of the orchestrator server

  • keyword dbHealth (bool): Orchestrator db health status

  • keyword timeStr (str): Current time as a string

  • keyword time (int): Current time as integer

  • keyword message (str): “I am alive!”

  • keyword version (str): Orchestrator release version

  • keyword uptime (str): Duration since the server came online

Return type

dict

get_orchestrator_server_versions() dict

Returns available orchestrator versions

Swagger Section

Method

Endpoint

gmsServer

GET

/gms/versions

Returns

Returns dictionary of orchestrator server versions

  • keyword current (str): Current Orchestrator release version, e.g. 9.0.3.40345

  • keyword installed (list[str]): List of all installed orchestrator versions

Return type

dict

delete_gms_smtp_settings() bool

Delete Orchestrator SMTP configuration

Swagger Section

Method

Endpoint

gmsSMTP

DELETE

/gmsSMTP

Returns

Returns True/False based on successful call

Return type

bool

delete_unverified_email_addresses(email_addresses: list) list

Delete specified unverified email addresses from Orchestrator

Swagger Section

Method

Endpoint

gmsSMTP

POST

/gmsSMTP/delUnverifiedEmails

Parameters

email_addresses (list) – List of unverified email addresses as strings to delete

Returns

Returns string that emails were removed

Return type

str

get_gms_smtp_settings() dict

Get Orchestrator SMTP configuration

Swagger Section

Method

Endpoint

gmsSMTP

GET

/gmsSMTP

Returns

Returns nested dictionary with smtp configuration details

  • keyword smtp (dict): dictionary of smtp configuration

    • keyword emailAuthentication (bool): Values for emailAuthentication

    • keyword password (str): E-mail server password, Will be null for security reasons

    • keyword userID (str): E-mail server user ID

    • keyword emailSender (str): E-mail address used to send E-mails

    • keyword emailSsl (bool): Enable or disable Enable SSL

    • keyword server (str): Address of the E-mail server

    • keyword smtpPort (int): SMTP server port

    • keyword requireEmailVerification (bool): Verification required before sending email

Return type

dict

get_unverified_email_addresses() list

Get all unverified email addresses in Orchestrator

Swagger Section

Method

Endpoint

gmsSMTP

GET

/gmsSMTP/unverifiedEmails

Returns

Returns list of strings with unverified email addresses

Return type

list

send_verification_email(email_address: str) list

Send verification email to address which will include a verification link

Swagger Section

Method

Endpoint

gmsSMTP

POST

/gmsSMTP/sendVerificationEmail

Parameters

email_address (str) – E-mail address to send verification link to

Returns

Returns string that email was sent or if no unverified emails found for specified address

Return type

str

set_gms_smtp_settings(email_authentication: bool = False, user_id: str = '', password: str = '', email_sender: str = '', email_ssl: bool = False, server: str = '', smtp_port: int = 25, require_verification: bool = False) bool

Set Orchestrator SMTP configuration

Swagger Section

Method

Endpoint

gmsSMTP

POST

/gmsSMTP

Note

If server and sender are unspecified, email will come from orchestrator@silverpeak.cloud sent via amazonses.com

Parameters
  • email_authentication (bool, optional) – True for if using authentication for email, False if not, defaults to False

  • user_id (str, optional) – E-mail server user, defaults to “”

  • password (str, optional) – E-mail server password, defaults to “”

  • email_sender (str, optional) – E-mail address used to send E-mails, defaults to “”

  • email_ssl (bool, optional) – True to Enable or False disable Enable SSL for email, defaults to False

  • server (str, optional) – Address of the E-mail server, defaults to “”

  • smtp_port (int, optional) – SMTP server port, defaults to 25

  • require_verification (bool, optional) – True to set verification required before sending email, False to not require verifcation, defaults to False

Returns

Returns True/False based on successful call

Return type

bool

test_gms_smtp_settings(test_email: str, email_authentication: bool = False, user_id: str = '', password: str = '', email_sender: str = '', email_ssl: bool = False, server: str = '', smtp_port: int = 25, require_verification: bool = False) bool

Send test email with Orchestrator SMTP configuration

Swagger Section

Method

Endpoint

gmsSMTP

POST

/gmsSMTP/testEmail

Note

If server and sender are unspecified, email will come from orchestrator@silverpeak.cloud sent via amazonses.com

Parameters
  • test_email (str) – Email address to send test message to

  • email_authentication (bool, optional) – True for if using authentication for email, False if not, defaults to False

  • user_id (str, optional) – E-mail server user, defaults to “”

  • password (str, optional) – E-mail server password, defaults to “”

  • email_sender (str, optional) – E-mail address used to send E-mails, defaults to “”

  • email_ssl (bool, optional) – True to Enable or False disable Enable SSL for email, defaults to False

  • server (str, optional) – Address of the E-mail server, defaults to “”

  • smtp_port (int, optional) – SMTP server port, defaults to 25

  • require_verification (bool, optional) – True to set verification required before sending email, False to not require verifcation, defaults to False

Returns

Returns True/False based on successful call

Return type

bool

verify_email_address(verification_id: str) bool

Verify an email address in Orchestrator

Swagger Section

Method

Endpoint

gmsSMTP

GET

/gmsSMTP/verifyAddress

Parameters

verification_id (str) – Secure random string in verification email to identify the email address

Returns

Returns string that email was verified

Return type

str

get_gms_stats_collection() dict

Returns stats collection enable/disable details

Swagger Section

Method

Endpoint

gmsStatsCollection

GET

/gms/statsCollection

Returns

Returns dictionary of Orchestrator stats collection settings

Return type

dict

get_gms_stats_collection_defaults() dict

Returns default values for stats collection

Swagger Section

Method

Endpoint

gmsStatsCollection

GET

/gms/statsCollection/default

Returns

Returns dictionary of default Orchestrator stats collection settings

Return type

dict

update_gms_stats_collection(application: Optional[bool] = None, dns: Optional[bool] = None, drc: Optional[bool] = None, drops: Optional[bool] = None, dscp: Optional[bool] = None, flow: Optional[bool] = None, interface: Optional[bool] = None, jitter: Optional[bool] = None, port: Optional[bool] = None, shaper: Optional[bool] = None, top_talkers: Optional[bool] = None, tunnel: Optional[bool] = None) bool

Enable/disable stats collection by orchestrator. All parameters optional.

Swagger Section

Method

Endpoint

gmsStatsCollection

POST

/gms/statsCollection

Parameters
  • application (bool, optional) – Description missing in Swagger, defaults to None

  • dns (bool, optional) – Description missing in Swagger, defaults to None

  • drc (bool, optional) – Description missing in Swagger, defaults to None

  • drops (bool, optional) – Description missing in Swagger, defaults to None

  • dscp (bool, optional) – Description missing in Swagger, defaults to None

  • flow (bool, optional) – Description missing in Swagger, defaults to None

  • interface (bool, optional) – Description missing in Swagger, defaults to None

  • jitter (bool, optional) – Description missing in Swagger, defaults to None

  • port (bool, optional) – Description missing in Swagger, defaults to None

  • shaper (bool, optional) – Description missing in Swagger, defaults to None

  • top_talkers (bool, optional) – Description missing in Swagger, defaults to None

  • tunnel (bool, optional) – Description missing in Swagger, defaults to None

Returns

Returns True/False based on successful call.

Return type

bool

add_gms_group(group_name: str, parent_pk: str = '', background_image_file: str = '') bool

Update appliance group in Orchestrator

Swagger Section

Method

Endpoint

group

POST

/gms/group/new

Parameters
  • group_name (str) – Name of the group. Must be unique.

  • parent_pk (str, optional) – The appliance group identifier, e.g. 3.Network, “” will act as to root group, defaults to “”

  • background_image_file (str, optional) – Image filename for group, defaults to “”

Returns

Returns True/False based on successful call.

Return type

bool

delete_gms_group(group_pk: str) bool

Delete an appliance group

Swagger Section

Method

Endpoint

group

DELETE

/gms/group/{id}

Parameters

group_pk (str) – The appliance group identifier, e.g. 3.Network

Returns

Returns True/False based on successful call.

Return type

bool

get_all_appliance_locations() list

Get all appliance graphical node location details (map position)

Swagger Section

Method

Endpoint

group

GET

/gms/grNode

Returns

Returns list of dictionaries with appliance details.

[dict]: appliance detail object

  • keyword id (str, optional): ID, assigned by Orchestrator like 1.GrNode

  • keyword groupId (str): ID of the group belonged to

  • keyword sourceId (str): The source ID. For an appliance expect nePk values like 3.NE. For groups, expect group ID like 10.Network

  • keyword appliance (bool): True for an Appliance and False for Group

  • keyword wx (int): Coordinates X in map window

  • keyword wy (int): Coordinates Y in map window

  • keyword latitude (float): Latitude

  • keyword longitude (float): Longitude

Return type

list

get_appliance_location(gr_node_pk: str) dict

Get appliance graphical node location details (map position)

Swagger Section

Method

Endpoint

group

GET

/gms/grNode/{grNodePk}

Parameters

gr_node_pk (str) – The appliance graphical node identifier, e.g. 0.GrNode

Returns

Returns dictionary with appliance details

  • keyword id (str, optional): ID, assigned by Orchestrator, e.g. 1.GrNode

  • keyword groupId (str): ID of the group belonged to

  • keyword sourceId (str): The source ID. For an appliance expect nePk values like 3.NE. For groups, expect group ID like 10.Network

  • keyword appliance (bool): True for an Appliance and False for Group

  • keyword wx (int): Coordinates X in map window

  • keyword wy (int): Coordinates Y in map window

  • keyword latitude (float): Latitude

  • keyword longitude (float): Longitude

Return type

dict

get_gms_group(group_pk: str) dict

Get appliance group in Orchestrator

Swagger Section

Method

Endpoint

group

GET

/gms/group/{id}

Parameters

group_pk (str) – The appliance group identifier, e.g. 0.Network is root group, 1.Network is internal use, 2.Network is auto-discovered groups. 3.Network and beyond is user-defined groups.

Returns

Returns dictionary of group details in Orchestrator

  • keyword id (str): Group Primary Key, e.g. 3.Network

  • keyword name (str): Unique name given to group

  • keyword subType (int): Network sub type: Root Group is 0, Auto discovered group is 2, and User defined group is 3

  • keyword parentId (str): Parent group Primary Key

  • keyword backgroundImage (str): Name of background image filename, e.g. data_net.png

Return type

dict

get_gms_groups() dict

Get all appliance groups in Orchestrator

Swagger Section

Method

Endpoint

group

GET

/gms/group

Returns

Returns dictionary of all appliance groups in Orchestrator

Return type

dict

get_root_gms_group() dict

Get root appliance group

Swagger Section

Method

Endpoint

group

GET

/gms/group/root

Returns

Returns dictionary of root appliance group, 0.Network

Return type

dict

update_appliance_location_grnodepk(gr_node_pk: str, wx: int, wy: int, latitude: float, longitude: float) bool

Update appliance location graphical information by graphical node id

Swagger Section

Method

Endpoint

group

POST

/gms/grNode/{grNodePk}

Parameters
  • gr_node_pk (str) – The appliance graphical node identifier, e.g. 0.GrNode

  • wx (int) – X Coordinates in map window

  • wy (int) – Y Coordinates in map window

  • latitude (float) – Latitude coordinates

  • longitude (float) – Latitude coordinates

Returns

Returns True/False based on successful call.

Return type

bool

update_appliance_location_nepk(ne_pk: str, wx: int, wy: int, latitude: float, longitude: float) bool

Update appliance location graphical information by Network Primary Key (nePk)

Swagger Section

Method

Endpoint

group

POST

/gms/grNode/forNePk/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

  • wx (int) – X Coordinates in map window

  • wy (int) – Y Coordinates in map window

  • latitude (float) – Latitude coordinates

  • longitude (float) – Latitude coordinates

Returns

Returns True/False based on successful call.

Return type

bool

update_gms_group(group_pk: str, group_name: str, background_image_file: str = '') bool

Update appliance group in Orchestrator

Swagger Section

Method

Endpoint

group

POST

/gms/group/{id}

Parameters
  • group_pk (str) – The appliance group identifier, e.g. 3.Network this cannot be changed from the original

  • group_name (str) – Name of the group. Must be unique.

  • background_image_file (str, optional) – Image filename for group, defaults to “”

Returns

Returns True/False based on successful call.

Return type

bool

get_ha_groups() dict

Get all appliances paired in HA configuration

Swagger Section

Method

Endpoint

haGroups

GET

/haGroups

Returns

Returns dictionary of all HA appliance pairs

Return type

dict

modify_ha_groups(index_num: Optional[int] = None, ne_pk_1: Optional[str] = None, ne_pk_2: Optional[str] = None, ha_subnet: str = '169.254.1.0/24', ha_mask: int = 30, ha_vlan_start: int = 100, ha_groups: Optional[dict] = None) bool

Modify appliances paired in HA configuration.

Swagger Section

Method

Endpoint

haGroups

POST

/haGroups

  • To modify a single HA pair, use the index_num, ne_pk_1, ne_pk_2, ha_subnet, ha_mask, and ha_vlant_start parameters.

  • To modify multiple HA pairs at once, only pass a dictionary to ha_groups parameter.

Parameters
  • index_num (int, optional) – Index number to identify the HA pair, defaults to None

  • ne_pk_1 (str, optional) – Network Primary Key (nePk) of first appliance, e.g. 3.NE, defaults to None

  • ne_pk_2 (str, optional) – Network Primary Key (nePk) of second appliance, e.g. 3.NE, defaults to None

  • ha_subnet (str, optional) – Subnet to use for HA connections between appliances, default “169.254.1.0/24”

  • ha_mask (int, optional) – Subnet mask for each HA connection between appliances, defaults to 30

  • ha_vlan_start (int, optional) – VLAN number to start for each HA connection between appliances, increments per connection, defaults to 100

  • ha_groups

    Dictionary of multiple appliance HA pairs, defaults to None

    • keyword appliance (list[dict]): Appliance pair, identified by dictionary per appliance ne_pk, e.g. [{"nePk":"3.NE"},{"nePk":"4.NE"}]

    • keyword subnet (str): Subnet to be used to allocate IPs to internal HA VLAN interfaces, defaults to 169.254.1.0/24.

    • keyword mask (int): Subnet mask value to be assigned to internal HA VLAN interfaces. This value will be used to carve out smaller ip blocks from above larger subnet, defaults to 30

    • keyword vlanStart (int): Starting VLAN id value to be assigned to internal HA VLAN interfaces. Will increment by 1 for multiple VLAN interfaces, defaults to 100

Returns

Returns True/False based on successful call.

Return type

bool

get_orchestrator_hostname() dict

Get configured hostname of Orchestrator

Swagger Section

Method

Endpoint

hostName

GET

/gmsHostname

Returns

Returns dictionary with Orchestrator hostname

  • keyword gms_hostname (str): Orchestrator hostname

Return type

dict

clear_idle_time() dict

Clear the user idle timeout

Swagger Section

Method

Endpoint

IdleTime

GET

/idle/clear

Returns

Returns True/False based on successful call

Return type

bool

increment_idle_time() dict

Increment the user idle time

Swagger Section

Method

Endpoint

IdleTime

GET

/idle/increment

Returns

Returns a dictionary of key isTimeout with value of True or False

Return type

dict

get_ipsec_udp_key_config() dict

Get IPSEC UDP key material configuration, seed lifetime, max activation wait time, and whether to persist seed on appliance

Swagger Section

Method

Endpoint

ikeless

GET

/ikeless/config

Returns

Returns dictionary ikeless key config

  • keyword seedLifeTimeDuration (int): Key material lifetime in seconds

  • keyword maxActivationWaitTime (int): Max key material activation wait time in seconds

  • keyword persistSeed (bool): Whether persist key material on appliance

  • keyword scheduleConfig (dict): Key rotation object

    • keyword enabled (bool): Enable or disable key rotation

    • keyword schedule (dict): rotation schedule detail

Return type

dict

get_ipsec_udp_key_history() dict

Get IPSEC UDP key history

Swagger Section

Method

Endpoint

ikeless

GET

/ikeless/seedHistory

Returns

Returns dictionary ikeless key history status

  • keyword activeSeedPersistSeed (bool): Whether active key material persists on appliance

  • keyword currentActivationTime (int): Epoch time of the activation of current active key material

  • keyword previousActiveSeedId (str): ID of previous active key material

  • keyword newSeedPersistSeed (bool): Whether new key material persists on appliance

  • keyword newSeedId (str): ID of new key material

  • keyword activeSeedId (str): ID of current active key material

  • keyword newSeedLifetime (int): Epoch time of the lifetime of new key material

  • keyword previousActivationTime (int): Epoch time of the activation of previous active key material

  • keyword activeSeedLifetime (int): Epoch time of the lifetime of active key material

Return type

dict

get_ipsec_udp_key_status() dict

Get IPSEC UDP key status for all appliances

Swagger Section

Method

Endpoint

ikeless

GET

/ikeless/seedStatus

Returns

Returns dictionary ikeless key status

  • keyword <ne_pk> (dict): Appliance key status object

    • keyword hasActiveSeed (bool): If appliance has the active key material

    • keyword hasNewSeed (bool): If appliance has the new key material

    • keyword detail (str): Detail of appliance seed status, including date stamp ID of active and new seed

Return type

dict

update_ipsec_udp_key_config(ikeless_config: dict) dict

Update IPSEC UDP key material configuration, seed lifetime, max activation wait time, and whether to persist seed on appliance

Swagger Section

Method

Endpoint

ikeless

POST

/ikeless/config

Example schedule config within ikeless_config:

ikeless_config = {
    "seedLifeTimeDuration": 0,
    "maxActivationWaitTime": 0,
    "persistSeed": false,
    "scheduleConfig": {
        "enabled": false,
        "schedule": {
            "effectiveTime": 1431323520,
            "recurrence": {
                "monthly": {
                    "type1" : {
                        "firstDayOfEveryMonth": true
                    },
                    "occursAt" : {
                        "hour": 12,
                        "minute": 0
                    }
                }
            },
            "timezoneOffset": "-7:00"
        }
    }
}
Parameters

ikeless_config (dict) –

Ikeless config object

  • keyword seedLifeTimeDuration (int): Key material lifetime in seconds

  • keyword maxActivationWaitTime (int): Max key material activation wait time in seconds

  • keyword persistSeed (bool): Whether persist key material on appliance

  • keyword scheduleConfig (dict): Key rotation object

    • keyword enabled (bool): Enable or disable key rotation

    • keyword schedule (dict): rotation schedule detail. See examples above and more in Swagger.

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_inbound_shaper(ne_id: str, cached: bool) dict

Get inbound shaper settings from Edge Connect appliance

Swagger Section

Method

Endpoint

inboundShaper

GET

/inboundShaper/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of inbound shaper configuration on appliance

  • keyword <interface_name> (dict): Interface shaper configuration. wan specifies system WAN shaper.

    • keyword accuracy (int): related to underlying shaper credit, not a user-configured parameter

    • keyword dyn_bw_enable (bool): If dynamic bandwidth is configured on interface inbound shaper

    • keyword enable (bool): If inbound shaper enabled on interface

    • keyword max_bw (int): Maximum bandwidth for interface in kbps

    • keyword traffic-class (dict): Traffic class configs

      • keyword <traffic_class_int> (dict): Config of traffic class

        • keyword excess (int): Excess weighting

        • keyword flow_limit (int): Flow limit

        • keyword max_bw (int): Percentage max bandwidth

        • keyword max_bw_abs (int): Absolute max bandwidth

        • keyword max_wait (int): Max wait time

        • keyword min_bw (int): Percentage min bandwidth

        • keyword min_bw_abs (int): Absolute min bandwidth

        • keyword name (str): Name of traffic class

        • keyword priority (int): Priority in traffic map

Return type

dict

get_all_interface_labels(active: Optional[bool] = None) dict

Get all configured interface labels. Can filter response for active labels or inactive labels with active parameter.

Swagger Section

Method

Endpoint

interfaceLabels

GET

/gms/interfaceLabels

Parameters

active (bool, optional) – True to filter for active labels, False to filter for inactive labels.

Returns

Returns dictionary of configured interface labels

  • keyword wan (dict): Dictionary of wan interface labels

    • keyword <label_id> (dict): Interface label id

      • keyword name (str): Name of interface label

      • keyword topology (int): Allowed topology for building tunnels. 0 allows full mesh, 2 limits to hub & spoke topology.

      • keyword active (bool): True if active, False if inactive

  • keyword lan (dict): Dictionary of lan interface labels

    • keyword <label_id> (dict): Interface label id

      • keyword name (str): Name of interface label

      • keyword topology (int): Allowed topology for building tunnels. 0 allows full mesh, 2 limits to hub & spoke topology.

      • keyword active (bool): True if active, False if inactive

Return type

dict

get_interface_labels_by_type(label_type: str, active: Optional[bool] = None) dict

Get all configured interface labels of either wan or lan. Can filter response for active labels or inactive labels with active parameter.

Swagger Section

Method

Endpoint

interfaceLabels

GET

/gms/interfaceLabels/{type}

Parameters
  • label_type (str) – wan to return wan-related labels, lan to return lan-related labels

  • active (bool, optional) – True to filter for active labels, False to filter for inactive labels.

Returns

Returns dictionary of wan or lan interface labels

  • keyword <label_id> (dict): Interface label id

    • keyword name (str): Name of interface label

    • keyword topology (int): Allowed topology for

      building tunnels. 0 allows full mesh, 2 limits to hub & spoke topology.

    • keyword active (bool): True if active,

      False if inactive

Return type

dict

push_interface_labels_to_appliance(ne_pk: str) dict

Pushes the active interface labels on Orchestrator to an appliance

Swagger Section

Method

Endpoint

interfaceLabels

POST

/interfaceLabels/{nePk}

Parameters

ne_pk (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns True/False based on successful call

Return type

bool

update_interface_labels(interface_label_config: dict, delete_dependencies: Optional[bool] = None) bool

Save interface labels, NOTE this will completely replace the current implementation. You cannot remove labels that are in use in an overlay. Label ids have to be unique across both wan and lan.

Swagger Section

Method

Endpoint

interfaceLabels

POST

/gms/interfaceLabels

Example:

interface_label_config = {
    "wan": {
        "1": {
        "name": "MPLS1",
        "active": true,
        "topology": 0
        },
        "2": {
        "name": "INET1",
        "active": true,
        "topology": 0
        },
        "3": {
        "name": "LTE",
        "active": true,
        "topology": 2
        },
        "6": {
        "name": "INET2",
        "active": true,
        "topology": 0
        },
        "7": {
        "name": "MPLS2",
        "active": true,
        "topology": 0
        }
    },
    "lan": {
        "4": {
        "name": "Voice",
        "active": true,
        "topology": 0
        },
        "5": {
        "name": "Data",
        "active": true,
        "topology": 0
        }
    }
}
Parameters
  • interface_label_config (dict) –

    Interface label configuration

    • keyword wan (dict): Dictionary of wan interface labels

      • keyword <label_id> (dict): Unique interface label id as a string integer, e.g. 1

        • keyword name (str): Name of interface label

        • keyword topology (int): Allowed topology for building tunnels. 0 allows full mesh, 2 limits to hub & spoke topology.

        • keyword active (bool): True if active, False if inactive

    • keyword lan (dict): Dictionary of lan interface labels

      • keyword <label_id> (dict): Unique interface label id as a string integer, e.g. 1

        • keyword name (str): Name of interface label

        • keyword topology (int): Allowed topology for building tunnels. 0 allows full mesh, 2 limits to hub & spoke topology.

        • keyword active (bool): True if active, False if inactive

  • delete_dependencies (bool, optional) – True to delete labels from port profiles and templates using it, False to not remove them.

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_interface_state(ne_id: str, cached: bool) dict

Get interface configuration data for appliance

Swagger Section

Method

Endpoint

interfaceState

GET

/interfaceState/{neId}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of interface configuration

  • keyword sysConfig (dict): system level configuration

    • keyword mode (str): Operation mode, e.g. router

    • keyword submode (str): Sub-mode, e.g. inline

    • keyword bonding (bool): Interface bonding enabled

  • keyword scalars (dict): Many system stats such as maxWanBandwidth, maxTunnels, maxRouteMapEntries, processorCount, etc.

  • keyword ifInfo (list): List of interface information

    [dict]: Interface information object

    • keyword ifname (str): Interface name, e.g. wan1

    • keyword admin (bool): Interface admin state

    • keyword oper (bool): Interface operational state

    • keyword ipv4 (str): IPv4 address

    • keyword ipv4mask (str): IPv4 subnet mask

    • keyword ipv4dhcp (bool): If IPv4 address from dhcp

    • keyword ifSpeed (str): Interface speed

    • keyword ifDuplex (str): Interface duplex setting, e.g. auto

    • keyword duplex (str): Duplex state, e.g. full (auto)

    • keyword mtu (int): Interface mtu, e.g. 1500

    • keyword mac (str): Interface mac address

    • keyword wan-if (bool): Is a WAN interface

    • keyword lan-if (bool): Is a LAN interface

    • keyword harden (bool): If interface set to harden

    • keyword label (str): Interface label id number, e.g. 2

    • keyword publicIp (str): Public IP on interface

    • keyword supported (str): String listing supported interface speed/duplexes e.g. 10/full,100/full,1000/full,auto/auto

    • keyword vrf (int,optional): VRF id for interface

  • keyword macIfs (list[str]): Available interfaces on appliance

  • keyword availMACs (list[str]): Available unassigned MAC addresses

Return type

dict

get_internal_subnets() dict

Gets the current internal subnets configured in Orchestrator to classify internet traffic

Swagger Section

Method

Endpoint

internalSubnets

GET

/gms/internalSubnets2

Returns

Returns dictionary of internal subnets

Return type

dict

update_internal_subnets(ipv4_list: list = ['10.0.0.0/8', '172.16.0.0/12', '192.168.0.0/16', '169.254.0.0/16', '224.0.0.0/4'], ipv6_list: list = [], segment_ipv4_list: list = [], non_default_routes: bool = False) bool

Update the list of internal subnets to use to classify internet traffic.

Swagger Section

Method

Endpoint

internalSubnets

POST

/gms/internalSubnets2

Any traffic not matching the internal subnets will be classified as internet traffic. This list will be pushed to all appliances. User can configure up to 512 subnets in each ipv4 and ipv6 entry.

Warning

This will overwrite current subnets!

Parameters
  • ipv4_list (list, optional) – List of ipv4 networks in CIDR format for all VRFs, defaults to [“10.0.0.0/8”, “172.16.0.0/12”, “192.168.0.0/16”, “169.254.0.0/16”, “224.0.0.0/4”]

  • ipv6_list (list, optional) – List of ipv6 networks in CIDR format, defaults to []

  • segment_ipv4_list (list, optional) – List of ipv4 networks each prefaced with related VRF id #, e.g. For VRF 1 only [“1:192.168.0.0/16”], defaults to []

  • non_default_routes – Treat non-default routes as internal subnets, defaults to False

  • non_default_routes – bool, optional

Returns

Returns True/False based on successful call.

Return type

bool

get_ip_allow_list() dict

Returns the external IP/mask allow list to access Orchestrator

Swagger Section

Method

Endpoint

ipAllowList

GET

/gms/ipAllowList/external

Returns

Returns dictionary of allowed IP addresses allowed to access Orchestrator

Return type

dict

get_ip_allow_list_drops() dict

Returns the IP addresses of the dropped requests to this server

Swagger Section

Method

Endpoint

ipAllowList

GET

/gms/ipAllowList/drops

Returns

Returns dictionary of dropped IP addresses blocked based on the allow list

Return type

dict

update_ip_allow_list(ip_allow_list: list) bool

Set the external IP/mask allow list to access Orchestrator

Swagger Section

Method

Endpoint

ipAllowList

POST

/gms/ipAllowList/external

This will overwrite the existing values in the list. Can supply a blank list [] as input to allow any IP.

Parameters

ip_allow_list (list) – List of IP addresses in CIDR format as strings. e.g. [“10.0.0.0/8”, “192.0.2.0/24”]

Returns

Returns True/False based on successful call

Return type

bool

bulk_upload_address_group(csv_filename: str) dict

Upload CSV file for bulk address group creation. The API returns the status and list of groups that got imported.

Warning

This function in pyedgeconnect is currently returning a 500 error with the file upload, despite working in the UI. Will be fixed in future update.

Swagger Section

Method

Endpoint

ipObjects

POST

/ipObjects/addressGroup/bulkUpload

Parameters

csv_filename (str) – Filename of CSV file to upload

Returns

Returns status and data within dictionary object

  • keyword success (bool): True for success, False when error encountered

  • keyword error (str): Error message, if applicable

  • keyword groups (list[str]):

  • keyword existingGroupNames (list[str]):

Return type

dict

bulk_upload_service_group(csv_filename: str) dict

Upload CSV file for bulk service group creation. The API returns the status and list of groups that got imported.

Warning

This function in pyedgeconnect is currently returning a 500 error with the file upload, despite working in the UI. Will be fixed in future update.

Swagger Section

Method

Endpoint

ipObjects

POST

/ipObjects/serviceGroup/bulkUpload

Parameters

csv_filename (str) – Filename of CSV file to upload

Returns

Returns status and data within dictionary object

  • keyword success (bool): True for success, False when error encountered

  • keyword error (str): Error message, if applicable

  • keyword groups (list[str]):

  • keyword existingGroupNames (list[str]):

Return type

dict

create_address_group(ag_name: str, included_ips: list[str] = [], excluded_ips: list[str] = [], included_groups: list[str] = [], comment: str = '') bool

Create/Replace an ACL address group object. Every address group must contain at least one include list or include group, otherwise will return a HTTP 400 error.

Swagger Section

Method

Endpoint

ipObjects

POST

/ipObjects/addressGroup

Parameters
  • ag_name (str) – ACL Group name

  • included_ips (list[str], optional) – List of IP addresses/subnets to include, defaults to []

  • excluded_ips (list[str], optional) – List of IP addresses/subnets to exclude, defaults to []

  • included_groups (list[str], optional) – List of Address Groups to include, defaults to []

  • comment (str, optional) – Comment for address group, defaults to ""

Returns

Returns True/False based on successful call

Return type

bool

create_service_group(sg_name: str, protocol: str, icmp_types: list[str] = [], included_ports: list[str] = [], excluded_ports: list[str] = [], included_groups: list[str] = [], excluded_groups: list[str] = [], comment: str = '') bool

Create/Replace an ACL service group object. Every service group must contain at least one include list or include group, otherwise will return a HTTP 400 error.

Swagger Section

Method

Endpoint

ipObjects

POST

/ipObjects/serviceGroup

Parameters
  • sg_name (str) – ACL Group name

  • protocol (str) –

  • icmp_types (list[str], optional) – List of icmp types to include if protocol set to ICMP, defaults to []

  • included_ports (list[str], optional) – List of ports or port ranges to include, will be ignored if protocol is set to ICMP, defaults to []

  • excluded_ports (list[str], optional) – List of ports or port ranges to exclude, will be ignored if protocol is set to ICMP, defaults to []

  • included_groups (list[str], optional) – List of Service Groups to include, will be ignored if protocol is set to ICMP, defaults to []

  • excluded_groups (list[str], optional) – List of Service Groups to exclude, will be ignored if protocol is set to ICMP, defaults to []

  • comment (str, optional) – Comment for address group, defaults to ""

Returns

Returns True/False based on successful call

Return type

bool

delete_address_group(ag_name: str) bool

Delete specific address group object

Swagger Section

Method

Endpoint

ipObjects

DELETE

/ipObjects/addressGroup/{name}

Parameters

ag_name (str) – ACL Group name

Returns

Returns True/False based on successful call

Return type

bool

delete_service_group(sg_name: str) bool

Delete specific service group object

Swagger Section

Method

Endpoint

ipObjects

DELETE

/ipObjects/serviceGroup/{name}

Parameters

ag_name (str) – ACL Group name

Returns

Returns True/False based on successful call

Return type

bool

get_address_group(ag_name: str) dict

Return specific address group object

Swagger Section

Method

Endpoint

ipObjects

GET

/ipObjects/addressGroup/{name}

Parameters

ag_name (str) – ACL Group name

Returns

Returns dictionary address group object

  • keyword type (str): Type of ACL group object, should

    be AG

  • keyword name (str): ACL group name

  • keyword rules (list[dict]): Array of rules objects

    • keyword includedIPs (list[str]): List of IP

      addresses to include in address group, e.g. ["10.1.1.0/24","10.2.1.0/24"]

    • keyword excludedIPs (list[str]): List of IP

      addresses to exclude in address group, e.g. ["10.3.1.0/24","10.4.1.0/24"]

    • keyword includedGroups (list[str]): List of

      Address groups to nest/include in this group, e.g. ["AddrGroup1","AddrGroup2"]

    • keyword comment (str): User comment for group

Return type

dict

get_all_address_groups() list

Use this API to get all ACL address group objects

Swagger Section

Method

Endpoint

ipObjects

GET

/ipObjects/addressGroup

Returns

Returns list of dictionaries for all ACL address group objects

  • [dict]: Address group object

    • keyword type (str): Type of ACL group object, should be set as AG

    • keyword name (str): ACL group name

    • keyword rules (list[dict]): Array of rules objects

      • keyword includedIPs (list[str]): List of IP addresses to include in address group, e.g. ["10.1.1.0/24","10.2.1.0/24"]

      • keyword excludedIPs (list[str]): List of IP addresses to exclude in address group, e.g. ["10.3.1.0/24","10.4.1.0/24"]

      • keyword includedGroups (list[str]): List of Address groups to nest/include in this group, e.g. ["AddrGroup1","AddrGroup2"]

      • keyword comment (str): User comment for group

Return type

list

get_all_service_groups() list

Use this API to get all ACL service group objects

Swagger Section

Method

Endpoint

ipObjects

GET

/ipObjects/serviceGroup

Returns

Returns list of dictionaries for all ACL service group objects

  • [dict]: Service group object

    • keyword type (str): Type of ACL group object, should be set as SG

    • keyword name (str): ACL group name

    • keyword rules (list[dict]): Array of rules objects

      • keyword protocol (str): Protocol type specified, e.g. UDP, TCP, or ICMP.

      • keyword icmpTypes (list[str]): List of included icmp types, e.g. ["0","8"]

      • keyword includedPorts (list[str]): List of included ports, ranges of ports, e.g. ["443","8000-8002"], will be ignored if protocol is set to ICMP.

      • keyword excludedPorts (list[str]): List of excluded ports, ranges of ports, e.g. ["443","8000-8002"], will be ignored if protocol is set to ICMP.

      • keyword includedGroups (list[str]): List of service groups to nest/include in this group, e.g. ["ServiceGroup1","ServiceGroup2"], will be ignored if protocol is set to ICMP.

      • keyword excludedGroups (list[str]): List of service groups to nest/include in this group, e.g. ["ServiceGroup1","ServiceGroup2"], will be ignored if protocol is set to ICMP.

      • keyword comment (str): User comment for group

Return type

list

get_service_group(sg_name: str) dict

Return specific service group object

Swagger Section

Method

Endpoint

ipObjects

GET

/ipObjects/serviceGroup/{name}

Parameters

ag_name (str :return: Returns dictionary address group object) – ACL Group name

Returns

Returns dictionary service group object

  • keyword type (str): Type of ACL group object, should

    be set as SG

  • keyword name (str): ACL group name

  • keyword rules (list[dict]): Array of rules objects

    • keyword protocol (str): Protocol type specified, e.g. UDP, TCP, or ICMP.

    • keyword icmpTypes (list[str]): List of included icmp types, e.g. ["0","8"]

    • keyword includedPorts (list[str]): List of included ports, ranges of ports, e.g. ["443","8000-8002"], will be ignored if protocol is set to ICMP.

    • keyword excludedPorts (list[str]): List of excluded ports, ranges of ports, e.g. ["443","8000-8002"], will be ignored if protocol is set to ICMP.

    • keyword includedGroups (list[str]): List of service groups to nest/include in this group, e.g. ["ServiceGroup1","ServiceGroup2"], will be ignored if protocol is set to ICMP.

    • keyword excludedGroups (list[str]): List of service groups to nest/include in this group, e.g. ["ServiceGroup1","ServiceGroup2"], will be ignored if protocol is set to ICMP.

    • keyword comment (str): User comment for group

Return type

dict

merge_address_groups() dict

Trigger an immediate merge of all address groups in the DB

Swagger Section

Method

Endpoint

ipObjects

POST

/ipObjects/addressGroup/merge

Returns

Returns True/False based on successful call

Return type

bool

merge_service_groups() dict

Trigger an immediate merge of all service groups in the DB

Swagger Section

Method

Endpoint

ipObjects

POST

/ipObjects/serviceGroup/merge

Returns

Returns True/False based on successful call

Return type

bool

update_address_group(ag_name: str, included_ips: list[str] = [], excluded_ips: list[str] = [], included_groups: list[str] = [], comment: str = '') bool

Replace an ACL address group object. Group must already exist, and the included_ips, excluded_ips, included_groups must include previous values and can be appended with additional values.

Swagger Section

Method

Endpoint

ipObjects

PUT

/ipObjects/addressGroup

Parameters
  • ag_name (str) – ACL Group name

  • included_ips (list[str], optional) – List of IP addresses/subnets to include, defaults to []

  • excluded_ips (list[str], optional) – List of IP addresses/subnets to exclude, defaults to []

  • included_groups (list[str], optional) – List of Address Groups to include, defaults to []

  • comment (str, optional) – Comment for address group, defaults to ""

Returns

Returns True/False based on successful call

Return type

bool

update_service_group(sg_name: str, protocol: str, icmp_types: list[str] = [], included_ports: list[str] = [], excluded_ports: list[str] = [], included_groups: list[str] = [], excluded_groups: list[str] = [], comment: str = '') bool

Replace an ACL service group object. Group must already exist, and all existing data for paramters of protocol, icmp_types, included_ports, excluded_ports, included_groups, excluded_groups, must be included and appended with new additional values.

Swagger Section

Method

Endpoint

ipObjects

PUT

/ipObjects/addressGroup

Parameters
  • sg_name (str) – ACL Group name

  • protocol (str) –

  • icmp_types (list[str], optional) – List of icmp types to include if protocol set to ICMP, defaults to []

  • included_ports (list[str], optional) – List of ports or port ranges to include, will be ignored if protocol is set to ICMP, defaults to []

  • excluded_ports (list[str], optional) – List of ports or port ranges to exclude, will be ignored if protocol is set to ICMP, defaults to []

  • included_groups (list[str], optional) – List of Service Groups to include, will be ignored if protocol is set to ICMP, defaults to []

  • excluded_groups (list[str], optional) – List of Service Groups to exclude, will be ignored if protocol is set to ICMP, defaults to []

  • comment (str, optional) – Comment for address group, defaults to ""

Returns

Returns True/False based on successful call

Return type

bool

change_appliance_license(ne_pk: str, boost: bool, boost_bw: int, tier_name: Optional[str] = None, tier_bw: Optional[int] = None, mini: Optional[bool] = None, plus: Optional[bool] = None, adv_sec_standard: Optional[bool] = None, adv_sec_unlimited: Optional[bool] = None) bool

Changes ec appliance license settings

Swagger Section

Method

Endpoint

license

POST

/license/portal/ec/{nePk}

Parameters
  • ne_pk (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • boost (bool) – True to request to enable boost on appliance

  • boost_bw (int) – Boost bandwidth to request, in Kbps

  • tier_bw (int, optional) – Tiered bandwidth to request, in Kbps. Accepted values are 20000, 50000, 100000, 200000, 500000, 1000000, 2000000, and for Unlimited use 1000000000, defaults to None

  • tier_name (str, optional) – Display name of tiered license to request. Not required in presence of using tier_bw parameter. Defaults to None

  • mini (bool, optional) – Apply legacy Mini license to appliance, defaults to None

  • plus (bool, optional) – Apply legacy Plus license to appliance, defaults to None

  • adv_sec_standard (bool, optional) – Apply Advanced Security Standard license to appliance, defaults to None

  • adv_sec_unlimited (bool, optional) – Apply Advanced Security Unlimited license to appliance, defaults to None

Returns

Returns True/False based on successful call

Return type

bool

delete_appliance_license_token(ne_pk: str) bool

Delete an appliance’s license token via the appliance. Used after revoking an appliance.

Swagger Section

Method

Endpoint

license

DELETE

/license/portal/appliance/license/token/{nePk}

Warning

This will stop the appliance from passing traffic immediately!

Parameters

ne_pk (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns True/False based on successful call

Return type

bool

get_nx_licensed_appliances() list

Returns list of NX licensed appliances

Swagger Section

Method

Endpoint

license

GET

/license/nx

Returns

Returns list of NX licensed appliances in Orchestrator

[dict]: licensed appliance object

  • keyword hostname (str): Hostname of appliance

  • keyword model (str): Model of appliance

  • keyword serialNum (str): Serial number of appliance

  • keyword saasEnabled (bool): Whether SaaS optimization is enabled on the appliance

  • keyword applianceId (str): Appliance ID

  • keyword LicenseType (str): Current license type

Return type

list

get_portal_licensed_appliances() dict

Retrieves portal licensed appliances

Swagger Section

Method

Endpoint

license

GET

/license/portal/appliance

Returns

Returns list of licensed appliances from Cloud Portal

[dict]: Appliance license information object

  • keyword applianceId (str): Appliance id in the format of integer.NE e.g. 3.NE

  • keyword id (str): Not documented

  • keyword enabled (bool): If appliance active

  • keyword hostname (str): Hostname of appliance

  • keyword isPortalLicensed (bool): If appliance is licensed in Cloud Portal

  • keyword licenses (dict): License state object

    • keyword fx (dict): Standard license object

      • keyword base (dict): Base license state

        • keyword enable (bool): True if active

      • keyword mini (dict): Mini license state

        • keyword enable (bool): True if active

      • keyword plus (dict): Plus license state

        • keyword enable (bool): True if active

      • keyword tier (dict): Tier license state

        • keyword bandwidth (int): Bandwidth licensed

        • keyword display (str): License display name

      • keyword boost (dict): Boost license state

        • keyword bandwidth (int): Amount of boost bandwidth in Mbps

        • keyword enable (bool): True if active

    • keyword metered (dict): Metered license object

      • keyword boost (dict): Boost license state

        • keyword bandwidth (int): Amount of boost bandwidth in Mbps

        • keyword enable (bool): True if active

    • keyword ecsp (dict): Not documented

      • keyword licenseId (str): Not documented

  • keyword licenseRequest (dict): License requested state object

    • keyword fx (dict): Standard license object

      • keyword base (dict): Base license state

        • keyword enable (bool): True if active

      • keyword mini (dict): Mini license state

        • keyword enable (bool): True if active

      • keyword plus (dict): Plus license state

        • keyword enable (bool): True if active

      • keyword tier (dict): Tier license state

        • keyword bandwidth (int): Bandwidth licensed

        • keyword display (str): License display name

      • keyword boost (dict): Boost license state

        • keyword bandwidth (int): Amount of boost bandwidth in Mbps

        • keyword enable (bool): True if active

    • keyword metered (dict): Metered license object

      • keyword boost (dict): Boost license state

        • keyword bandwidth (int): Amount of boost bandwidth in Mbps

        • keyword enable (bool): True if active

  • keyword model (str): Hardware model, e.g. EC-M-B

  • keyword portalLicenseType (int): Not documented

  • keyword serial (str): Appliance serial number

  • keyword saasEnabled (bool): True if SaaS Optimization is enabled

  • keyword expirationDate (int): License expiration in unix epoch

Return type

list

get_portal_licensed_summary() dict

Retrieves summary of portal licensed appliances

Swagger Section

Method

Endpoint

license

GET

/license/portal/summary

Returns

Returns summary of licensing information from Cloud Portal

  • keyword licenses (dict): Account info object

    • keyword accountKey (dict): Account key object

      • keyword key (str): Account key

    • keyword fx (dict): Standard EC license information

      • keyword enable (bool): If licenses are enabled

      • keyword boost (int): The amount of boost licensed

      • keyword mini (int): Number of mini licenses

      • keyword base (int): Number of base licenses

      • keyword plus (int): Number of plus licenses

      • keyword expire (int): License expiration date in unix epoch milliseconds

      • keyword boostExpire (int): Boost license expiration date in unix epoch milliseconds

      • keyword tier (dict): Tiered license info

        • keyword 1000000000 (dict): Unlimited licenses

          • keyword display (str): Name of license

          • keyword count (int): Number of licenses

        • keyword 2000000 (dict): 2G licenses

          • keyword display (str): Name of license

          • keyword count (int): Number of licenses

        • keyword 1000000 (dict): 1G licenses

          • keyword display (str): Name of license

          • keyword count (int): Number of licenses

        • keyword 500000 (dict): 500M licenses

          • keyword display (str): Name of license

          • keyword count (int): Number of licenses

        • keyword 200000 (dict): 200M licenses

          • keyword display (str): Name of license

          • keyword count (int): Number of licenses

        • keyword 100000 (dict): 100M licenses

          • keyword display (str): Name of license

          • keyword count (int): Number of licenses

        • keyword 50000 (dict): 50M licenses

          • keyword display (str): Name of license

          • keyword count (int): Number of licenses

        • keyword 20000 (dict): 20M licenses

          • keyword display (str): Name of license

          • keyword count (int): Number of licenses

    • keyword cpx (dict): CPX license information

      • keyword enable (bool): If licenses are enabled

      • keyword expire (int): Expiration date in Unix epoch

    • keyword saas (dict): SaaS Optimization license information

      • keyword enable (bool): If licenses are enabled

      • keyword expire (int): Expiration date in Unix epoch

    • keyword ecsp (dict): Not documented

      • keyword enable (bool): If licenses are enabled

    • keyword metered (dict): Metered license information

      • keyword enable (bool): If licenses are enabled

      • keyword expire (int): Expiration date in Unix epoch, null if not applicable

    • keyword cloudOrch (dict): Not documented

      • keyword enable (bool): If licenses are enabled, null if not applicable

      • keyword salesforceExpirationDate (int): Expiration date in Unix epoch, null if not applicable

      • keyword decommissionDate (int): Expiration date in Unix epoch, null if not applicable

  • keyword licenseState (dict): License state object

    • keyword fx (dict): Standard license state object

      • keyword numMini (int): Number of mini licenses

      • keyword numBase (int): Number of base licenses

      • keyword numBoost (int): Boost bandwidth

      • keyword numPlus (int): Number of plus licenses

      • keyword numTier (dict): Tiered licenses

        • keyword 1000000000 (int): Unlimited licenses

        • keyword 2000000 (int): 2G licenses

        • keyword 1000000 (int): 1G licenses

        • keyword 500000 (int): 500M licenses

        • keyword 200000 (int): 200M licenses

        • keyword 100000 (int): 100M licenses

        • keyword 50000 (int): 50M licenses

        • keyword 20000 (int): 20M licenses

Return type

dict

get_vx_licensed_appliances() list

Returns list of VX licensed appliances

Swagger Section

Method

Endpoint

license

GET

/license/vx

Returns

Returns list of VX licensed appliances in Orchestrator

[dict]: licensed appliance object

  • keyword hostname (str): Hostname of appliance

  • keyword model (str): Model of appliance

  • keyword serialNum (str): Serial number of appliance

  • keyword saasEnabled (bool): Whether SaaS optimization is enabled on the appliance

  • keyword applianceId (str): Appliance ID

  • keyword LicenseType (str): Current license type

  • keyword licenseStartDate (int): License start date in unix epoch

  • keyword licenseExpirationDate (int): License expiration date in unix epoch

Return type

list

grant_appliance_base_license(ne_pk: str) bool

Grant an appliance a base license via Cloud Portal

Swagger Section

Method

Endpoint

license

POST

/license/portal/appliance/grant/{nePk}

Parameters

ne_pk (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns True/False based on successful call

Return type

bool

revoke_appliance_base_license(ne_pk: str) bool

Revoke base license from appliance via Cloud Portal

Swagger Section

Method

Endpoint

license

POST

/license/portal/appliance/revoke/{nePk}

Parameters

ne_pk (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns True/False based on successful call

Return type

bool

Get all link aggregation data on the appliance

Swagger Section

Method

Endpoint

linkAggregation

GET

/linkAggregation/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of configured link aggregation

  • keyword <aggregate_interface> (dict): Aggregate interface object, e.g. blan0 or bwan0

    • keyword mtu (int): MTU of Link Aggregation interface

    • keyword portlist (str): Comma separated list of bonded interfaces as string, e.g. lan0,lan1

Return type

dict

Retrieve current link integrity test status/results from appliance

Swagger Section

Method

Endpoint

linkIntegrity

GET

/linkIntegrityTest/status/{neId}

Parameters

ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns dictionary of test status and related results

Return type

dict

Start a link integrity test between two appliances using specified parameters

Swagger Section

Method

Endpoint

linkIntegrity

POST

/linkIntegrityTest/run

Parameters
  • ne_pk_1 (str) – Network Primary Key (nePk) of first appliance

  • bandwidth_1 (str) – Data transfer rate to use from first appliance

  • path_1 (str) – Traffic path for first appliance. Can have values of “pass-through”, “pass-through-unshaped” or “{tunnelID}” e.g. “tunnel_1”.

  • ne_pk_2 (str) – Network Primary Key (nePk) of second appliance

  • bandwidth_2 (str) – Data transfer rate to use from second appliance

  • path_2 (str) – Traffic path for first appliance. Can have values of “pass-through”, “pass-through-unshaped” or “{tunnelID}” e.g. “tunnel_1”.

  • duration (int) – Duration of test in seconds

  • test_program (str) – Test program to be used for this test. Can have values of “iperf” or “tcpperf”

  • dscp (str, optional) – DSCP value for test traffic, defaults to “any”

Returns

Returns True/False based on successful call

Return type

bool

get_location_coordinates_from_address(address: str) list

Lookup the latitude and longitude of an address. It will return an array of locations that match the object, in the order of the locations that match the address the best. So if you’re looking for the best match, you should use the first element in the array.

Swagger Section

Method

Endpoint

location

GET

/location/addressToLocation?address={address}

Parameters

address (string) – Address to find latitude and longitude coordinates, e.g. 3333 Scott Blvd Santa Clara, CA 95054

Returns

Returns list of dictionaries of location coordinates

[dict]: location object

  • keyword address_components (list): list of dictionaries of formatted components of address such as street, town, county, full address etc.

  • keyword formatted_address (str): Full formatted address

  • keyword geometry (dict): multiple lat/long pairs for supplied address. There are more keywords that documented here, but simplest to retrieve lat long is outlined.

    • keyword location (dict): Lat/Long location

      • keyword lat (float): Latitude coordinate

      • keyword lng (float): Longitude coordinate

Return type

list

get_appliance_syslog_config(ne_id: str, cached: bool) dict

Get logging settings from appliance or gmsdb

Swagger Section

Method

Endpoint

logging

GET

/logging/{neId}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of logging configuration

Return type

dict

login(user: str, password: str, mfacode: str = '') bool

Basic login function supporting with our without multi-factor authentication.

Swagger Section

Method

Endpoint

login

POST

/authentication/login

Note

  • To use multi-factor, first call send_mfa() to obtain a token

  • If the userId is using RBAC, they must have R/O or R/W access to the REST API functionality to access the APIs

  • The auth modes of this call support local, RADIUS, TACACS+, OAuth, JWT, and SAML. Currently the Orchestrator class only supports local, RADIUS, and TACACS+.

Parameters
  • user (str) – Username to login

  • password (str) – Password associated with the Username

  • mfacode (str, optional) – String numeric code as second factor for login, provided by Orchestrator after calling send_mfa()

Returns

Returns True/False based on successful call.

Return type

bool

logout() bool

Logs out current session to Orchestrator

Swagger Section

Method

Endpoint

login

GET

/authentication/logout

Returns

Returns True/False based on successful call.

Return type

bool

send_mfa(user: str, password: str, temp_code: bool) bool

With a valid user/password Orchestrator will send that user an MFA code to be used in login() function.

Swagger Section

Method

Endpoint

login

POST

/authentication/loginToken

Parameters
  • user (str) – Username to login

  • password (str) – Password associated with the Username

  • temp_code (bool) –

Returns

Returns True/False based on successful call.

Return type

bool

get_loopback_interfaes(ne_id: str, cached: bool) dict

Get configured loopback interfaces on Edge Connect appliance

Swagger Section

Method

Endpoint

loopback

GET

/virtualif/loopback/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of configured loopback interfaces

Return type

dict

get_deleted_loopback_orchestration_ips(segment_id: str) list

Get deleted orchestrated loopback ip addresses from segment

Note

This API Call is not in current Swagger as of Orch 9.1.1

Swagger Section

Method

Endpoint

n/a

GET

/loopbackOrch/pool/history/{segment_id}

Parameters

segment_id (int) – Segment ID number to get deleted ip history from

Returns

Returns list of dictionaries of deleted loopback ip addresses

  • [dict]: Deleted loopback object

    • keyword id (int): Loopback ID

    • keyword nePk (str): Appliance ID to which loopback had been assigned and deleted

    • keyword segment (int): Segment ID

    • keyword subnet (str): CIDR subnet containing loopback address

    • keyword ipAddress (str): The loopback that was deleted

    • keyword loopbackId (int): Interface ID of loopback

    • keyword status (int): 0 indicated deleted

    • keyword detail (dict): Loopback object

      • keyword mgmtIP (bool): Is used for mgmt

      • keyword label (str): Interface Label ID, e.g. 149

      • keyword zone (int): Firewall Zone ID, e.g. 27

Return type

list

get_loopback_orchestration() dict

Get loopback orchestration setting

Swagger Section

Method

Endpoint

loopbackOrch

GET

/loopbackOrch

Returns

Returns dictionary for loopback Orchestration

  • keyword <segment_id> (dict): Loopback orch object

    • keyword loopbackPool (str): Loopback pool CIDR, e.g. 10.41.0.0/16

    • keyword interfaces (dict): Interface configuration detail

      • keyword <interface_id> (dict): Interface object ID, arbitrary value of 20x00 where x is the segment id

        • keyword mgmtIP (bool): Is used for mgmt

        • keyword label (str): Interface Label ID, e.g. 149

        • keyword zone (int): Firewall Zone ID, e.g. 27

Return type

dict

get_loopback_orchestration_pool_detail() dict

Get loopback orchestration pool allocation info

Swagger Section

Method

Endpoint

loopbackOrch

GET

/loopbackOrch/pool

Returns

Returns dictionary for loopback Orchestration pool detail

  • keyword <segment_id> (dict): Loopback orch object

    • keyword segment (int`): Segment id number

    • keyword subnet (str): Loopback pool CIDR subnet

    • keyword totalAddr (int): Total amount of addresses in pool

    • keyword addrAllocated (int): Current amount of addresses allocated

    • keyword addrDeleted (int): Current amount of addresses deleted

Return type

dict

reclaim_delete_loopback_orchestration_ips() bool

Reclaim all deleted loopback ip addresses

Swagger Section

Method

Endpoint

loopbackOrch

DELETE

/loopbackOrch/pool/reclaim

Returns

Returns True/False based on successful call

Return type

bool

reclaim_single_deleted_loopback_orchestration_ip(loopback_id: int) bool

Reclaim deleted loopback ip address by id

Swagger Section

Method

Endpoint

loopbackOrch

DELETE

/loopbackOrch/pool/reclaim/{id}

Parameters

loopback_id (int) – Loopback ID number to reclaim from deleted list.

Returns

Returns True/False based on successful call

Return type

bool

set_loopback_orchestration(segment_id: str, loopback_pool: str, mgmt_ip: bool, label_id: str, zone_id: int, multiple_segments: Optional[dict] = None) bool

Set loopback orchestration setting

Swagger Section

Method

Endpoint

loopbackOrch

POST

/loopbackOrch

Warning

This overwrites all loopback Orchestration, must use get_loopback_orchestration() to get existing loopback orchestration details and then use optional parameter multiple_segments to load multiple segment loopback pools.

Parameters
  • segment_id (str) – Segment ID, 0 for Default segment. Ignored if multiple_segments is used.

  • loopback_pool (str) – CIDR subnet to use for address pool, e.g. 10.41.0.0/16 Ignored if multiple_segments is used.

  • mgmt_ip (bool) – True for using loopback for management of appliance. Ignored if multiple_segments is used.

  • label_id (str) – Interface label ID to be applied to loopback, e.g. set to 27 if that is the label ID of an example interface label of LOOPBACK. Find label ID’s from get_all_interface_labels(). Invalid ID will result in UNKNOWN for label in UI. Ignored if multiple_segments is used.

  • zone_id (int) – Firewall zone ID to be applied to loopback, e.g. set to 27 if that is the label ID of an example interface label of LOOPBACK. Find label ID’s from get_zones(). Invalid ID will result in UNKNOWN for zone in UI. Ignored if multiple_segments is used.

  • multiple_segments (dict, optional) –

    Used to set multiple loopback orchestration pools at once or add/update existing pools. Defaults to None. Dictionary structure must adhere as follows:

    • keyword <segment_id> (dict): Loopback orch object

      • keyword loopbackPool (str): Loopback pool CIDR, e.g. 10.41.0.0/16

      • keyword interfaces (dict): Interface configuration detail

        • keyword <interface_id> (dict): Interface object ID, arbitrary value of 20x00 where x is the segment id

          • keyword mgmtIP (bool): Is used for mgmt

          • keyword label (str): Interface Label ID, e.g. 149

          • keyword zone (int): Firewall Zone ID, e.g. 27

Returns

Returns True/False based on successful call

Return type

bool

get_maintenance_mode_appliances() dict

Get appliances currently in maintenance mode

Swagger Section

Method

Endpoint

maintenanceMode

GET

/maintenanceMode

Returns

Returns dictionary of appliances in maintenance mode

Return type

dict

update_maintenance_mode_appliances(action: str, pause_list: list = [], alarm_list: list = []) bool

Update appliances in maintenance mode. Can pause orchestration and/or suppress alarms for appliances.

Swagger Section

Method

Endpoint

maintenanceMode

POST

/maintenanceMode

Parameters
  • action (str) – Use the values of add or remove to add or remove appliances from maintenance

  • pause_list (list, optional) – List of appliances to pause orchestration for in nePk format, e.g. ["3.NE","5.NE"], defaults to []

  • alarm_list (list, optional) – List of appliances to suppress alarms for in nePk format, e.g. ["3.NE","5.NE"], defaults to []

Returns

Returns True/False based on successful call

Return type

bool

get_mgmt_services(ne_id: str, cached: bool) dict

Get Edge Connect appliance management services configuration

Swagger Section

Method

Endpoint

mgmtServices

GET

/mgmtServices/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of configured management services

  • keyword <service_name> (dict): service detail object

    • keyword self (str): Name of service

    • keyword displayName (str): Display name of service

    • keyword srcinf (str): Interface for source IP address or label of applications

Return type

dict

get_appliance_multicast_config(ne_id: str, cached: bool) dict

Get multicast configuration from appliance

Swagger Section

Method

Endpoint

multicast

GET

/multicast/config/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of multicast configuration

Return type

dict

get_appliance_multicast_enabled(ne_id: str, cached: bool) dict

Get multicast enabled info from appliance

Swagger Section

Method

Endpoint

multicast

GET

/multicast/enable/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of multicast enabled info

Return type

dict

get_appliance_multicast_interfaces(ne_id: str) list

Get multicast interface state from appliance

Swagger Section

Method

Endpoint

multicast

GET

/multicast/state/interfaces/{neId}

Parameters

ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns list of multicast interface states

Return type

list

get_appliance_multicast_neighbors(ne_id: str) list

Get multicast neighbors state from appliance

Swagger Section

Method

Endpoint

multicast

GET

/multicast/state/neighbors/{neId}

Parameters

ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns list of multicast neighbor states

Return type

list

get_appliance_multicast_routes(ne_id: str) list

Get multicast routes state from appliance

Swagger Section

Method

Endpoint

multicast

GET

/multicast/state/routes/{neId}

Parameters

ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns list of multicast route states

Return type

list

get_appliance_nat_config(ne_id: str, cached: bool) dict

Get Edge Connect appliance NAT configuration

Swagger Section

Method

Endpoint

nat

GET

/nat/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of NAT configuration details

Return type

dict

get_appliance_nat_maps(ne_id: str, cached: bool) dict

Get Edge Connect appliance NAT maps configuration

Swagger Section

Method

Endpoint

nat

GET

/nat/{neId}/maps?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of NAT configuration details

Return type

dict

get_appliance_nat_pools(ne_id: str, cached: bool) dict

Get Edge Connect appliance NAT pools configuration

Swagger Section

Method

Endpoint

nat

GET

/nat/{neId}/natPools?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of NAT configuration details

Return type

dict

get_nat_policy(ne_id: str, cached: bool) dict

Get NAT policy configurations from Edge Connect appliance

Swagger Section

Method

Endpoint

natPolicy

GET

/natMaps/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary where each key is a segment id that contains its associated DNS proxy configuration (profiles, domain groups and maps).

Return type

dict

get_nat_policy_dynamic(ne_id: str, cached: bool) dict

Get all NAT dynamic rules settings from Edge Connect appliance

Swagger Section

Method

Endpoint

natPolicy

GET

/natMapsDynamic/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary where each key is a segment id that contains its associated DNS proxy configuration (profiles, domain groups and maps).

Return type

dict

get_nat_policy_inbound_outbound(ne_id: str, cached: bool) dict

Get all NAT inbound/ountboud settings from Edge Connect appliance

Swagger Section

Method

Endpoint

natPolicy

GET

/natAll/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary where each key is a segment id that contains its associated DNS proxy configuration (profiles, domain groups and maps).

Return type

dict

get_net_flow_configuration(ne_id: str, cached: bool) dict

Get netflow configurations from Edge Connect appliance

Swagger Section

Method

Endpoint

netFlow

GET

/netFlow/{neId}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of netflow configuration information

  • keyword active_timeout (int): Specify NetFlow timeout (1..30) mins

  • keyword ipfix_tmplt_rfrsh_t (int): Specify IPFIX template refresh timeout (1..1440) mins

  • keyword port1 (int): No description from Swagger

  • keyword if_wan_tx (bool): No description from Swagger

  • keyword enable (bool): No description from Swagger

  • keyword ipaddr1 (str): valid ip address

  • keyword if_lan_rx (bool): No description from Swagger

  • keyword if_lan_tx (bool): No description from Swagger

  • keyword ipaddr2 (str): valid ip address

  • keyword if_wan_rx (bool): No description from Swagger

  • keyword port2 (int): No description from Swagger

  • keyword optional_ies (dict, optional): dictionary of optional IES

    • keyword app_perf_ies (bool, optional): app performance optional IES

    • keyword zbf_ies (bool, optional): zbf optional IES

  • keyword collector_type1 (str): NetFlow or IPFIX collector type

  • keyword collector_type2 (str): NetFlow or IPFIX collector type

Return type

dict

erase_appliance_network_memory(ne_pk_list: list[str], erase: bool) dict

Get configured hostname of Orchestrator

Swagger Section

Method

Endpoint

networkMemory

POST

/networkMemory

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • eraseTrue to erase network memory on specified appliances. False will not erase network memory.

Returns

Returns dictionary with response code and key

  • keyword rc (int): response code, value of -32602 when erase is set to False. Value of 0 when erase is set to True.

  • keyword value (str): Will return Invalid params when erase is set to False. Will return hash key of action when erase is set to True.

Return type

dict

get_appliance_network_role_and_site(ne_id: str) dict

Get an appliance Network Role and Site information

Swagger Section

Method

Endpoint

networkRoleAndSite

GET

/appliance/networkRoleAndSite/{neid}

Parameters

ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns appliance network role and site information

  • keyword id (str): Appliance ID or NePK, e.g. 3.NE

  • keyword uuid (str): Appliance uuid

  • keyword networkRole (str): Appliance role, 1 for Hub, 0 for spoke, 2 for mesh

  • keyword site (str): Appliance site

  • keyword sitePriority (int): Appliance site priority

  • keyword userName (str): Username for appliance

  • keyword password (str): Password for appliance, null

  • keyword groupId (str): Appliance Group ID, e.g. 15.Network

  • keyword IP (str): Appliance management IP

  • keyword webProtocolType (int): Web protocol type, 1 for HTTP, 2 for HTTPS, 3 for Both

  • keyword serial (str): Appliance serial number

  • keyword hasUnsavedChanges (bool): True if appliance has unsaved changes

  • keyword rebootRequired (bool): True if appliance requires a reboot

  • keyword model (str): Appliance model

  • keyword hardwareRevision (str): Specific revision of appliance hardware

  • keyword hostName (str): Configured hostname of appliance

  • keyword applianceId (int): Integer appliance id

  • keyword platform (str): Running platform, e.g. VMware for a VM EC running on ESXi

  • keyword mode (str): Deployment mode the appliance is configured in

  • keyword bypass (bool): If True, appliance is currently in bypass

  • keyword softwareVersion (str): Software version running on the appliance

  • keyword startupTime (int): No description in Swagger

  • keyword webProtocol (str): HTTP, HTTPS, or BOTH

  • keyword systemBandwidth (int): Appliance system bandwidth, in Kbps

  • keyword state (int): State of the appliance. 0 - Unknown ( When an appliance is added to Orchestrator, it is in this state ), 1 - Normal (Appliance is reachable from Orchestrator), 2 - Unreachable (Appliance is unreachable from Orchestrator), 3 - Unsupported Version (Orchestrator does not support this version of the appliance ), 4 - Out of Synchronization (Orchestrator’s cache of appliance configuration/state is out of sync with the configuration/state on the appliance), 5 - Synchronization in Progress (Orchestrator is currently synchronizing appliances’s configuration and state)

  • keyword dynamicUuid (str): NEEDS DESCRIPTION

  • keyword portalObjectId (str): Appliance hash ID in Cloud Portal

  • keyword discoveredFrom (int): How the appliance was added to Orchestrator. 1 = MANUAL, 2 = PORTAL, 3 = APPLIANCE

  • keyword reachabilityChannel (int): Reachability channel of the appliance. 0 - Unknown, 1 - Orchestrator talks to appliance using HTTP/HTTPS using user id and password. This is not used for EdgeConnects and SD-WAN, 2 - Appliance connects to Orchestrator using HTTPS Websocket. Orchestrator uses this permanent connection to configure/monitor appliance. This is done because Appliance may be behind a firewall making it hard for Orchestrator to contact appliance using IP address, 4 - Orchestrator sends configuration/monitoring request to Cloud Portal which relays those requests to Appliance. Appliance sends its response to Cloud Portal which relays it back to Orchestrator.

  • keyword haPeer (str): Name of appliance EdgeHA peer, if applicable

  • keyword zoneList (dict): dictionary of list of zones being used by appliance

    • keyword zones (list[str]): list of zones

  • keyword interfaceList (dict): dictionary of list of interface labels being used by appliance

    • keyword interfaceLabels (list[str]): list of interface numbers

  • keyword tagsList (str): NEEDS DESCRIPTION

  • keyword preconfigStatus (str): NEEDS DESCRIPTION

  • keyword ip (str): Appliance management IP

  • keyword nePk (str): Appliance ID or NePK, e.g. 3.NE

Return type

dict

update_appliance_network_role_and_site(ne_id: str, network_role: int, site: str, site_priority: int = 0) dict

Update an appliance Network Role and Site information

Swagger Section

Method

Endpoint

networkRoleAndSite

POST

/appliance/networkRoleAndSite/{neid}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • network_role (int) – Appliance role, 1 for Hub, 0 for spoke, 2 for mesh

  • site (str) – Appliance site

  • site_priority (int) – Site priority, needs further description

Returns

Returns True/False based on successful call.

Return type

bool

get_optimization_policy(ne_id: str, cached: bool) dict

Get optimization policy configurations from Edge Connect appliance

Swagger Section

Method

Endpoint

optimizationPolicy

GET

/optimizationMaps/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary where each key is a segment id that contains its associated DNS proxy configuration (profiles, domain groups and maps).

Return type

dict

get_appliance_ospf_config(ne_id: str) dict

Get appliance OSPF configuration

Swagger Section

Method

Endpoint

ospf

GET

/ospf/config/system/{neId}

Parameters

ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns dictionary of OSPF configuration info

Return type

dict

get_appliance_ospf_interfaces_config(ne_id: str) dict

Get appliance OSPF interfaces configuration

Swagger Section

Method

Endpoint

ospf

GET

/ospf/config/interfaces/{neId}

Parameters

ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns dictionary of OSPF interfaces configuration info

Return type

dict

get_appliance_ospf_interfaces_state(ne_id: str) dict

Get appliance OSPF interfaces state

Swagger Section

Method

Endpoint

ospf

GET

/ospf/state/interfaces/{neId}

Parameters

ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns dictionary of OSPF interfaces state

Return type

dict

get_appliance_ospf_neighbors_state(ne_id: str) dict

Get appliance OSPF neighbors state

Swagger Section

Method

Endpoint

ospf

GET

/ospf/state/neighbors/{neId}

Parameters

ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns dictionary of OSPF neighbors state

Return type

dict

get_appliance_ospf_state(ne_id: str) dict

Get appliance OSPF state

Swagger Section

Method

Endpoint

ospf

GET

/ospf/state/system/{neId}

Parameters

ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns dictionary of OSPF system state

Return type

dict

add_appliance_overlay_association(appliance_overlay_map: dict) bool

Add appliances to overlays

Swagger Section

Method

Endpoint

overlayAssociation

POST

/gms/overlays/association

Parameters

appliance_overlay_map (dict) –

Dictionary using overlay ID’s as keys and values as list of appliance NePK values to associate to the overlays

  • keyword <overlay_id> (list[str]):

    • [str]: Appliance NePK ID’s that are associated with the overlay, e.g. ["3.NE","5.NE"]

Returns

Returns True/False based on successful call

Return type

bool

Example Dictionary:

{“1”: [“834.NE”], “2”: [“834.NE”]}

This would add appliance 834.NE to overlays with overlay ids of 1 and 2.

get_all_appliance_overlay_association() dict

Get list of appliances associated with each overlay

Swagger Section

Method

Endpoint

overlayAssociation

GET

/gms/overlays/association

Returns

Returns dictionary of each overlay with associated appliances

  • keyword <overlay_id> (list[str]):

    • [str]: Appliance NePK ID’s that are associated with the overlay, e.g. ["3.NE","5.NE"]

Return type

dict

get_appliance_overlay_association(overlay_id: str) dict

Get appliances associated with a specific overlay

Swagger Section

Method

Endpoint

overlayAssociation

GET

/gms/overlays/association/{overlayId}

Parameters

overlay_id (str) – Overlay id to retrieve associated appliances, e.g. 1

Returns

Returns dictionary of specific overlay with associated appliances

  • keyword <overlay_id> (list[str]):

    • [str]: Appliance NePK ID’s that are associated with the overlay, e.g. ["3.NE","5.NE"]

Return type

dict

remove_appliance_overlay_association(appliance_overlay_map: dict) bool

Remove appliances from overlays

Swagger Section

Method

Endpoint

overlayAssociation

POST

/gms/overlays/association/remove

Parameters

appliance_overlay_map (dict) –

Dictionary using overlay ID’s as keys and values as list of appliance NePK values to remove from the overlays

  • keyword <overlay_id> (list[str]):

    • [str]: Appliance NePK ID’s that are associated with the overlay, e.g. ["3.NE","5.NE"]

Returns

Returns True/False based on successful call

Return type

bool

Example Dictionary:

{“1”: [“834.NE”], “2”: [“834.NE”]}

This would add appliance 834.NE to overlays with overlay ids of 1 and 2.

remove_single_appliance_overlay_association(overlay_id: str, ne_pk: str) bool

Get appliances associated with a specific overlay

Swagger Section

Method

Endpoint

overlayAssociation

DELETE

/gms/overlays/association/{overlayId}

Parameters
  • overlay_id (str) – Overlay id to retrieve associated appliances, e.g. 1

  • ne_pk (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

Returns

Returns True/False based on successful call

Return type

bool

configure_new_overlay(overlay_config: dict) Response

Configure a new overlay on Orchestrator

Swagger Section

Method

Endpoint

overlays

POST

/gms/overlays/config

Note

See Swagger for more details on constructing valid overlay_config parameter to pass.

Parameters

overlay_config (dict) – Full overlay configuration object

Returns

Returns full response details. On successful call will return newly created Overlay ID

Return type

Requests.response object

configure_regionalized_overlay(regional_overlay_config: list) Response

Use this API to create an exhaustive representation of regionalized overlays. The body of this request should be an array of map which keyed by region id whose value is regional overlay configuration.

Swagger Section

Method

Endpoint

overlays

POST

/gms/overlays/config/regions

Note

See Swagger for more details on constructing valid regional_overlay_config parameter to pass.

Parameters

overlay_config (dict) – Full overlay configuration object

Returns

Returns full response details. On successful call will return newly created Overlay ID

Return type

Requests.response object

delete_overlay(overlay_id: int) dict

Deletes the overlay from the Orchestrator. Removes any appliances from the overlay and deletes any reports specifically for this overlay.

Swagger Section

Method

Endpoint

overlays

DELETE

/gms/overlays/config/{overlayId}

Parameters

overlay_id (int) – Numeric ID of overlay to retrieve

Returns

Returns True/False based on successful call

Return type

bool

get_all_overlays_config() list

Get all configured overlays in Orchestrator

Swagger Section

Method

Endpoint

overlays

GET

/gms/overlays/config

Returns

Returns list of dictionaries of each overlay configuration

Return type

list

get_all_overlays_config_keyed() dict

Get all configured overlays in Orchestrator keyed by overlay ID and region ID

Swagger Section

Method

Endpoint

overlays

GET

/gms/overlays/config/regions

Returns

Returns dictionary of overlay configuration

  • keyword <overlay_id (dict): overlay object

    • keyword <region_id (dict): regional overlay config

Return type

dict

get_appliance_overlays_association() dict

Get all appliance associations to Overlays

Note

This API Call is not in current Swagger as of Orch 9.0.3

Returns

Returns dictionary of overlay appliance associations

  • keyword <overlay_id (list[str]): List of associated appliance NePK’s to overlay

Return type

dict

get_max_overlays() dict

Get max number of overlays

Swagger Section

Method

Endpoint

overlays

GET

/gms/overlays/config/maxNumOfOverlays

Returns

Returns dictionary of max overlays

  • keyword max (int): Maximum number of overlays that can be configured

Return type

dict

get_overlay_config(overlay_id: int) dict

Get overlay config by overlay ID from Orchestrator

Swagger Section

Method

Endpoint

overlays

GET

/gms/overlays/config/{overlayId}

Parameters

overlay_id (int) – Numeric ID of overlay to retrieve

Returns

Returns dictionary of overlay configuration

Return type

dict

get_overlay_config_for_region(overlay_id: int, region_id: int) dict

Get a particular regional overlay configuration, if using regionId 0, global overlay configuration is returned.

Swagger Section

Method

Endpoint

overlays

GET

/gms/overlays/config/regions/{overlayId}/{regionId}

Parameters
  • overlay_id (int) – Numeric ID of overlay to retrieve

  • region_id (int) – Numeric ID of region to retrieve

Returns

Returns dictionary of overlay configuration

Return type

dict

get_overlays_priorities() dict

Get overlay priorities. Keys are overlay priority, values are the overlay id numbers.

Swagger Section

Method

Endpoint

overlays

GET

/gms/overlays/priority

>>> p = Orchestrator.get_overlays_priorities()
>>> print(p)
{"1": 5,"2": 6,"3": 7}

In the example above, Overlay 5 has 1st priority, Overlay 6 is 2nd, and Overlay 7 is 3rd.

Returns

Returns dictionary of overlay priority

  • keyword 1 (int): Overlay ID with 1st priority

  • keyword 2 (int, optional): Overlay ID with 2nd priority

  • keyword 3 (int, optional): Overlay ID with 3rd priority

  • keyword 4 (int, optional): Overlay ID with 4th priority

  • keyword 5 (int, optional): Overlay ID with 5th priority

  • keyword 6 (int, optional): Overlay ID with 6th priority

  • keyword 7 (int, optional): Overlay ID with 7th priority

Return type

dict

modify_overlay_config(overlay_id: int, overlay_config: dict) Response

Use this API to update an existing overlay configuration. If you are using regions and have customized regional BIO per region, it will be overridden. To avoid this use the other PUT api which takes regionID as an input. Any changes made to the overlay configuration will be pushed to the appliances automatically.

Swagger Section

Method

Endpoint

overlays

PUT

/gms/overlays/config/{overlayId}

Parameters
  • overlay_id (int) – Numeric ID of overlay to retrieve

  • overlay_config (dict) – Full overlay configuration object

Returns

Returns full response details. On successful call will return newly created Overlay ID

Return type

Requests.response object

modify_overlay_config_for_region(overlay_id: int, region_id: int, overlay_config: dict) Response

Use this API to update an existing overlay configuration, use region_id 0 to update global overlay configuration.

Swagger Section

Method

Endpoint

overlays

PUT

/gms/overlays/config/regions/{overlayId}/{regionId}

Parameters
  • overlay_id (int) – Numeric ID of overlay to retrieve

  • region_id (int) – Numeric ID of region to retrieve

  • overlay_config (dict) – Full overlay configuration object

Returns

Returns dictionary of overlay configuration

Return type

dict

modify_regionalized_overlay(regional_overlay_config: list) Response

Use this API to update an exhaustive representation of regionalized overlays. The body of this request should be a map keyed by overlayId whose value is a map of regionId to regional overlay configuration, use region_id 0 to update global overlay configuration.

Swagger Section

Method

Endpoint

overlays

PUT

/gms/overlays/config/regions

Note

See Swagger for more details on constructing valid regional_overlay_config parameter to pass.

Returns

Returns full response details. On successful call will return newly created Overlay ID

Return type

Requests.response object

set_overlays_priorities(overlay_prioirty: dict) dict

Set overlay priorities. This affects the order of the different overlays’ route maps. Keys are overlay priority, values are the overlay id numbers.

Swagger Section

Method

Endpoint

overlays

POST

/gms/overlays/priority

overlay_prioirty = {
    "1": 5,
    "2": 6,
    "3": 7,
}

In the example above, Overlay 5 has 1st priority, Overlay 6 is 2nd, and Overlay 7 is 3rd.

Note

Each overlay ID must have a unique priority. This function will overwrite existing priorities so it is best to first run get_overlays_priorities() to account for all current overlay priorities.

Returns

Returns dictionary of overlay priority

Return type

dict

get_pause_orchestration() dict

Get appliances currently paused for orchestration

Swagger Section

Method

Endpoint

pauseOrchestration

GET

/pauseOrchestration

Returns

Returns dictionary of appliances in nePk format

Return type

dict

set_pause_orchestration(ne_pk_list: list[str]) bool

Set appliances to pause orchestration

Swagger Section

Method

Endpoint

pauseOrchestration

POST

/pauseOrchestration

Parameters

ne_pk_list (list[str]) – List of appliances in the format of integer.NE e.g. ["3.NE","5.NE"]

Returns

Returns True/False based on successful call

Return type

bool

get_peer_priority_configuration(ne_id: str, cached: bool) dict

Get peer priority configurations from Edge Connect appliance

Swagger Section

Method

Endpoint

peerPriority

GET

/appliance/peerPriorityList/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of peer priority configuration information

  • keyword peerList (dict): dictionary of each peer and related metrics

    • keyword <peer_name> (str): Name of peer

      • keyword peer_weight (int): Configured peer weight

      • keyword peer_metric (int): Advertised metric

      • keyword self (str): Name of peer (same as parent dictionary key)

Return type

dict

get_appliance_port_fowarding(ne_pk: str) dict

Get port forwarding rules configured on Edge Connect appliance

Swagger Section

Method

Endpoint

portForwarding

GET

/portForwarding/{neId}

Parameters

ne_pk – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns dictionary of port forwarding rules

Return type

dict

get_qos_policy(ne_id: str, cached: bool) dict

Get QoS policy configurations from Edge Connect appliance

Swagger Section

Method

Endpoint

qosPolicy

GET

/qosMaps/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary where each key is a segment id that contains its associated DNS proxy configuration (profiles, domain groups and maps).

Return type

dict

delete_appliance_access_group(appliance_access_group_name: str) dict

Delete appliance access group / asset by name

Swagger Section

Method

Endpoint

rbacApplianceAccessGroup

DELETE

/rbac/asset/{applianceAccessGroupName}

Parameters

appliance_access_group_name (str) – Name of appliance access group to delete

Returns

Returns True/False based on successful call

Return type

bool

get_all_appliance_access_groups() dict

Get all appliance access groups / assets

Swagger Section

Method

Endpoint

rbacApplianceAccessGroup

GET

/rbac/asset

Returns

Returns dictionary of all appliance access groups

  • keyword <appliance_access_group_name> (dict): appliance access group object

    • keyword applianceGroups (list[str]): List of appliance group id’s to allow access to, e.g. ["160.Network", "148.Network"]

    • keyword applianceRegions (str): List of appliance regions to allow access to, e.g. ["16", "3", "7"]

Return type

dict

get_appliance_access_group(appliance_access_group_name: str) dict

Get appliance access group / asset by name

Swagger Section

Method

Endpoint

rbacApplianceAccessGroup

GET

/rbac/asset/{applianceAccessGroupName}

Parameters

appliance_access_group_name (str) – Name of appliance access group to retrieve

Returns

Returns dictionary of appliance access group details

  • keyword applianceGroups (list[str]): List of

    appliance group id’s allowed access to, e.g. ["160.Network", "148.Network"]

  • keyword applianceRegions (str): List of appliance

    regions allowed access to, e.g. ["16", "3", "7"]

Return type

dict

update_appliance_access_group(appliance_access_group_name: str, appliance_groups: list[str], appliance_regions: list[str]) bool

Create or update appliance access group / asset. Both list of appliance_groups and appliance_regions must be specified, if no group or region is desired, provide a blank list as input.

Swagger Section

Method

Endpoint

rbacApplianceAccessGroup

POST

/rbac/asset

Parameters
  • appliance_access_group_name (str) – Name of new or existing appliance access group to create or update

  • appliance_groups (list[str]) – List of appliance group id’s the access group will allow access to

  • appliance_regions (list[str]) – List of region id’s the access group will allow access to

Returns

Returns True/False based on successful call

Return type

bool

delete_rbac_user_assignment(username: str) bool

Delete rbac assignment for particular user

Swagger Section

Method

Endpoint

rbacAssignment

DELETE

/rbac/assignment/{username}

Parameters

username (str) – Username to query for rbac assignments

Returns

Returns True/False based on successful call

Return type

bool

get_rbac_assignments() dict

Get all rbac assignments

Swagger Section

Method

Endpoint

rbacAssignment

GET

/rbac/assignment

Returns

Returns dictionary of rbac assignments

Return type

dict

get_rbac_user_assignment(username: str) dict

Get rbac assignment for particular user

Swagger Section

Method

Endpoint

rbacAssignment

GET

/rbac/assignment/{username}

Parameters

username (str) – Username to query for rbac assignments

Returns

Returns dictionary of rbac assignments for user

Return type

dict

update_rbac_assignment(username: str, roles: str = 'null', asset: str = 'null') bool

Create or update rbac assignment

Swagger Section

Method

Endpoint

rbacAssignment

POST

/rbac/assignment

Parameters
  • username (str) – Username for assignment

  • roles (str, optional) – Comma separated list of roles. Required if asset value is not provided, e.g. “role1, role2, role3”, defaults to “null”

  • asset (str, optional) – Appliance access group or asset name. Required if roles value is not provided, e.g. “group1”, defaults to “null”

Returns

Returns True/False based on successful call

Return type

bool

Raises

ValueError – Both optional parameters cannot be value of “null”

delete_rbac_role(role: str) bool

Delete rbac role by name

Swagger Section

Method

Endpoint

rbacRole

DELETE

/rbac/role/{roleName}

Note

If role is assigned to one or more users, API will return HTTP 423

Parameters

role (str) – Name of the role

Returns

Returns True/False based on successful call

Return type

bool

get_all_rbac_roles() dict

Get all rbac roles

Swagger Section

Method

Endpoint

rbacRole

GET

/rbac/role

Returns

Returns dictionary of rbac roles

Return type

dict

get_rbac_role(role: str) dict

Get rbac role by name

Swagger Section

Method

Endpoint

rbacRole

GET

/rbac/role/{roleName}

Parameters

role (str) – Name of the role

Returns

Returns dictionary of rbac role

Return type

dict

get_rbac_role_assigned() dict

Get list of accessible menus based on the current session permissions

Swagger Section

Method

Endpoint

rbacRole

GET

/rbac/role/menuAssigned

Note

Returns HTTP 204 Empty Response if nothing is assigned

Returns

Returns dictionary of current session accessible menus

Return type

dict

update_rbac_role(role: str, menu_items: list, net_read: bool) bool

Create or update rbac role

Swagger Section

Method

Endpoint

rbacRole

POST

/rbac/role

Note

Swagger documentation (in 9.0.2.0) shows net_read value of True to be read/write but it is flipped.

Parameters
  • role (str) – Name of the role

  • menu_items (list) – List of menu items assigned for access from the role

  • net_read (bool) – Permissions for the attributes, Read/Write (False), Read-Only (True)

Returns

Returns True/False based on successful call

Return type

bool

get_reachability_status_appliance(ne_id: str) dict

Get the reachability status from an appliance. Includes status for rest, ssh, https, and web socket.

Swagger Section

Method

Endpoint

reachability

GET

/reachability/appliance/{neId}

Parameters

ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns dictionary of reachability status

Return type

dict

get_reachability_status_orchestrator(ne_id: str) list

Get the reachability status from Orchestrator. Includes status for id, username, state, hostname, web protocol type, and if there are unsaved changes.

Swagger Section

Method

Endpoint

reachability

GET

/reachability/gms/{neId}

Parameters

ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns dictionary of reachability status

Return type

dict

get_realtime_stats(ne_pk: str, stat_type: str, stat_name: str, stat_filter: str = '') dict

Get real time statistics from appliance based on query parameters

Swagger Section

Method

Endpoint

realtimeStats

POST

/realtimeStats/{nePk}

Note

Appliances store per second statistics for only 3 seconds. You must poll at a frequency faster than 3 seconds to not have gaps in the results when trying to collect continious values.

  • For Tunnel stats: Set stat_type to tunnel and set stat_name to one of the tunnel names or pass-through or pass-through-unshaped. stat_filter is not used for tunnel statistics.

  • For TrafficType stats: Set the stat_type to trafficType to retrieve two aggregate real-time stats: optimized and all-traffic. For optimized, set stat_name to 0 and for all-traffic, set stat_name to 3. stat_filter is not used.

  • For Application stats: Set stat_type to app. Set stat_name to application name. stat_filter is required. Accepted values are 0 for optimized traffic, 1 for passthrough shaped, 2 for passthrough unshaped, and 3 for all traffic.

  • For DSCP stats: Set stat_type to dscp, set stat_name to one of DSCP values from 0 to 63. stat_filter is required. Accepted values are 0 for optimized traffic, 1 for passthrough shaped, 2 for passthrough unshaped, and 3 for all traffic.

  • For Traffic Class Stats: set stat_type to ‘trafficClass’, set stat_name to one of traffic classes from 0 to 9. stat_filter is required. Accepted values are 0 for optimized traffic, 1 for passthrough shaped, 2 for passthrough unshaped, and 3 for all traffic.

  • For Flow stats: set type to flow, name to 0 for TCP accelerated, 1 for TCP unaccelerated and 2 for non-TCP flows. 3 for all traffic. stat_filter is required. Accepted values are 0 for optimized traffic, 1 for passthrough shaped, 2 for passthrough unshaped, and 3 for all traffic.

  • For Shaper stats: Set stat_type to shaper. Set stat_name to one of traffic classes from 0 to 9. stat_filter to traffic direction, 0 for Outbound and 1 for Inbound.

  • For Drops stats: Set stat_type to drops. Set stat_name to empty string

  • For Interface stats: set type to interface, and stat_name to interface name. Use stat_filter to filter traffic type, 0 for optimized traffic, 1 for passthrough shaped, 2 for passthrough unshaped, and 3 for all traffic.

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • stat_type (str) – Category/Type of statistics to retrieve, accepted values included tunnel, trafficType, app, flow, dscp, trafficClass, shaper, drops, and interface

  • stat_name (str) – Name of value to retrieve, accepted values dependent on value of param stat_type

  • stat_filter (str, optional) – Required for certain stat types, accepted values are 0, 1, 2, 3, function of which is dependent on value of stat_type and stat_name, defaults to “”

Returns

Dictionary of realtime stats for specified parameters

  • keyword <name_of_stat> (list): 3 second stat object, number of keys varies based on stat type queried

    • [list]: First second list of stat timestamp and value

      • [0] (int): Epoch timestamp in microseconds

      • [1] (int): Stat value, unit dependent on stat type

    • [list]: Second second list of stat timestamp and value

      • [0] (int): Epoch timestamp in microseconds

      • [1] (int): Stat value, unit dependent on stat type

    • [list]: Third second list of stat timestamp and value

      • [0] (int): Epoch timestamp in microseconds

      • [1] (int): Stat value, unit dependent on stat type

Return type

dict

create_region(region: str) bool

Create a new region

Swagger Section

Method

Endpoint

regions

POST

/regions

Parameters

region (str) – Name of the new region to be created

Returns

Returns True/False based on successful call

Return type

bool

delete_region(region_id: int) bool

Delete a region by region ID

Swagger Section

Method

Endpoint

regions

DELETE

/regions/{regionId}

Parameters

region_id (int) – Numeric ID of region

Returns

Returns True/False based on successful call

Return type

bool

get_all_regions() dict

Get all regions

Swagger Section

Method

Endpoint

regions

GET

/regions

Returns

Returns dictionary of configured regions

Return type

dict

get_region(region_id: int) dict

Get region by ID

Swagger Section

Method

Endpoint

regions

GET

/regions/{regionId}

Parameters

region_id (int) – Numeric ID of region

Returns

Returns dictionary of region

Return type

dict

get_region_appliance_association() dict

Get all appliance/region associations

Swagger Section

Method

Endpoint

regions

GET

/regions/appliances

Returns

Returns dictionary of appliance associations to regions

Return type

dict

get_region_appliance_association_by_nepk(ne_pk: str) dict

Get appliance/region association by nePk of appliance

Swagger Section

Method

Endpoint

regions

GET

/regions/appliances/nePk/{nePk}

Parameters

ne_pk (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

Returns

Returns dictionary of appliance association to region

  • keyword nePk (str): Appliance NePK, e.g. 3.NE

  • keyword regionId (int): Region ID, 0 is default

  • keyword regionName (str): Region name

Return type

dict

get_region_appliance_association_by_region_id(region_id: int) dict

Get all appliances associated with region

Swagger Section

Method

Endpoint

regions

GET

/regions/appliances/regionId/{regionId}

Parameters

region_id (int) – Numeric ID of region

Returns

Returns dictionary of appliances associated to region

Return type

dict

set_region_appliance_association(appliance_region_map: dict) bool

Set association between appliances and regions. Can set one or many associations.

Swagger Section

Method

Endpoint

regions

POST

/regions/appliances

Parameters

appliance_region_map (dict) – Dictionary where each key/value pair is an appliance nePk (e.g. 3.NE) and region_id. e.g. {“3.NE”:”1”, “10.NE”,”2”,…}

Returns

Returns True/False based on successful call

Return type

bool

update_region_appliance_association(ne_pk: str, region_id: int) bool

Update association between appliance and regions.

Swagger Section

Method

Endpoint

regions

PUT

/regions/appliances/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

  • region_id (int) – Numeric ID of region

Returns

Returns True/False based on successful call

Return type

bool

update_region_name(region_id: int, region_name: str) bool

Update the name of an existing region

Swagger Section

Method

Endpoint

regions

PUT

/regions/{regionId}

Parameters
  • region_id (int) – Numeric ID of region

  • region_name (str) – New name of the region

Returns

Returns True/False based on successful call

Return type

bool

delay_release_notification(version: str, hour_delay: int) bool

Delay the notifcation by a number of hours

Swagger Section

Method

Endpoint

releases

GET

/release/notifications/delay/{version}

Returns

Returns list of software release notifications

Return type

list

dismiss_release_notification(version: str) bool

Dismiss a release, so it’s no longer shown to the user

Swagger Section

Method

Endpoint

releases

GET

/release/notifications/dismiss/{version}

Returns

Returns True/False based on successful call

Return type

bool

get_releases_for_orchestrator_and_ecos(filter_new: bool) dict

Get all releases for Orchestrator and ECOS

Swagger Section

Method

Endpoint

releases

GET

/release

Parameters

filter_new (bool) – True to return only new releases of Orchestrator and ECOS

Returns

Returns dictionary of software release information

  • keyword gmsbuilds (list[dict]): Orchestrator releases

    • keyword version (str): Version of the release

    • keyword product (str): orchestrator or ECOS (vxoa)

    • keyword releaseType (str): Type of release, e.g. FCS or GA

    • keyword releaseDate (int): Release date in Unix EPOCH in milliseconds

    • keyword description (str): Release description text

    • keyword modifiedTime (int): Last modified time in Unix EPOCH in milliseconds

    • keyword noteId (str): Release ID hash, if release notes are included, otherwise null

    • keyword notesS3Metadata (dict): S3 metadata for release notes, if applicable

      • keyword ETag (str): Entity tag of asset in S3, hash of object content (not metadata)

      • keyword Location (str): URL to asset

      • keyword Key (str): Filename of asset

      • keyword key (str): Filename of asset

      • keyword Bucket (str): S3 Bucket name, e.g. prod-portal-release-images

      • keyword uploadTimestamp (int): Time uploaded to S3 in Unix EPOCH milliseconds

    • keyword imageId (str): Release ID hash, if image is included, otherwise null

    • keyword imageS3Metadata (dict): S3 metadata for image, if applicable

      • keyword ETag (str): Entity tag of asset in S3, hash of object content (not metadata)

      • keyword Location (str): URL to asset

      • keyword Key (str): Filename of asset

      • keyword key (str): Filename of asset

      • keyword Bucket (str): S3 Bucket name, e.g. prod-portal-release-images

      • keyword uploadTimestamp (int): Time uploaded to S3 in Unix EPOCH milliseconds

    • keyword enabled (bool): If image is available

    • keyword haveNotifiedInEmail (bool): If release email notification has been sent

    • keyword createdAt (int): Release creation time in Unix EPOCH milliseconds

    • keyword releaseType (str): Release type, e.g. GA or FCS

    • keyword lastDownloadTime (int): Time last downloaded in Unix EPOCH milliseconds, null if not yet downloaded

    • keyword _id (str): Release ID hash

    • keyword uploadedBy (null): null

  • keyword vxoabuilds (list[dict]): ECOS (vxoa) releases

    • keyword version (str): Version of the release

    • keyword product (str): orchestrator or ECOS (vxoa)

    • keyword releaseType (str): Type of release, e.g. FCS or GA

    • keyword releaseDate (int): Release date in Unix EPOCH in milliseconds

    • keyword description (str): Release description text

    • keyword modifiedTime (int): Last modified time in Unix EPOCH in milliseconds

    • keyword noteId (str): Release ID hash, if release notes are included, otherwise null

    • keyword notesS3Metadata (dict): S3 metadata for release notes, if applicable

      • keyword ETag (str): Entity tag of asset in S3, hash of object content (not metadata)

      • keyword Location (str): URL to asset

      • keyword Key (str): Filename of asset

      • keyword key (str): Filename of asset

      • keyword Bucket (str): S3 Bucket name, e.g. prod-portal-release-images

      • keyword uploadTimestamp (int): Time uploaded to S3 in Unix EPOCH milliseconds

    • keyword imageId (str): Release ID hash, if image is included, otherwise null

    • keyword imageS3Metadata (dict): S3 metadata for image, if applicable

      • keyword ETag (str): Entity tag of asset in S3, hash of object content (not metadata)

      • keyword Location (str): URL to asset

      • keyword Key (str): Filename of asset

      • keyword key (str): Filename of asset

      • keyword Bucket (str): S3 Bucket name, e.g. prod-portal-release-images

      • keyword uploadTimestamp (int): Time uploaded to S3 in Unix EPOCH milliseconds

    • keyword enabled (bool): If image is available

    • keyword haveNotifiedInEmail (bool): If release email notification has been sent

    • keyword createdAt (int): Release creation time in Unix EPOCH milliseconds

    • keyword releaseType (str): Release type, e.g. GA or FCS

    • keyword lastDownloadTime (int): Time last downloaded in Unix EPOCH milliseconds, null if not yet downloaded

    • keyword _id (str): Release ID hash

    • keyword uploadedBy (null): null

Return type

dict

get_releases_notifications() list

This API will return all the notifications that are meant to be shown in Orchestrator. This means the notification is new, it’s ‘remind me’ date is past, and it has not been dismissed.

Swagger Section

Method

Endpoint

releases

GET

/release/notifications

Returns

Returns list of software release notifications

  • [dict]: Release notification object

    • keyword product (int): Product identifier, 1 for Orchestrator, 2 for ECOS

    • keyword description (str): Description notes of notification message

    • keyword version (str): Release version, e.g. 9.1.0.40524

Return type

list

get_rest_api_config() dict

Get REST API configuration

Swagger Section

Method

Endpoint

restApiConfig

GET

/restApiConfig

Returns

Returns dictionary of REST API config

Return type

dict

set_rest_api_config(enable: bool) bool

Update REST API configuration

Swagger Section

Method

Endpoint

restApiConfig

POST

/restApiConfig

Parameters

enable (bool) – The control value of connecting ECOS via portal web socket, True allows connecting ECOS via portal web socket, False disallows

Returns

Returns dictionary of REST API config

Return type

dict

get_appliance_rest_stats(ne_pk: str, resource: str, portal_ws: bool, timedout: bool, time_from: int, time_to: int = 0) list

Get summary of time used info of rest requests sent to appliances

Swagger Section

Method

Endpoint

restRequestTimeStats

GET

/restRequestTimeStats/summary

Parameters
  • ne_pk (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • resource (str) – Base resource of the appliance to send to, ‘all’ means all resources

  • portal_ws (bool) – Through what web socket the requests were sent, True for portal web socket, False for direct web socket

  • timedout (bool) – Whether the requests timedout

  • time_from (int) – The minimum epoch time when the requests were sent

  • time_to (int, optional) – The maximum epoch time when the requests were sent, 0 represents current time, defaults to 0

Returns

Returns list of associated stats

Return type

list

get_appliance_rest_stats_by_method(ne_pk: str, resource: str, portal_ws: bool, time_from: int, method: str = 'GET', time_to: int = 0) list

Get summary of time used info of rest requests sent to specific resource on appliance

Swagger Section

Method

Endpoint

restRequestTimeStats

GET

/restRequestTimeStats/{nePk}/%2F{resource}/{portalWS}/{method}

Parameters
  • ne_pk (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • resource (str) – Base resource of the appliance to send to, all means all resources

  • portal_ws (bool) – Through what web socket the requests were sent, True for portal web socket, False for direct web socket

  • timedout (bool) – Whether the requests timedout

  • time_from (int) – The minimum epoch time when the requests were sent

  • time_to (int, optional) – The maximum epoch time when the requests were sent, 0 represents current time, defaults to 0

  • method (str, optional) – The HTTP request method, e.g. GET, POST, PUT, and DELETE, defaults to “GET”

Returns

Returns list of associated stats

Return type

list

get_route_policy(ne_id: str, cached: bool) dict

Get route policy configurations from Edge Connect appliance

Swagger Section

Method

Endpoint

routePolicy

GET

GET /routeMaps/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary with options object and data object. Data objects includes Route map(s), each map includes Route rule(s), each rule has a match part and a set part. The schema of returned is { 'options' : {'activeMap': 'map1'}, 'data': {'map1' : {'prio': {...}, 'self':'map1'}}} The prio object contains rules key value pairs, each key is the priority of a rule, each value is the rule object.

Return type

dict

save_changes_ne_pk_list(ne_pk_list: list[str]) dict

Save configuration changes in memory to a file for a list of appliances in Orchestrator

Swagger Section

Method

Endpoint

saveChanges

POST

/appliance/saveChanges

Parameters

ne_pk_list – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

Returns

Returns dictionary with identifying key of this task.

  • keyword clientKey (str): Client key which can be polled to get progress of the requested action.

Return type

dict

save_changes_single_appliance(ne_pk: str) dict

Save configuration changes in memory to a file for an appliance in Orchestrator

Swagger Section

Method

Endpoint

saveChanges

POST

/appliance/saveChanges/{nePk}

Parameters

ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

Returns

Returns dictionary with identifying key of this task.

  • keyword clientKey (str): Client key which can be polled to get progress of the requested action.

Return type

dict

get_schedule_timezone() dict

Get timezone configuration for scheduled jobs and reports to run

Swagger Section

Method

Endpoint

scheduleTimezone

GET

/gms/scheduleTimezone

Returns

Returns dictionary of schedule timezone

  • keyword defaultTimezone (str): Timezone of scheduled jobs and reports, e.g. US/East-Indiana

Return type

dict

set_schedule_timezone(timezone: str) bool

Updates the schedule timezone used with for the scheduled jobs and reports

Swagger Section

Method

Endpoint

scheduleTimezone

POST

/gms/scheduleTimezone

Parameters

timezone (str) – Time zone to set for scheduled jobs and reports. Format of Country/Location, e.g. US/East-Indiana

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_security_maps(ne_id: str, cached: bool) dict

Get security policies configured on the appliance

Swagger Section

Method

Endpoint

securityMaps

GET

/securityMaps/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of security maps

Return type

dict

get_security_settings() dict

Get advanced security settings

Swagger Section

Method

Endpoint

securitySettings

GET

/security/advancedSettings

Returns

Returns dictionary of advanced security settings

Return type

dict

set_security_settings(verify_orch_cert: Optional[bool] = None, verify_portal_cert: Optional[bool] = None, enforce_csrf_check: Optional[bool] = None, enforce_binary_check: Optional[bool] = None, enforce_image_check: Optional[bool] = None) bool

Set advanced security settings for Edge Connect appliances

Swagger Section

Method

Endpoint

securitySettings

POST

/security/advancedSettings

Note

The function will call get_security_settings() and for any parameters that are not specified (defaulting to None) the current values for those parameters will be used.

Parameters
  • verify_orch_cert (bool, optional) –

    Appliances will try to validate the Orchestrator certificate, as None will use current setting, defaults to None

    Do not enable if any of the following are true:
    1. Orchestrator is using a self-signed certificate

    2. Orchestrator is behind a proxy

    3. The appliance is not configured with the Orchestrator domain name

    4. If EdgeConnect is using Orchestrator as a proxy to reach Portal, then do not turn this on unless Orchestrator has a valid certificate

  • verify_portal_cert (bool, optional) –

    Appliances will try to validate the Cloud Portal certificate, as None will use current setting, defaults to None

    Do not enable if any of the following are true:
    1. The appliance is behind a proxy

    2. Orchestrator is not configured with the Cloud Portal domain name

    3. The appliance is not configured with the Cloud Portal domain name

  • enforce_csrf_check (bool, optional) – Appliances and Orchestrator will enforce CSRF check, as None will use current setting, defaults to None

  • enforce_binary_check (bool, optional) –

    Appliance verifies integrity of library and executable files on boot, as None will use current setting, defaults to None

    Important: Increases bootup time. Not applicable for FIPS appliances, as verification is always enabled for FIPS.

  • enforce_image_check (bool, optional) –

    Appliance verifies digital signature of software image before install or upgrade, as None will use current setting, defaults to None

    Important: Not applicable for FIPS appliances, as verification is always enabled for FIPS.

Returns

Returns True/False based on successful call

Return type

bool

get_gms_internet_policy_services() dict

Get configured services used in Overlay editor’s Internet Policy section.

Swagger Section

Method

Endpoint

services

GET

/gms/services

For every service, a ‘Send to ‘ option will be shown in the available options list. The service name will correspond to the peer name of the pass through tunnel the internet traffic will go on. It is the user’s responsibility to create these pass through tunnels on appliances.

Returns

Returns configured services

Return type

dict

get_gms_third_party_services() dict

Get configured services used in Overlay editor’s Internet Policy section.

Swagger Section

Method

Endpoint

services

GET

/gms/thirdPartyServices

The list of services is used to provide options in the Overlay editor’s Internet Policy section. For every service, a dynamically generated options list will be shown in the available options list. The service name will correspond to the peer name of the pass through tunnel the internet traffic will go on. Pass through tunnels will be generated automatically.

Returns

Returns configured 3rd party services

Return type

dict

update_gms_internet_policy_services(services: dict) bool

Set a new service list used in Overlay editor’s Internet Policy section.

Swagger Section

Method

Endpoint

services

POST

/gms/services

Saving a new service list will completely replace the current implementation. Any service IDs that were saved previously, but not included in the POST body will be removed. These services will also be removed from the overlay’s policy list.

Parameters

services (dict) – Dictionary of services to be set in the form {"SERVICE_1" : {"name":"SERVICE_NAME_1"}, ...}

Returns

Returns True/False based on successful call

Return type

bool

get_orchestrator_sessions() list

Get all current sessions to Orchestrator

Swagger Section

Method

Endpoint

session

GET

/loginSessions

Returns

Returns list of active sessions

  • [dict]: Active session object

    • keyword userName (str): Username

    • keyword lastInteractionTime (int): Time since session was last active, often 0 with current sessions

    • keyword loggedInTime (int): Time session was logged in in Unix Epoch time in milliseconds

    • keyword webClient (bool): True if user session is via the web client

    • keyword role (str): Role of user session, e.g. net_read_write

    • keyword lastAccessTime (int): Time session was last active in Unix Epoch time in milliseconds

    • keyword isMtoSsoSession (bool): True if user session was authenticated via SSO

Return type

dict

get_orch_session_timeout() dict

Get information of auto logout and max login session

Swagger Section

Method

Endpoint

sessionTimeout

GET

/gms/sessionTimeout

Returns

Returns dictionary of auto logout and max login session information

  • keyword resourceBase (str): The API endpoint, /sessionTimeout

  • keyword resourceKey (str): NEEDS DESCRIPTION

  • keyword configData (dict): Config info object

    • keyword autoLogout (int): Auto logout time for an idle user session in minutes, e.g. 30

    • keyword maxSession (int): Maximum number of active sessions logged into Orchestrator

  • keyword version (int): Incremental version number when the values are edited

  • keyword timestamp (int): Timestamp when the values were last changed in Unix Epoch milliseconds

Return type

dict

set_orch_session_timeout(auto_logout: int, max_session: int) dict

Update auto logout and max login session

Swagger Section

Method

Endpoint

sessionTimeout

PUT

/gms/sessionTimeout

Parameters
  • auto_logout (int) –

  • max_session (int) –

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_shaper(ne_id: str, cached: bool) dict

Get shaper settings from Edge Connect appliance

Swagger Section

Method

Endpoint

shaper

GET

/shaper/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary where each key is name of an interface, each value is an object defining shaper properties of that interface which includes traffic-class, accuracy, and max_bw fields.

Return type

dict

get_shell_access_setting() dict

Get current Shell Access setting

Swagger Section

Method

Endpoint

shell

GET

/shell/shellAccessSetting

Returns

Returns dictionary of shell access settings

Return type

dict

set_shell_access_setting(shell_access_setting: str) bool

Set Shell Access setting

Swagger Section

Method

Endpoint

shell

POST

/shell/shellAccessSetting

Warning

IMPORTANT!!! THIS IS NOT REVERTABLE - Can be changed in order of increasing security lockdown_ssa to lockdown

Parameters

shell_access_settinglockdown for Disabled Shell Access, lockdown_ssa for Secure Shell Access.

Raises

ValueErrorshell_access_setting value must match one of the valid settings

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_snmp(ne_pk: str, cached: bool) dict

Get SNMP configuration from Edge Connect appliance

Swagger Section

Method

Endpoint

snmp

GET

/snmp/{nePk}?cached={cached}

Parameters
  • ne_pk (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of appliance SNMP configuration

  • keyword access (dict): Access strings

    • keyword rocommunity (str): SNMP read-only community string

  • keyword listen (dict): Listen state

    • keyword enable (bool): True if SNMP agent listening at SNMP port (161)

  • keyword sysdescr (str): SNMP MIB II object ‘sysDescr’ value

  • keyword syscontact (str): SNMP MIB II object ‘sysContact’ value

  • keyword syslocation (str): SNMP MIB II object ‘sysLocation’ value

  • keyword v3 (dict): SNMP v3 user information

    • keyword users (dict): Users object

      • keyword admin (dict): Admin object

        • keyword self (str): admin user, only admin user is available as an SNMP v3 user

        • keyword enable (bool): Is admin user enabled as SNMP v3 user

        • keyword hash_type (str): Hashing algorithm used for encrypting authentication password

        • keyword auth_key (str): Hashed authentication password

        • keyword privacy_type (str): Hashing algorithm used for encrypting privacy password

        • keyword privacy_key (str): Hashed privacy password

  • keyword traps (dict): SNMP Trap enable state and access information

    • keyword enable (bool): True if SNMP trap event enabled

    • keyword trap_community (str): Community string for SNMP trap event

  • keyword auto_launch (bool): True if SNMP Agent enabled at system start up

Return type

dict

assign_account_license_ecsp(license_map: list) list

Assign EC-SP licenses on Cloud Portal

Swagger Section

Method

Endpoint

spPortal

POST

/spPortal/account/license/appliance/ecsp/assign

Parameters

license_map (list) –

List of mapping dictionaries for license ID and appliance ID e.g. [{licenseId": "xxx", "applianceId": "77.NE"},...]

[dict]: license/appliance mapping object

  • keyword licenseId (str): Portal mongo object id for the ecsp license

  • keyword applianceId (str): Portal mongo object id for the appliance

Returns

Returns True/False based on successful call

Return type

bool

create_case_with_portal(contact_name: str, contact_email: str, contact_phone: str, ne_pk: str, case_priority: str, case_subject: str, case_description: str) bool

Create a case for the Orchestrator or an appliance.

Swagger Section

Method

Endpoint

spPortal

POST

/spPortal/createCaseWithPortal

Parameters
  • contact_name (str) – Contact name for case

  • contact_email (str) – Contact email for case, if Orchestrator is not registered to Portal, a valid Silver Peak support account email address is required in order to create a case.

  • contact_phone (str) – Contact phone number for case, e.g. 123-555-1234

  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • case_priority (str) – Priority of case, accepted values: P1 - Urgent, P2 - High, P3 - Normal, P4 - Low

  • case_subject (str) – Title of case to be opened

  • case_description (str) – Longer description of case to be opened

Returns

Returns True/False based on successful call

Return type

bool

Raises

ValueError – case_priority parameter must match one of the accepted values.

delete_old_account_key() bool

Delete old account key from Cloud Portal.

Swagger Section

Method

Endpoint

spPortal

DELETE

/spPortal/account/oldKey

Acts as “commit” for a previous account key change. Make sure all managed appliances have the new account key before calling this. Requires Portal connectivity.

Returns

Returns True/False based on successful call

Return type

bool

geo_locate_multiple_ips(ip_address_list: list) dict

Get geo-location information on multiple ip addresses from Cloud Portal

Swagger Section

Method

Endpoint

spPortal

POST

/spPortal/internetDb/geoLocateIp

Parameters

ip_address_list (list) – List of 32-bit integer ip addresses, e.g. [167837953, 167837954, ...]

Returns

Dictionary of ip address geo-location information for all ip’s

  • keyword <ip_address> (int): Nested dictionary of attributes

    • keyword ip (int): ip address of location calculated

    • keyword rangeIpStart (int): Start of subnet that geo-located IP falls under

    • keyword rangeIpEnd (int): End of subnet that geo-located IP falls under

    • keyword isp (str): ISP provider registered to address

    • keyword org (str): Organization registered to address

    • keyword country (str): Country

    • keyword countryCode (str): Country code

    • keyword city (str): City

    • keyword postalCode (int): Postal/Zip code

    • keyword latitude (int): Latitude coordinates of ip address

    • keyword longitude (int): Longitude coordinates of ip address

Return type

dict

geo_locate_single_ip(ip_address: int) dict

Get geo-location information on single ip address from Cloud Portal

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/internetDb/geoLocateIp/{ip}

Parameters

ip_address (str) – 32-bit integer ip address, e.g. 167837953 rather than 10.1.1.1

Returns

Dictionary of ip address geo-location information

  • keyword <ip_address> (int): Nested dictionary of attributes

    • keyword ip (int): ip address of location calculated

    • keyword rangeIpStart (int): Start of subnet that geo-located IP falls under

    • keyword rangeIpEnd (int): End of subnet that geo-located IP falls under

    • keyword isp (str): ISP provider registered to address

    • keyword org (str): Organization registered to address

    • keyword country (str): Country

    • keyword countryCode (str): Country code

    • keyword city (str): City

    • keyword postalCode (int): Postal/Zip code

    • keyword latitude (int): Latitude coordinates of ip address

    • keyword longitude (int): Longitude coordinates of ip address

Return type

dict

get_account_key_change_count() dict

Get number of times account key has been changed.

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/account/key/changeCount

Note

If never been changed, will return an HTTP 500 with no content.

Returns

Returns dictionary of account key changes

  • keyword count (int): Integer number of times account key has been changed

Return type

dict

get_account_key_change_status() dict

Get current account key change status

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/account/key/changeStatus

Returns

Returns dictionary of account key change status

  • keyword generateTimestamp (int): Latest epoch time in milliseconds when new account key was generated. Null if account key has never been changed.

  • keyword committedToPortalTimestamp (int): Latest epoch time in milliseconds when old account key was delete from Portal. Null if current account key change has not been committed to Portal.

Return type

dict

get_account_license_ecsp_status() list

Get Edge Connect license status from Cloud Portal

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/account/license/appliance/ecsp/status

Returns

Returns list of dictionaries for licences, dates, accounts, boost, etc.

Return type

list

get_account_license_feature() list

Get account license feature from Cloud Portal

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/account/license/feature

Returns

Returns list of a dictionary with name, displayName, and expire

  • keyword name (str): No description from Swagger

  • keyword displayName (str): No description from Swagger

  • keyword expire (int): Expiration date of license in unix epoch timestamp, milliseconds

Return type

list

get_account_license_type() dict

Get account license type from Cloud Portal

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/account/license/type

Returns

Returns dictionary of license type information

  • keyword name (str): No description from Swagger

  • keyword displayName (str): No description from Swagger

Return type

dict

get_all_saas_apps() list

Get list of unique SaaS applications in the internet services database

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/internetDb/serviceIdToSaasId/saasApps

Returns

List of Saas applications

Return type

list

get_app_definition_data(start: int, limit: int) list

Get application definition data for Address Map from Cloud Portal

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/internetDb/ipIntelligence

Parameters
  • start (int) – Starting SaaS id to query from

  • limit (int, optional) – Limit number of returned values, maximum is 10,000

Returns

List of dictionaries for IP intelligence data

Return type

list

get_app_definition_total() str

Get count for application definition data for Address Map from Cloud Portal

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/internetDb/ipIntelligence/total

Returns

Count of application definitions

Return type

str

get_app_groups() dict

Get application definition for application groups from Cloud Portal

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/applicationTags

Returns

Returns dictionary per application group details

Return type

dict

get_app_groups_hash() dict

Get hash code for application data for application groups from Cloud Portal (used as version number)

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/applicationTags/info

Returns

Returns dictionary with hash code

  • keyword hashVal (str): Hash code of classification information

Return type

dict

get_appliance_orch_portal_status(ne_id: str) dict

Return status of orchestrator > portal > appliance websocket and orchestrator > appliance websocket connections

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/applianceWSStatus/{neId}

Parameters

ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns dictionary of reachability status

  • keyword portalWS (dict): Portal websocket status

    • keyword reachable (bool): True if reachable

    • keyword err (str): String of error, if any

  • keyword directWS (dict): Orchestrator websocket status

    • keyword reachable (bool): True if reachable

    • keyword err (str): String of error, if any

Return type

dict

get_cloud_portal_broadcast_message() dict

Get broadcast message from Cloud Portal

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/broadcastMessage

Returns

Dictionary of broadcast message details

  • keyword resourceBase (str): Path to base, e.g. /spPortal

  • keyword resourceKey (str): Path to broadcast,

    e.g. /broadcastMessages

  • keyword configData (list[dict]): list of dictonaries

    [dict]: config data object

    • keyword _id: No description in Swagger

    • keyword message: No description in Swagger

    • keyword expireAfter: No description in Swagger

    • keyword createdOn: No description in Swagger

    • keyword modifiedOn: No description in Swagger

  • keyword version (int): integer version number

  • keyword timestamp (int): integer timestamp in unix epoch in milliseconds

Return type

dict

get_compound_classification() dict

Get application definition for compound applications from Cloud Portal

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/compoundClassification

Returns

Returns dictionary per compound application details

Return type

dict

get_compound_classification_hash() dict

Get hash code for application data for compound applications from Cloud Portal (used as version number)

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/compoundClassification/info

Returns

Returns dictionary with hash code

  • keyword hashVal (str): Hash code of classification information

Return type

dict

get_count_of_saas_apps() dict

Get count of internet services defined on Orchestrator

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/internetDb/serviceIdToSaasId/count

Returns

Dictionary containing count of SaaS applications

  • keyword count (int): Integer count

Return type

dict

get_dns_classification() list

Get application definition for DNS from Cloud Portal. This generates a lot of data and require longer response time.

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/dnsClassification

Returns

Returns list of dictionaries with DNS details

Return type

dict

get_dns_classification_hash() dict

Get hash code for application data for DNS from Cloud Portal (used as version number)

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/dnsClassification/info

Returns

Returns dictionary with hash code

  • keyword hashVal (str): Hash code of classification information

Return type

dict

get_flow_classification() dict

Get application definition for meter flow from Cloud Portal

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/meterFlowClassification

Returns

Returns dictionary per flow type with meter flow details

Return type

dict

get_flow_classification_hash() dict

Get hash code for application data for meter flow from Cloud Portal (used as version number)

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/meterFlowClassification/info

Returns

Returns dictionary with hash code

  • keyword hashVal (str): Hash code of classification information

Return type

dict

get_ip_protocol_numbers() list

Get list of IP protocol numbers

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/ipProtocolNumbers

Returns

Returns list of dictionaries for each protocol number with name and description (keys are “number” “name” and “description”)

[dict]: IP protocol info object

  • keyword description (str): IP protocol description

  • keyword name (str): protocol name

  • keyword number (int): protocol number

Return type

list

get_orchestrator_to_cloud_portal_status() dict

Get current connectivity status between Orchestrator and Cloud Portal

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/connectivity

Returns

Dictionary of status

  • keyword portal (int): integer representing status, 0: Unable to connect 1: Connected 2: Connecting

Return type

dict

get_port_protocol_classification() dict

Get application definition for IP Protocol, TCP Port, UDP Port from Cloud Portal

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/portProtocolClassification

Returns

Returns nested dictionary with port/protocol details

Return type

dict

get_port_protocol_classification_hash() dict

Get hash code for application data for IP Protocol, TCP Port, UDP port from Cloud Portal (used as version number)

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/portProtocolClassification/info

Returns

Returns dictionary with hash code

  • keyword hashVal (str): Hash code of classification information

Return type

dict

get_portal_registration_config() dict

Get Cloud Portal registration information

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/config

Returns

Returns dictionary of registration information

Return type

dict

get_portal_registration_status() dict

Get current Orchestrator Cloud Portal registration status

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/registration

Returns

Returns dictionary for registration status details

  • keyword emails (list[str]): list of configured emails

  • keyword site (str): Site name, if assigned, unassigned if empty

  • keyword accountName (str): Account name

  • keyword registered (bool): True if currently registered

  • keyword enabled (bool): True if Orchestrator has registered with Cloud Portal and has been approved

  • keyword accountKey (str): Account Key

  • keyword pendingPoll (bool): True if pending on polling data

  • keyword group (str): Group name if assigned, unassigned if empty

Return type

dict

get_portal_services_status() dict

Debug API to view current status of all Cloud Portal related services

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/status

Returns

Returns nested dictionary for each service

Return type

dict

get_portal_top_sites() list

Get list of top internet sites

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/topSites

Returns

Returns list of top internet sites fetched from Cloud Portal

Return type

list

get_saas_classification() dict

Get application definition for SaaS applications from Cloud Portal

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/saasClassification

Returns

Returns dictionary per SaaS application details

Return type

dict

get_saas_classification_hash() dict

Get hash code for application data for SaaS applications from Cloud Portal (used as version number)

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/saasClassification/info

Returns

Returns dictionary with hash code

  • keyword hashVal (str): Hash code of classification information

Return type

dict

get_service_id_to_country_mapping() dict

Get collection of service id to country details [serviceId, saasId, country, countryCode, org, saasAppName, displayName, priority] mapping.

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/internetDb/serviceIdToSaasId/countries

Returns

Dictionary of countries, with nested list of attributes

  • keyword <country_name> (list[str]): Country name, underlying list of attributes

    • [0] (str): Service ID number

    • [1] (str): SaaS ID number

    • [2] (str): Country

    • [3] (str): Country code

    • [4] (str): Organization

    • [5] (str): SaaS application name

    • [6] (str): Display name

    • [7] (str): Priority number

Return type

dict

get_service_id_to_service_mapping(match_any: Optional[str] = None, org: Optional[str] = None, service_ids: Optional[str] = None, top: Optional[int] = None) dict

Returns collection of service id to service details [serviceId, saasId, country, countryCode, org, saasAppName, displayName, priority] mapping.

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/internetDb/serviceIdToSaasId

If no filters are specified this returns top 100 results only because the data may be too large.

Parameters
  • match_any (str, optional) – Wildcard match on country, organization, or SaaS application name, defaults to None

  • org (str, optional) – Wildcard match on organization, defaults to None

  • service_ids (str, optional) – Filter on service identifiers, can include multiple service id’s comma separated, defaults to None

  • top (int, optional) – Top number of results to return, defaults to None

Returns

Dictionary of service id to service details mapping

  • keyword <service_id_number (list): List of mappings

    • [0] (str): Service ID number

    • [1] (str): SaaS ID number

    • [2] (str): Country

    • [3] (str): Country code

    • [4] (str): Organization

    • [5] (str): SaaS application name

    • [6] (str): Display name

    • [7] (str): Priority number

Return type

dict

get_tcp_udp_port_data() dict

Get list of TCP, UDP ports and their applications

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/tcpUdpPorts

Returns

Returns dictionary of ports and their corresponding TCP and UDP applications, parent keys are port number

  • keyword <port_number> (dict): protocol info object

    • keyword tcp (list[dict]): tcp information

      [dict]: protocol information

      • keyword description (str): port description

      • keyword name (str): port name

    • keyword udp (list[dict]): udp information

      [dict]: protocol information

      • keyword description (str): port description

      • keyword name (str): port name

Return type

dict

get_traffic_behavior() dict

Get traffic behavior configuration and names from Cloud Portal

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/trafficBehavior

Returns

Returns dictionary for traffic behavior

  • keyword TB_CONFIG (dict): Dictionary of traffic behavior configuration

  • keyword TB_NAME (list): List of traffic behavior names e.g. ["Voice", "Video conferencing", "Bulk data",...]

Return type

dict

get_traffic_behavior_hash() dict

Get hash code for traffic behavior data from Cloud Portal (used as version number)

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/trafficBehavior/info

Returns

Returns dictionary with hash code

  • keyword hashVal (str): Hash code of classification information

Return type

dict

get_update_time_for_app_definitions() dict

Get last update time for application definition data for Address Map from Cloud Portal

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/internetDb/ipIntelligence/info

Returns

Dictionary containing update time

  • keyword lastUpdateTime (str): Last update time in unix epoch milliseconds

Return type

dict

request_new_account_key() dict

Request Cloud Portal to generate a new account key (requires connectivity to Cloud Portal)

Swagger Section

Method

Endpoint

spPortal

PUT

/spPortal/account/key/generate”)

Returns

Returns dictionary of new and old account key

  • keyword accountKey (str): New account key

  • keyword oldAccountKey (str): Previous account key

Return type

dict

search_app_definition_data(ip_address: Optional[int] = None, data_filter: Optional[str] = None) list

Search application definition data for Address Map from Cloud Portal

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/internetDb/ipIntelligence/search

If provides a valid IPv4 address in 32-bit integer format, it will search through ip. Otherwise it will search by match filter [app name, description, country, organization].

Parameters
  • ip_address (int, optional) – 32-bit integer ip address, e.g. 167837953 rather than 10.1.1.1, defaults to None

  • data_filter (str, optional) – Filter on app name, description, country or organzation, defaults to None

Returns

List of IP intelligence data with top 5000 results, otherwise data may be too large

Return type

list

unassign_account_license_ecsp(licence_ids: list) list

Uassign EC-SP licenses on Cloud Portal

Swagger Section

Method

Endpoint

spPortal

POST

/spPortal/account/license/appliance/ecsp/unassign

Parameters

licence_ids (list) –

List of license IDs to unnasign in dictionaries, e.g. [{licenseId": "xxx"},...]

[dict]: license/appliance mapping object

  • keyword licenseId (str): Portal mongo object id for the ecsp license

Returns

Returns True/False based on successful call

Return type

bool

update_portal_registration_config(host: str = '', port: int = 0, account_id: str = '', account_name: str = '', account_key: str = '', old_account_key: str = '', group: str = '', site: str = '') dict

Update Cloud Portal registration information

Swagger Section

Method

Endpoint

spPortal

POST

/spPortal/config

Parameters
  • host (str, optional) – Hostname for cloud portal, e.g. portal.silverpeak.cloud, defaults to “”

  • port (int, optional) – Port to connect to cloud portal on, e.g. 443, defaults to 0

  • account_id (str, optional) – Account ID string, e.g. 5f347e4637f3de001a2a6e77, defaults to “”

  • account_name (str, optional) – Account name, defaults to “”

  • account_key (str, optional) – Account key, defaults to “”

  • old_account_key (str, optional) – Old account key, defaults to “”

  • group (str, optional) – Group, can be unassigned, defaults to “”

  • site (str, optional) – Site, can be unassigned, defaults to “”

Returns

Returns True/False based on successful call

Return type

bool

update_portal_registration_status() dict

Use this API to reset the GMS-Portal registration state and initiate new Registration cycle with Cloud Portal

Swagger Section

Method

Endpoint

spPortal

POST

/spPortal/registration

Returns

Returns dictionary for registration status details

  • keyword emails (list[str]): list of configured emails

  • keyword site (str): Site name, if assigned, unassigned if empty

  • keyword accountName (str): Account name

  • keyword registered (bool): True if currently registered

  • keyword enabled (bool): True if Orchestrator has registered with Cloud Portal and has been approved

  • keyword accountKey (str): Account Key

  • keyword pendingPoll (bool): True if pending on polling data

  • keyword group (str): Group name if assigned, unassigned if empty

Return type

dict

get_appliance_ssl_certs(ne_id: str, cached: bool) dict

Get all SSL certificates on appliance

Swagger Section

Method

Endpoint

ssl

GET

/ssl/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of config and state of SSL certs on appliance

  • keyword config (dict): Config info

    • keyword host (dict): Host info

      • keyword <key_hash_value> (dict): Cert info

        • keyword cert (str): Certificate information

        • keyword self (str): hash value

        • keyword key (str): Key information

  • keyword state (dict): State info

    • keyword host (dict): Host info

      • keyword <key_hash_value> (dict): Cert info

        • keyword subject (str): The name of the individual, computer, device, or CA to whom the certificate is issued.

        • keyword self (str): hash value

        • keyword method (str): NEEDS DESCRIPTION

        • keyword key_type (str): NEEDS DESCRIPTION

        • keyword serial (str): The unique serial number that the issuing certification authority assigns to the certificate,

        • keyword id (str): Unique key that identify the cert

        • keyword builtin (str): If certificate is builtin on appliance, boolean string, e.g. true

        • keyword valid_from (str): The beginning date for the period in which the certificate is valid

        • keyword issuer (str): Information regarding the CA that issued the certificate

        • keyword pretty (str): NEEDS DESCRIPTION

        • keyword valid_to (str): The final date for the period in which the certificate is valid

        • keyword verified (bool): Whether certificate is verified or not

Return type

dict

get_appliance_ssl_substitute_certs(ne_id: str, cached: bool) dict

Get all SSL substitute certificates on the appliance

Swagger Section

Method

Endpoint

sslSubstituteCert

GET

/sslSubstituteCertificate/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of substitute SSL certs on appliance

  • keyword enable (dict): Cert substitution info

    • keyword config (dict): Config info

      • keyword builtin_signing (bool): Status of if built-in certificate signing is enabled on appliance

      • keyword cert-substitution (bool): Status of if certificate substitution is enabled on appliance

  • keyword sslcert (dict): SSL Cert info

    • keyword signing (dict): Signing info

      • keyword <key_hash_value> (dict): Cert info

        • keyword subject (str): The name of the individual, computer, device, or CA to whom the certificate is issued.

        • keyword self (str): hash value

        • keyword method (str): NEEDS DESCRIPTION

        • keyword key_type (str): NEEDS DESCRIPTION

        • keyword serial (str): The unique serial number that the issuing certification authority assigns to the certificate,

        • keyword id (str): Unique key that identify the cert

        • keyword builtin (str): If certificate is builtin on appliance, boolean string, e.g. true

        • keyword valid_from (str): The beginning date for the period in which the certificate is valid

        • keyword issuer (str): Information regarding the CA that issued the certificate

        • keyword pretty (str): NEEDS DESCRIPTION

        • keyword valid_to (str): The final date for the period in which the certificate is valid

        • keyword verified (bool): Whether certificate is verified or not

Return type

dict

validate_ssl_substitute_cert(cert_data: str, is_pfx: bool, cert_password: str, cert_passphrase: str, is_ssl_ca_cert: bool) dict

Get all SSL substitute certificates on the appliance

Swagger Section

Method

Endpoint

sslSubstituteCert

POST

/sslSubstituteCertificate/validation

Parameters
  • cert_data (str) – Certificate data

  • is_pfx (bool) – To specify whether certiciate contains private key or not

  • cert_password (str) – Password for the certificate

  • cert_passphrase (str) – Passphrase for the certificate

  • is_ssl_ca_cert (bool) – Whether the certificate is a CA certificate

Returns

Returns dictionary of substitute SSL cert validation status

Return type

dict

get_all_nonstats_retention() dict

Get all non-statistics retention configuration

Swagger Section

Method

Endpoint

statsRetention

GET

/gms/stats/nonStatsTable/retention

Returns

Returns dictionary of non-statistics retention

Return type

dict

get_all_stats_collection() dict

Get all statistics collection Enable/Disable info

Swagger Section

Method

Endpoint

statsRetention

GET

/gms/stats/collection

Returns

Returns dictionary of statistics collection

Return type

dict

get_all_stats_retention() dict

Get all statistics retention configuration

Swagger Section

Method

Endpoint

statsRetention

GET

/gms/stats/retention

Returns

Returns dictionary of statistics retention

Return type

dict

get_stats_approximate_disk_space(appliance_count: int, number_of_tunnels: Optional[int] = None, number_of_overlays: Optional[int] = None) dict

Get approximate disk space for stats

Swagger Section

Method

Endpoint

statsRetention

GET

/gms/stats/approximateDiskSpace

Parameters

appliance_count

Returns

Returns dictionary of aproximate disk space use for statistics based on provided criteria of number of appliances, number of tunnels per appliance, and number of overlays. All units in KB

  • keyword interfacebyoverlay (int): Overlay-Interface-Transport Statistics

  • keyword dns (int): Domain Name Server (DNS) Statistics

  • keyword flowapp (int): Application Statistics

  • keyword interface (int): Interface Statistics

  • keyword mos (int): Mean Opinion Score (MOS) Statistics

  • keyword trafficclass (int): Traffic Class Statistics

  • keyword toptalkers (int): Top Talkers Statistics

  • keyword drops (int): Drops Statistics

  • keyword dscp (int): Differentiated Services Code Point (DSCP) Statistics

  • keyword jitter (int): Jitter Statistics

  • keyword shaper (int): Shaper Statistics

  • keyword port (int): Port Statistics

  • keyword behavioral (int): Behavioral Statistics

  • keyword boost (int): Boost Statistics

  • keyword tunnel (int): Tunnels Statistics

  • keyword flow (int): Flow Statistics

  • keyword actionlog (int): Audit logs

Return type

dict

update_nonstats_retention(stat_type: str, partition_duration: Optional[int] = None, retention: Optional[int] = None) bool

Update non-statistics retention configuration

Swagger Section

Method

Endpoint

statsRetention

PUT

/gms/stats/nonStatsTable/retention/{statType}

Parameters
  • stat_type (str) – Statistic type e.g. interfacebyoverlay

  • partition_duration (int, optional) – Database partitions duration/size, defaults to None

  • retention (int, optional) – Data retention is seconds, defaults to None

Returns

Returns True/False based on successful call

Return type

bool

update_stats_collection(stat_type: str, enable: bool) bool

Update statistics collection Enable/Disable info for named statistic

Swagger Section

Method

Endpoint

statsRetention

PUT

/gms/stats/collection/{statType}

Parameters
  • stat_type (str) – Statistic type e.g. interfacebyoverlay

  • enable (bool) – True for Enabled or False for Disabled

Returns

Returns True/False based on successful call

Return type

bool

update_stats_retention(stat_type: str, granularity: Optional[str] = None, partition_duration: Optional[int] = None, retention: Optional[int] = None, data: Optional[list] = None) bool

Update statistics retention configuration

Swagger Section

Method

Endpoint

statsRetention

PUT

/gms/stats/retention/{statType}

Note

Swagger documentation says the granularity, partition_duration, and retention fields are optional, however, can’t use 0 or "" for any of the parameters per the Model Schema example in Swagger.

The logic is upheld that if any of the parameters are left as default of None the assumption is the data parameter will be used instead. If data is left to default of None the function will raise a ValueError.

Parameters
  • stat_type (str) – Statistic type e.g. interfacebyoverlay

  • granularity (str, optional) – Data granularity possible values MINUTE, HOUR and DAY, defaults to None

  • partition_duration (int, optional) – Database partitions duration/size, defaults to None

  • retention (int, optional) – Data retention is seconds, defaults to None

  • data (list, optional) – List of dictionaries containing the above variables to update multiples, defaults to None

Raises

ValueError – Either granularity, partition_duration, and retention parameters must be set, or the parameters must be contained in the data parameter.

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_subnets(ne_id: str, cached: bool, subnet_filter: Optional[str] = None) dict

Get an appliance’s subnets information

Swagger Section

Method

Endpoint

subnets

GET

/subnets/{getCachedData}/{neId}

Note

Without use of the subnet_filter parameter, the response data from this query can be quite large if the appliance has many routes stored

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

  • subnet_filter (str, optional) – The subnet to filter routes received from the appliance. Supports IPv4 and IPv6 address types, Defaults to None

Returns

Returns dictionary of subnet information

  • keyword subnets (dict): Subnets’ statistic information

    • keyword count (int): The current number of the subnets on the appliance

    • keyword max (int): The max number of the subnets this appliance can have

    • keyword entries (list): Each element of this array is one object describing a subnet’s detail information, and the minimum number of the elements is 0

      • keyword state (dict): IP route data object

        • keyword version (int): IP version 4 or 6

        • keyword prefix (str): IP CIDR prefix

        • keyword nextHop (str): Next hop address, if applicable

        • keyword metric (int): Metric for route,

        • keyword ifName (str): Interface, if applicable

        • keyword peerid (int): NEEDS DESCRIPTION, e.g. 1849089

        • keyword saas (int): NEEDS DESCRIPTION, e.g. 0

        • keyword community (str): BGP Community string, e.g. 1918:111

        • keyword aspath (str): BGP AS-Path, e.g. 64675,64449

        • keyword learned (bool): True if learned dynamically

        • keyword configured (bool): True if locally configured

        • keyword advert (bool): True if advertised to peers

        • keyword automatic (bool): True if generated by system

        • keyword local (bool): True if locally configured

        • keyword learnedFromIp (str): “3.17.241.185”,

        • keyword cloudApp (bool): NEEDS DESCRIPTION

        • keyword advert_bgp (bool): True if set to advertise to BGP peers

        • keyword advert_ospf (bool): True if set to advertise to OSPF peers

        • keyword learned_bgp (bool): True if learned via BGP

        • keyword learned_ospf (bool): True if learned via OSPF

        • keyword state (str): State of route, e.g. UP

        • keyword routeTag (str): Route tag, e.g. 0

        • keyword learnFrom (str): NEEDS DESCRIPTION e.g. “LRN_SPS_HUB”,

        • keyword resolvedNexthop (str): NEEDS DESCRIPTION

        • keyword resolvedInterface (str): NEEDS DESCRIPTION

        • keyword peerType (str): NEEDS DESCRIPTION

        • keyword nexthopTunnel (str): NEEDS DESCRIPTION

        • keyword networkRegionId (str): Network region ID and name as string e.g. 1,CENTRAL

        • keyword subnetMessage (str): NEEDS DESCRIPTION

        • keyword zone_id (str): “0”,

        • keyword advOSPFTag (str): “0”,

        • keyword saasAppName (str): NEEDS DESCRIPTION

        • keyword peername (str): Peer appliance hostname for route, e.g. DataCenter-EC1

        • keyword peerPriority (int): Peer priority for route, e.g. 10

        • keyword adminDistance (int): Admin distance for route, e.g. 10

  • kewyord peers (list[dict]): Each element of this array is an object describing one peer’s detail information, and the minimum number of the elements is 0

    • keyword index (str): “2”,

    • keyword peerid (int): 1861584,

    • keyword peerName (str): Peer appliance hostname, e.g. DataCenter-EC1,

    • keyword role (str): Role ID, e.g. 1

    • keyword roleName (str): Role name, e.g. Hub

    • keyword metric (int): Metric, e.g. 0

    • keyword peerPriority (int): Peer priority, e.g. 20

    • keyword txtrans (int): NEEDS DESCRIPTION

    • keyword txsecs (int): NEEDS DESCRIPTION

    • keyword rxtrans (int): NEEDS DESCRIPTION

    • keyword rxsecs (int): NEEDS DESCRIPTION

    • keyword rxrecs (int): NEEDS DESCRIPTION

    • keyword rxtabs (int): NEEDS DESCRIPTION

    • keyword outOfOrderCount (int): 0,

    • keyword majorVersion (str): Major software version

    • keyword minorVersion (str): Minor software version

    • keyword pointVersion (str): Point software version

    • keyword subVersion (str): Sub version

    • keyword region (str): Region ID, e.g. 1

    • keyword regionName (str): Region name, e.g. CENTRAL

    • keyword messageVersion (str): “6”,

    • keyword message (str): Submsg Ver6 (>= Rel9.0 or main)

    • keyword priorTxSec (str): NEEDS DESCRIPTION

    • keyword mainVerAndRegion (str): Software version and region in (), e.g. 9.1.1.0 (1)

    • keyword peername (str): Peer name, e.g. DataCenter-EC1,

    • keyword prio (int): Peer priority as int, e.g. 20

  • keyword moduleInfo (dict): Module information from appliance

    • keyword my system id (str): System ID, e.g. 1193616

    • keyword network region (str): Network region name and region ID, e.g. CENTRAL (1)

    • keyword network role (str): Network role, e.g. Hub or Spoke

    • keyword allow management to leak (str): NEEDS DESCRIPTION, string bool e.g. false

    • keyword last peer index (str): NEEDS DESCRIPTION

    • keyword local change (str): NEEDS DESCRIPTION

    • keyword last time (str): NEEDS DESCRIPTION, e.g. 424265 ms after boot

    • keyword last change (str): NEEDS DESCRIPTION, e.g. 171923 ms after boot

    • keyword time since change (str): NEEDS DESCRIPTION, e.g. 252 seconds

    • keyword last tx trans (str): NEEDS DESCRIPTION

    • keyword last tx rec count (str): NEEDS DESCRIPTION

    • keyword last tx msg count (str): NEEDS DESCRIPTION

    • keyword rx invalid msg (str): NEEDS DESCRIPTION

    • keyword rx unknown msg (str): NEEDS DESCRIPTION

    • keyword IP tracking (str): NEEDS DESCRIPTION, e.g. ENABLED

    • keyword IP track delta (str): NEEDS DESCRIPTION, e.g. 0

    • keyword Active READER index (str): NEEDS DESCRIPTION, e.g. 0

Return type

dict

get_discovered_appliance_subnets(discovered_id: str) dict

Get an appliance’s subnets information

Swagger Section

Method

Endpoint

subnets

GET

/subnets/forDiscovered/{discoveredId}

Parameters

discovered_id (str) – Appliance discovered id, e.g. 1462

Returns

Returns dictionary of subnet information

  • keyword subnets (dict): Subnets’ statistic information

    • keyword count (int): The current number of the subnets on the appliance

    • keyword max (int): The max number of the subnets this appliance can have

    • keyword entries (list): Each element of this array is one object describing a subnet’s detail information, and the minimum number of the elements is 0

      • keyword state (dict): IP route data object

        • keyword version (int): IP version 4 or 6

        • keyword prefix (str): IP CIDR prefix

        • keyword nextHop (str): Next hop address, if applicable

        • keyword metric (int): Metric for route,

        • keyword ifName (str): Interface, if applicable

        • keyword peerid (int): NEEDS DESCRIPTION, e.g. 1849089

        • keyword saas (int): NEEDS DESCRIPTION, e.g. 0

        • keyword community (str): BGP Community string, e.g. 1918:111

        • keyword aspath (str): BGP AS-Path, e.g. 64675,64449

        • keyword learned (bool): True if learned dynamically

        • keyword configured (bool): True if locally configured

        • keyword advert (bool): True if advertised to peers

        • keyword automatic (bool): True if generated by system

        • keyword local (bool): True if locally configured

        • keyword learnedFromIp (str): “3.17.241.185”,

        • keyword cloudApp (bool): NEEDS DESCRIPTION

        • keyword advert_bgp (bool): True if set to advertise to BGP peers

        • keyword advert_ospf (bool): True if set to advertise to OSPF peers

        • keyword learned_bgp (bool): True if learned via BGP

        • keyword learned_ospf (bool): True if learned via OSPF

        • keyword state (str): State of route, e.g. UP

        • keyword routeTag (str): Route tag, e.g. 0

        • keyword learnFrom (str): NEEDS DESCRIPTION e.g. “LRN_SPS_HUB”,

        • keyword resolvedNexthop (str): NEEDS DESCRIPTION

        • keyword resolvedInterface (str): NEEDS DESCRIPTION

        • keyword peerType (str): NEEDS DESCRIPTION

        • keyword nexthopTunnel (str): NEEDS DESCRIPTION

        • keyword networkRegionId (str): Network region ID and name as string e.g. 1,CENTRAL

        • keyword subnetMessage (str): NEEDS DESCRIPTION

        • keyword zone_id (str): “0”,

        • keyword advOSPFTag (str): “0”,

        • keyword saasAppName (str): NEEDS DESCRIPTION

        • keyword peername (str): Peer appliance hostname for route, e.g. DataCenter-EC1

        • keyword peerPriority (int): Peer priority for route, e.g. 10

        • keyword adminDistance (int): Admin distance for route, e.g. 10

    • keyword disabledByIPSLA (bool): True if routes have been disabled by an IPSLA, False if not

    • keyword metricAddedByIPSLA (int): Metric added to routes by IPSLA, e.g. 0

  • kewyord peers (list[dict]): Each element of this array is an object describing one peer’s detail information, and the minimum number of the elements is 0

    • keyword index (str): “2”,

    • keyword peerid (int): 1861584,

    • keyword peerName (str): Peer appliance hostname, e.g. DataCenter-EC1,

    • keyword role (str): Role ID, e.g. 1

    • keyword roleName (str): Role name, e.g. Hub

    • keyword metric (int): Metric, e.g. 0

    • keyword peerPriority (int): Peer priority, e.g. 20

    • keyword txtrans (int): NEEDS DESCRIPTION

    • keyword txsecs (int): NEEDS DESCRIPTION

    • keyword rxtrans (int): NEEDS DESCRIPTION

    • keyword rxsecs (int): NEEDS DESCRIPTION

    • keyword rxrecs (int): NEEDS DESCRIPTION

    • keyword rxtabs (int): NEEDS DESCRIPTION

    • keyword outOfOrderCount (int): 0,

    • keyword majorVersion (str): Major software version

    • keyword minorVersion (str): Minor software version

    • keyword pointVersion (str): Point software version

    • keyword subVersion (str): Sub version

    • keyword region (str): Region ID, e.g. 1

    • keyword regionName (str): Region name, e.g. CENTRAL

    • keyword messageVersion (str): “6”,

    • keyword message (str): Submsg Ver6 (>= Rel9.0 or main)

    • keyword priorTxSec (str): NEEDS DESCRIPTION

    • keyword mainVerAndRegion (str): Software version and region in (), e.g. 9.1.1.0 (1)

    • keyword peername (str): Peer name, e.g. DataCenter-EC1,

    • keyword prio (int): Peer priority as int, e.g. 20

  • keyword moduleInfo (dict): Module information from appliance

    • keyword my system id (str): System ID, e.g. 1193616

    • keyword network region (str): Network region name and region ID, e.g. CENTRAL (1)

    • keyword network role (str): Network role, e.g. Hub or Spoke

    • keyword allow management to leak (str): NEEDS DESCRIPTION, string bool e.g. false

    • keyword last peer index (str): NEEDS DESCRIPTION

    • keyword local change (str): NEEDS DESCRIPTION

    • keyword last time (str): NEEDS DESCRIPTION, e.g. 424265 ms after boot

    • keyword last change (str): NEEDS DESCRIPTION, e.g. 171923 ms after boot

    • keyword time since change (str): NEEDS DESCRIPTION, e.g. 252 seconds

    • keyword last tx trans (str): NEEDS DESCRIPTION

    • keyword last tx rec count (str): NEEDS DESCRIPTION

    • keyword last tx msg count (str): NEEDS DESCRIPTION

    • keyword rx invalid msg (str): NEEDS DESCRIPTION

    • keyword rx unknown msg (str): NEEDS DESCRIPTION

    • keyword IP tracking (str): NEEDS DESCRIPTION, e.g. ENABLED

    • keyword IP track delta (str): NEEDS DESCRIPTION, e.g. 0

    • keyword Active READER index (str): NEEDS DESCRIPTION, e.g. 0

Return type

dict

set_appliance_subnet_sharing_options(ne_id: str, use_sdwan_routes: bool, advertise_local: bool, advertise_local_lan: bool, advertise_local_wan: bool) bool

Configure appliance’s subnet sharing options

Swagger Section

Method

Endpoint

subnets

GET

/subnets/setSubnetSharingOptions/{neId}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • use_sdwan_routes (bool) – Whether or not to Use SD-WAN Fabric Learned Routes

  • advertise_local (bool) – Flag to control Automatically Advertising local subnets. This field is only applicable for older appliances whose version is less than 8.1.4.

  • advertise_local_lan (bool) – Flag to control Automatically advertise local LAN subnets. This field is only applicable for appliances whose version is greater than or equal to 8.1.4.,

  • advertise_local_wan (bool) – Flag to control Automatically advertise local WAN subnets. This field is only applicable for appliances whose version is greater than or equal to 8.1.4.

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_tca(ne_id: str, cached: bool) dict

Get system threshold crossing alerts for appliance

Swagger Section

Method

Endpoint

tca

GET

/tca/{neId}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of system tca configuration

Return type

dict

get_appliance_tunnel_tca(ne_id: str, cached: bool) dict

Get tunnel threshold crossing alerts for appliance

Swagger Section

Method

Endpoint

tca

GET

/tca/tunnel/{neId}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of system tca configuration

Return type

dict

tcpdump_run(ne_pk_list: list[str], max_packet: str = '1000', ip: Optional[str] = None, port: Optional[str] = None) bool

Start a tcpdump packet capture on list of appliances

Swagger Section

Method

Endpoint

tcpdump

POST

/tcpdump/run/

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • max_packet (str, optional) – Maximum number of packets to capture, defaults to “1000”

  • ip (str, optional) – Filter capture for particular ip address, e.g. 10.1.1.100, defaults to None

  • port (str, optional) – Filter capture for particular port, e.g. 443, defaults to None

Returns

Returns True/False based on successful call

Return type

bool

tcpdump_status_all() str

Get primary keys of all running tcpdumps

Note

TODO - Testing this call returns a blank string, while the Swagger UI returns a string with hash value in the response body

Swagger Section

Method

Endpoint

tcpdump

GET

/tcpdump/tcpdumpStatus

Returns

Returns string hash value

Return type

str

tcpdump_status_appliance(ne_id: str) dict

Get status of tcpdump on specified appliance. Wait a few seconds after initiating a tcpdump via tcpdump_run before checking status.

Swagger Section

Method

Endpoint

tcpdump

GET

/tcpdump/status/{neId}

Parameters

ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

Returns

Returns dictionary of tcpdump status

  • keyword active (bool): Indicatates whether packet capture process is running

  • keyword progress (float): Indicatates progress of current packet capture as percentage

  • keyword lastOneDone (bool): Indicatates whether packet capture is already finish but still remains in post run processing stage

Return type

dict

associate_template_group_to_appliance(ne_pk: str, template_groups_list: list[str]) dict

Associate list of template groups to specified appliance

Swagger Section

Method

Endpoint

template

POST

/template/applianceAssociation/{nePk}

Warning

The list of templates posted will be the complete association for the appliance. To add a tempalte group to existing associated templates, include existing template groups. Use get_appliance_template_groups_association() to retrieve current associated template groups to an appliance.

Example: If you want to add the template group “NEW-TEMPLATE” to the appliance with an NePK of “10.NE” and the appliance is already associated with the template group “EXISTING-TEMPLATE” you would pass the following:

Orchestrator.associate_template_group_to_appliance(
    ne_pk = "10.NE",
    template_groups_list = ["EXISTING-TEMPLATE","NEW-TEMPLATE"],
)
Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • template_groups_list (list[str]) – List of template groups by name to associate to appliance

Returns

Returns True/False based on successful call

Return type

bool

create_template_group(template_group_body: dict) bool

Create new template group.

Swagger Section

Method

Endpoint

template

POST

/template/templateCreate

Note

If group does not yet exist, the first post will not include selected templates (return of HTTP 204 instead of 200)

Parameters

template_group_body (dict) –

Nested dictionary of template group details

  • keyword templates (list[dict]): List of template detail dictionaries

    • keyword name (str): Name of template

    • keyword valObject (dict): Template details

Returns

Returns True/False based on successful call

Return type

bool

delete_template_group(template_group: str) bool

Delete specified template group

Swagger Section

Method

Endpoint

template

DELETE

/template/templateGroups/{templateGroup}

Parameters

template_group (str) – Name of template group, e.g. Default Template Group

Returns

Returns True/False based on successful call

Return type

bool

get_all_template_groups() dict

Get all template groups

Swagger Section

Method

Endpoint

template

GET

/template/templateGroups

Returns

Returns dictionary of all template groups

Return type

dict

get_appliance_applied_template_goups(ne_pk: str) list

Get applied template groups to specified appliance

Swagger Section

Method

Endpoint

template

GET

/template/history/groupList/{nePk}

Parameters

ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

Returns

Returns list of applied templates

Return type

list

get_appliance_template_groups_association(ne_pk: str) dict

Get association map of appliance to template groups

Swagger Section

Method

Endpoint

template

GET

/template/applianceAssociation/{nePk}

Parameters

ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

Returns

Returns dictionary of appliance and associated template groups

  • keyword templateIds (list[str]): List of applied template groups

Return type

dict

get_appliance_template_history(ne_pk: str, latest: bool) list

Get history of applied templates to the specified appliance. Will return a HTTP 204 if no data available.

Swagger Section

Method

Endpoint

template

GET

/template/history/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • latest (str) – True for latest applied templates only, or False for all

Returns

Returns list of applied templates

Return type

list

get_selected_templates_in_template_group(template_group: str) list

Get selected templates for specified template group

Swagger Section

Method

Endpoint

template

GET

/template/templateSelection/{templateGroup}

Parameters

template_group (str) – Name of template group, e.g. Default Template Group

Returns

Returns list of selected templates

Return type

list

get_template_group(template_group: str) dict

Get template group by name

Swagger Section

Method

Endpoint

template

GET

/template/templateGroups/{templateGroup}

Parameters

template_group (str) – Name of template group, e.g. Default Template Group

Returns

Returns dictionary of template group

Return type

dict

get_template_group_association_all_appliances() dict

Get complete association map of appliances to template groups

Swagger Section

Method

Endpoint

template

GET

/template/applianceAssociation/

Returns

Returns dictionary of appliances and associated template groups

  • keyword <appliance_ne_pk> (list[str]): List of applied template groups

Return type

dict

get_template_groups_priorities() dict

Get order that template groups will be applied in

Swagger Section

Method

Endpoint

template

GET

/template/templateGroupPriorities

Returns

Returns dictionary of appliance and associated template groups

  • keyword priorities (list[str]): List of applied template groups

Return type

dict

post_template_group(template_group: str, template_group_body: dict) bool

Update template group by name

Swagger Section

Method

Endpoint

template

POST

/template/templateGroups/{templateGroup}

Parameters
  • template_group (str) – Name of template group, e.g. Default Template Group

  • template_group_body (dict) –

    Nested dictionary of template group details

    • keyword name (str): Name of template group

    • keyword templates (list[dict]): List of template detail dictionaries

      • keyword name (str): Name of template

      • keyword valObject (dict): Template details

Returns

Returns True/False based on successful call

Return type

bool

select_templates_for_template_group(template_group: str, selected_templates: list[str]) bool

Select template(s) for use in template group

Swagger Section

Method

Endpoint

template

POST

/template/templateSelection/{templateGroup}

Parameters
  • template_group (str) – Name of template group, e.g. Default Template Group

  • selected_templates (list[str]) – List of templates by name to be selected for the template group

Returns

Returns True/False based on successful call

Return type

bool

set_template_groups_priorities(template_groups_list: list[str]) dict

Set order that template groups will be applied in

Swagger Section

Method

Endpoint

template

POST

/template/templateGroupPriorities

Parameters

template_groups_list (list[str]) – Ordered list of template groups by name to be specified for prioirty

Returns

Returns True/False based on successful call

Return type

bool

central_add_subscription(customer_id: str, username: str, password: str, client_id: str, client_secret: str, domain: str) bool

Add/Update Aruba Central subscription

Swagger Section

Method

Endpoint

thirdPartyServices

POST

/thirdPartyServices/arubaCentral/subscription

Parameters
  • customer_id (str) – The Customer ID of Aruba Central

  • username (str) – The username of Aruba Central

  • password (str) – The password of Aruba Central

  • client_id (str) – clientId to use for Orchestrator mapping

  • client_secret (str) – clientSecret to use for Orchestrator mapping

  • domain (str) – Domain to use for Orchestrator

Returns

Returns True/False based on successful call

Return type

bool

central_assign_appliance_to_site(ne_pk: str, origin_site: Optional[str] = None, new_site: Optional[str] = None) bool

Manually assign appliance to the aruba central site

Swagger Section

Method

Endpoint

thirdPartyServices

POST

/thirdPartyServices/arubaCentral/sitesMapping/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • origin_site (str, optional) – Aruba Central site ID appliance originally associated to, defaults to None

  • new_site (str, optional) – New Aruba Central site ID to associate appliance to, defaults to None

Returns

Returns True/False based on successful call

Return type

bool

central_delete_subscription() bool

Delete Aruba Central subscription

Swagger Section

Method

Endpoint

thirdPartyServices

DELETE

/thirdPartyServices/arubaCentral/subscription

Returns

Returns True/False based on successful call

Return type

bool

central_get_site_mapping() list

Get Aruba Central site and appliances mapping

Swagger Section

Method

Endpoint

thirdPartyServices

GET

/thirdPartyServices/arubaCentral/sitesMapping

Returns

Returns list of dictionaries with site mapping to Edge Connect appliance relationships

  • [dict]: List of site to appliance relationship objects

    • keyword <site_id_#> (list[dict]): Key is Site ID string integer, list of appliance object dictionaries related to site

      • keyword nePk (str): Appliance ID

      • keyword applianceName (str): Appliance hostname

      • keyword recommendSite (str): Recommended site ID

      • keyword gmsMarked (bool): True if set by Orchestrator

Return type

List

central_get_subscription() dict

Returns Aruba Central subscription

Swagger Section

Method

Endpoint

thirdPartyServices

GET

/thirdPartyServices/arubaCentral/subscription

Returns

Returns dictionary of aruba central subscription information

  • keyword customerId (str): The Customer ID of Aruba Central

  • keyword username (str): The username of Aruba Central

  • keyword password (str, optional): The password of Aruba Central

  • keyword clientId (str): clientId to use for Orchestrator mapping

  • keyword clientSecret (str): clientSecret to use for Orchestrator mapping

  • keyword domain (str): Domain to use for Orchestrator mapping

Return type

dict

clearpass_add_account(name: str, domain: str, client_id: str, access_key: str, verify_cert: bool) str

Add new ClearPass Policy Manager account to Orchestrator

Swagger Section

Method

Endpoint

thirdPartyServices

POST

/thirdPartyServices/clearpass/accounts

Parameters
  • name (str) – Name to identify CPPM in UI, must be a unique value

  • domain (str) – IP address or FQDN of CPPM server to connect, must be a unique value

  • client_id (str) – Client ID to connect to CPPM with

  • access_key (str) – Access key to authenticate connection to CPPM

  • verify_cert (bool) – True to have Orchestrator verify CPPM certificate, False to not verify

Returns

Returns empty response on success or error details of a failed attempt to add CPPM account

Return type

str

clearpass_delete_account(account_id: int) str

Delete ClearPass Policy Manager account configuration.

Swagger Section

Method

Endpoint

thirdPartyServices

DELETE

/thirdPartyServices/clearpass/accounts{id}

Parameters

account_id (int) – Integer ID of configured CPPM account

Returns

Returns empty 204 response on success or error details of a failed attempt to add CPPM account

Return type

str

clearpass_filter_events(start_time: int, end_time: int, ip_address: Optional[str] = None, username: Optional[str] = None, limit: int = 10000, event_type: Optional[str] = None) list

Filter ClearPass Policy Manager events

Swagger Section

Method

Endpoint

thirdPartyServices

GET

/thirdPartyServices/clearpass/events/filter

Parameters
  • start_time (int) – Long(Signed 64 bits) value of milliseconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of milliseconds since EPOCH time indicating the ending time boundary of data time range

  • ip_address (str, optional) – IP address to filter for, e.g. 10.1.1.100, defaults to None

  • username (str, optional) – Username to filter for, defaults to None

  • limit (int, optional) – Limit number of returned results, defaults to 10000

  • event_type (str, optional) – Event filter type. Please specify one of these values All, Active, Historical, defaults to None

Returns

Returns list of ClearPass Policy Manager events

[dict]: ClearPass event object

  • keyword timestamp (str): ClearPass policy manager event timestamp

  • keyword eventType (str): Event type (login/logout)

  • keyword ipAddress (str): Client’s IP address

  • keyword cppmDomain (str): ClearPass Policy Manager’s domain IP

  • keyword username (str): client’s username

  • keyword deviceOS (str): Identified device OS

  • keyword roles (str): User roles

  • keyword ssid (str): Device’s SSID

  • keyword authProtocol (str): Authentication protocol type

  • keyword posture (str): device health info

  • keyword mac (str): Client’s mac address

  • keyword locationId (str): Access point’s location ID

  • keyword otherInfo (str): Unmatched extra info in JSON format

Return type

list

clearpass_get_configured_account(account_id: int) dict

Get ClearPass Policy Manager account details using ID

Swagger Section

Method

Endpoint

thirdPartyServices

GET

/thirdPartyServices/clearpass/accounts/{id}

Parameters

account_id (int) – Integer ID of configured CPPM account

Returns

Returns dictionary of configured ClearPass Policy Manager account

  • keyword name (str): Configured name of CPPM in Orchestrator

  • keyword domain (str): IP or FQDN of CPPM

  • keyword clientId (str): Account ID to access CPPM

  • keyword verifyCert (bool): If Orchestrator is set to validate certificate of CPPM server

Return type

dict

clearpass_get_configured_account_details(account_id: int) dict

Get all ClearPass Policy Manager configuration

Swagger Section

Method

Endpoint

thirdPartyServices

GET

/thirdPartyServices/clearpass/configurations/{id}

Parameters

account_id (int) – Integer ID of configured CPPM account

Returns

Returns dictionary of configured ClearPass Policy Manager account configuration

  • keyword id (int): Account ID,

  • keyword name (str): Unique user defined name for the clearpass configuration

  • keyword domain (str): Azure VPN Site ID to which VPN Connection is established.

  • keyword configData (str): ClearPass Account details in a string-formatted dictionary

  • keyword serviceInfo (str): ClearPass service endpoint information in a string-formatted dictionary

  • keyword status (int): ClearPass account connection status, 0 disconnected, 1 connected

  • keyword serviceStatus (int): Not documented in Swagger , 0 disconnected, 1 connected

  • keyword paused (bool): Account pause status, True if paused, False if active

  • keyword needService (bool): boolean value to decide whether the account needs service, True if needs service, False if no service required

Return type

dict

clearpass_get_configured_accounts() dict

Get all ClearPass accounts with ID

Swagger Section

Method

Endpoint

thirdPartyServices

GET

/thirdPartyServices/clearpass/accounts

Returns

Returns dictionary of configured ClearPass Policy Manager accounts

  • keyword <account_id> (dict): CPPM account object id

    • keyword name (str): Configured name of CPPM in Orchestrator

    • keyword domain (str): IP or FQDN of CPPM

    • keyword clientId (str): Account ID to access CPPM

    • keyword verifyCert (bool): If Orchestrator is set to validate certificate of CPPM server

Return type

dict

clearpass_get_connectivity(account_id: int) dict

Get ClearPass Policy Manager account connectivity status

Swagger Section

Method

Endpoint

thirdPartyServices

GET

/thirdPartyServices/clearpass/connectivity/{id}

Parameters

account_id (int) – Integer ID of configured CPPM account

Returns

Returns dictionary of ClearPass Policy Manager connectivity status

  • keyword connectivity (str): The connectivity status to ClearPass Policy Manager: 0 - Not Connected, 1 - Connected, 2 - Auth Failed, 3- Unreachable

Return type

dict

clearpass_get_pause_orchestration_status() dict

Get ClearPass Policy Manager pause orchestration status.

Swagger Section

Method

Endpoint

thirdPartyServices

GET

/thirdPartyServices/clearpass/pauseOrchestration

Returns

Returns dictionary of ClearPass Policy Manager Orchestration pause status

  • keyword paused (bool): True if paused, False if active

Return type

dict

clearpass_get_service_endpoint_status(account_id: int) dict

Get ClearPass Policy Manager service endpoint status.

Swagger Section

Method

Endpoint

thirdPartyServices

GET

/thirdPartyServices/clearpass/service/status/{id}

Parameters

account_id (int) – Integer ID of configured CPPM account

Returns

Returns dictionary of ClearPass Policy Manager service status

  • keyword context_server (int): 1 if active, 0 if failed

  • keyword login_context_server_action (int): 1 if active, 0 if failed

  • keyword logout_context_server_action (int): 1 if active, 0 if failed

Return type

dict

clearpass_get_user_roles_for_ip(ip_address: str, start_time: Optional[int] = None, end_time: Optional[int] = None) dict

Get username and role list for given IP and time range

Swagger Section

Method

Endpoint

thirdPartyServices

GET

/thirdPartyServices/clearpass/events/filter/userinfo/{ip}

Parameters
  • ip_address (str) – IP address to filter for, e.g. 10.1.1.100

  • start_time (int, optional) – Long(Signed 64 bits) value of milliseconds since EPOCH time indicating the starting time boundary of data time range, defaults to None

  • end_time (int, optional) – Long(Signed 64 bits) value of milliseconds since EPOCH time indicating the ending time boundary of data time range, defaults to None

Returns

Returns dictionary of usernames and roles matching a given IP address within the specified time range

  • keyword roles (list[str]): list of roles

  • keyword usernames (list[str]): list of usernames

Return type

dict

clearpass_pause_individual_orchestration(pause: bool, account_id: int) str

Pause individual ClearPass Policy Manager orchestration.

Swagger Section

Method

Endpoint

thirdPartyServices

PUT

/thirdPartyServices/clearpass/accounts/pause/{id}

Parameters
  • pause (bool) – Set pause status of Orchestration with CPPM, True to pause, False to make active

  • account_id (int) – Integer ID of configured CPPM account

Returns

Returns 1 on successful call, otherwise provides error message if invalid ID

Return type

str

clearpass_post_login_event(timestamp: str = '', event_type: str = '', ip_address: str = '', cppm_domain: str = '', username: str = '', device_os: str = '', roles: str = '', ssid: str = '', auth_protocol: str = '', posture: str = '', mac: str = '', location_id: str = '', other_info: str = '') bool

Posts ClearPass Policy Manager login event

Swagger Section

Method

Endpoint

thirdPartyServices

POST

/thirdPartyServices/clearpass/event/login

Parameters
  • timestamp (str) – ClearPass policy manager event timestamp. Timestamp format : yyyy-MM-dd HH:mm:ss

  • event_type (str) – Event type (login/logout)

  • ip_address (str) – Client’s IP address

  • cppm_domain (str) – ClearPass Policy Manager’s domain IP

  • username (str) – client’s username

  • device_os (str) – Identified device OS

  • roles (str) – User roles

  • ssid (str) – Device’s SSID

  • auth_protocol (str) – Authentication protocol type

  • posture (str) – device health info

  • mac (str) – Client’s mac address

  • location_id (str) – Access point’s location ID

  • other_info (str) – Unmatched extra info in JSON format

Returns

Returns True/False based on successful call

Return type

bool

clearpass_post_logout_event(timestamp: str = '', event_type: str = '', ip_address: str = '', cppm_domain: str = '', username: str = '', device_os: str = '', roles: str = '', ssid: str = '', auth_protocol: str = '', posture: str = '', mac: str = '', location_id: str = '', other_info: str = '') bool

Posts ClearPass Policy Manager logout event

Swagger Section

Method

Endpoint

thirdPartyServices

POST

/thirdPartyServices/clearpass/event/logout

Parameters
  • timestamp (str) – ClearPass policy manager event timestamp

  • event_type (str) – Event type (login/logout)

  • ip_address (str) – Client’s IP address

  • cppm_domain (str) – ClearPass Policy Manager’s domain IP

  • username (str) – client’s username

  • device_os (str) – Identified device OS

  • roles (str) – User roles

  • ssid (str) – Device’s SSID

  • auth_protocol (str) – Authentication protocol type

  • posture (str) – device health info

  • mac (str) – Client’s mac address

  • location_id (str) – Access point’s location ID

  • other_info (str) – Unmatched extra info in JSON format

Returns

Returns True/False based on successful call

Return type

bool

clearpass_reset_service_endpoint(account_id: int, service: str) dict

Reset ClearPass Policy Manager service endpoint.

Swagger Section

Method

Endpoint

thirdPartyServices

PUT

/thirdPartyServices/clearpass/service/status/{id}

Parameters
  • account_id (int) – Integer ID of configured CPPM account

  • service (str) – Service to reset, accepted values are context_server, login_context_server_action, and logout_context_server_action

Returns

Returns dictionary of ClearPass Policy Manager service status

  • keyword context_server (int): 1 if active, 0 if failed

  • keyword login_context_server_action (int): 1 if active, 0 if failed

  • keyword logout_context_server_action (int): 1 if active, 0 if failed

Return type

dict

clearpass_set_pause_orchestration_status(pause: bool) bool

Set ClearPass Policy Manager pause orchestration status.

Swagger Section

Method

Endpoint

thirdPartyServices

POST

/thirdPartyServices/clearpass/pauseOrchestration

Parameters

pause (bool) – True to pause orchestration, False to resume

Returns

Returns True/False based on successful call

Return type

bool

clearpass_update_account(name: str, domain: str, client_id: str, access_key: str, verify_cert: bool, account_id: int) str

Update ClearPass Policy Manager account configuration.

Swagger Section

Method

Endpoint

thirdPartyServices

PUT

/thirdPartyServices/clearpass/accounts{id}

Parameters
  • name (str) – Name to identify CPPM in UI, must be a unique value

  • domain (str) – IP address or FQDN of CPPM server to connect, must be a unique value

  • client_id (str) – Client ID to connect to CPPM with

  • access_key (str) – Access key to authenticate connection to CPPM

  • verify_cert (bool) – True to have Orchestrator verify CPPM certificate, False to not verify

  • account_id (int) – Integer ID of configured CPPM account

Returns

Returns empty response on success or error details of a failed attempt to add CPPM account

Return type

str

get_passthrough_tunnel_details(limit: int, matching_alias: Optional[str] = None, matching_service: Optional[str] = None, state: Optional[str] = None, tunnel_id: Optional[bool] = None, alias: Optional[bool] = None, tag: Optional[bool] = None, source_ne_pk: Optional[bool] = None, dest_ne_pk: Optional[bool] = None, dest_tunnel_id: Optional[bool] = None, dest_tunnel_alias: Optional[bool] = None, operational_status: Optional[bool] = None, admin_status: Optional[bool] = None, remote_id_state: Optional[bool] = None, fec_status: Optional[bool] = None, fec_ratio: Optional[bool] = None) dict

Get passthrough tunnel details across all appliances

Swagger Section

Method

Endpoint

thirdPartyTunnelsConfiguration

GET

/tunnels2/passThrough

Parameters
  • limit (int) – Max number of tunnels to return in response

  • matching_alias (str, optional) – Match tunnel alias on text string provided, defaults to None

  • matching_service (str, optional) – Match for string within tunnel’s Peer/service, defaults to None

  • state (str, optional) – Regular expression to match tunnel state, e.g. “Up” “Down”, defaults to None

  • tunnel_id (bool, optional) – Include bonded tunnel id in response, defaults to None

  • alias (bool, optional) – Include alias name of tunnel in UI in response, defaults to None

  • tag (bool, optional) – Include overlay name for bonded tunnel in response, defaults to None

  • source_ne_pk (bool, optional) – Include nePk of appliance that the tunnel belongs to in response, defaults to None

  • dest_ne_pk (bool, optional) – Include nePk of destination appliance for the tunnel in response, defaults to None

  • dest_tunnel_id (bool, optional) – Include tunnel id of opposite tunnel on the destination appliance in response, defaults to None

  • dest_tunnel_alias (bool, optional) – Include tunnel alias of opposite tunnel on the destination appliance in response, defaults to None

  • operation_status – Include current status of tunnel in response, defaults to None

  • admin_status (bool, optional) – Include admin status of tunnel in response, defaults to None

  • remote_id_state (bool, optional) – Include remote tunnel id state in response, defaults to None

  • fec_status (bool, optional) – Include FEC status of the tunnel in response, defaults to None

  • fec_ratio (bool, optional) – Include current FEC ratio of the tunnel in response, defaults to None

Returns

Returns dictionary of tunnel details based on supplied query details

Return type

dict

get_passthrough_tunnel_details_for_appliance(ne_pk: str, limit: int, matching_alias: Optional[str] = None, matching_service: Optional[str] = None, state: Optional[str] = None, tunnel_id: Optional[bool] = None, alias: Optional[bool] = None, tag: Optional[bool] = None, source_ne_pk: Optional[bool] = None, dest_ne_pk: Optional[bool] = None, dest_tunnel_id: Optional[bool] = None, dest_tunnel_alias: Optional[bool] = None, operational_status: Optional[bool] = None, admin_status: Optional[bool] = None, remote_id_state: Optional[bool] = None, fec_status: Optional[bool] = None, fec_ratio: Optional[bool] = None) dict

Get passthrough tunnel details for specific appliance

Swagger Section

Method

Endpoint

thirdPartyTunnelsConfiguration

GET

/tunnels2/passThrough/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • limit (int) – Max number of tunnels to return in response

  • matching_alias (str, optional) – Match tunnel alias on text string provided, defaults to None

  • matching_service (str, optional) – Match for string within tunnel’s Peer/service, defaults to None

  • state (str, optional) – Regular expression to match tunnel state, e.g. “Up” “Down”, defaults to None

  • tunnel_id (bool, optional) – Include bonded tunnel id in response, defaults to None

  • alias (bool, optional) – Include alias name of tunnel in UI in response, defaults to None

  • tag (bool, optional) – Include overlay name for bonded tunnel in response, defaults to None

  • source_ne_pk (bool, optional) – Include nePk of appliance that the tunnel belongs to in response, defaults to None

  • dest_ne_pk (bool, optional) – Include nePk of destination appliance for the tunnel in response, defaults to None

  • dest_tunnel_id (bool, optional) – Include tunnel id of opposite tunnel on the destination appliance in response, defaults to None

  • dest_tunnel_alias (bool, optional) – Include tunnel alias of opposite tunnel on the destination appliance in response, defaults to None

  • operation_status – Include current status of tunnel in response, defaults to None

  • admin_status (bool, optional) – Include admin status of tunnel in response, defaults to None

  • remote_id_state (bool, optional) – Include remote tunnel id state in response, defaults to None

  • fec_status (bool, optional) – Include FEC status of the tunnel in response, defaults to None

  • fec_ratio (bool, optional) – Include current FEC ratio of the tunnel in response, defaults to None

Returns

Returns dictionary of tunnel details based on supplied query details

Return type

dict

get_passthrough_tunnel_details_for_appliance_tunnel(ne_pk: str, passthrough_tunnel_id: str) dict

Get passthrough tunnel details for specific tunnel on appliance

Swagger Section

Method

Endpoint

thirdPartyTunnelsConfiguration

GET

/tunnels2/passThrough/{nePk}/{passThroughTunnelId}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • passthrough_tunnel_id (str) – Passthrough tunnel id, e.g. “passThrough_3”

Returns

Returns dictionary of tunnel details based on supplied query details

Return type

dict

get_passthrough_tunnels_state(ne_pk_list: list[str]) dict

Get passthrough tunnel details for list of appliances

Swagger Section

Method

Endpoint

thirdPartyTunnelsConfiguration

POST

/tunnels/thirdParty/state

Parameters

ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

Returns

Returns dictionary of passthrough tunnel details for provided appliances

Return type

dict

get_timeseries_stats_appliance_process_state(ne_pk: str) list

Get time series appliance process state statistics

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/applianceProcessState/{nePk}

Parameters

ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

Returns

Returns list of dictionaries

Return type

list

get_timeseries_stats_appliances(start_time: int, end_time: int, granularity: str, group_pk: Optional[str] = None, traffic_type: str = 'all_traffic', limit: Optional[int] = None, data_format: Optional[str] = None, ip: Optional[bool] = None, latest: Optional[int] = None) dict

Get time series appliance statistics

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/appliance

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • group_pk (str, optional) – Filter by appliance group identifier, e.g. 0.Network is root group, 1.Network is internal use, 2.Network is auto-discovered groups, 3.Network and beyond is user-defined groups, defaults to None

  • traffic_type (str, optional) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to None

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results and False or None to sort by appliance ID, defaults to None

  • latest (int, optional) – Latest time window to retrieve stats from. Unit is minute. e.g. 10. Default is to use start_time and end_time but if latest is not None then it takes priority, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_appliances_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, granularity: str, traffic_type: str = 'all_traffic', limit: Optional[int] = None, data_format: Optional[str] = None, ip: Optional[bool] = None, latest: Optional[int] = None) dict

Get time series appliance statistics for list of appliances

Swagger Section

Method

Endpoint

timeseriesStats

POST

/stats/timeseries/appliance

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • traffic_type (str, optional) – Filter for data for given traffic type, accepted values are “optimized_traffic” “pass_through_shaped” “pass_through_unshaped” “all_traffic”, defaults to None

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results and False or None to sort by appliance ID, defaults to None

  • latest (int, optional) – Latest time window to retrieve stats from. Unit is minute. e.g. 10. Default is to use start_time and end_time but if latest is not None then it takes priority, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_appliances_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, traffic_type: str = 'all_traffic', limit: Optional[int] = None, data_format: Optional[str] = None, ip: Optional[bool] = None, latest: Optional[int] = None) dict

Get time series appliance statistics for single appliance

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/appliance/{nePk}

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • traffic_type (str, optional) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to None

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results and False or None to sort by appliance ID, defaults to None

  • latest (int, optional) – Latest time window to retrieve stats from. Unit is minute. e.g. 10. Default is to use start_time and end_time but if latest is not None then it takes priority, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_application(start_time: int, end_time: int, application: str, group_pk: Optional[str] = None, data_format: Optional[str] = None, total: Optional[bool] = None, latest: Optional[int] = None) dict

Get time series application statistics

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/application2

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • application (str) – Filter for data belonging to appliaction with matching name

  • group_pk (str, optional) – Filter by appliance group identifier, e.g. 0.Network is root group, 1.Network is internal use, 2.Network is auto-discovered groups, 3.Network and beyond is user-defined groups, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • total (bool, optional) – Get application’s total value if True, defaults to None

  • latest (int, optional) – Latest time window to retrieve stats from. Unit is minute. e.g. 10. Default is to use start_time and end_time but if latest is not None then it takes priority, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_application_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, application: str, data_format: Optional[str] = None, total: Optional[bool] = None, latest: Optional[int] = None) dict

Get time series application statistics for list of appliances

Swagger Section

Method

Endpoint

timeseriesStats

POST

/stats/timeseries/application2

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • application (str) – Filter for data belonging to appliaction with matching name

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • total (bool, optional) – Get application’s total value if True, defaults to None

  • latest (int, optional) – Latest time window to retrieve stats from. Unit is minute. e.g. 10. Default is to use start_time and end_time but if latest is not None then it takes priority, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_application_single_appliance(ne_pk: str, start_time: int, end_time: int, application: str, total: Optional[bool] = None, data_format: Optional[str] = None) dict

Get time series application statistics for single appliance

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/application2/{nePk}

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • application (str) – Filter for data belonging to appliaction with matching name

  • total (bool, optional) – Get application’s total value if True, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_boost_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, limit: Optional[int] = None) list

Get time series boost statistics for single appliance

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/boost/{nePk}

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

Returns

Returns list of dictionaries

Return type

list

get_timeseries_stats_drc(start_time: int, end_time: int, granularity: str, group_pk: Optional[str] = None, limit: Optional[int] = None, data_format: Optional[str] = None, ip: Optional[bool] = None, latest: Optional[int] = None) dict

Get time series drc statistics

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/drc

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • group_pk (str, optional) – Filter by appliance group identifier, e.g. 0.Network is root group, 1.Network is internal use, 2.Network is auto-discovered groups, 3.Network and beyond is user-defined groups, defaults to None

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results and False or None to sort by appliance ID, defaults to None

  • latest (int, optional) – Latest time window to retrieve stats from. Unit is minute. e.g. 10. Default is to use start_time and end_time but if latest is not None then it takes priority, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_drc_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, granularity: str, limit: Optional[int] = None, data_format: Optional[str] = None, ip: Optional[bool] = None, latest: Optional[int] = None) dict

Get time series drc statistics for list of appliances

Swagger Section

Method

Endpoint

timeseriesStats

POST

/stats/timeseries/drc

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results and False or None to sort by appliance ID, defaults to None

  • latest (int, optional) – Latest time window to retrieve stats from. Unit is minute. e.g. 10. Default is to use start_time and end_time but if latest is not None then it takes priority, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_drc_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, tunnel_name: str, limit: Optional[int] = None, data_format: Optional[str] = None, ip: Optional[bool] = None, latest: Optional[int] = None) dict

Get time series drc statistics for single appliance

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/drc/{nePk}

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • tunnel_name (str) – Filter for data which belongs to specified tunnel name

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results and False or None to sort by appliance ID, defaults to None

  • latest (int, optional) – Latest time window to retrieve stats from. Unit is minute. e.g. 10. Default is to use start_time and end_time but if latest is not None then it takes priority, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_dscp(start_time: int, end_time: int, granularity: str, dscp: int, group_pk: Optional[str] = None, traffic_type: str = 'all_traffic', limit: Optional[int] = None, data_format: Optional[str] = None, ip: Optional[bool] = None, latest: Optional[int] = None) dict

Get time series dscp statistics

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/dscp

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • dscp (int) – Filter for data which belongs to a certain DSCP type, valid values are 0 through 63

  • group_pk (str) – Filter by appliance group identifier, e.g. 0.Network is root group, 1.Network is internal use, 2.Network is auto-discovered groups, 3.Network and beyond is user-defined groups, defaults to None

  • traffic_type (str) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to “all_traffic”

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results and False or None to sort by appliance ID, defaults to None

  • latest (int, optional) – Latest time window to retrieve stats from. Unit is minute. e.g. 10. Default is to use start_time and end_time but if latest is not None then it takes priority, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_dscp_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, granularity: str, dscp: int, traffic_type: str = 'all_traffic', limit: Optional[int] = None, data_format: Optional[str] = None, ip: Optional[bool] = None, latest: Optional[int] = None) dict

Get time series dscp statistics for list of appliances

Swagger Section

Method

Endpoint

timeseriesStats

POST

/stats/timeseries/dscp

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • dscp (int) – Filter for data which belongs to a certain DSCP type, accepted values are within the range [0,63]

  • traffic_type (str) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to “all_traffic”

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results and False or None to sort by appliance ID, defaults to None

  • latest (int, optional) – Latest time window to retrieve stats from. Unit is minute. e.g. 10. Default is to use start_time and end_time but if latest is not None then it takes priority, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_dscp_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, dscp: int, traffic_type: str = 'all_traffic', limit: Optional[int] = None, data_format: Optional[str] = None, ip: Optional[bool] = None, latest: Optional[int] = None) dict

Get time series dscp statistics for single appliance

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/dscp/{nePk}

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • dscp (int) – Filter for data which belongs to a certain DSCP type, accepted values are within the range [0,63]

  • traffic_type (str) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to “all_traffic”

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results and False or None to sort by appliance ID, defaults to None

  • latest (int, optional) – Latest time window to retrieve stats from. Unit is minute. e.g. 10. Default is to use start_time and end_time but if latest is not None then it takes priority, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_flow(start_time: int, end_time: int, granularity: str, group_pk: Optional[str] = None, traffic_type: str = 'all_traffic', flow_type: str = 'TCP_ACCELERATED', limit: Optional[int] = None, data_format: Optional[str] = None, ip: Optional[bool] = None, latest: Optional[int] = None) dict

Get time series flow statistics

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/flow

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • group_pk (str, optional) – Filter by appliance group identifier, e.g. 0.Network is root group, 1.Network is internal use, 2.Network is auto-discovered groups, 3.Network and beyond is user-defined groups, defaults to None

  • traffic_type (str, optional) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to “all_traffic”

  • flow_type (str, optional) – Filter for data belonging to a particular flow type, accepted values are TCP_ACCELERATED, TCP_NON_ACCELERATED, and NON_TCP, defaults to “TCP_ACCELERATED”

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results and False or None to sort by appliance ID, defaults to None

  • latest (int, optional) – Latest time window to retrieve stats from. Unit is minute. e.g. 10. Default is to use start_time and end_time but if latest is not None then it takes priority, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_flow_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, granularity: str, traffic_type: str = 'all_traffic', flow_type: str = 'TCP_ACCELERATED', limit: Optional[int] = None, data_format: Optional[str] = None, ip: Optional[bool] = None, latest: Optional[int] = None) dict

Get time series flow statistics for list of appliances

Swagger Section

Method

Endpoint

timeseriesStats

POST

/stats/timeseries/flow

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • traffic_type (str) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to “all_traffic”

  • flow_type (str) – Filter for data belonging to a particular flow type, accepted values are TCP_ACCELERATED, TCP_NON_ACCELERATED, and NON_TCP, defaults to “TCP_ACCELERATED”

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results and False or None to sort by appliance ID, defaults to None

  • latest (int, optional) – Latest time window to retrieve stats from. Unit is minute. e.g. 10. Default is to use start_time and end_time but if latest is not None then it takes priority, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_flow_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, traffic_type: str = 'all_traffic', flow_type: str = 'TCP_ACCELERATED', limit: Optional[int] = None, data_format: Optional[str] = None, ip: Optional[bool] = None, latest: Optional[int] = None) dict

Get time series flow statistics for single appliance

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/flow/{nePk}

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • traffic_type (str) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to “all_traffic”

  • flow_type (str) – Filter for data belonging to a particular flow type, accepted values are TCP_ACCELERATED, TCP_NON_ACCELERATED, and NON_TCP, defaults to “TCP_ACCELERATED”

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results and False or None to sort by appliance ID, defaults to None

  • latest (int, optional) – Latest time window to retrieve stats from. Unit is minute. e.g. 10. Default is to use start_time and end_time but if latest is not None then it takes priority, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_interface_overlay_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, overlay: Optional[str] = None, tunnel_type: Optional[int] = None, label_id: Optional[int] = None, is_wan_side: Optional[bool] = None, interface_name: Optional[str] = None, limit: Optional[int] = None) list

Get time series interface overlay statistics for single appliance

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/interfaceOverlay/{nePk}

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • overlay (str, optional) – When set to all,return all bonded tunnels; when set to 0, return all physical tunnels; when not used, return all bonded and physical tunnels; otherwise, return bonded tunnels associated with the specified overlay id, defaults to None

  • tunnel_type (int, optional) – Accepted values for overlays are: 0 – SD-WAN, 2 – Breakout, 3 – Services. Accepted values for non-overlays are: 1 - Underlay, 2 – Pass-through, and 3 – Services, defaults to None

  • label_id (int, optional) – Label internal id, defaults to None

  • is_wan_side (bool, optional) – True, Get WAN side data or False to get LAN side data, defaults to None

  • interface_name (str, optional) – Filter data by interface name, defaults to None

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

Returns

Returns list of dictionaries

Return type

list

get_timeseries_stats_interface_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, traffic_type: str = 'all_traffic', interface_name: Optional[str] = None, limit: Optional[int] = None) list

Get time series interface statistics for single appliance

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/interface/{nePk}

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • traffic_type (str) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic, defaults to “all_traffic”

  • interface_name (str, optional) – Filter data by interface name, defaults to None

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

Returns

Returns list of dictionaries

Return type

list

get_timeseries_stats_internal_drops_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str) dict

Get time series internal drops statistics for single appliance

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/internalDrops/{nePk}

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_jitter_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, tunnel_name: str, data_format: Optional[str] = None, limit: Optional[int] = None) dict

Get time series security policy statistics for single appliance

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/jitter/{nePk}

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • tunnel_name (str) – Filter for data which belongs to specified tunnel name

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_mos_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, tunnel_name: str, limit: Optional[int] = None) list

Get time series MOS statistics for single appliance

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/mos/{nePk}

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • tunnel_name (str) – Filter for data which belongs to tunnel with matching name

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

Returns

Returns list of dictionaries

Return type

list

get_timeseries_stats_orchestrator_memory(start_time: int, end_time: int, key: Optional[str] = None) list

Get time series memory statistics for Orchestrator

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/metrics

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • key (str, optional) – Swagger docs “For now it should be empty”, defaults to None

Returns

Returns list of dictionaries, all memory values are in KB

Return type

list

get_timeseries_stats_security_policy_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, from_zone: str, to_zone: str) dict

Get time series security policy statistics for single appliance

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/securityPolicy/{nePk}

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • from_zone (str) – Filter for data which come from the zone indicated by this zone internal ID

  • to_zone (str) – Filter for data which go to the zone indicated by this zone internal ID

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_shaper(start_time: int, end_time: int, granularity: str, traffic_class: int, direction: int, group_pk: Optional[str] = None, data_format: Optional[str] = None, ip: Optional[bool] = None) dict

Get time series shaper statistics

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/shaper

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • traffic_class (int) – Filter for data which belongs to particular traffic class, accepted values are within the range [1,10]

  • direction (int) – 0 for Outbound, 1 for inbound

  • group_pk (str, optional) – Filter by appliance group identifier, e.g. 0.Network is root group, 1.Network is internal use, 2.Network is auto-discovered groups, 3.Network and beyond is user-defined groups, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results and False or None to sort by appliance ID, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_shaper_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, granularity: str, traffic_class: int, direction: int, data_format: Optional[str] = None, ip: Optional[bool] = None) dict

Get time series shaper statistics for list of appliances

Swagger Section

Method

Endpoint

timeseriesStats

POST

/stats/timeseries/shaper

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • traffic_class (int) – Filter for data which belongs to particular traffic class, accepted values are within the range [1,10]

  • direction (int) – 0 for Outbound, 1 for inbound

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results and False or None to sort by appliance ID, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_traffic_class(start_time: int, end_time: int, granularity: str, traffic_type: str, traffic_class: int, group_pk: Optional[str] = None, limit: Optional[int] = None, data_format: Optional[str] = None, ip: Optional[bool] = None, latest: Optional[int] = None) dict

Get time series traffic class statistics

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/trafficClass

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • traffic_type (str) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic

  • traffic_class (int) – Filter for data which belongs to particular traffic class, accepted values between 1-10

  • group_pk (str, optional) – Filter by appliance group identifier, e.g. 0.Network is root group, 1.Network is internal use, 2.Network is auto-discovered groups, 3.Network and beyond is user-defined groups, defaults to None

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results and False or None to sort by appliance ID, defaults to None

  • latest (int, optional) – Latest time window to retrieve stats from. Unit is minute. e.g. 10. Default is to use start_time and end_time but if latest is not None then it takes priority, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_traffic_class_ne_pk_list(ne_pk_list: list[str], start_time: int, end_time: int, granularity: str, traffic_type: str, traffic_class: int, limit: Optional[int] = None, data_format: Optional[str] = None, ip: Optional[bool] = None, latest: Optional[int] = None) dict

Get time series traffic class statistics for list of appliances

Swagger Section

Method

Endpoint

timeseriesStats

POST

/stats/timeseries/trafficClass

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • traffic_type (str) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic

  • traffic_class (int) – Filter for data which belongs to particular traffic class, accepted values between 1-10

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results and False or None to sort by appliance ID, defaults to None

  • latest (int, optional) – Latest time window to retrieve stats from. Unit is minute. e.g. 10. Default is to use start_time and end_time but if latest is not None then it takes priority, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_traffic_class_single_appliance(ne_pk: str, start_time: int, end_time: int, granularity: str, traffic_type: str, traffic_class: int, limit: Optional[int] = None, data_format: Optional[str] = None, ip: Optional[bool] = None, latest: Optional[int] = None) dict

Get time series traffic class statistics for a single appliance

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/trafficClass/{nePk}

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • traffic_type (str) – Filter for data for given traffic type, accepted values are optimized_traffic, pass_through_shaped, pass_through_unshaped, and all_traffic

  • traffic_class (int) – Filter for data which belongs to particular traffic class, accepted values between 1-10

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results and False or None to sort by appliance ID, defaults to None

  • latest (int, optional) – Latest time window to retrieve stats from. Unit is minute. e.g. 10. Default is to use start_time and end_time but if latest is not None then it takes priority, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_timeseries_stats_tunnel_single_appliance(ne_pk: str, start_time: int, end_time: int, tunnel_name: str, granularity: str, limit: Optional[int] = None, data_format: Optional[str] = None, ip: Optional[bool] = None, latest: Optional[int] = None) dict

Get time series tunnel statistics for single appliance

Swagger Section

Method

Endpoint

timeseriesStats

GET

/stats/timeseries/tunnel/{nePk}

This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF. DATA object contains only values not keys.

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • start_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range

  • end_time (int) – Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range

  • tunnel_name (str) – Filter for data which belongs to specified tunnel name

  • granularity (str) – Data granularity filtering whether data is minutely data, hourly data or daily data. Accepted values are minute, hour, and day

  • limit (int, optional) – Limit the number of stats entity retrieved. When unspecified, defaults to 10,000 which is also the maximum allowed value, defaults to None

  • data_format (str, optional) – The only format other than JSON currently supported is CSV, accepted value is csv, defaults to None

  • ip (bool, optional) – True to use IP address as key to sort results and False or None to sort by appliance ID, defaults to None

  • latest (int, optional) – Latest time window to retrieve stats from. Unit is minute. e.g. 10. Default is to use start_time and end_time but if latest is not None then it takes priority, defaults to None

Returns

Returns nested dictionary

Return type

dict

get_appliance_tunnel_ids(ne_pk: str, state: Optional[str] = None) dict

Get tunnel id’s on an appliance, can filter by state

Swagger Section

Method

Endpoint

tunnelsConfiguration

GET

/tunnels2/physical/tunnelIds/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • state (str, optional) – Regular expression to match tunnel state, e.g. Up Down, defaults to None

Returns

Returns dictionary of tunnel count with single key “totalTunnelCount”

Return type

dict

get_batch_appliance_tunnels_config(ne_pk: str, tunnel_id_list: list) bool

Get appliance tunnel configuration for specified tunnels

Note

This API Call is not in current Swagger as of Orch 9.0.3

Swagger Section

Method

Endpoint

n/a

POST

/tunnels/physical/config/getBatch/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • tunnel_id_list – List of tunnel ids to retrieive config details for, e.g. ["tunnel_12", "tunnel_13"]

Returns

Returns dictionary of tunnel configuration details from specified tunnels

Return type

dict

get_batch_appliance_tunnels_state(ne_pk: str, tunnel_id_list: list) bool

Get appliance tunnel state for specified tunnels

Note

This API Call is not in current Swagger as of Orch 9.0.3

Swagger Section

Method

Endpoint

n/a

POST

/tunnels/physical/state/getBatch/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • tunnel_id_list – List of tunnel ids to retrieive config details for, e.g. ["tunnel_12", "tunnel_13"]

Returns

Returns dictionary of tunnel state details from specified tunnels

Return type

dict

get_physical_tunnel_details(limit: int, matching_alias: Optional[str] = None, state: Optional[str] = None, tunnel_id: Optional[bool] = None, alias: Optional[bool] = None, tag: Optional[bool] = None, source_ne_pk: Optional[bool] = None, dest_ne_pk: Optional[bool] = None, dest_tunnel_id: Optional[bool] = None, dest_tunnel_alias: Optional[bool] = None, operational_status: Optional[bool] = None, admin_status: Optional[bool] = None, remote_id_state: Optional[bool] = None, fec_status: Optional[bool] = None, fec_ratio: Optional[bool] = None) dict

Get physical tunnel details across all appliances

Swagger Section

Method

Endpoint

tunnelsConfiguration

GET

/tunnels2/physical

Parameters
  • limit (int) – Max number of tunnels to return in response

  • matching_alias (str, optional) – Match tunnel alias on text string provided, defaults to None

  • state (str, optional) – Regular expression to match tunnel state, e.g. Up Down, defaults to None

  • tunnel_id (bool, optional) – Include tunnel id in response, defaults to None

  • alias (bool, optional) – Include alias name of tunnel in UI in response, defaults to None

  • tag (bool, optional) – Include overlay name for bonded tunnel in response, defaults to None

  • source_ne_pk (bool, optional) – Include nePk of appliance that the tunnel belongs to in response, defaults to None

  • dest_ne_pk (bool, optional) – Include nePk of destination appliance for the tunnel in response, defaults to None

  • dest_tunnel_id (bool, optional) – Include tunnel id of opposite tunnel on the destination appliance in response, defaults to None

  • dest_tunnel_alias (bool, optional) – Include tunnel alias of opposite tunnel on the destination appliance in response, defaults to None

  • operation_status – Include current status of tunnel in response, defaults to None

  • admin_status (bool, optional) – Include admin status of tunnel in response, defaults to None

  • remote_id_state (bool, optional) – Include remote tunnel id state in response, defaults to None

  • fec_status (bool, optional) – Include FEC status of the tunnel in response, defaults to None

  • fec_ratio (bool, optional) – Include current FEC ratio of the tunnel in response, defaults to None

Returns

Returns dictionary of tunnel details based on supplied query details

Return type

dict

get_physical_tunnel_details_for_appliance(ne_pk: str, limit: int, matching_alias: Optional[str] = None, state: Optional[str] = None, tunnel_id: Optional[bool] = None, alias: Optional[bool] = None, tag: Optional[bool] = None, source_ne_pk: Optional[bool] = None, dest_ne_pk: Optional[bool] = None, dest_tunnel_id: Optional[bool] = None, dest_tunnel_alias: Optional[bool] = None, operational_status: Optional[bool] = None, admin_status: Optional[bool] = None, remote_id_state: Optional[bool] = None, fec_status: Optional[bool] = None, fec_ratio: Optional[bool] = None) dict

Get physical tunnel details for specific appliance

Swagger Section

Method

Endpoint

tunnelsConfiguration

GET

/tunnels2/physical/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • limit (int) – Max number of tunnels to return in response

  • matching_alias (str, optional) – Match tunnel alias on text string provided, defaults to None

  • state (str, optional) – Regular expression to match tunnel state, e.g. Up Down, defaults to None

  • tunnel_id (bool, optional) – Include tunnel id in response, defaults to None

  • alias (bool, optional) – Include alias name of tunnel in UI in response, defaults to None

  • tag (bool, optional) – Include overlay name for bonded tunnel in response, defaults to None

  • source_ne_pk (bool, optional) – Include nePk of appliance that the tunnel belongs to in response, defaults to None

  • dest_ne_pk (bool, optional) – Include nePk of destination appliance for the tunnel in response, defaults to None

  • dest_tunnel_id (bool, optional) – Include tunnel id of opposite tunnel on the destination appliance in response, defaults to None

  • dest_tunnel_alias (bool, optional) – Include tunnel alias of opposite tunnel on the destination appliance in response, defaults to None

  • operation_status – Include current status of tunnel in response, defaults to None

  • admin_status (bool, optional) – Include admin status of tunnel in response, defaults to None

  • remote_id_state (bool, optional) – Include remote tunnel id state in response, defaults to None

  • fec_status (bool, optional) – Include FEC status of the tunnel in response, defaults to None

  • fec_ratio (bool, optional) – Include current FEC ratio of the tunnel in response, defaults to None

Returns

Returns dictionary of tunnel details based on supplied query details

Return type

dict

get_physical_tunnel_details_for_appliance_tunnel(ne_pk: str, tunnel_id: str) dict

Get physical tunnel details for specific tunnel on appliance

Swagger Section

Method

Endpoint

tunnelsConfiguration

GET

/tunnels2/physical/{nePk}/{tunnelId}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • tunnel_id (str) – Tunnel id, e.g. tunnel_12

Returns

Returns dictionary of tunnel details based on supplied query details

Return type

dict

get_total_tunnel_count(metadata: bool = True) dict

Get total tunnel count across all appliances

Swagger Section

Method

Endpoint

tunnelsConfiguration

GET

/tunnels2

Parameters

metadata (bool) – Includes the tunnel count, false returns an empty body, defaults to True

Returns

Returns dictionary of tunnel count with single key “totalTunnelCount”

Return type

dict

get_tunnel_count_for_appliances(ne_pk_list: list[str]) dict

Get total tunnel count organized by appliance and overaly for specified appliances

Swagger Section

Method

Endpoint

tunnelsConfiguration

POST

/tunnels2/tunnelCounts

Parameters

ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

Returns

Returns nexted dictionary of tunnel count, each top-level key is an appliance NePK, then sub-dictionary is tunnel counts per-overlay name and total.

Return type

dict

get_tunnel_traceroute(ne_pk: str, tunnel_id: str) bool

Get status of a traceroute over a specified tunnel on an appliance

Swagger Section

Method

Endpoint

tunnelsConfiguration

POST

/tunnels2/physical/tracerouteState/{id}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • tunnel_id (str) – Tunnel id, e.g. tunnel_12

Returns

Returns dictionary of traceroute hops and related details (index, ip, min/max/avg rtt, etc.)

Return type

dict

get_tunnels_between_appliances(ne_pk_list: list[str], limit: int, matching_alias: Optional[str] = None, overlay_id: Optional[str] = None, state: Optional[str] = None) dict

Get physical tunnel details for specific tunnel on appliance

Swagger Section

Method

Endpoint

tunnelsConfiguration

POST

/tunnels2/getTunnelsBetweenAppliances

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • limit (int) – Max number of tunnels to return in response

  • matching_alias (str, optional) – Match tunnel alias on text string provided, defaults to None

  • overlay_id (str, optional) – The overlay ID to match tunnels on. Value of 0 for all physical tunnels, “all” for all bonded tunnels, defaults to None

  • state (str, optional) – Regular expression to match tunnel state, e.g. Up Down, defaults to None

Returns

Returns list of dictionaries of tunnel details between provided appliances

Return type

list

get_tunnels_between_appliances_config_data(ne_pk_list: list[str], state: Optional[str] = None) dict

Get physical tunnel details for specific tunnel on appliance

Swagger Section

Method

Endpoint

tunnelsConfiguration

POST

/tunnels2/physical/state

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk), e.g. ["3.NE","5.NE"]

  • state (str, optional) – Regular expression to match tunnel state, e.g. Up Down, defaults to None

Returns

Returns dictionary of tunnel configuration details between provided appliances

Return type

dict

initiate_tunnel_traceroute(ne_pk: str, tunnel_id: str) bool

Initiate a traceroute over a specified tunnel on an appliance

Swagger Section

Method

Endpoint

tunnelsConfiguration

POST

/tunnels2/physical/traceroute/{id}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • tunnel_id (str) – Tunnel id, e.g. tunnel_12

Returns

Returns True/False based on successful call

Return type

bool

add_ui_usage_count(ui_name: str) bool

Add usage count for UI feature by name

Swagger Section

Method

Endpoint

uiUsageStats

GET

/uiUsageStats/{uiName}

Parameters

ui_name (str) – Name of UI feature

Returns

Returns True/False based on successful call

Return type

bool

upgrade_appliances(ne_pk_list: list[str], version: list[str], install_option: str, image_name: str, from_portal: bool, from_url: bool) dict

Check ECOS version compatibility for appliance upgrades through Portal

Swagger Section

Method

Endpoint

upgradeAppliances

POST

/validateApplianceUpgrade

Parameters
  • ne_pk_list (list[str]) – List of one or more appliance Network Primary Keys (nePk) of appliances to upgrade, e.g. ["3.NE","5.NE"].

  • version (str) – Version of software to upgrade to, e.g. “9.1.0.1”

  • install_option (str) – The install option. Accepted values are install_only, install_switch which will set the next boot partition but not reboot, and install_reboot which will install, set the boot partition, and perform a reboot.

  • image_name (str) – The image name that will use to upgrade for the appliances, e.g. pdimage-9.1.0.2_91232.img these can be retrieved with pyedgeconnect.Orchestrator.get_ecos_images()

  • from_portal (bool) – The image is on Cloud Portal or not

  • from_url (bool) – The image is specified in Provide URL edit box

Returns

Returns dictionary of appliance upgrade background task

  • keyword clientKey (str): The client key of appliances upgrade background task

Return type

dict

validate_appliance_upgrade(versions: list[str], ne_pk_list: list[str] = []) dict

Check ECOS version compatibility for appliance upgrades through Portal

Swagger Section

Method

Endpoint

upgradeAppliances

POST

/validateApplianceUpgrade

Parameters
  • ne_pk_list (list[str], optional) – List of one or more appliance Network Primary Keys (nePk) of appliances to validate, e.g. ["3.NE","5.NE"]. If not provided, all appliances in the Orchestrator network are validated, defaults to []

  • versions (list[str]) – List of version numbers to validate, e.g. ["9.1.0.2", "9.1.0.1"]

Returns

Returns dictionary of upgrade validation data

  • keyword versions (list[str]): ECOS versions available for upgrade

  • keyword appliances (list[dict]): Appliance details

    • [dict]: Appliance object

      • keyword nePk (str): The appliance ID

      • keyword model (str): The appliance model

      • keyword platform (str): The appliance platform

      • keyword version (str): The current appliance version

      • keyword upgradable (list[list[int]]): ECOS versions that the appliance can upgrade to from the versions list, each sub-list contains ordered list of integers as the version number, e.g. [...,[9,1,0,2],... if appliance can be upgraded to 9.1.0.2. If none available will be blank list []

  • keyword orchestrator (str): Current version of Orchestrator

  • keyword orchSupports (str): The maximum ECOS version that Orchestrator can support

Return type

dict

change_user_password(username: str, current_password: str, new_password: str) bool

Update an existing user’s password

Swagger Section

Method

Endpoint

user

POST

/users/{newUser}/password

Parameters
  • username (str) – Username for user

  • current_password (str) – Current password for user

  • new_password (str) – New password for user, Password must be at least 8 characters long and contain the following items: upper case letter, lower case letter, a number, a special character

Returns

Returns True/False based on successful call

Return type

bool

create_or_update_user(new_user: bool, user_pk: str, first_name: str, last_name: str, phone: str, email: str, status: str, role: str, username: str, password: str, repeat_password: str, two_factor_email: bool, two_factor_app: bool, create_display_time: str = '') bool

Create new user or update existing user

Swagger Section

Method

Endpoint

user

POST

/users/{newUser}

Parameters
  • new_user (bool) – True for creating new user, False for updating existing user

  • user_pk (str) – Primary key of the user object. Use empty string if creating new user

  • first_name (str) – First name of user

  • last_name (str) – Last name of user

  • phone (str) – Phone number for user

  • email (str) – Email address for user

  • status (str) – Enable the user, takes values Active or Inactive

  • role (str) – Use value Admin Manager for admin role and Network Monitor for monitor role

  • username (str) – Username for user

  • password (str) – Password for user

  • repeat_password (str) – Confirm matching password for user

  • two_factor_email (bool) – True to enable two-factor auth via email for user, False to disable

  • two_factor_app (bool) – True to enable two-factor auth via app for user, False to disable

  • create_display_time (str, optional) – Description missing from Swagger

Returns

Returns True/False based on successful call

Return type

bool

delete_user(user_id: str, username: str) bool

Delete user from Orchestrator

Swagger Section

Method

Endpoint

user

DELETE

/users/{userId}/{userName}

Parameters
  • user_id (str) – UserPk value of user, can be retrieved with get_user function

  • username (str) – Name of user to query information for

Returns

Returns True/False based on successful call

Return type

bool

get_all_users() list

Get all user infomration from Orchestrator

Swagger Section

Method

Endpoint

user

GET

/users

Returns

Returns list of dictionaries of user information

[dict]: user information object

  • keyword userPk (str): User identifier

  • keyword username (str): User name

  • keyword firstName (str): First Name

  • keyword lastName (str): Last Name

  • keyword phone (str): Phone number

  • keyword email (str): Email address

  • keyword password (str): Will be left Null for security reasons

  • keyword createTime (int): Time user was created, in unix epoch time in seconds

  • keyword status (str): Whether user is Active or Inactive

  • keyword role (str): User role, e.g. Admin Manager or Network Monitor

  • keyword isTwoFactorEmail (bool): True if email two-factor auth is enabled

  • keyword isTwoFactorTime (bool): True if application two-factor auth is enabled

  • keyword salt (str): Usually left blank

Return type

list

get_new_two_factor_key() dict

Returns a barcode (base64 encoded) to scan with an authentication application to setup app-based two factor authentication for your account.

Swagger Section

Method

Endpoint

user

GET

/users/newTfaKey

Request is based for user that is authenticated making the request, and app-based two factor authentication has to be enabled for the account.

Returns

Returns dictionary with password reset barcode image

  • keyword barcodeBase64Jpeg (str): Base 64 encoded jpeg of barcode to scan

Return type

dict

get_user(username: str) dict

Get specified user information

Swagger Section

Method

Endpoint

user

GET

/users/{userName}

Parameters

username (str) – Name of user to query information for

Returns

Returns dictionary of user information

  • keyword userPk (str): User identifier

  • keyword username (str): User name

  • keyword firstName (str): First Name

  • keyword lastName (str): Last Name

  • keyword phone (str): Phone number

  • keyword email (str): Email address

  • keyword password (str): Will be left Null for security reasons

  • keyword createTime (int): Time user was created, in unix epoch time in seconds

  • keyword status (str): Whether user is Active or Inactive

  • keyword role (str): User role, e.g. Admin Manager or Network Monitor

  • keyword isTwoFactorEmail (bool): True if email two-factor auth is enabled

  • keyword isTwoFactorTime (bool): True if application two-factor auth is enabled

  • keyword salt (str): Usually left blank

Return type

dict

reset_user_password(password: str, repeat_password: str, password_id: str, two_factor_email: bool, two_factor_app: bool) dict

TODO - UNSURE OF CURRENT FUNCTIONALITY, TESTING GIVES HTTP 500, Reset password for user

Swagger Section

Method

Endpoint

user

POST

/users/resetPassword

Parameters
  • password (str) – Password for user

  • repeat_password (str) – Confirm matching password for user

  • password_id (str) –

  • two_factor_email (bool) – True to enable two-factor auth via email for user, False to disable

  • two_factor_app (bool) – True to enable two-factor auth via app for user, False to disable

Returns

Returns dictionary with password reset barcode image

  • keyword barcodeBase64Jpeg (str): Base 64 encoded jpeg of barcode to scan

Return type

dict

user_forgot_password(username: str) bool

Initiate forgot password for specific user

Swagger Section

Method

Endpoint

user

POST

/users/forgotPassword

Parameters

username (str) – Username for user

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_user_accounts(ne_id: str, cached: bool) dict

Get all user details and sessions of appliance

Swagger Section

Method

Endpoint

userAccount

GET

/userAccount/{neId}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of configured users and sessions

  • keyword users (dict): Configured users objects

    • keyword <username> (dict): User object

      • keyword self (str): Username

      • keyword enable (bool): True if user is enabled

      • keyword gid (int): Role ID of user, 0 for admin, 1001 for monitor

      • keyword password (str): Returns blank string for security purposes

      • keyword pwtype (int): NEEDS DESCRIPTION, e.g. 2

  • keyword sessions (dict): Active sessions to appliance

    • keyword <increments_from_1> (dict): Session object

      • keyword port (str): Access method, e.g. web

      • keyword gid (int): Role ID of user, 0 for admin, 1001 for monitor

      • keyword idle_time (str): Idle time of user in seconds, e.g. 10

      • keyword login_time (str): Login time of user in Unix Epoch time in seconds, e.g. 1640370768

      • keyword remote_host (str): Remote host IP address

      • keyword username (str): Logged in username

Return type

dict

add_routing_segmentation_segment(segment_name: str) dict

Add new routing segment to Orchestrator

Swagger Section

Method

Endpoint

vrf

POST

/vrf/config/segments

Parameters

segment_name (str) – Name of new routing segment. Routing Segment name can only contain alphanumeric characters and underscores

Returns

Returns dictionary with id of new routing segment

  • keyword id (int): Numeric id of new routing segment

Return type

dict

delete_routing_segmentation_maps_from_source_segment(segment_id: int) bool

Delete D-NAT policies for specific source segment

Swagger Section

Method

Endpoint

vrf

DELETE

/vrf/config/maps/{srcSegmentId}

Parameters

segment_id (int) – Numeric id of routing segment

Returns

Returns True/False based on successful call

Return type

bool

delete_routing_segmentation_segment_by_id(segment_id: int) bool

Delete routing segment in Orchestrator

Swagger Section

Method

Endpoint

vrf

DELETE

/vrf/config/segments/{id}

Parameters

segment_id (int) – Numeric id of routing segment

Returns

Returns True/False based on successful call

Return type

bool

get_routing_segmentation_enable_status() dict

Get routing segmentation enable status in Orchestrator (VRFs)

Swagger Section

Method

Endpoint

vrf

GET

/vrf/config/enable

Returns

Returns dictionary with VRF enabled status

  • keyword enable (bool): True for enabled, False for disabled

Return type

dict

get_routing_segmentation_list_of_security_maps() list[str]

Get all security map pairings where there are rules for source/destination routing segments

Swagger Section

Method

Endpoint

vrf

GET

/vrf/config/securityPoliciesSegments

Returns

Returns list of strings of map pairings, e.g. 0_0 for if there is a security map for default to default segment

Return type

list[str]

get_routing_segmentation_maps() dict

Get all D-NAT policies configured in Orchestrator by segment

Swagger Section

Method

Endpoint

vrf

GET

/vrf/config/maps

Returns

Returns dictionary keyed by segment id of D-NAT maps

  • keyword <segment_id> (dict): Routing segment D-NAT maps

    • keyword <priority_number> (dict): D-NAT rule object

      • keyword match (dict): Match object

        • keyword acl (str): ACL to match against

        • keyword matchstr (dict): Matching ip object

          • keyword dst_ip (str): Destination IP

      • keyword set (dict): Set action object

        • keyword dst_vrf (str): Destination VRF id

        • keyword trans_dst_ip (str): Translated IP

      • keyword comment (str): Rule comment

      • keyword enable (bool): Rule enable status

      • keyword gms_marked (bool): Flag to determine if this rule was created by Orchestrator

      • keyword misc (str): No description in Swagger

Return type

dict

get_routing_segmentation_maps_from_source_segment(segment_id: int) dict

Get all D-NAT policies configured in Orchestrator for specific source segment

Swagger Section

Method

Endpoint

vrf

GET

/vrf/config/maps/{srcSegmentId}

Parameters

segment_id (int) – Numeric id of routing segment

Returns

Returns dictionary keyed by priority number of each rule for D-NAT map

  • keyword <priority_number> (dict): D-NAT rule object

    • keyword match (dict): Match object

      • keyword acl (str): ACL to match against

      • keyword matchstr (dict): Matching ip object

        • keyword dst_ip (str): Destination IP

    • keyword set (dict): Set action object

      • keyword dst_vrf (str): Destination VRF id

      • keyword trans_dst_ip (str): Translated IP

    • keyword comment (str): Rule comment

    • keyword enable (bool): Rule enable status

    • keyword gms_marked (bool): Flag to determine if this rule was created by Orchestrator

    • keyword misc (str): No description in Swagger

Return type

dict

get_routing_segmentation_security_policy(source_zone: str, destination_zone: str) dict

Get all security policies configured on Orchestrator for a particular pair source and destination segments

Swagger Section

Method

Endpoint

vrf

GET

/vrf/config/securityPolicies/{map}

Parameters
  • source_zone (int) – Numeric string id of source segment, e.g. 0

  • destination_zone (int) – Numeric string id of destination segment, e.g. 0

Returns

Returns dictionary of applicable maps and details

Return type

dict

get_routing_segmentation_segment_by_id(segment_id: int) dict

Get routing segment in Orchestrator

Swagger Section

Method

Endpoint

vrf

GET

/vrf/config/segments/{id}

Parameters

segment_id (int) – Numeric id of routing segment

Returns

Returns dictionary with segment details

  • keyword id (int): Routing segment id

  • keyword name (str): Routing segment name

  • keyword status (int): No description in Swagger,

    often value of 0

  • keyword comment (str): Comment on routing segment

Return type

dict

get_routing_segmentation_segments() dict

Get configured routing segmentation segments in Orchestrator

Swagger Section

Method

Endpoint

vrf

GET

/vrf/config/segments

Returns

Returns dictionary with configured segments

  • keyword <segment_id> (dict): Routing segment id, e.g. "0"

    • keyword id (int): Routing segment id

    • keyword name (str): Routing segment name

    • keyword status (int): No description in Swagger, often value of 0

    • keyword comment (str): Comment on routing segment

Return type

dict

get_routing_segmentation_snat_maps() dict

Get all disabled inter-segment S-NAT rules defined in Orchestrator. By default S-NAT is enabled between routing segments. If there are no rules will return an empty dictionary {}.

Swagger Section

Method

Endpoint

vrf

GET

/vrf/config/snatMaps

Returns

Returns dictionary of disabled S-NAT rules between segments

  • keyword <SourceVrfId_DstVrfId> (dict): Segment pair object of source and destination VRF ids, e.g. 0_1

    • keyword enable (bool): False if S-NAT is disabled

    • keyword gms_marked (bool): Flag to determine if this rule was created by Orchestrator

    • keyword comment (str): Comment on rule

Return type

dict

update_routing_segmentation_enable_status(enable: bool) bool

Get routing segmentation enable status in Orchestrator (VRFs)

Swagger Section

Method

Endpoint

vrf

POST

/vrf/config/enable

Parameters

enable (bool) – True to enable routing segmentation. False to disable

Returns

Returns True/False based on successful call

Return type

bool

update_routing_segmentation_maps_from_source_segment(segment_id: int, segment_map: dict) bool

Update D-NAT policies for specific source segment

Swagger Section

Method

Endpoint

vrf

POST

/vrf/config/maps/{srcSegmentId}

Warning

This will replace all D-NAT map rules for this source segment!

Parameters
  • segment_id (int) – Numeric id of routing segment

  • segment_map (dict) –

    Dictionary of segment map to configure

    • keyword <priority_number> (dict): D-NAT rule

      object

      • keyword match (dict): Match object

        • keyword acl (str): ACL to match against

        • keyword matchstr (dict): Matching ip

          object

          • keyword dst_ip (str): Destination IP

      • keyword set (dict): Set action object

        • keyword dst_vrf (str): Destination VRF id

        • keyword trans_dst_ip (str): Translated IP

      • keyword comment (str): Rule comment

      • keyword enable (bool): Rule enable status

      • keyword gms_marked (bool): Flag to determine if this rule was created by Orchestrator

      • keyword misc (str): No description in Swagger

Returns

Returns True/False based on successful call

Return type

bool

update_routing_segmentation_security_policy(source_zone: str, destination_zone: str, segment_map: dict) bool

Update security policies configured on Orchestrator for a particular pair source and destination segments

Swagger Section

Method

Endpoint

vrf

POST

/vrf/config/securityPolicies/{map}

Refer to Swagger for more details of security map. Example structure of security map:

segment_map = {
    "data": {
        "map1": {
            "<zoneFromId_zoneToId>": {
                "prio": {
                    "<priorityNumber>": {
                        "match": "object",
                        "misc": "object",
                        "comment": "",
                        "gms_marked": false,
                        "set": "object"
                    }
                }
            }
        }
    },
    "settings": {
        "map1": {
            "logging": {
                "imp_fw_drop": ""
            }
        }
    },
    "options": {
        "merge": false,
        "templateApply": false
    }
}
Parameters
  • source_zone (int) – Numeric string id of source segment, e.g. 0

  • destination_zone (int) – Numeric string id of destination segment, e.g. 0

  • segment_map (dict) – Security map details, see above example. Note that the <zoneFromId_zoneToId> under the map are the firewall zones and not related to the segment ids.

Returns

Returns True/False based on successful call

Return type

bool

update_routing_segmentation_segment_by_id(segment_id: int, new_segment_name: str) bool

Update routing segment name in Orchestrator

Swagger Section

Method

Endpoint

vrf

PUT

/vrf/config/segments/{id}

Parameters
  • segment_id (int) – Numeric id of routing segment

  • new_segment_name (str) – New name to assign to routing segment

Returns

Returns True/False based on successful call

Return type

bool

update_routing_segmentation_snat_maps(snat_maps: dict) dict

Update all disabled inter-segment S-NAT rules defined in Orchestrator. By default S-NAT is enabled between routing segments.

Swagger Section

Method

Endpoint

vrf

POST

/vrf/config/snatMaps

Warning

This will replace all disabled S-NAT map rules so include existing rules to avoid making unintended changes!

Parameters

snat_maps (dict) –

Dictionary of S-NAT maps to disable between specified VRF ids

  • keyword <SourceVrfId_DstVrfId> (dict): VRF pair

    • keyword enable (bool): True to enable S-NAT for the source/destination pair, False to disable.

Returns

Returns True/False based on successful call

Return type

bool

get_dnat_maps(ne_id: str, cached: bool) dict

Get VRF DNAT Map defined on appliance

Swagger Section

Method

Endpoint

vrfDnatMaps

GET

/dnatMaps/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of DNAT maps

Return type

dict

get_snat_maps(ne_id: str, cached: bool) dict

Get VRF SNAT Map defined on appliance

Swagger Section

Method

Endpoint

vrfSnatMaps

GET

/snatMaps/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of SNAT maps

Return type

dict

get_vrrp_interfaes(ne_id: str, cached: bool) list

Get configured vrrp interfaces on appliance

Swagger Section

Method

Endpoint

vrrp

GET

/vrrp/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns list of dictionaries of VRRP interface configurations

[dict]: VRRP interface configuration object

  • keyword pkt_trace (bool): Default is False

  • keyword adv_timer (int): Time interval between advertisements. Default is 1 second. Must be between 1-255

  • keyword preempt (bool): If True the appliance with the highest priority comes back online and again assumes primary responsibility. Default is true

  • keyword holddown (int): Default is 10. Must be between 1-255

  • keyword auth (str): Authentication string. Maximum 8 characters

  • keyword desc (str): Description string. Maximum 64 characters

  • keyword enable (str): Enable/Disable the VRRP instance, valid options are Up or Down

  • keyword priority (int): The greater the number, the higher the priority. The appliance with the higher priority is the VRRP Master. Must be between 1-254

  • keyword vipaddr (str): Must be valid ip address and not match any of the existing interface ips on the appliance

  • keyword interface (str): Name of interface that VRRP is using for peering. Eg. wan0

  • keyword groupId (int): Identifier assigned to the two peers. Depending on the deployment, the group can consist of an appliance and a router (or L3 switch), or two appliances. Must be between 1-255

  • keyword mode (str): There are three options for the VRRP instance - Backup : Instance is in VRRP backup state. Init : Instance is initializing, it’s disabled, or the interface is down. Master : Instance is the current VRRP master

  • keyword master_transitions (int): Number of times the VRRP instance went from Master to Backup and vice versa. A high number of transitions indicates a problematic VRRP configuration or environment. If this is the case, check the configuration of all local appliances and routers, and review the log files

  • keyword masterip (str): Current VRRP Master’s Interface or local IP address

  • keyword uptime (str): Time elapsed since the VRRP instance entered the state it’s in. Sample format: 0 days 11 hrs 49 mins 41 secs

  • keyword vipowner (bool): An Edge Connect appliance cannot use one of its own IP addresses as the VRRP IP, so this will always be False

  • keyword vmac (str): MAC Address that the VRRP instance is using. On an NX Appliance, this is in 00-00-5E-00-01-{VRID} format. On virtual appliances, the VRRP instance uses the interface’s assigned MAC Address (for example, the MAC address that the hypervisor assigned to wan0)

Return type

list

get_vti_interfaes(ne_id: str, cached: bool) dict

Get configured vti interfaces on appliance

Swagger Section

Method

Endpoint

vti

GET

/virtualif/vti/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of VTI configurations

Return type

dict

update_appliance_hostname(ne_pk: str, hostname: str) bool

Add or update hostname to Edge Connect appliance. This operation will take a few seconds to run.

Swagger Section

Method

Endpoint

vxoaHostname

GET

/hostname/{nePk}

Parameters
  • ne_pk (str) – Network Primary Key (nePk) of appliance, e.g. 3.NE

  • hostname (str) – New hostname to apply to the appliance

Returns

Returns True/False based on successful call

Return type

bool

get_wan_next_hop_health_config(ne_id: str, cached: bool) dict

Get wan next hop health config on the appliance

Swagger Section

Method

Endpoint

wanNextHopHealth

GET

/appliance/wanNextHopHealth/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of WAN Next Hop Health configurations

  • keyword enable (bool): Enable or disable health check

  • keyword hold_down_count (int): Hold down count

  • keyword interval (int): Interval in seconds

  • keyword retry_count (int): Retry count

Return type

dict

get_wccp_service_group_settings(ne_id: str, cached: bool) dict

Get per-group WCCP configuration settings from appliance

Swagger Section

Method

Endpoint

wccp

GET

/wccp/config/group/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns nested dictionary of wccp settings per group-id

  • keyword <wccp_group_id> (dict): WCCP group detail object

    • keyword password (str, optional): WCCP service group password

    • keyword mask_src_port (int, optional): WCCP service group mask source port

    • keyword force_l2_return (bool, optional): WCCP service group force l2 return

    • keyword hash_dst_ip (bool, optional): WCCP service group hash destination ip

    • keyword self (int, optional): Integer value of service group Id

    • keyword weight (int, optional): WCCP service group weight

    • keyword hash_src_port (bool, optional): WCCP service group hash source port

    • keyword assign_method (str, optional): Assignment Method

    • keyword hash_dst_port (bool, optional): WCCP service group hash destination port

    • keyword hash_src_ip (bool, optional): WCCP service group hash source ip

    • keyword encap (str ing, optional): WCCP service group forwarding method

    • keyword protocol (str, optional): WCCP service group protocol

    • keyword assign_detail (str, optional): WCCP service group assignment detail

    • keyword compatibility (str, optional): WCCP service group compatibility mode. Valid values: ios, nexus

    • keyword interface (str, optional): WCCP service group interface

    • keyword mask_dst_ip (int, optional): WCCP service group mask destination ip

    • keyword mask_dst_port (int, optional): WCCP service group mask destination port

    • keyword mask_src_ip (int, optional): WCCP service group mask source ip

    • keyword priority (int, optional): WCCP service group priority. Valid range: [0, 255]

    • keyword router (dict, optional): WCCP service group router information

Return type

dict

get_wccp_state(ne_id: str, cached: bool) dict

Get per-group WCCP status from appliance

Swagger Section

Method

Endpoint

wccp

GET

/wccp/state/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns nested dictionary of wccp settings per group-id

  • keyword system (dict): System information object

    • keyword debug_global (str): global debug information for WCCP

    • keyword debug_all (str): all debug information for WCCP

    • keyword is_alive (str): is alive information for WCCP

    • keyword proto_ver (str): prototype version information for WCCP

  • keyword group (dict): WCCP group state objects

    • keyword <wccp_group_id> (dict): WCCP group detail

      • keyword debug (str, optional): debug information for the WCCP service group

      • keyword app_id (str, optional): No description in Swagger

      • keyword self (int, optional): integer value of the group Id

      • keyword assignment (str, optional): assignment information for the WCCP service group

      • keyword num_appliances (int, optional): number of appliances for the WCCP service group

      • keyword num_routers (int, optional): number of routers for the WCCP service group

      • keyword oper (str, optional): operational status for the WCCP service group

      • keyword uptime (int, optional): uptime for the WCCP service group

Return type

dict

get_wccp_system_settings(ne_id: str, cached: bool) dict

Get WCCP system settings from appliance

Swagger Section

Method

Endpoint

wccp

GET

/wccp/config/system/{neId}?cached={cached}

Parameters
  • ne_id (str) – Appliance id in the format of integer.NE e.g. 3.NE

  • cached (bool) – True retrieves last known value to Orchestrator, False retrieves values directly from Appliance

Returns

Returns dictionary of wccp settings

  • keyword mcast_ttl (int): TTL value for wccp

  • keyword enable (bool): True if WCCP is enabled

Return type

dict

get_zone_next_id() dict

Get zone ID that will be assigned to next configured zone

Swagger Section

Method

Endpoint

zones

GET

/zones/nextId

Returns

Returns dictionary with {“nextId” : int}, where int is the next ID to be assigned

Return type

dict

get_zones(all_vrf_zones: bool = False) dict

Get all zones configured on Orchestrator

Swagger Section

Method

Endpoint

zones

GET

/zones

Parameters

all_vrf_zones (bool) – True will return all zones names assigned to different Segments. False will return list of unique zone names. There can be multiple zones with the same name with different ID’s that are applied to different segments.

Returns

Returns dictionary of configured zones

  • keyword <zone_id> (dict): Zone object

    • keyword name (str): Zone name

Return type

dict

get_zones_end_to_end_state() dict

Gets end-to-end ZBFW config state

Swagger Section

Method

Endpoint

zones

GET

/zones/eeEnable

Returns

Returns dictionary of end-to-end ZBFW config state

Return type

dict

get_zones_vrf_mapping() dict

Gets VRF Firewall Zones mapping

Swagger Section

Method

Endpoint

zones

GET

/zones/vrfZonesMap

Returns

Returns dictionary of VRF Firewall Zones mapping, primary key values are VRF ID’s

Return type

dict

set_zone_next_id(zone_id: int) bool

Sets zone ID that will be assigned to next configured zone

Swagger Section

Method

Endpoint

zones

POST

/zones/nextId

Parameters

zone_id (int) – Integer of next assigned zone ID

Returns

Returns True/False based on successful call

Return type

bool

update_zones(zones: dict, delete_dependencies: bool) bool

Configure zones on Orchestrator.

Swagger Section

Method

Endpoint

zones

POST

/zones

Warning

This will overwrite the zones so use the get_zones() function to get existing zones and append if you don’t want to remove existing zones

Parameters
  • zones (dict) –

    Dictionary of zones to configure in the format

    {"ZONE_ID" : {"name" : "ZONE_NAME"}, ... }

    e.g. {“1” : {“name” : “MPLS”}, …}

  • delete_dependencies (bool) – If True, Zones deleted here will be removed from overlays, policies, interfaces and deployment profiles currently using those zones.

Returns

Returns True/False based on successful call

Return type

bool

update_zones_end_to_end_state(enable: bool) bool

Sets end-to-end ZBFW config state

Swagger Section

Method

Endpoint

zones

POST

/zones/eeEnable

Parameters

enable (bool) – Enable end-to-end ZBFW (True) or Disable (False)

Returns

Returns True/False based on successful call

Return type

bool

EdgeConnect

class pyedgeconnect.EdgeConnect(url: str, log_file: bool = False, log_console: bool = False, log_success: bool = False, verify_ssl: bool = True, timeout: tuple = (9.15, 12))[source]

Bases: HttpCommon

Edge Connect setup and imports related methods for making API calls to Edge Connect appliances. Child class of HttpCommon

acknowledge_appliance_alarms(alarm_seq_ids: list[int], acknowledge: bool, ack_by: str) bool

Acknowledge appliance alarms by sequence ids

Swagger Section

Method

Endpoint

alarm

POST

/alarm/acknowledgement

Parameters
  • alarm_seq_ids (list[int]) – List of alarm sequence ids to acknowledge

  • acknowledge (bool) – True to acknowledge alarms

  • ack_by (str) – User to mark alarms acknowledged by

Returns

Returns True/False based on successful call

Return type

bool

add_note_appliance_alarms(alarm_seq_ids: list[int], note: str) bool

Update notes on appliance alarms

Swagger Section

Method

Endpoint

alarm

POST

/alarm/note

Parameters
  • alarm_seq_ids (list[int]) – List of alarm sequence ids to add note to

  • note (str) – Note to add to specified alarms

Returns

Returns True/False based on successful call

Return type

bool

clear_appliance_alarms(alarm_seq_ids: list[int], cleared_by: str) bool

Acknowledge appliance alarms by sequence ids

Swagger Section

Method

Endpoint

alarm

POST

/alarm/clearance

Parameters
  • alarm_seq_ids (list[int]) – List of alarm sequence ids to clear

  • cleared_by (str) – User to mark alarms cleared by

Returns

Returns True/False based on successful call

Return type

bool

delete_appliance_alarms(alarm_seq_ids: list[int]) bool

Delete alarms on appliance

Swagger Section

Method

Endpoint

alarm

POST

/alarm/delete

Parameters

alarm_seq_ids (list[int]) – List of alarm sequence ids to delete

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_alarm_descriptions(response_format: Optional[str] = None) list

Get Orchestrator alarm descriptions

Swagger Section

Method

Endpoint

alarm

GET

/alarm/description2

Parameters

response_format (str, optional) – Specify to csv to download CSV format, otherwise will return information in list of dictionaries of JSON format, defaults to None

Returns

Returns list of alarm descriptions and details

  • [dict]: List of alarm description dictionaries

    • keyword typeId (int): Alarm type id

    • keyword severity (str): Alarm severity info

    • keyword description (str): Alarm description

    • keyword recommendedAction (str): recommended action

    • keyword serviceAffecting (bool): Is alarm service affecting

    • keyword source (str): Module/system that generates alarm

    • keyword systemType (int): Identifies which system generated the alaram.0 = Appliance,100 = Orchestartor

    • keyword sourceType (int): Identifies the category of alarm. 1 = Tunnel, 2 = Traffic Class, 3 = Equipment, 4 = Software, 5 = Threshold

    • keyword alarmType (int): Uniquely identifies the type of alarm within a sourceType

    • keyword clearable (bool): Identifies whether an alarm is clearable

Return type

dict

get_appliance_alarms() dict

Return active alarms

Swagger Section

Method

Endpoint

alarm

GET

/alarm

Returns

Returns summary of alarms and outstanding alarm details

  • keyword summary (dict): Alarm summary object

    • keyword num_cleared (int): Number of alarms cleared

    • keyword num_critical (int): Number of critical alarms

    • keyword num_equipment_outstanding (int): Number of hardware alarms outstanding

    • keyword num_major (int): Number of major alarms

    • keyword num_minor (int): Number of minor alarms

    • keyword num_outstanding (int): Number of outstanding alarms

    • keyword num_raise_ignore (int): Number of raise ignore

    • keyword num_software_outstanding (int): Number of software alarms outstanding

    • keyword num_tca_outstanding (int): Number of TCA alarms outstanding

    • keyword num_traffic_class_outstanding (int): Number of traffic class alarms outstanding

    • keyword num_tunnel_outstanding (int): Number of tunnel alarms outstanding

    • keyword num_warning (int): Number of warning alarms

  • keyword outstanding (list[dict]): Outstanding alarms

    • [dict]: Outstanding Alarm detail object

      • keyword severity (int): Alarm severity, 0 translates to Info, 1 translates to Warning, 2 translates to Minor, 3 translates to Major, 4 translates to Critical,

      • keyword sequenceId (int): Alarm sequence ID

      • keyword source (str): Source IP address

      • keyword acknowledged (bool): True if alarm has been acknowledged

      • keyword clearable (bool): True if alarm can be cleared by user

      • keyword time (int): Time alarm occured in unix epoch ms

      • keyword description (str): Description of alarm detail

      • keyword type (str): Hardware (HW) or Software (SW)

      • keyword recommendation (str): Recommended action for alarm

      • keyword serviceAffect (bool): True if condition could be service affecting

      • keyword typeId (int): Alarm type ID number

      • keyword name (str): Alarm name

      • keyword occurenceCount (int): Count of occurences of alarm

      • keyword active (bool): True if alarm is currently active

      • keyword ackedBy (str): Username that acknolwedged alarm

      • keyword ackedTime (int): Time of acknolwedgement in Unix epoch ms

      • keyword clearedBy (str): Username that cleared alarm

      • keyword clearedTime (int): Time of clear in Unix epoch ms

      • keyword note (str): Additional alarm notes

Return type

dict

configure_appliance_all_bonded_tunnels(tunnel_configuration: dict) bool

Add/modify overlay tunnels

Warning

This function would update all overlay tunnels. Existing tunnel IDs will be updated, New tunnel IDs will be created.

Use get_appliance_bonded_tunnels_config() to get current tunnel configuration

Swagger Section

Method

Endpoint

bondedTunnel

POST

/bondedTunnels/config

Parameters

tunnel_configuration (dict) – Dictionary structure for configuring overlay tunnels on EdgeConnect appliance. See response from get_appliance_bonded_tunnels_config() for documentation of data structure

Returns

Returns True/False based on successful call

Return type

bool

delete_appliance_multiple_bonded_tunnels(tunnel_list: list[str]) bool

Delete multiple bonded tunnels from appliance

Swagger Section

Method

Endpoint

bondedTunnel

POST

/bondedTunnels/deleteMultiple

Parameters

tunnel_list (list[str]) – List of tunnel id’s to query for

Returns

Returns True/False based on successful call

Return type

bool

delete_appliance_single_bonded_tunnel(tunnel_id: str) bool

Delete specific overlay tunnel configuration by tunnel id from appliance

Swagger Section

Method

Endpoint

bondedTunnel

DELETE

/bondedTunnels/config/{id}

Parameters

tunnel_id (str) – Tunnel id of tunnel to retrieve information for, e.g. bondedTunnel_385

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_all_bonded_tunnel_ids(state_match: Optional[str] = None) list

Get the current list of all bonded tunnels

Swagger Section

Method

Endpoint

bondedTunnel

GET

/bondedTunnels/allIDs

Parameters

state_match (str) – Regular expression used to match tunnels state, e.g. Idle or Up would match all tunnels with status of Up - Idle

Returns

Returns list of all tunnel ids e.g. ["bondedTunnel_370","bondedTunnel_371",...]

Return type

list

get_appliance_bonded_tunnel_aliases(limit: int, alias_match: Optional[str] = None, state_match: Optional[str] = None) list

Find bonded tunnels with matching aliases on appliance

Swagger Section

Method

Endpoint

bondedTunnel

GET

/bondedTunnels/aliases

Parameters
  • limit (int) – Max number of tunnels to return from query

  • alias_match (str) – Match text of tunnel’s alias, paramter is case insensitive

  • state_match (str) – Regular expression used to match tunnels state, e.g. Idle or Up would match all tunnels with status of Up - Idle

Returns

Returns list of matching tunnels with tunnel ID and alias

  • [dict]: List of tunnel alias/id pairs

    • keyword alias (str): Tunnel alias

    • keyword id (str): Tunnel id

Return type

list

get_appliance_bonded_tunnel_live_view_info(tunnel_id: str) dict

Get Live View state information for specific overlay tunnel

Swagger Section

Method

Endpoint

bondedTunnel

POST

/liveViewInfo/{id}

Parameters

tunnel_id (str) – Tunnel id of tunnel to retrieve information for, e.g. bondedTunnel_385

Returns

Returns dictionary of Live View state information for overlay tunnel queried

  • keyword state_bin (dict): Status object

    • keywoord tun_state (str): Tunnel status, e.g. Up - Idle

    • keyword overlay (dict): Overlay live view stats

      • keyword black_tun_list (list[str]): List of tunnels exlcluded from overlay due to blackout conditions

      • keyword black_reason_fastfail (list[str]): List of tunnels excluded from overlay due to fast fail blackout

      • keyword brown_tun_list (list[str]): List of tunnels in brownout status

      • keyword brown_reason_loss (list[str]): List of tunnels in brownout status because of loss

      • keyword brown_reason_latency (list[str]): List of tunnels in brownout status because of latency

      • keyword brown_reason_jitter (list[str]): List of tunnels in brownout status because of jitter

      • keyword green_tun_list (list[str]): List of underlay tunnels in green status

      • keyword curr_tun_list (list[str]): List of underlay tunnels currently in use

      • keyword best_link (str): Current best performing underlay tunnel, e.g. tunnel_404

      • keyword ts (int): Unix epoch timestamp in ms

      • keyword bonded_tunnel_state_brown (int): Overall overlay tunnel brownout status, 0 for green, 1 for brownout

      • keyword bonded_tunnel_state_brown_lat (int): overlay tunnel brownout status due to latency, 0 for green, 1 for brownout

      • keyword bonded_tunnel_state_brown_loss (int): overlay tunnel brownout status due to loss, 0 for green, 1 for brownout

      • keyword bonded_tunnel_state_brown_jit (int): overlay tunnel brownout status due to jitter, 0 for green, 1 for brownout

get_appliance_bonded_tunnels_config(state_match: Optional[str] = None) dict

Get the current list of bonded tunnels and their configuration

Swagger Section

Method

Endpoint

bondedTunnel

GET

/bondedTunnels/config

Parameters

state_match (str) – Regular expression used to match tunnels state, e.g. Idle or Up would match all tunnels with status of Up - Idle

Returns

Returns dictionary of tunnels with status matched from the state_match parameter

  • keyword <tunnel_id> (dict): Tunnel id and object

    • keyword admin (str): Admin state of the tunnel - takes two values: up or down

    • keyword alias (str): Tunnel alias/name, e.g. to_<REMOTE_EC_HOSTNAME>_<OVERLAY_NAME>

    • keyword auto_mtu (bool): Determines if the tunnel should have auto MTU detection

    • keyword ctrl_pkt (dict): Tunnel health packet marking

      • keyword dscp (str): DSCP marking to be used on tunnel keepalive packets to determine if tunnel remote IP address is reachable

    • keyword gms_marked (bool): True if configured by Orchestrator

    • keyword gre_proto (int): GRE protocol in the GRE header

    • keyword id2 (int): NEEDS DESCRIPTION

    • keyword ipsec_arc_window (str): IPSec ARC Window, not configurable

    • keyword ipsec_enable (bool): True if IPSec tunnel

    • keyword presharedkey (str): Tunnel preshared key

    • keyword ipsec_udp_sport (str): IPSec UDP tunnel source port

    • keyword ipsec_udp_dport (str): IPSec UDP tunnel destination port

    • keyword orch_tid (list[int]): NEEDS DESCRIPTION

    • keyword max_bw (int): If the tunnel max bandwidth is manually configured, use this field and set max_bw_auto to false

    • keyword max_bw_auto (bool): If the tunnel max bandwidth needs to be set to auto, this field must be true

    • keyword max_bw_unshaped (bool): false,

    • keyword min_bw (int): Tunnel minimum bandwidth

    • keyword mode (str): Tunnel mode, e.g. udp_sp

    • keyword mtu (str): Tunnel MTU, e.g. 1500

    • keyword peername (str): Tunnel peer name

    • keyword nat_mode (str): Tunnel NAT mode, e.g. auto, none

    • keyword pkt (dict): Packet settings object

      • keyword coalesce_enable (bool): Packet coalescing enabled

      • keyword coalesce_wait (int): Packet coalescing wait timer

      • keyword fec_enable_str (str): FEC enabled, e.g. enable, disable, or auto

      • keyword fec_reset_intvl (int): FEC reset interval, e.g. 1, 2, 5, 10, or 20

      • keyword fec_max_ratio (int): FEC auto maximum ration, e.g. 10

      • keyword fec_min_ratio (int): FEC auto minimum ration, e.g. 0

      • keyword frag_enable (bool): Enable tunnel packet fragmentation and reassembly

      • keyword reorder_wait (int): Amount of time in ms to wait for Packet Order Correction algorithm

    • keyword tag_name (str): Overlay name, e.g. BulkApps

    • keyword threshold (dict): Tunnel fail thresholds

      • keyword fastfail (int): Enable fast fail, increasing the frequency of tunnel health packets, e.g. 0, 1, or 2

      • keyword fastfail-wait-base (int): 150,

      • keyword fastfail-wait-rtt (int): 5,

      • keyword jitter (int): Jitter threshold, 0 if not configured

      • keyword latency (int): Latency threshold, 0 if not configured

      • keyword loss (int): Loss threshold, 0 if not configured

      • keyword retry_count (int): How many packets which are sent once per second should be missed before a tunnel is declared down, e.g. 3

    • keyword type (str): e.g. bonded

    • keyword udp_dest_port (int): If the tunnel is of type ‘udp’, the udp port to use, e.g. 4163

    • keyword udp_flows (int): If tunnel mode is udp, this field determines how many different udp flows are used to distribute tunnel traffic, e.g. 256

    • keyword local_vrf (int): Local VRF ID, Default segment would be 0

    • keyword source (str): Source IP address of tunnel, for bonded tunnels this is 127.0.0.0

    • keyword destination (str): Destination IP address of tunnel, for bonded tunnels this is 127.0.0.0

    • keyword bound_tun (dict): Tunnels bound to bonded tunnel

      • keyword <tunnel_id> (str): Underlay tunnel alias e.g. to_<REMOTE_EC_HOSTNAME>_INET1-INET1

Return type

dict

get_appliance_bonded_tunnels_state(state_match: Optional[str] = None) dict

Get the current list of tunnels and their configuration as well as some state information like uptime and operational state

Swagger Section

Method

Endpoint

bondedTunnel

GET

/bondedTunnels/state

Parameters

state_match (str) – Regular expression used to match tunnels state, e.g. Idle or Up would match all tunnels with status of Up - Idle

Returns

Returns dictionary of overlay tunnels with status matched from the state_match parameter

  • keyword <bonded_tunnel_id> (dict): Bonded tunnel object

    • keyword self (str): Tunnel id

    • keyword oper (str): Status, e.g. Up - Idle

    • keyword uptime (int): Tunnel uptime in ms

    • keyword cur_mtu (str): Tunnel MTU, e.g. 1488

    • keyword cur_max_bw (str): Tunnel max bw, Kbps

    • keyword rem_sys_bw (str): Remaining system bandwidth

    • keyword quiescence (bool): true,

    • keyword remote_id (int): Remote ID

    • keyword state_bin (dict):

      • keyword tun_state (str): Tunnel status, e.g. Up - Idle

      • keyword uptime (int): Tunnel uptime in ms

      • keyword cur_mtu (str): Tunnel MTU, e.g. 1488

      • keyword local_id (int): Local ID

      • keyword bonded (bool): Tunnel bonded state

      • keyword ipsec_nat_addr (str): NONE for bonded tunnels

      • keyword ipsec_nat_port (str): NONE for bonded tunnels

Return type

dict

get_appliance_multiple_bonded_tunnels_config(tunnel_list: list[str]) dict

Get the configuration of multiple bonded tunnels from appliance

Swagger Section

Method

Endpoint

bondedTunnel

POST

/bondedTunnels/getMultiple

Parameters

tunnel_list (list[str]) – List of tunnel id’s to query for

Returns

Returns dictionary of specified tunnels queried

  • keyword <tunnel_id> (dict): Tunnel id and object

    • keyword admin (str): Admin state of the tunnel - takes two values: up or down

    • keyword alias (str): Tunnel alias/name, e.g. to_<REMOTE_EC_HOSTNAME>_<OVERLAY_NAME>

    • keyword auto_mtu (bool): Determines if the tunnel should have auto MTU detection

    • keyword ctrl_pkt (dict): Tunnel health packet marking

      • keyword dscp (str): DSCP marking to be used on tunnel keepalive packets to determine if tunnel remote IP address is reachable

    • keyword gms_marked (bool): True if configured by Orchestrator

    • keyword gre_proto (int): GRE protocol in the GRE header

    • keyword id2 (int): NEEDS DESCRIPTION

    • keyword ipsec_arc_window (str): IPSec ARC Window, not configurable

    • keyword ipsec_enable (bool): True if IPSec tunnel

    • keyword presharedkey (str): Tunnel preshared key

    • keyword ipsec_udp_sport (str): IPSec UDP tunnel source port

    • keyword ipsec_udp_dport (str): IPSec UDP tunnel destination port

    • keyword orch_tid (list[int]): NEEDS DESCRIPTION

    • keyword max_bw (int): If the tunnel max bandwidth is manually configured, use this field and set max_bw_auto to false

    • keyword max_bw_auto (bool): If the tunnel max bandwidth needs to be set to auto, this field must be true

    • keyword max_bw_unshaped (bool): false,

    • keyword min_bw (int): Tunnel minimum bandwidth

    • keyword mode (str): Tunnel mode, e.g. udp_sp

    • keyword mtu (str): Tunnel MTU, e.g. 1500

    • keyword peername (str): Tunnel peer name

    • keyword nat_mode (str): Tunnel NAT mode, e.g. auto, none

    • keyword pkt (dict): Packet settings object

      • keyword coalesce_enable (bool): Packet coalescing enabled

      • keyword coalesce_wait (int): Packet coalescing wait timer

      • keyword fec_enable_str (str): FEC enabled, e.g. enable, disable, or auto

      • keyword fec_reset_intvl (int): FEC reset interval, e.g. 1, 2, 5, 10, or 20

      • keyword fec_max_ratio (int): FEC auto maximum ration, e.g. 10

      • keyword fec_min_ratio (int): FEC auto minimum ration, e.g. 0

      • keyword frag_enable (bool): Enable tunnel packet fragmentation and reassembly

      • keyword reorder_wait (int): Amount of time in ms to wait for Packet Order Correction algorithm

    • keyword tag_name (str): Overlay name, e.g. BulkApps

    • keyword threshold (dict): Tunnel fail thresholds

      • keyword fastfail (int): Enable fast fail, increasing the frequency of tunnel health packets, e.g. 0, 1, or 2

      • keyword fastfail-wait-base (int): 150,

      • keyword fastfail-wait-rtt (int): 5,

      • keyword jitter (int): Jitter threshold, 0 if not configured

      • keyword latency (int): Latency threshold, 0 if not configured

      • keyword loss (int): Loss threshold, 0 if not configured

      • keyword retry_count (int): How many packets which are sent once per second should be missed before a tunnel is declared down, e.g. 3

    • keyword type (str): e.g. bonded

    • keyword udp_dest_port (int): If the tunnel is of type ‘udp’, the udp port to use, e.g. 4163

    • keyword udp_flows (int): If tunnel mode is udp, this field determines how many different udp flows are used to distribute tunnel traffic, e.g. 256

    • keyword local_vrf (int): Local VRF ID, Default segment would be 0

    • keyword source (str): Source IP address of tunnel, for bonded tunnels this is 127.0.0.0

    • keyword destination (str): Destination IP address of tunnel, for bonded tunnels this is 127.0.0.0

    • keyword bound_tun (dict): Tunnels bound to bonded tunnel

      • keyword <tunnel_id> (str): Underlay tunnel alias e.g. to_<REMOTE_EC_HOSTNAME>_INET1-INET1

Return type

dict

get_appliance_multiple_bonded_tunnels_state(tunnel_list: list[str]) dict

Get multiple bonded tunnels state

Swagger Section

Method

Endpoint

bondedTunnel

POST

/bondedTunnels/getStateMultiple

Parameters

tunnel_list (list[str]) – List of tunnel id’s to query for

Returns

Returns dictionary of specified tunnels queried

  • keyword <bonded_tunnel_id> (dict): Bonded tunnel object

    • keyword self (str): Tunnel id

    • keyword oper (str): Status, e.g. Up - Idle

    • keyword uptime (int): Tunnel uptime in ms

    • keyword cur_mtu (str): Tunnel MTU, e.g. 1488

    • keyword cur_max_bw (str): Tunnel max bw, Kbps

    • keyword rem_sys_bw (str): Remaining system bandwidth

    • keyword quiescence (bool): true,

    • keyword remote_id (int): Remote ID

    • keyword state_bin (dict):

      • keyword tun_state (str): Tunnel status, e.g. Up - Idle

      • keyword uptime (int): Tunnel uptime in ms

      • keyword cur_mtu (str): Tunnel MTU, e.g. 1488

      • keyword local_id (int): Local ID

      • keyword bonded (bool): Tunnel bonded state

      • keyword ipsec_nat_addr (str): NONE for bonded tunnels

      • keyword ipsec_nat_port (str): NONE for bonded tunnels

Return type

dict

get_appliance_single_bonded_tunnel_config(tunnel_id: str) dict

Get specific overlay tunnel configuration by tunnel id from appliance

Swagger Section

Method

Endpoint

bondedTunnel

GET

/bondedTunnels/{id}

Parameters

tunnel_id (str) – Tunnel id of tunnel to retrieve information for, e.g. bondedTunnel_385

Returns

Returns dictionary of tunnel configuration for specific tunnel

  • keyword admin (str): Admin state of the tunnel -

    takes two values: up or down

  • keyword alias (str): Tunnel alias/name, e.g.

    to_<REMOTE_EC_HOSTNAME>_<OVERLAY_NAME>

  • keyword auto_mtu (bool): Determines if the tunnel

    should have auto MTU detection

  • keyword ctrl_pkt (dict): Tunnel health packet

    marking

    • keyword dscp (str): DSCP marking to be used on

      tunnel keepalive packets to determine if tunnel remote IP address is reachable

  • keyword gms_marked (bool): True if configured by

    Orchestrator

  • keyword gre_proto (int): GRE protocol in the GRE

    header

  • keyword id2 (int): NEEDS DESCRIPTION

  • keyword ipsec_arc_window (str): IPSec ARC Window,

    not configurable

  • keyword ipsec_enable (bool): True if IPSec

    tunnel

  • keyword presharedkey (str): Tunnel preshared key

  • keyword ipsec_udp_sport (str): IPSec UDP tunnel

    source port

  • keyword ipsec_udp_dport (str): IPSec UDP tunnel

    destination port

  • keyword orch_tid (list[int]): NEEDS DESCRIPTION

  • keyword max_bw (int): If the tunnel max bandwidth is

    manually configured, use this field and set max_bw_auto to false

  • keyword max_bw_auto (bool): If the tunnel max

    bandwidth needs to be set to auto, this field must be true

  • keyword max_bw_unshaped (bool): false,

  • keyword min_bw (int): Tunnel minimum bandwidth

  • keyword mode (str): Tunnel mode, e.g. udp_sp

  • keyword mtu (str): Tunnel MTU, e.g. 1500

  • keyword peername (str): Tunnel peer name

  • keyword nat_mode (str): Tunnel NAT mode, e.g.

    auto, none

  • keyword pkt (dict): Packet settings object

    • keyword coalesce_enable (bool): Packet

      coalescing enabled

    • keyword coalesce_wait (int): Packet coalescing

      wait timer

    • keyword fec_enable_str (str): FEC enabled, e.g.

      enable, disable, or auto

    • keyword fec_reset_intvl (int): FEC reset

      interval, e.g. 1, 2, 5, 10, or 20

    • keyword fec_max_ratio (int): FEC auto maximum

      ration, e.g. 10

    • keyword fec_min_ratio (int): FEC auto minimum

      ration, e.g. 0

    • keyword frag_enable (bool): Enable tunnel packet

      fragmentation and reassembly

    • keyword reorder_wait (int): Amount of time in ms

      to wait for Packet Order Correction algorithm

  • keyword tag_name (str): Overlay name, e.g.

    BulkApps

  • keyword threshold (dict): Tunnel fail thresholds

    • keyword fastfail (int): Enable fast fail,

      increasing the frequency of tunnel health packets, e.g. 0, 1, or 2

    • keyword fastfail-wait-base (int): 150,

    • keyword fastfail-wait-rtt (int): 5,

    • keyword jitter (int): Jitter threshold, 0 if

      not configured

    • keyword latency (int): Latency threshold, 0

      if not configured

    • keyword loss (int): Loss threshold, 0 if

      not configured

    • keyword retry_count (int): How many packets

      which are sent once per second should be missed before a tunnel is declared down, e.g. 3

  • keyword type (str): e.g. bonded

  • keyword udp_dest_port (int): If the tunnel is of

    type ‘udp’, the udp port to use, e.g. 4163

  • keyword udp_flows (int): If tunnel mode is udp, this

    field determines how many different udp flows are used to distribute tunnel traffic, e.g. 256

  • keyword local_vrf (int): Local VRF ID, Default

    segment would be 0

  • keyword source (str): Source IP address of tunnel,

    for bonded tunnels this is 127.0.0.0

  • keyword destination (str): Destination IP address of

    tunnel, for bonded tunnels this is 127.0.0.0

  • keyword bound_tun (dict): Tunnels bound to bonded

    tunnel

    • keyword <tunnel_id> (str): Underlay tunnel alias

      e.g. to_<REMOTE_EC_HOSTNAME>_INET1-INET1

Return type

dict

perform_appliance_cli_command(cli_command: str) str

Run single cli command on appliance

Swagger Section

Method

Endpoint

cli

POST

/cli

Parameters

cli_command (str) – CLI command to perform on appliance, e.g. show subnet learned

Returns

Returns text response of cli command

Return type

str

perform_appliance_multiple_cli_command(cli_commands: list[str]) list

Run multiple cli commands on appliance

Swagger Section

Method

Endpoint

cli

POST

/cliMultiple

Parameters

cli_commands – List of CLI command to perform on appliance, e.g. ["show version", "show transceiver"]

Returns

Returns list of dictionaries of reuslts for each command

  • [list[dict]]: List of command results

    • keyword command (str): Cli command run

    • keyword result (str): Text result from cli command

Return type

list

get_appliance_cpu(time: int) dict

Get the appliance cpu utilization for a particular minute.

Swagger Section

Method

Endpoint

cpu

GET

/cpustat

Note

Requires ECOS 9.1+

Parameters

time (int) – Epoch time in milliseconds to query for cpu data

Returns

Returns dictionary of appliance deployment information

  • keyword data (list): CPU utilization array

    • [dict]: CPU utilization object

      • keyword <timestamp> (list): Array of utilization data for this timestamp for each cpu

        • [dict]: CPU utilization detail

          • keyword cpu_number (str): CPU number identifier

          • keyword pIRQ (float): CPU percentage Interrupt Requests

          • keyword pIdle (float): CPU percentage Idle

          • keyword pNice (float): CPU percentage of NICE

          • keyword pSys (float): CPU percentage System

          • keyword pUser (float): CPU percentage User

  • keyword latestTimestamp (int): Epoch ms from latest timestamp in returned data

Return type

dict

get_appliance_deployment() dict

Get the deployment configuration of the appliance

Swagger Section

Method

Endpoint

deployment

GET

/deployment

Parameters

ne_pk (str) – Network Primary Key (nePk) of existing appliance, e.g. 3.NE

Returns

Returns dictionary of appliance deployment information

  • keyword scalars (dict): Scalars object, example values included below

    • keyword maxWanBandwidth (int): 200000

    • keyword defaultMaxWanBandwidth (int): 200000

    • keyword maxRxTargetBandwidth (int): 2000000

    • keyword maxTunnels (int): 2000

    • keyword maxIKETunnels (int): 4000

    • keyword minMtu (int): 700

    • keyword maxMtu (int): 9000

    • keyword maxRouteMaps (int): 10

    • keyword maxOptMaps (int): 10

    • keyword maxQoSMaps (int): 10

    • keyword maxNatMaps (int): 10

    • keyword maxRouteMapEntries (int): 2000

    • keyword maxOptMapEntries (int): 200

    • keyword maxQoSMapEntries (int): 200

    • keyword maxNatMapEntries (int): 300

    • keyword isPortalLicensed (bool): true

    • keyword portalLicenseType (int): 2

    • keyword supportServerMode (bool): true

    • keyword isLicenseRequired (bool): false

    • keyword isDynamicLimits (bool): true

    • keyword isDynamicInterface (bool): true

    • keyword isModel4Port (bool): true

    • keyword isModel10G (bool): false

    • keyword isModelSingleDisk (bool): true

    • keyword isModelPowerCycle (bool): false

    • keyword num1GigPorts (int): 32

    • keyword num1GigFiberPorts (int): 0

    • keyword numMgmtPorts (int): 2

    • keyword num10GigPorts (int): 0

    • keyword isGMSCompatible (bool): true

    • keyword maxAcls (int): 100

    • keyword maxAclEntries (int): 100

    • keyword maxUDAs (int): 200

    • keyword maxUDAEntries (int): 400

    • keyword maxVLANs (int): 127

    • keyword maxSubInterfaces (int): 127

    • keyword diskLayout (str): “”

    • keyword vrrpCompatible (bool): false

    • keyword supportsBridgeLoopTest (bool): true

    • keyword supportsDiskSelfTest (bool): true

    • keyword supportsBypass (bool): false

    • keyword isNMInDisklessMode (bool): false

    • keyword nmDiskSize (int): 70

    • keyword processorCount (int): 2

    • keyword memorySize (int): 6

    • keyword cacheDiskCount (int): 0

    • keyword spindleDiskCount (int): 1

    • keyword maxFlows (int): 128000

    • keyword maxRedFlows (int): 1024000

    • keyword maxBypassFlows (int): 1024000

    • keyword actualProcessorCount (int): 2

    • keyword actualMemorySize (int): 6

    • keyword actualNMDiskSize (int): 70

    • keyword isModelForReplication (bool): false

    • keyword maxIpServiceEntries (int): 1000000

    • keyword maxSaasEntries (int): 256000

    • keyword maxOverlays (int): 7

    • keyword maxSegMapEntries (int): 2000

    • keyword maxDnsProxySegments (int): 4

    • keyword maxRoutemaps (int): 10

    • keyword maxOptmaps (int): 10

    • keyword maxQosmaps (int): 10

    • keyword maxNatmaps (int): 10

    • keyword maxAcmaps (int): 10

    • keyword maxPolicymaps (int): 70

    • keyword maxMapnamelen (int): 32

    • keyword maxRulesperacl (int): 100

    • keyword maxAclrulelen (int): 1024

    • keyword isIdsSupported (bool): false

  • keyword sysConfig (dict): Appliance’s system configuration

    • keyword mode (str): System deployment mode, bridge or router

    • keyword useMgmt0 (bool): Use mgmt0 interface as a datapath interface as well. (only valid under router mode)

    • keyword tenG (bool): Use 10Gbps interfaces (only valid for models with 10Gbps interfaces)

    • keyword bonding (bool): Use interface bonding (only valid for models with 2 LAN interfaces and 2 WAN interfaces)

    • keyword maxBW (int): System maximum bandwidth in Kbps

    • keyword propagateLinkDown (bool): Propagate link down state: this is valid in bridge mode only. If it is true, if either LAN or WAN side interface of the bridge is down, the system brings down the other interface automatically

    • keyword singleBridge (bool): Single 4-port flat bridge configuration (only valid for 4-port models)

    • keyword inline (bool): Inline router mode (only valid for router mode). This is the recommended mode.

    • keyword ifLabels (dict): interface labels

      • keyword lan (list[dict]): Available LAN interface labels

        • [dict]: interface detail

          • keyword id (str): Unique label ID

          • keyword name (str): Label name eg: Voice, Data, MPLS

      • keyword wan (list[dict]): Available WAN interface labels

        • [dict]: interface detail

          • keyword id (str): Unique label ID

          • keyword name (str): Label name eg: Voice, Data, MPLS

    • keyword haIf (str): Name of the interface used to build ‘internal’ High Availability (HA) VLAN interfaces using which two appliances in a HA configuration can communicate with each other

    • keyword maxInBW (int): System maximum inbound bandwidth in Kbps (to enable inbound shaping make sure maxInBWEnabled is set to true)

    • keyword maxInBWEnabled (bool): Enable inbound bandwidth shaping (if this is true, you must specify maxInBW)

    • keyword licence (dict): Appliance EC license information (only valid for EC models)

      • keyword ecMini (bool): Is EC Mini license enabled

      • keyword ecPlus (bool): Is EC Plus license enabled

      • keyword ecTier (str): EC Tier license name

      • keyword ecTierBW (int): EC Tier bandwidth in Kbps

      • keyword ecBoost (bool): Is EC Boost license enabled

      • keyword ecBoostBW (int): Boost bandwidth in Kbps

      • keyword <license_type> (dict, optional): This key is dynamic based on the EC license type (fx, ecsp etc). Contains additional details based on license type.

    • keyword zones (list[dict]): Firewall zones

      • [dict]: FW Zones object

        • keyword id (int): Zone ID, e.g. 1

        • keyword name (str): Zone name, e.g. Public

    • keyword vrfs (list[dict]): VRF segments

      • [dict]: VRF segments object

        • keyword id (int): VRF ID, e.g. 0

        • keyword name (str): VRF name, e.g. Default

    • keyword vrfZonesMap (dict): Mapping of zone ids and corresponding VRFs

      • keyword <vrf_id> (dict): VRF mapping

        • keyword <zone_id> (dict): Zone mapping

          • keyword id (int): Zone ID, e.g. 1

          • keyword name (str): Zone name, e.g. Public

  • keyword mgmtIfData (dict): Appliance’s management network interfaces information

    • keyword <mgmt_interface> (dict): mgmt object

      • keyword dhcp (bool): Is DHCP on or off on this management interface

      • keyword nexthop (str): Management interface gateway IP address

      • keyword ip (str): Management interface IP address

      • keyword mask (int): Management interface network mask

  • keyword modeIfs (list[dict]): Interface details

    • keyword devNum (str): Deployment interface type, rtr1/rtr2, bdg1/bdg2, only for UI use, not needed in POST

    • keyword ifName (str): Deployment interface name, wan0/lan0 for router mode, bvi0/bvi1 for bridge mode

    • keyword applianceIPs (list[dict]): Deployment interface IP addresses assignment

      • [dict]: Interface object

        • keyword ip (str): Appliance interface IP address

        • keyword mask (int): IP address network mask

        • keyword subif (str): Sub-interface ID

        • keyword vlan (str): VLAN ID

        • keyword wanNexthop (str): Next hop IP address

        • keyword label (str): Interface label assigned to this interface

        • keyword lanSide (bool): Determines if this interface is on LAN side

        • keyword wanSide (bool): Determines if this interface is on WAN side

        • keyword dhcp (bool): Determines if DHCP is enabled for this interface (only applicable for WAN side main interface IPs in inline router mode)

        • keyword harden (int): Determines if this interface has firewall configured (only applicable for WAN side main/VLAN interfaces in router mode). Valid values are 0:Allow All, 1:Hardened, 2:Stateful, 3:Stateful+SNAT

        • keyword behindNAT (str): Determines if this interface is connected to a Network Address Translation device (only applicable to WAN interfaces). Valid values are ‘auto’, ‘none’, ‘’. ‘auto’ means interface is behind a NAT device. ‘none’ or ‘’ mean interface is NOT behind a NAT device

        • keyword maxBW (dict): Maximum inbound/outbound bandwidth for this interface in Kbps (only applicable to WAN interfaces)

          • keyword inbound (int): Maximum inbound (WAN to LAN) bandwidth for this interface in Kbps

          • keyword outbound (int): Maximum outbound (LAN to WAN) bandwidth for this interface in Kbps

        • keyword dhcpd (dict): Interface DHCP (server/relay) configuration (only applicable to LAN interfaces in inline router mode)

          • keyword type (str): Enum to determine if this LAN interface is acting like a DHCP server, relay or none. Valid values are server, relay, none

          • keyword server (dict): DHCP server related configuration

            • keyword prefix (str): DHCP server subnet and mask value e.g. 10.3.171.0/24

            • keyword ipStart (str): IP within the DHCP server subnet from where to start allocating IPs

            • keyword ipEnd (str): IP within the DHCP server subnet till where IPs can be allocated

            • keyword gw (list[str]): Gateway IP Address

            • keyword dns (list[str]): DNS server(s) IP Address

            • keyword ntpd (list[str]): NTP server(s) IP Address

            • keyword netbios (list[str]): NetBIOS name server(s) IP Address

            • keyword netbiosNodeType (str): Enum denoting the type of NetBIOS server. Valid values are B, P, M, H

            • keyword maxLease (int): Maximum lease time in seconds

            • keyword defaultLease (int): Default lease time in seconds

            • keyword options (dict): Object containing dynamic DHCP options

              • keyword <option_id> (str): option value

            • keyword host (dict): Object containing list of hosts with static IP reservations

              • keyword <hostname> (dict):

                • keyword mac (str): MAC address

                • keyword ip (str): IP address

            • keyword failover (bool): Determine if appliance enable DHCP failover

          • keyword relay (dict): DHCP relay related configuration

            • keyword dhcpserver (list[str]): Array of destination DHCP server IP addresses

            • keyword option82 (bool): Determine whether option 82 is enabled

            • keyword option82_policy (str): Enum to determine option 82 policy used if option 82 is enabled. Valid values are append, replace, forward, discard

        • keyword brifs (dict): Bridge interface configurations

          • keyword <interface> (dict): brif object

            • keyword label (str): Bridge lan/wan side interface label

            • keyword harden (str): Firewall configuration for bridge interface. Valid values are 0:Allow All, 1:Hardened, 2:Stateful, 3:Stateful+SNAT

            • keyword wanSide (bool): This bridge interface is on WAN side

            • keyword lanSide (bool): This bridge interface is on LAN side

            • keyword comment (str): User comments

        • keyword zone (int): Zone id assigned to this interface. 0 if no zone assigned

        • keyword vrf (int): VRF segment id assigned to this interface. 0 if default VRF segment is assigned

        • keyword comment (str): User comments

        • keyword failover (bool): Determine if appliance enable DHCP failover

  • keyword dpRoutes (list[dict]):

    • [dict]: dpRoutes object

      • keyword prefix (str): Subnetwork prefix, for example, 2.2.2.0/24

      • keyword nexthop (str): Next hop IP address for this route entry

      • keyword intf (str): Interface name for this route entry, auto or bvi0/bvi1/VLAN for bridge mode

      • keyword metric (int): Routing metric value, lower values have higher priority

      • keyword type (str): Route entry type, gw is the only option for now

  • keyword vifs (dict): vifs object

    • keyword pppoe (list[str]): List of PPPoE interface names configured on this appliance

    • keyword bondedIfs (list[str]): List of bonded interfaces configured on this appliance

  • keyword dhcpFailover (dict): DHCP failover config

    • keyword <interface> (dict): interface dhcp failover config

      • keyword max_unack_updates (int): Tells the remote DHCP server how many BNDUPD messages it can send before it receives a BNDACK from the local system

      • keyword peer_port (int): Define which TCP port to connect to its failover peer for failover messages

      • keyword my_port (int): Defines which TCP port the server should listen for connections from its failover peer

      • keyword max_resp_delay (int): Tells the DHCP server how many seconds may pass without receiving a message from its failover peer before it assumes that connection has failed

      • keyword load_bal_max (int): Defines a threshold to compare with the secs field of the client’s DHCP packet in order to override load balancing

      • keyword role (str) = Specify if the server is the primary or secondary, primary or secondary

      • keyword mclt (int): Define the Maximum Client Lead Time

      • keyword split (int): Specify the split between the primary and secondary

      • keyword peer_ip (str): Define which server it should connect to reach its failover peer

      • keyword my_ip (str): Define the address that the server should listen for connections from its failover peer

Return type

dict

get_appliance_disk_usage() dict

Get the disk usage of the appliance

Swagger Section

Method

Endpoint

diskUsage

GET

/diskUsage

Returns

Returns dictionary of current appliance disk usage

  • keyword <directory name> (dict): Directory disk utilization, e.g. / or /dev etc.

    • keyword 1k-blocks (int): The number of 1k-blocks

    • keyword used (int): Size of used space, KB

    • keyword available (int): Size of available space, KB

    • keyword usedpercent (int): Percent of used space

    • keyword filesystem (str): Name of the filesystem

Return type

dict

get_appliance_dns_config() dict

Get the current DNS IP address and domain names configured for your appliance

Swagger Section

Method

Endpoint

dns

GET

/resolver

Returns

Returns dictionary of current appliance dns configuration

  • keyword domain_search (dict): Domain search settings

    • keyword <Order of search 1-6> (dict):

      • keyword self (int): Order of Domain Name, which should be the same as this entry’s key

      • keyword domainname (str): Search Domain

  • keyword nameserver (dict): Name server settings

    • keyword 1 (dict): Primary name server

      • keyword self (int): Order of Name Server, which should be the same as this entry’s key

      • keyword address (str): IP of DNS Server

      • keyword vrf_id (int): Segment ID, which default value is 0

      • keyword srcinf (str): Source Interface, which default value is any

    • keyword 2 (dict): Secondary name server

      • keyword self (int): Order of Name Server, which should be the same as this entry’s key

      • keyword address (str): IP of DNS Server

      • keyword vrf_id (int): Segment ID, which default value is 0

      • keyword srcinf (str): Source Interface, which

        default value is any

    • keyword 3 (dict): Tertiary name server

      • keyword self (int): Order of Name Server, which should be the same as this entry’s key

      • keyword address (str): IP of DNS Server

      • keyword vrf_id (int): Segment ID, which default value is 0

      • keyword srcinf (str): Source Interface, which default value is any

Return type

dict

set_appliance_dns_config(domain_search_settings: dict, primary_ns_address: str, primary_ns_vrf_id: int, primary_ns_source_interface: str, secondary_ns_address: str, secondary_ns_vrf_id: int, secondary_ns_source_interface: str, tertiary_ns_address: str, tertiary_ns_vrf_id: int, tertiary_ns_source_interface: str) dict

Get the current DNS IP address and domain names configured for your appliance

Swagger Section

Method

Endpoint

dns

POST

/resolver

Example:

domain_search_settings = {
    "1": {
        "self": 1,
        "domainname": "my.search.domain",
    },
}

ec.set_appliance_dns_config(
    domain_search_settings = domain_search_settings,
    primary_ns_address = "192.0.2.100",
    primary_ns_vrf_id = 0,
    primary_ns_source_interface = "mgmt0",
    secondary_ns_address = "192.0.2.200",
    secondary_ns_vrf_id = 0,
    secondary_ns_source_interface = "",
    tertiary_ns_address = "",
    tertiary_ns_vrf_id = 0,
    tertiary_ns_source_interface = "",
)
Parameters
  • domain_search_settings (dict) –

    Domain search settings dictionary object. Up to 6 can be specified, each with a key of the order they should be applied (1-6). Example below

    • keyword 1 (dict): Search domain object

      • keyword self (int): Numeric ID, same as key

      • keyword domainname (str): Search domain, e.g. my.search.domain

  • primary_ns_address (str) – Primary DNS server IP address

  • primary_ns_vrf_id (int) – Segment/VRF ID to reach Primary DNS server, e.g. 0 for Default VRF

  • primary_ns_source_interface (str) – Interface to reach Primary DNS server, e.g. mgmt0 or lan0

  • secondary_ns_address (str) – Secondary DNS server IP address

  • secondary_ns_vrf_id (int) – Segment/VRF ID to reach Secondary DNS server, e.g. 0 for Default VRF

  • secondary_ns_source_interface (str) – Interface to reach Secondary DNS server, e.g. mgmt0 or lan0

  • tertiary_ns_address (str) – Tertiary DNS server IP address

  • tertiary_ns_vrf_id (int) – Segment/VRF ID to reach Tertiary DNS server, e.g. 0 for Default VRF

  • tertiary_ns_source_interface (str) – Interface to reach Tertiary DNS server, e.g. mgmt0 or lan0

Returns

Returns True/False based on successful call

Return type

bool

assign_orchestrator(orchestrator: str, ssl_enabled: str = 'false', keepalive_count: int = 0, port: int = 0) bool

Assign an Orchestrator to the appliance

Swagger Section

Method

Endpoint

gms

POST

/gms

Note

As of 9.0.1.0 the self_var as “” appears to fail, and instead not using it returns HTTP 200

Parameters
  • orchestrator (str) – IP address or URL of orchestrator to assign

  • ssl_enabled (str, optional) – Enable SSL for communicating with Orchestrator, defaults to “false”

  • keepalive_count (int, optional) – Number of keepalive messages to use as threshold for connectivity, defaults to 0

  • port (int, optional) – IP Port to connect to Orchestrator on, defaults to 0

Returns

Returns True/False based on successful call

Return type

bool

get_orchestrator() dict

Retrieve current orchestrator for the appliance

Swagger Section

Method

Endpoint

gms

GET

/gms

Returns

Dictionary of Orchestrator and reachability status

  • keyword <orchestrator_ip> (dict): connection protocols

    • keyword rest (str, optional): rest Reachable or Unreachable status

    • keyword ssh (str, optional): ssh Reachable or Unreachable status

    • keyword https (str, optional): https Reachable or Unreachable status

    • keyword webSocket (str, optional): websocket Reachable or Unreachable status

Return type

dict

get_appliance_interfaces() dict

Retrieve interface information from appliance

Swagger Section

Method

Endpoint

interfaces

GET

/interfaces

Returns

Dictionary of interface details from appliance

Return type

dict

is_reboot_required() dict

Check with appliance if a reboot is required from changes

Swagger Section

Method

Endpoint

license

GET

/license/isRebootRequired

Returns

Dictionary with status if reboot is required

  • keyword isRebootRequired (str): If a reboot is required

Return type

dict

add_appliance_locally_configured_routes(locally_configured_subnets: dict) bool

Add configured local subnets to existing routes.

Swagger Section

Method

Endpoint

localSubnets

POST

/subnets3/configured/addMultiple

Parameters

locally_configured_subnets (dict) –

Dictionary of locally configured subnets

  • keyword prefix (dict): Subnets object

    • keyword <ip_and_mask> (dict): Object for this prefix, e.g. key value 10.1.1.0/24

      • keyword self (int): Max subnets IPv4 & IPv6, 60000

      • keyword advert (bool): If route is advertised

      • keyword advert_bgp (bool): If route is advertised to BGP

      • keyword advert_ospf (bool): If route is advertised to OSPF

      • keyword local (bool): If route is locally configured

      • keyword nhop (dict): Next hop detail object

        • keyword <next_hop_ip> (dict): Next hop

          • keyword self (str): Next hop ip address

          • keyword interface (dict): Next hop interface detail object

            • keyword <interface_name> (dict): interface name for next hop, e.g. lan0

            ”lan0.40”: {
            • keyword self (str): Interface name

            • keyword comment (str): Comment on route

            • keyword dir (str): Direction applied, e.g. FROM_LAN, FROM_WAN, ANY

            • keyword gms_marked (bool): If route is Orchestrator configured

            • keyword metric (int): Metric of configured route

            • keyword zone_id (int): Firewall zone id for route, 65534 for None/Default

Returns

Returns True/False based on successful call

Return type

bool

appliance_find_preferred_route(ip_address: str, in_port: str, overlay_id: int, segment_name: str) dict

Find the preferred routes from appliance based on query

Swagger Section

Method

Endpoint

localSubnets

POST

/routes/preferredRoute

Parameters
  • ip_address (str) – IP address to query for preferred route

  • in_port (str) – Incoming traffic direction. possible values are l2w (from lan) or w2l (from wan) or self (for self generated)

  • overlay_id (str) – Overlay ID, use 0 for any overlay

  • segment_name (str) – Should specify only if VRF is enabled. If left as blank string the default value is Default. If a Segment name that does not exist is specified response will be a blank dictionary.

Returns

Returns dictionary of preferred route from appliance

  • keyword passthrough (dict): Contains matched passthrough route details, if not passthrough will have value of null

    • keyword srcMAC (str): Source MAC Address

    • keyword destMAC (str): Destination MAC Address

    • keyword interfaceName (str): Interface name, e.g. wan0

    • keyword nexthop (str): Next hop IP address

    • keyword vlan (str): VLAN

    • keyword isApplianceIP (bool): If IP belongs to appliances

  • keyword swdwan (dict): Contains matched sdwan route details, if not sdwan will have value of null

    • keyword peerID (str): Peer ID number

    • keyword peerName (str): Hostname of SDWAN peer

Return type

dict

delete_appliance_locally_configured_routes(local_subnets_to_delete: list[dict]) bool

Delete configured local subnets specified in local_subnets_to_delete parameter

Swagger Section

Method

Endpoint

localSubnets

POST

/subnets3/configured/deleteMultiple

Parameters

local_subnets_to_delete (list) –

List of locally configured subnets to remove from appliance

  • [dict]: Array of routes to remove
    • keyword prefix (str): Prefix of route to remove

    • keyword nhop (str): Nexthop of route to remove

    • keyword interface (str): Interface of route to remove

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_locally_configured_subnets() dict

Get configured local subnets only.

Swagger Section

Method

Endpoint

localSubnets

GET

/subnets3/configured

Returns

Dictionary of locally configured subnets

  • keyword prefix (dict): Subnets object

    • keyword <ip_and_mask> (dict): Object for this prefix, e.g. key value 10.1.1.0/24

      • keyword self (int): Max subnets IPv4 & IPv6, 60000

      • keyword advert (bool): If route is advertised

      • keyword advert_bgp (bool): If route is advertised to BGP

      • keyword advert_ospf (bool): If route is advertised to OSPF

      • keyword local (bool): If route is locally configured

      • keyword nhop (dict): Next hop detail object

        • keyword <next_hop_ip> (dict): Next hop

          • keyword self (str): Next hop ip address

          • keyword interface (dict): Next hop interface detail object

            • keyword <interface_name> (dict): interface name for next hop, e.g. lan0

            ”lan0.40”: {
            • keyword self (str): Interface name

            • keyword comment (str): Comment on route

            • keyword dir (str): Direction applied, e.g. FROM_LAN, FROM_WAN, ANY

            • keyword gms_marked (bool): If route is Orchestrator configured

            • keyword metric (int): Metric of configured route

            • keyword zone_id (int): Firewall zone id for route, 65534 for None/Default

Return type

dict

get_appliance_locally_configured_subnets_single_vrf(vrf_id: int) dict

Get configured local subnets only of specified Segment/VRF

Swagger Section

Method

Endpoint

localSubnets

GET

/subnets3/configured/vrfs/{vrfId}

Parameters

vrf_id (int) – ID Number of Segment/VRF to query for routes

Returns

Dictionary of locally configured subnets of specified Segment/VRF

  • keyword prefix (dict): Subnets object

    • keyword <ip_and_mask> (dict): Object for this prefix, e.g. key value 10.1.1.0/24

      • keyword self (int): Max subnets IPv4 & IPv6, 60000

      • keyword advert (bool): If route is advertised

      • keyword advert_bgp (bool): If route is advertised to BGP

      • keyword advert_ospf (bool): If route is advertised to OSPF

      • keyword local (bool): If route is locally configured

      • keyword nhop (dict): Next hop detail object

        • keyword <next_hop_ip> (dict): Next hop

          • keyword self (str): Next hop ip address

          • keyword interface (dict): Next hop interface detail object

            • keyword <interface_name> (dict): interface name for next hop, e.g. lan0

            ”lan0.40”: {
            • keyword self (str): Interface name

            • keyword comment (str): Comment on route

            • keyword dir (str): Direction applied, e.g. FROM_LAN, FROM_WAN, ANY

            • keyword gms_marked (bool): If route is Orchestrator configured

            • keyword metric (int): Metric of configured route

            • keyword zone_id (int): Firewall zone id for route, 65534 for None/Default

Return type

dict

get_appliance_routing_peers_info() list

Get appliance routing peers information

Swagger Section

Method

Endpoint

localSubnets

GET

/subnets/state/peersInfo

Returns

List of appliance routing peers info

  • [dict]: List of appliance routing peers information

    • keyword index (str): Peer index, e.g. 0

    • keyword peerid (int): Peer id value

    • keyword peerName (str): Hostname of peer

    • keyword role (str): Peer role, e.g. 0 for Spoke

    • keyword roleName (str): Friendly name of peer role tyle, e.g. Spoke

    • keyword metric (int): Route metric

    • keyword peerPriority (int): Peer priority value

    • keyword txtrans (int): Last transmitted

      transaction count

    • keyword txsecs (int): Time elapsed since last

      transmitted update

    • keyword rxtrans (int): Last received transaction

      count

    • keyword rxsecs (int): Time elapsed since last

      received update

    • keyword rxrecs (int): NEEDS DESCRIPTION

    • keyword rxtabs (int): NEEDS DESCRIPTION

    • keyword outOfOrderCount (int): Out of order packets count, e.g. 0

    • keyword majorVersion (str): Major software version, e.g. 9 in 9.1.0.3

    • keyword minorVersion (str): Minor software version, e.g. 1 in 9.1.0.3

    • keyword pointVersion (str): Point software version, e.g. 0 in 9.1.0.3

    • keyword subVersion (str): Sub software version e.g. 3 in 9.1.0.3

    • keyword region (str): Appliance region id, e.g. 1

    • keyword regionName (str): Appliance region name, e.g. East

    • keyword messageVersion (str): Subnet message version, e.g. 6

    • keyword message (str): Specifies Information about the supported subnet message version, e.g. Submsg Ver6 (>= Rel9.0 or main)

    • keyword priorTxSec (str): Prior Transmit second, e.g. 1418

    • keyword mainVerAndRegion (str): Full software version and region ID, e.g. 9.1.0.3 (1)

Return type

dict

get_appliance_subnets() dict

Gets all configured, learned subnets from remote Silverpeak appliances and automatically learned local subnets.

Swagger Section

Method

Endpoint

localSubnets

GET

/subnets3/all

Returns

Dictionary of appliance configured and learned subnets

  • keyword subnets (dict): Subnet object

    • keyword count (int): Count of all subnets

    • keyword max (int): Max subnets IPv4 & IPv6, 60000

    • keyword entries (list[dict]): List of subnet detail objects

      • keyword state (dict): Subnet detail object

        • keyword version (int): IP Version, e.g. 4 or 6

        • keyword prefix (str): Route prefix, e.g. 10.98.98.3/32

        • keyword nextHop (str): Next hop for prefix

        • keyword metric (int): Metric of route, e.g. 50

        • keyword ifName (str): Interface name, e.g. lo20000

        • keyword peerid (int): Peer id, e.g. 1894366

        • keyword saas (int): SaaS value, e.g. 0

        • keyword community (str): Community string

        • keyword aspath (str): AS Path, e.g. 64512,64710

        • keyword learned (bool): Learned from peer

        • keyword configured (bool): Locally configured

        • keyword advert (bool): Advertise to peers

        • keyword automatic (bool): Automatically added by system

        • keyword local (bool): Local route

        • keyword learnedFromIp (str): IP peer route learned from

        • keyword cloudApp (bool): Cloud app

        • keyword advert_bgp (bool): Advertise to BGP

        • keyword advert_ospf (bool): Advertise to OSPF

        • keyword learned_bgp (bool): Learned from BGP

        • keyword learned_ospf (bool): Learned from OSPF

        • keyword state (str): State of route, e.g. UP or DOWN

        • keyword routeTag (str): Tag on route, e.g. 0

        • keyword learnFrom (str): How route was learned, e.g. LRN_SPS_HUB for learned by an EdgeConnect Hub or LRN_SPS_SPOKE for learned by an EdgeConnect Spoke

        • keyword resolvedNexthop (str): Resolved next hop

        • keyword resolvedInterface (str): Resolved interface for route

        • keyword peerType (str): Routing peer type, e.g. PE for PE Router BGP peering

        • keyword nexthopTunnel (str): Next hop tunnel

        • keyword networkRegionId (str): Region ID and name of route, e.g. 1,East

        • keyword subnetMessage (str): Subnet message

        • keyword zone_id (str): Firewall zone id for route, e.g. 0 for Default

        • keyword advOSPFTag (str): Advertise OSPF tag

        • keyword routeType (str): Type of route e.g. EBGP

        • keyword saasAppName (str): SaaS Application Name

        • keyword adminDistance (int): Admin distance of route, e.g. 1 for local static

    • keyword disabledByIPSLA (bool): If routes are disabled by an IPSLA in a down state

    • keyword metricAddedByIPSLA (int): Metric added to routes due to an IPSLA being in a down state

    • keyword peers (list[dict]): List of SDWAN peer objects

      • keyword index (str): Peer index, e.g. 0

      • keyword peerid (int): Peer id value

      • keyword peerName (str): Hostname of peer

      • keyword role (str): Peer role, e.g. 0 for Spoke

      • keyword roleName (str): Friendly name of peer role tyle, e.g. Spoke

      • keyword metric (int): Route metric

      • keyword peerPriority (int): Peer priority value

      • keyword txtrans (int): Last transmitted transaction count

      • keyword txsecs (int): Time elapsed since last transmitted update

      • keyword rxtrans (int): Last received transaction count

      • keyword rxsecs (int): Time elapsed since last received update

      • keyword rxrecs (int): NEEDS DESCRIPTION

      • keyword rxtabs (int): NEEDS DESCRIPTION

      • keyword outOfOrderCount (int): Out of order packets count, e.g. 0

      • keyword majorVersion (str): Major software version, e.g. 9 in 9.1.0.3

      • keyword minorVersion (str): Minor software version, e.g. 1 in 9.1.0.3

      • keyword pointVersion (str): Point software version, e.g. 0 in 9.1.0.3

      • keyword subVersion (str): Sub software version e.g. 3 in 9.1.0.3

      • keyword region (str): Appliance region id, e.g. 1

      • keyword regionName (str): Appliance region name, e.g. East

      • keyword messageVersion (str): Subnet message version, e.g. 6

      • keyword message (str): Specifies Information about the supported subnet message version, e.g. Submsg Ver6 (>= Rel9.0 or main)

      • keyword priorTxSec (str): Prior Transmit second, e.g. 1418

      • keyword mainVerAndRegion (str): Full software version and region ID, e.g. 9.1.0.3 (1)

      • keyword peername (str): Hostname of peer

      • keyword prio (int): Peer priority value, e.g. 1024

    • keyword moduleInfo (dict): local node details object

      • keyword my system id (str): String system ID, e.g. 1894366

      • keyword network region (str): Local appliance region name and ID, e.g. East (1)

      • keyword network role (str): Local appliance role , e.g. NRHub

      • keyword allow management to leak (str): Allow management routes to leak, boolean string e.g. true

      • keyword last peer index (str): Last peer index number, e.g. 0

      • keyword local change (str): Local change id, e.g. 0x0000

      • keyword last time (str): MS time since boot, e.g. 1961072580 ms after boot

      • keyword last change (str): MS time since last change, e.g. 1960554071 ms after boot

      • keyword time since change (str): Time since last change, e.g. 518 seconds

      • keyword last tx trans (str): Last Transmit message, e.g. 2212

      • keyword last tx rec count (str): Last Transmit message received count, e.g. 0

      • keyword last tx msg count (str): Last Transmit message count, e.g. 0

      • keyword rx invalid msg (str): Receive invalid message count, e.g. 0

      • keyword rx unknown msg (str): Receive unknown message count, e.g. 0

      • keyword IP tracking (str): If IP Tracking is enabled, e.g. ENABLED

      • keyword IP track delta (str): IP Tracking delta, e.g. 0

      • keyword Active READER index (str): Active reader index, e.g. 0

Return type

dict

get_appliance_subnets_all_vrfs() dict

Gets all segments configured, learned subnets from remote Silverpeak appliances and automatically learned local subnets

Swagger Section

Method

Endpoint

localSubnets

GET

/subnets3/all/vrfs

Returns

Dictionary of appliance configured and learned subnets

  • keyword subnets (dict): Subnet object

    • keyword <vrf_id> (dict): Subnets in Segment/VRF

      • keyword count (int): Count of all subnets

      • keyword max (int): Max subnets IPv4 & IPv6, 60000

      • keyword entries (list[dict]): List of subnet detail objects

        • keyword state (dict): Subnet detail object

          • keyword version (int): IP Version, e.g. 4 or 6

          • keyword prefix (str): Route prefix, e.g. 10.98.98.3/32

          • keyword nextHop (str): Next hop for prefix

          • keyword metric (int): Metric of route, e.g. 50

          • keyword ifName (str): Interface name, e.g. lo20000

          • keyword peerid (int): Peer id, e.g. 1894366

          • keyword saas (int): SaaS value, e.g. 0

          • keyword community (str): Community string

          • keyword aspath (str): AS Path, e.g. 64512,64710

          • keyword learned (bool): Learned from peer

          • keyword configured (bool): Locally configured

          • keyword advert (bool): Advertise to peers

          • keyword automatic (bool): Automatically added by system

          • keyword local (bool): Local route

          • keyword learnedFromIp (str): IP peer route learned from

          • keyword cloudApp (bool): Cloud app

          • keyword advert_bgp (bool): Advertise to BGP

          • keyword advert_ospf (bool): Advertise to OSPF

          • keyword learned_bgp (bool): Learned from BGP

          • keyword learned_ospf (bool): Learned from OSPF

          • keyword state (str): State of route, e.g. UP or DOWN

          • keyword routeTag (str): Tag on route, e.g. 0

          • keyword learnFrom (str): How route was learned, e.g. LRN_SPS_HUB for learned by an EdgeConnect Hub or LRN_SPS_SPOKE for learned by an EdgeConnect Spoke

          • keyword resolvedNexthop (str): Resolved next hop

          • keyword resolvedInterface (str): Resolved interface for route

          • keyword peerType (str): Routing peer type, e.g. PE for PE Router BGP peering

          • keyword nexthopTunnel (str): Next hop tunnel

          • keyword networkRegionId (str): Region ID and name of route, e.g. 1,East

          • keyword subnetMessage (str): Subnet message

          • keyword zone_id (str): Firewall zone id for route, e.g. 0 for Default

          • keyword advOSPFTag (str): Advertise OSPF tag

          • keyword routeType (str): Type of route e.g. EBGP

          • keyword saasAppName (str): SaaS Application Name

          • keyword adminDistance (int): Admin distance of route, e.g. 1 for local static

      • keyword disabledByIPSLA (bool): If routes are disabled by an IPSLA in a down state

      • keyword metricAddedByIPSLA (int): Metric added to routes due to an IPSLA being in a down state

    • keyword peers (list[dict]): List of SDWAN peer objects

      • keyword index (str): Peer index, e.g. 0

      • keyword peerid (int): Peer id value

      • keyword peerName (str): Hostname of peer

      • keyword role (str): Peer role, e.g. 0 for Spoke

      • keyword roleName (str): Friendly name of peer role tyle, e.g. Spoke

      • keyword metric (int): Route metric

      • keyword peerPriority (int): Peer priority value

      • keyword txtrans (int): Last transmitted transaction count

      • keyword txsecs (int): Time elapsed since last transmitted update

      • keyword rxtrans (int): Last received transaction count

      • keyword rxsecs (int): Time elapsed since last received update

      • keyword rxrecs (int): NEEDS DESCRIPTION

      • keyword rxtabs (int): NEEDS DESCRIPTION

      • keyword outOfOrderCount (int): Out of order packets count, e.g. 0

      • keyword majorVersion (str): Major software version, e.g. 9 in 9.1.0.3

      • keyword minorVersion (str): Minor software version, e.g. 1 in 9.1.0.3

      • keyword pointVersion (str): Point software version, e.g. 0 in 9.1.0.3

      • keyword subVersion (str): Sub software version e.g. 3 in 9.1.0.3

      • keyword region (str): Appliance region id, e.g. 1

      • keyword regionName (str): Appliance region name, e.g. East

      • keyword messageVersion (str): Subnet message version, e.g. 6

      • keyword message (str): Specifies Information about the supported subnet message version, e.g. Submsg Ver6 (>= Rel9.0 or main)

      • keyword priorTxSec (str): Prior Transmit second, e.g. 1418

      • keyword mainVerAndRegion (str): Full software version and region ID, e.g. 9.1.0.3 (1)

      • keyword peername (str): Hostname of peer

      • keyword prio (int): Peer priority value, e.g. 1024

    • keyword moduleInfo (dict): local node details object

      • keyword my system id (str): String system ID, e.g. 1894366

      • keyword network region (str): Local appliance region name and ID, e.g. East (1)

      • keyword network role (str): Local appliance role , e.g. NRHub

      • keyword allow management to leak (str): Allow management routes to leak, boolean string e.g. true

      • keyword last peer index (str): Last peer index number, e.g. 0

      • keyword local change (str): Local change id, e.g. 0x0000

      • keyword last time (str): MS time since boot, e.g. 1961072580 ms after boot

      • keyword last change (str): MS time since last change, e.g. 1960554071 ms after boot

      • keyword time since change (str): Time since last change, e.g. 518 seconds

      • keyword last tx trans (str): Last Transmit message, e.g. 2212

      • keyword last tx rec count (str): Last Transmit message received count, e.g. 0

      • keyword last tx msg count (str): Last Transmit message count, e.g. 0

      • keyword rx invalid msg (str): Receive invalid message count, e.g. 0

      • keyword rx unknown msg (str): Receive unknown message count, e.g. 0

      • keyword IP tracking (str): If IP Tracking is enabled, e.g. ENABLED

      • keyword IP track delta (str): IP Tracking delta, e.g. 0

      • keyword Active READER index (str): Active reader index, e.g. 0

Return type

dict

get_appliance_subnets_single_vrf(vrf_id: int) dict

Gets specified segment configured, learned subnets from remote Silverpeak appliances and automatically learned local subnets.

Swagger Section

Method

Endpoint

localSubnets

GET

/subnets3/all/vrfs/{vrfId}

Parameters

vrf_id (int) – ID Number of Segment/VRF to query for routes

Returns

Dictionary of appliance configured and learned subnets for a specified Segment/VRF

  • keyword subnets (dict): Subnet object

    • keyword count (int): Count of all subnets

    • keyword max (int): Max subnets IPv4 & IPv6, 60000

    • keyword entries (list[dict]): List of subnet detail objects

      • keyword state (dict): Subnet detail object

        • keyword version (int): IP Version, e.g. 4 or 6

        • keyword prefix (str): Route prefix, e.g. 10.98.98.3/32

        • keyword nextHop (str): Next hop for prefix

        • keyword metric (int): Metric of route, e.g. 50

        • keyword ifName (str): Interface name, e.g. lo20000

        • keyword peerid (int): Peer id, e.g. 1894366

        • keyword saas (int): SaaS value, e.g. 0

        • keyword community (str): Community string

        • keyword aspath (str): AS Path, e.g. 64512,64710

        • keyword learned (bool): Learned from peer

        • keyword configured (bool): Locally configured

        • keyword advert (bool): Advertise to peers

        • keyword automatic (bool): Automatically added by system

        • keyword local (bool): Local route

        • keyword learnedFromIp (str): IP peer route learned from

        • keyword cloudApp (bool): Cloud app

        • keyword advert_bgp (bool): Advertise to BGP

        • keyword advert_ospf (bool): Advertise to OSPF

        • keyword learned_bgp (bool): Learned from BGP

        • keyword learned_ospf (bool): Learned from OSPF

        • keyword state (str): State of route, e.g. UP or DOWN

        • keyword routeTag (str): Tag on route, e.g. 0

        • keyword learnFrom (str): How route was learned, e.g. LRN_SPS_HUB for learned by an EdgeConnect Hub or LRN_SPS_SPOKE for learned by an EdgeConnect Spoke

        • keyword resolvedNexthop (str): Resolved next hop

        • keyword resolvedInterface (str): Resolved interface for route

        • keyword peerType (str): Routing peer type, e.g. PE for PE Router BGP peering

        • keyword nexthopTunnel (str): Next hop tunnel

        • keyword networkRegionId (str): Region ID and name of route, e.g. 1,East

        • keyword subnetMessage (str): Subnet message

        • keyword zone_id (str): Firewall zone id for route, e.g. 0 for Default

        • keyword advOSPFTag (str): Advertise OSPF tag

        • keyword routeType (str): Type of route e.g. EBGP

        • keyword saasAppName (str): SaaS Application Name

        • keyword adminDistance (int): Admin distance of route, e.g. 1 for local static

    • keyword disabledByIPSLA (bool): If routes are disabled by an IPSLA in a down state

    • keyword metricAddedByIPSLA (int): Metric added to routes due to an IPSLA being in a down state

    • keyword peers (list[dict]): List of SDWAN peer objects

      • keyword index (str): Peer index, e.g. 0

      • keyword peerid (int): Peer id value

      • keyword peerName (str): Hostname of peer

      • keyword role (str): Peer role, e.g. 0 for Spoke

      • keyword roleName (str): Friendly name of peer role tyle, e.g. Spoke

      • keyword metric (int): Route metric

      • keyword peerPriority (int): Peer priority value

      • keyword txtrans (int): Last transmitted transaction count

      • keyword txsecs (int): Time elapsed since last transmitted update

      • keyword rxtrans (int): Last received transaction count

      • keyword rxsecs (int): Time elapsed since last received update

      • keyword rxrecs (int): NEEDS DESCRIPTION

      • keyword rxtabs (int): NEEDS DESCRIPTION

      • keyword outOfOrderCount (int): Out of order packets count, e.g. 0

      • keyword majorVersion (str): Major software version, e.g. 9 in 9.1.0.3

      • keyword minorVersion (str): Minor software version, e.g. 1 in 9.1.0.3

      • keyword pointVersion (str): Point software version, e.g. 0 in 9.1.0.3

      • keyword subVersion (str): Sub software version e.g. 3 in 9.1.0.3

      • keyword region (str): Appliance region id, e.g. 1

      • keyword regionName (str): Appliance region name, e.g. East

      • keyword messageVersion (str): Subnet message version, e.g. 6

      • keyword message (str): Specifies Information about the supported subnet message version, e.g. Submsg Ver6 (>= Rel9.0 or main)

      • keyword priorTxSec (str): Prior Transmit second, e.g. 1418

      • keyword mainVerAndRegion (str): Full software version and region ID, e.g. 9.1.0.3 (1)

      • keyword peername (str): Hostname of peer

      • keyword prio (int): Peer priority value, e.g. 1024

    • keyword moduleInfo (dict): local node details object

      • keyword my system id (str): String system ID, e.g. 1894366

      • keyword network region (str): Local appliance region name and ID, e.g. East (1)

      • keyword network role (str): Local appliance role , e.g. NRHub

      • keyword allow management to leak (str): Allow management routes to leak, boolean string e.g. true

      • keyword last peer index (str): Last peer index number, e.g. 0

      • keyword local change (str): Local change id, e.g. 0x0000

      • keyword last time (str): MS time since boot, e.g. 1961072580 ms after boot

      • keyword last change (str): MS time since last change, e.g. 1960554071 ms after boot

      • keyword time since change (str): Time since last change, e.g. 518 seconds

      • keyword last tx trans (str): Last Transmit message, e.g. 2212

      • keyword last tx rec count (str): Last Transmit message received count, e.g. 0

      • keyword last tx msg count (str): Last Transmit message count, e.g. 0

      • keyword rx invalid msg (str): Receive invalid message count, e.g. 0

      • keyword rx unknown msg (str): Receive unknown message count, e.g. 0

      • keyword IP tracking (str): If IP Tracking is enabled, e.g. ENABLED

      • keyword IP track delta (str): IP Tracking delta, e.g. 0

      • keyword Active READER index (str): Active reader index, e.g. 0

Return type

dict

update_appliance_all_locally_configured_subnets(locally_configured_subnets: dict) bool

Set configured local subnets. Any subnets which posted but not on appliance currently are added, missing subnets are removed, matching subnets are updated.

Warning

Use get_appliance_locally_configured_subnets() to obtain current subnets on appliance to avoid accidentally deleting static routes, or use add_appliance_locally_configured_routes() to only add net-new routes to appliance

Swagger Section

Method

Endpoint

localSubnets

POST

/subnets3/configured

Parameters

locally_configured_subnets (dict) –

Dictionary of locally configured subnets

  • keyword prefix (dict): Subnets object

    • keyword <ip_and_mask> (dict): Object for this prefix, e.g. key value 10.1.1.0/24

      • keyword self (int): Max subnets IPv4 & IPv6, 60000

      • keyword advert (bool): If route is advertised

      • keyword advert_bgp (bool): If route is advertised to BGP

      • keyword advert_ospf (bool): If route is advertised to OSPF

      • keyword local (bool): If route is locally configured

      • keyword nhop (dict): Next hop detail object

        • keyword <next_hop_ip> (dict): Next hop

          • keyword self (str): Next hop ip address

          • keyword interface (dict): Next hop interface detail object

            • keyword <interface_name> (dict): interface name for next hop, e.g. lan0

            ”lan0.40”: {
            • keyword self (str): Interface name

            • keyword comment (str): Comment on route

            • keyword dir (str): Direction applied, e.g. FROM_LAN, FROM_WAN, ANY

            • keyword gms_marked (bool): If route is Orchestrator configured

            • keyword metric (int): Metric of configured route

            • keyword zone_id (int): Firewall zone id for route, 65534 for None/Default

Returns

Returns True/False based on successful call

Return type

bool

update_appliance_all_locally_configured_subnets_single_vrf(vrf_id: int, locally_configured_subnets: dict) bool

Set configured local subnets for specified Segment/VRF. Any subnets which posted but not on appliance currently are added, missing subnets are removed, matching subnets are updated.

Warning

Use get_appliance_locally_configured_subnets_single_vrf() to obtain current subnets on appliance to avoid accidentally deleting static routes

Swagger Section

Method

Endpoint

localSubnets

POST

/subnets3/configured/vrfs/{vrfId}

Parameters
  • vrf_id (int) – ID Number of Segment/VRF to query for routes

  • locally_configured_subnets (dict) –

    Dictionary of locally configured subnets

    • keyword prefix (dict): Subnets object

      • keyword <ip_and_mask> (dict): Object for this prefix, e.g. key value 10.1.1.0/24

        • keyword self (int): Max subnets IPv4 & IPv6, 60000

        • keyword advert (bool): If route is advertised

        • keyword advert_bgp (bool): If route is advertised to BGP

        • keyword advert_ospf (bool): If route is advertised to OSPF

        • keyword local (bool): If route is locally configured

        • keyword nhop (dict): Next hop detail object

          • keyword <next_hop_ip> (dict): Next hop

            • keyword self (str): Next hop ip address

            • keyword interface (dict): Next hop interface detail object

              • keyword <interface_name> (dict): interface name for next hop, e.g. lan0

              ”lan0.40”: {
              • keyword self (str): Interface name

              • keyword comment (str): Comment on route

              • keyword dir (str): Direction applied, e.g. FROM_LAN, FROM_WAN, ANY

              • keyword gms_marked (bool): If route is Orchestrator configured

              • keyword metric (int): Metric of configured route

              • keyword zone_id (int): Firewall zone id for route, 65534 for None/Default

Returns

Returns True/False based on successful call

Return type

bool

login(user: str, password: str) bool

Login to Edge Connect appliance

Swagger Section

Method

Endpoint

login

POST

/login

Parameters
  • user (str) – Username to login to appliance

  • password (str) – Password to login to appliance

Returns

Returns True/False based on successful call

Return type

bool

logout() bool

Logout to Edge Connect appliance

Swagger Section

Method

Endpoint

login

GET

/logout

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_memory() dict

Get appliance memory related information

Swagger Section

Method

Endpoint

memory

GET

/memory

Returns

Returns dictionary of current memory utilization on appliance, all units in bytes

  • keyword total (int): Total memory

  • keyword free (int): Free memory

  • keyword buffers (int): Buffers memory

  • keyword cached (int): Cached memory

  • keyword used (int): Used memory

  • keyword swapTotal (int): Swap total memory

  • keyword swapFree (int): Swap free memory

  • keyword swapUsed (int): Swap used memory

Return type

dict

get_appliance_network_interfaces() dict

Get interface information from appliance

Swagger Section

Method

Endpoint

networkInterfaces

GET

/networkInterfaces

Returns

Returns dictionary of detailed interface information from appliance

Return type

dict

modify_network_interfaces(if_info: list) bool

Modify interface information on appliance

Swagger Section

Method

Endpoint

networkInterfaces

POST

/networkInterfaces

Parameters

if_info (list) – List of dictionaries of interfaces to modify

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_peers() dict

Get appliance SDWAN peers and related tunnels, including local breakout passthrough tunnels

Swagger Section

Method

Endpoint

peers

GET

/peers

Returns

Returns dictionary of peers and local breakout peers with list of related tunnels for each

  • keyword <peer_name> (list[str]): Peer object, the peer name will be EdgeConnect hostname for EdgeConnect peer, or Overlay name in format of Overlay_<OVERLAY_NAME>_Primary for local breakout

    • [str]: List of tunnel ids connecting to this peer, e.g. tunnel_385 for SDWAN tunnel peer or passThrough_320 for local breakout

Return type

dict

get_appliance_peers_ec_only() dict

Get appliance SDWAN peers and related tunnels

Swagger Section

Method

Endpoint

peers

GET

/peers/spPeers

Returns

Returns dictionary of peers and local breakout peers with list of related tunnels for each

  • keyword <peer_name> (list[str]): Peer object, the peer name will be EdgeConnect hostname for EdgeConnect peer

    • [str]: List of tunnel ids connecting to this peer, e.g. tunnel_385 for SDWAN tunnel peer

Return type

dict

request_reboot(clear_nm: str = 'false', delay: int = 0, next_partition: str = 'false', reboot_type: str = 'Normal', save_db: str = 'false', apply_before_reboot: dict = {'hostname': ''}) bool

Reboot Edge Connect appliance

Swagger Section

Method

Endpoint

reboot

POST

/reboot

Parameters
  • clearn_nm – Clear network memory on reboot, defaults to “false”

  • delay (int, optional) – Delay in seconds before reboot, defaults to 0

  • next_partition (str, optional) – Set next partition as boot partition, defaults to “false”

  • reboot_type (str, optional) – defaults to “Normal”

  • save_db (str, optional) – save database changes prior to reboot, defaults to “false”

  • apply_before_reboot (dict, optional) – Config data applied before reboot, defaults to {“hostname”:””}

Returns

Returns True/False based on successful call

Return type

bool

save_changes() bool

Save changes on Edge Connect appliance

Swagger Section

Method

Endpoint

saveChanges

POST

/saveChanges

Returns

Returns True/False based on successful call

Return type

bool

configure_appliance_security_policies(security_policy: dict) dict

Configure appliance security policies. Use get_appliance_security_policies() to retrieve policy from an existing EdgeConnect appliance to reference data structure and example values.

Note

The easiest way to identify zones along with relationship to Segments if Segmentation is enabled is through Orchestrator. Use get_zones_vrf_mapping() which will return per-Segment/VRF the IDs and names of related security zones.

get_zones() with parameter all_vrf_zones will return all Zone IDs but not the mapping of which ID belongs to which Segment/VRF.

Swagger Section

Method

Endpoint

securityMaps

POST

/securityMaps

Parameters

security_policy (dict) – Full security policy to upload to EdgeConnect appliance. Use get_appliance_security_policies() to retrieve policy from an existing EdgeConnect appliance to reference data structure and example values

Returns

Returns True/False based on successful call

Return type

bool

delete_appliance_security_policy_rule(rule_priority: int, zone_pair: str, map_name: str = 'map1') bool

Delete security policy rule from appliance by priority number

Note

The easiest way to identify zones along with relationship to Segments if Segmentation is enabled is through Orchestrator. Use get_zones_vrf_mapping() which will return per-Segment/VRF the IDs and names of related security zones.

get_zones() with parameter all_vrf_zones will return all Zone IDs but not the mapping of which ID belongs to which Segment/VRF.

Swagger Section

Method

Endpoint

securityMaps

DELETE

/securityMaps/{mapName}/{zoneMap}/{priority}

Parameters
  • rule_priority (int) – Rule priority number to delete

  • zone_pair (str) – String representation of zone pairing, e.g. 5_6

  • map_name (str, optional) – Name of security map to retrieve, Defaults to map1 as the primary map on appliances if security policy is configured, Defaults to map1

Returns

Returns True/False based on successful call

Return type

bool

delete_appliance_security_policy_zone_pair(zone_pair: str, map_name: str = 'map1') bool

Delete zone pair from appliance security policy

Note

The easiest way to identify zones along with relationship to Segments if Segmentation is enabled is through Orchestrator. Use get_zones_vrf_mapping() which will return per-Segment/VRF the IDs and names of related security zones.

get_zones() with parameter all_vrf_zones will return all Zone IDs but not the mapping of which ID belongs to which Segment/VRF.

Swagger Section

Method

Endpoint

securityMaps

DELETE

/securityMaps/{mapName}/{zoneMap}

Parameters
  • zone_pair (str) – String representation of zone pairing, e.g. 5_6

  • map_name (str, optional) – Name of security map to retrieve, Defaults to map1 as the primary map on appliances if security policy is configured, Defaults to map1

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_security_policies() dict

Get appliance security policies

Swagger Section

Method

Endpoint

securityMaps

GET

/securityMaps

Returns

Returns dictionary of current appliance security policy

  • keyword map1 (dict): Security policy object

    • keyword <zone_pair> (dict): Security policy between two zones, the zone pair is represented by a string of the source and destination zone ids e.g. If a zone CorpUsers in Default segment has an id of 5 and a zone IOT in Default segment has an id of 6 the zone pair would be 5_6

      • keyword prio (dict): Security policy rules

        • keyword <priority_number> (dict): A security rule

          • keyword comment (str):

          • keyword gms_marked (bool): True if rule is created by Orchestrator

          • keyword match (dict): Rule match criteria. Keywords are optional for desired match criteria

            • keyword acl (str): ACL name

            • keyword src_ip (str): Source IP

            • keyword dst_ip (str): Dest IP

            • keyword either_ip (str): Either Source or Dest IP

            • keyword src_addrgrp_groups (str): Source address group

            • keyword dst_addrgrp_groups (str): Dest address group

            • keyword either_addrgrp_groups (str): Either address group

            • keyword protocol (str): Protocol

            • keyword src_port (str): Source port

            • keyword dst_port (str): Dest port

            • keyword vlan (str): Vlan

            • keyword application (str): Application name

            • keyword app_group (str): Application group name

            • keyword dscp (str): DSCP marking

            • keyword src_dns (str): Source domain name

            • keyword dst_dns (str): Dest domain name

            • keyword either_dns (str): Either domain name

            • keyword src_geo (str): Source geo-location

            • keyword dst_geo (str): Dest geo-location

            • keyword either_geo (str): Either geo-location

            • keyword src_service (str): Source service

            • keyword dst_service (str): Destination service

            • keyword either_service (str): Either service

            • keyword tbehavior (str): Traffic behavior

            • keyword overlay (str): Overlay name

            • keyword internet (str): Internet or Fabric

          • keyword misc (dict): Rule enablement and logging settings

            • keyword rule (str): enable if rule is enabled, disable if disabled

            • keyword logging_priority (str): Logging facility for rule 0 translates to None, 1 translates to Emergency, 2 translates to Alert, 3 translates to Critical, 4 translates to Error, 5 translates to Warning, 6 translates to Notice, 7 translates to Info, 8 translates to Debug,

            • keyword logging (str): enable to enable logging, disable to disable logging

          • keyword set (dict): Action object

            • keyword action (str): Rule action, e.g. allow, deny, and inspect for ids allow and inspect action

Return type

dict

get_appliance_security_policy_map(map_name: str = 'map1') dict

Get appliance security policy map

Swagger Section

Method

Endpoint

securityMaps

GET

/securityMaps/{mapName}

Parameters

map_name (str, optional) – Name of security map to retrieve, Defaults to map1 as the primary map on appliances if security policy is configured, Defaults to map1

Returns

Returns dictionary of current appliance security policy

  • keyword <zone_pair> (dict): Security policy between two zones, the zone pair is represented by a string of the source and destination zone ids e.g. If a zone CorpUsers in Default segment has an id of 5 and a zone IOT in Default segment has an id of 6 the zone pair would be 5_6

    • keyword prio (dict): Security policy rules

      • keyword <priority_number> (dict): A security rule

        • keyword comment (str):

        • keyword gms_marked (bool): True if rule is created by Orchestrator

        • keyword match (dict): Rule match criteria. Keywords are optional for desired match criteria

          • keyword acl (str): ACL name

          • keyword src_ip (str): Source IP

          • keyword dst_ip (str): Dest IP

          • keyword either_ip (str): Either Source or Dest IP

          • keyword src_addrgrp_groups (str): Source address group

          • keyword dst_addrgrp_groups (str): Dest address group

          • keyword either_addrgrp_groups (str): Either address group

          • keyword protocol (str): Protocol

          • keyword src_port (str): Source port

          • keyword dst_port (str): Dest port

          • keyword vlan (str): Vlan

          • keyword application (str): Application name

          • keyword app_group (str): Application group name

          • keyword dscp (str): DSCP marking

          • keyword src_dns (str): Source domain name

          • keyword dst_dns (str): Dest domain name

          • keyword either_dns (str): Either domain name

          • keyword src_geo (str): Source geo-location

          • keyword dst_geo (str): Dest geo-location

          • keyword either_geo (str): Either geo-location

          • keyword src_service (str): Source service

          • keyword dst_service (str): Destination service

          • keyword either_service (str): Either service

          • keyword tbehavior (str): Traffic behavior

          • keyword overlay (str): Overlay name

          • keyword internet (str): Internet or Fabric

        • keyword misc (dict): Rule enablement and logging settings

          • keyword rule (str): enable if rule is enabled, disable if disabled

          • keyword logging_priority (str): Logging facility for rule 0 translates to None, 1 translates to Emergency, 2 translates to Alert, 3 translates to Critical, 4 translates to Error, 5 translates to Warning, 6 translates to Notice, 7 translates to Info, 8 translates to Debug,

          • keyword logging (str): enable to enable logging, disable to disable logging

        • keyword set (dict): Action object

          • keyword action (str): Rule action, e.g. allow, deny, and inspect for ids allow and inspect action

Return type

dict

get_appliance_security_policy_settings() dict

Get appliance security policy settings for implicit drop logging

Swagger Section

Method

Endpoint

securityMaps

GET

/securityMapsSettings

Returns

Returns dictionary of current appliance security policy of particular zone pair

  • keyword map1 (dict): Security policy map

    • keyword logging (dict): Logging settings object

      • keyword imp_fw_drop (int): Logging level for implicit deny drops inter-zone. 0 translates to None, 1 translates to Emergency, 2 translates to Alert, 3 translates to Critical, 4 translates to Error, 5 translates to Warning, 6 translates to Notice, 7 translates to Info, 8 translates to Debug,

Return type

dict

get_appliance_security_policy_settings_by_map_name(map_name: str = 'map1') dict

Get appliance security policy settings for implicit drop logging by specified map name

Swagger Section

Method

Endpoint

securityMaps

GET

/securityMapsSettings/{mapName}

Parameters

map_name (str, optional) – Name of security map to retrieve, Defaults to map1 as the primary map on appliances if security policy is configured, Defaults to map1

Returns

Returns dictionary of current appliance security policy of particular zone pair

  • keyword map1 (dict): Security policy map

    • keyword logging (dict): Logging settings object

      • keyword imp_fw_drop (int): Logging level for implicit deny drops inter-zone. 0 translates to None, 1 translates to Emergency, 2 translates to Alert, 3 translates to Critical, 4 translates to Error, 5 translates to Warning, 6 translates to Notice, 7 translates to Info, 8 translates to Debug,

Return type

dict

get_appliance_security_policy_zone_pair(zone_pair: str, map_name: str = 'map1') dict

Get appliance security policy map for particular zone pair. Security policy between two zones, the zone pair is represented by a string of the source and destination zone ids e.g. If a zone CorpUsers in Default segment has an id of 5 and a zone IOT in Default segment has an id of 6 the zone pair would be 5_6.

Note

The easiest way to identify zones along with relationship to Segments if Segmentation is enabled is through Orchestrator. Use get_zones_vrf_mapping() which will return per-Segment/VRF the IDs and names of related security zones.

get_zones() with parameter all_vrf_zones will return all Zone IDs but not the mapping of which ID belongs to which Segment/VRF.

Swagger Section

Method

Endpoint

securityMaps

GET

/securityMaps/{mapName}/{zoneMap}

Parameters
  • zone_pair (str) – String representation of zone pairing, e.g. 5_6

  • map_name (str, optional) – Name of security map to retrieve, Defaults to map1 as the primary map on appliances if security policy is configured, Defaults to map1

Returns

Returns dictionary of current appliance security policy of particular zone pair

  • keyword prio (dict): Security policy rules

    • keyword <priority_number> (dict): A security rule

      • keyword comment (str):

      • keyword gms_marked (bool): True if rule is created by Orchestrator

      • keyword match (dict): Rule match criteria. Keywords are optional for desired match criteria

        • keyword acl (str): ACL name

        • keyword src_ip (str): Source IP

        • keyword dst_ip (str): Dest IP

        • keyword either_ip (str): Either Source or Dest IP

        • keyword src_addrgrp_groups (str): Source address group

        • keyword dst_addrgrp_groups (str): Dest address group

        • keyword either_addrgrp_groups (str): Either address group

        • keyword protocol (str): Protocol

        • keyword src_port (str): Source port

        • keyword dst_port (str): Dest port

        • keyword vlan (str): Vlan

        • keyword application (str): Application name

        • keyword app_group (str): Application group name

        • keyword dscp (str): DSCP marking

        • keyword src_dns (str): Source domain name

        • keyword dst_dns (str): Dest domain name

        • keyword either_dns (str): Either domain name

        • keyword src_geo (str): Source geo-location

        • keyword dst_geo (str): Dest geo-location

        • keyword either_geo (str): Either geo-location

        • keyword src_service (str): Source service

        • keyword dst_service (str): Destination service

        • keyword either_service (str): Either service

        • keyword tbehavior (str): Traffic behavior

        • keyword overlay (str): Overlay name

        • keyword internet (str): Internet or Fabric

      • keyword misc (dict): Rule enablement and logging settings

        • keyword rule (str): enable if rule is enabled, disable if disabled

        • keyword logging_priority (str): Logging facility for rule 0 translates to None, 1 translates to Emergency, 2 translates to Alert, 3 translates to Critical, 4 translates to Error, 5 translates to Warning, 6 translates to Notice, 7 translates to Info, 8 translates to Debug,

        • keyword logging (str): enable to enable logging, disable to disable logging

      • keyword set (dict): Action object

        • keyword action (str): Rule action, e.g. allow, deny, and inspect for ids allow and inspect action

Return type

dict

set_appliance_security_policy_settings(logging_level: int) bool

Set appliance security policy settings for implicit drop logging

Swagger Section

Method

Endpoint

securityMaps

POST

/securityMapsSettings

Parameters

logging_level (int) – Logging level for implicit firewall drops inter-zone. 0 translates to None, 1 translates to Emergency, 2 translates to Alert, 3 translates to Critical, 4 translates to Error, 5 translates to Warning, 6 translates to Notice, 7 translates to Info, 8 translates to Debug,

Returns

Returns True/False based on successful call

Return type

bool

register_sp_portal(account_key: str, account: str, group: str = '', site: str = '') bool

Register appliance with account

Swagger Section

Method

Endpoint

spPortal

POST

/spPortal/register

Parameters
  • account_key (str) – Account key for the account to associate to

  • account (str) – Account to associate appliance to

  • group (str, optional) – Group to associate appliance to, defaults to “”

  • site (str, optional) – Site or Tag to associate with appliance, defaults to “”

Returns

Returns True/False based on successful call

Return type

bool

register_sp_portal_status() dict

Retrieve registration status of Edge Connect with Cloud Portal

Swagger Section

Method

Endpoint

spPortal

GET

/spPortal/register

Returns

Returns dictionary of registration status for appliance

  • keyword account (str, optional): Account associated to

  • keyword group (str, optional): Group associated to, if applicable

  • keyword site (str, optional): Site/Tag associated to, if applicable

  • keyword accountKey (str, optional): Account key

  • keyword registered (bool, optional): If currently registered

  • keyword enabled (bool, optional): True if enabled

  • keyword emails (list[str]): configured contact emails

Return type

dict

get_appliance_realtime_stats(stat_type: str, stat_name: str, stat_filter: str = '') dict

Get real time per second statistics. This endpoint returns varying responses based on the parameters specified in the body.

Swagger Section

Method

Endpoint

statistics

POST

/stats/realtimeStats

Note

Appliances store per second statistics for only 3 seconds. You must poll at a frequency faster than 3 seconds to not have gaps in the results when trying to collect continious values.

  • For Tunnel stats: Set stat_type to tunnel and set stat_name to one of the tunnel names or pass-through or pass-through-unshaped. stat_filter is not used for tunnel statistics.

  • For TrafficType stats: Set the stat_type to trafficType to retrieve two aggregate real-time stats: optimized and all-traffic. For optimized, set stat_name to 0 and for all-traffic, set stat_name to 3. stat_filter is not used.

  • For Application stats: Set stat_type to app. Set stat_name to application name. stat_filter is required. Accepted values are 0 for optimized traffic, 1 for passthrough shaped, 2 for passthrough unshaped, and 3 for all traffic.

  • For DSCP stats: Set stat_type to dscp, set stat_name to one of DSCP values from 0 to 63. stat_filter is required. Accepted values are 0 for optimized traffic, 1 for passthrough shaped, 2 for passthrough unshaped, and 3 for all traffic.

  • For Traffic Class Stats: set stat_type to ‘trafficClass’, set stat_name to one of traffic classes from 0 to 9. stat_filter is required. Accepted values are 0 for optimized traffic, 1 for passthrough shaped, 2 for passthrough unshaped, and 3 for all traffic.

  • For Flow stats: set type to flow, name to 0 for TCP accelerated, 1 for TCP unaccelerated and 2 for non-TCP flows. 3 for all traffic. stat_filter is required. Accepted values are 0 for optimized traffic, 1 for passthrough shaped, 2 for passthrough unshaped, and 3 for all traffic.

  • For Shaper stats: Set stat_type to shaper. Set stat_name to one of traffic classes from 0 to 9. stat_filter to traffic direction, 0 for Outbound and 1 for Inbound.

  • For Drops stats: Set stat_type to drops. Set stat_name to empty string

  • For Interface stats: set type to interface, and stat_name to interface name. Use stat_filter to filter traffic type, 0 for optimized traffic, 1 for passthrough shaped, 2 for passthrough unshaped, and 3 for all traffic.

Parameters
  • stat_type (str) – Category/Type of statistics to retrieve, accepted values included tunnel, trafficType, app, flow, dscp, trafficClass, shaper, drops, and interface

  • stat_name (str) – Name of value to retrieve, accepted values dependent on value of param stat_type

  • stat_filter (str, optional) – Required for certain stat types, accepted values are 0, 1, 2, 3, function of which is dependent on value of stat_type and stat_name, defaults to “”

Returns

Dictionary of realtime stats for specified parameters

  • keyword <name_of_stat> (list): 3 second stat object, number of keys varies based on stat type queried

    • [list]: First second list of stat timestamp and value

      • [0] (int): Epoch timestamp in microseconds

      • [1] (int): Stat value, unit dependent on stat type

    • [list]: Second second list of stat timestamp and value

      • [0] (int): Epoch timestamp in microseconds

      • [1] (int): Stat value, unit dependent on stat type

    • [list]: Third second list of stat timestamp and value

      • [0] (int): Epoch timestamp in microseconds

      • [1] (int): Stat value, unit dependent on stat type

Return type

dict

get_appliance_stats_minute_file(file: str) Response

Get specific minute statistics file

Swagger Section

Method

Endpoint

statistics

GET

/stats/minuteRange

Appliance stores statistics for each minute into a file of the format: st2-{minute}.tgz. Time is the minute boundary expressed in seconds since Jan 1, 1970. For example: GET /stats/minuteStats/st2-1428356220.tgz Each file is tar and gzip archive of a number of csv files. Each csv file has a header which describes the statistics contained in the file.

import tarfile
from pyedgeconnect import EdgeConnect
ec = EdgeConnect(ec_ip)
ec.login(ec_user,ec_pw)
stat = ec.get_appliance_stats_minute_file(st2-1428356220.tgz)
ec.logout()
if stat.status_code==200:
    with open("stats.tgz",'wb') as stat_file:
        for chunk in stat:
            stat_file.write(chunk)
tar = tarfile.open("stats.tgz")
tar.extractall()
Parameters

file (str) – Filename of statistics file to download from applinace

Returns

Download tgz file as part of full response data

Return type

requests.Response object

get_appliance_stats_minute_range() dict

Get the oldest minute and latest minute for which per minute statistics are available

Swagger Section

Method

Endpoint

statistics

GET

/stats/minuteRange

Appliance stores statistics for each minute into a file of the format: st2-{minute}.tgz. Time is the minute boundary expressed in seconds since Jan 1, 1970. This API returns the newest and oldest minute timestamps and users can call /stats/minuteStats/:file API to retrieve the actual stats. For example: GET /stats/minuteStats/st2-1428356220.tgz

Returns

Dictionary of newest and oldest minute stat times

  • keyword newest (int): Epoch seconds timestamp of latest available appliance minute data

  • keyword oldest (int): Epoch seconds timestamp of oldest available appliance minute data

Return type

dict

get_appliance_system_info() dict

Get system information on the appliance.

Swagger Section

Method

Endpoint

systemInfo

GET

/systemInfo

Returns

Returns dictionary of appliance system information

  • keyword hostName (str): Appliance hostname

  • keyword applianceid (int): Appliance integer ID

  • keyword model (str): Appliance Model (longform)

  • keyword modelShort (str): Appliance Model (shortform)

  • keyword status (str): Appliance Status

  • keyword uptime (int): Appliance uptime in milliseconds

  • keyword uptimeString (str): Appliance uptime as string, e.g., 56d 13h 15m 29s

  • keyword datetime (str): Current datetime on appliance, e.g., 2022/09/28 13:04:47 Etc/UTC

  • keyword timezone (str): Timezone, e.g., Etc/UTC

  • keyword gmtOffset (int): GMT offset value

  • keyword release (str): Software release with ECOS, e.g., ECOS 9.1.1.3_91760

  • keyword releaseWithoutPrefix (str): Software release, numbers only, e.g., 9.1.1.3_91760

  • keyword serial (str): Appliance serial number

  • keyword uuid (str): Appliance uuid

  • keyword deploymentMode (str): Appliance deployment mode, e.g., router

  • keyword inlineRouter (bool): True if appliance is in inline-router mode

  • keyword licenseRequired (bool): Legacy license requirement check

  • keyword isLicenseInstalled (bool): Legacy license install check

  • keyword licenseExpiryDate (str): Legacy license expire date

  • keyword licenseExpirationDaysLeft (int): Legacy license expire days left

  • keyword hasUnsavedChanges (bool): True if appliance has unsaved configuration changes

  • keyword rebootRequired (bool): True if appliance requires reboot

  • keyword biosVersion (str): BIOS version on appliance

  • keyword alarmSummary (dict): Alarm summary

    • keyword num_cleared (int): Number of alarms cleared

    • keyword num_critical (int): Number of critical alarms

    • keyword num_equipment_outstanding (int): Number of hardware alarms outstanding

    • keyword num_major (int): Number of major alarms

    • keyword num_minor (int): Number of minor alarms

    • keyword num_outstanding (int): Number of outstanding alarms

    • keyword num_raise_ignore (int): Number of raise ignore

    • keyword num_software_outstanding (int): Number of software alarms outstanding

    • keyword num_tca_outstanding (int): Number of TCA alarms outstanding

    • keyword num_traffic_class_outstanding (int): Number of traffic class alarms outstanding

    • keyword num_tunnel_outstanding (int): Number of tunnel alarms outstanding

    • keyword num_warning (int): Number of warning alarms

Return type

dict

configure_appliance_multiple_3rdparty_tunnels(tunnel_configuration: dict) bool

Add/modify multiple tunnels at once. Use get_appliance_3rdparty_tunnels_config() to get current tunnel configuration for example data structure.

Swagger Section

Method

Endpoint

thirdPartyTunnel

POST

/thirdPartyTunnels/config

Parameters

tunnel_configuration (dict) – Dictionary structure for configuring multiple tunnels on EdgeConnect appliance. See response from get_appliance_3rdparty_tunnels_config() for documentation of data structure

Returns

Returns True/False based on successful call

Return type

bool

delete_appliance_multiple_3rdparty_tunnels(tunnel_list: list[str]) bool

Delete multiple passthrough tunnels from appliance

Swagger Section

Method

Endpoint

thirdPartyTunnel

POST

/thirdPartyTunnels/deleteMultiple

Parameters

tunnel_list (list[str]) – List of tunnel id’s to query for

Returns

Returns True/False based on successful call

Return type

bool

delete_appliance_single_3rdparty_tunnel(tunnel_id: str) bool

Delete specific passthrough tunnel configuration by tunnel id from appliance

Swagger Section

Method

Endpoint

thirdPartyTunnel

DELETE

/thirdPartyTunnels/config/{id}

Parameters

tunnel_id (str) – Tunnel id of tunnel to retrieve information for, e.g. passThrough_385

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_3rdparty_tunnel_aliases(limit: int, alias_match: Optional[str] = None, state_match: Optional[str] = None) list

Find passthrough tunnels with matching aliases on appliance

Swagger Section

Method

Endpoint

thirdPartyTunnel

GET

/thirdPartyTunnels/aliases

Parameters
  • limit (int) – Max number of tunnels to return from query

  • alias_match (str) – Match text of tunnel’s alias, paramter is case insensitive

  • state_match (str) – Regular expression used to match tunnels state, e.g. Idle or Up would match all tunnels with status of Up - Idle

Returns

Returns list of matching tunnels with tunnel ID and alias

  • [dict]: List of tunnel alias/id pairs

    • keyword alias (str): Tunnel alias

    • keyword id (str): Tunnel id

Return type

list

get_appliance_3rdparty_tunnels_config(state_match: Optional[str] = None) dict

Get the current list of passthrough tunnels and their configuration

Swagger Section

Method

Endpoint

thirdPartyTunnel

GET

/thirdPartyTunnels/config

Parameters

state_match (str) – Regular expression used to match tunnels state, e.g. Idle or Up would match all tunnels with status of Up - Idle

Returns

Returns dictionary of tunnels with status matched from the state_match parameter

  • keyword <tunnel_id> (dict): Tunnel id and object

    • keyword admin (str): Admin state of the tunnel - takes two values: up or down

    • keyword alias (str): Tunnel alias/name, e.g. AWS_<TGNM_NAME>_Primary_TGNM1 for AWS TGNM, <EC_HOSTNAME>_<LABEL>@<REMOTE_IP_ADDRESS> for Serivce Orchestration endpoint, ThirdParty_Zscaler_<LABEL>_<Primary/Secondary>_Z# for ZScaler etc.

    • keyword auto_mtu (bool): Determines if the tunnel should have auto MTU detection

    • keyword ctrl_pkt (dict): Tunnel health packet marking

      • keyword dscp (str): DSCP marking to be used on tunnel keepalive packets to determine if tunnel remote IP address is reachable

    • keyword gms_marked (bool): True if configured by Orchestrator

    • keyword gre_proto (int): GRE protocol in the GRE header

    • keyword id2 (int): NEEDS DESCRIPTION

    • keyword ipsec_arc_window (str): IPSec ARC Window, not configurable

    • keyword ipsec_enable (bool): True if IPSec tunnel

    • keyword presharedkey (str): Tunnel preshared key

    • keyword ipsec_udp_sport (str): IPSec UDP tunnel source port

    • keyword ipsec_udp_dport (str): IPSec UDP tunnel destination port

    • keyword orch_tid (list[int]): NEEDS DESCRIPTION

    • keyword ipsec (dict): IPSec Configuration object

      • keyword security (dict): security settings

        • keyword ah (dict):

          • keyword algorithm (str): e.g. sha1

        • keyword esp (dict):

          • keyword algorithm (str): e.g. sha1

      • keyword mode (str): e.g. transport

      • keyword exchange_mode (str): e.g. main

      • keyword ike_aalg (str): IKE Algo, e.g. sha1

      • keyword ike_ealg (str): e.g. default

      • keyword dhgroup (int): Diffie-Hellman Group, e.g. 14

      • keyword pfs (bool): e.g. true

      • keyword pfsgroup (str): e.g. 14

      • keyword id_type (str): e.g. address

      • keyword ike_version (int): IKE version, e.g. 1

      • keyword esn (bool): e.g. true

      • keyword id_str (str): “”,

      • keyword dpd_delay (int): e.g. 10

      • keyword dpd_retry (int): e.g. 3

      • keyword ike_lifetime (int): e.g. 360

      • keyword lifetime (int): e.g. 360

      • keyword lifebytes (int): e.g. 0

      • keyword ike_id_local (str): Local IKE ID

      • keyword ike_id_remote (str): Remote IKE ID

    • keyword max_bw (int): If the tunnel max bandwidth is manually configured, use this field and set max_bw_auto to false

    • keyword max_bw_auto (bool): If the tunnel max bandwidth needs to be set to auto, this field must be true

    • keyword max_bw_unshaped (bool): false,

    • keyword min_bw (int): Tunnel minimum bandwidth

    • keyword mode (str): Tunnel mode, e.g. ipsec_udp, ipsec_ip, or no_encap

    • keyword mtu (str): Tunnel MTU, e.g. 1488

    • keyword peername (str): Tunnel peer name, often blank, but for BIO local breakout will take form of e.g. Overlay_RealTime_Primary

    • keyword nat_mode (str): Tunnel NAT mode, e.g. auto, none

    • keyword pkt (dict): Packet settings object

      • keyword coalesce_enable (bool): Packet coalescing enabled

      • keyword coalesce_wait (int): Packet coalescing wait timer

      • keyword fec_enable_str (str): FEC enabled, e.g. enable, disable, or auto

      • keyword fec_reset_intvl (int): FEC reset interval, e.g. 1, 2, 5, 10, or 20

      • keyword fec_max_ratio (int): FEC auto maximum ration, e.g. 10

      • keyword fec_min_ratio (int): FEC auto minimum ration, e.g. 0

      • keyword frag_enable (bool): Enable tunnel packet fragmentation and reassembly

      • keyword reorder_wait (int): Amount of time in ms to wait for Packet Order Correction algorithm

    • keyword tag_name (str): Varies by tunnel type, can have label id’s (25-5), tunnel names for ThirdParty name Zscaler_25_Primary_Z2, or interface name for local passthrough, lan0 or wan0

    • keyword threshold (dict): Tunnel fail thresholds

      • keyword fastfail (int): Enable fast fail, increasing the frequency of tunnel health packets, e.g. 0, 1, or 2

      • keyword fastfail-wait-base (int): 150,

      • keyword fastfail-wait-rtt (int): 5,

      • keyword jitter (int): Jitter threshold, 0 if not configured

      • keyword latency (int): Latency threshold, 0 if not configured

      • keyword loss (int): Loss threshold, 0 if not configured

      • keyword retry_count (int): How many packets which are sent once per second should be missed before a tunnel is declared down, e.g. 3

    • keyword type (str): NEEDS DESCRIPTION

    • keyword local_vrf (int): Local VRF ID, Default segment would be 0

    • keyword source (str): Source IP address of tunnel

    • keyword destination (str): Destination IP address of tunnel, 0.0.0.0/0 for passthrough breakout tunnels

Return type

dict

get_appliance_3rdparty_tunnels_state(state_match: Optional[str] = None) dict

Get the current list of passthrough tunnels state information like uptime and operational state

Swagger Section

Method

Endpoint

thirdPartyTunnel

GET

/thirdPartyTunnels/state

Parameters

state_match (str) – Regular expression used to match tunnels state, e.g. Idle or Up would match all tunnels with status of Up - Idle

Returns

Returns dictionary of tunnels with status matched from the state_match parameter

  • keyword <tunnel_id> (dict): Tunnel id and object

    • keyword self (str): Tunnel id, e.g. passThrough_199

    • keyword oper (str): Status, e.g. Up - Active

    • keyword uptime (int): Tunnel uptime in ms

    • keyword cur_mtu (str): Tunnel MTU, e.g. 1500

    • keyword cur_max_bw (str): Current tunnel maximum bandwidth. Units in Kbps, e.g. 50000 for 50Mbps

    • keyword rem_sys_bw (str): Remaining system bandwidth

    • keyword quiescence (bool): True if tunnel is in Idle state / quiescence mode

    • keyword remote_id (int): NEEDS DESCRIPTION

    • keyword state_bin (dict):

      • keyword tun_state (str): Tunnel status, e.g. Up - Active

      • keyword uptime (int): Tunnel uptime in ms

      • keyword cur_mtu (str): Tunnel MTU, e.g. 1500

      • keyword local_id (int): Local ID

      • keyword bonded (bool): Tunnel bonded state, False for passthrough tunnels

      • keyword ipsec_nat_addr (str): NONE for passthrough tunnels

      • keyword ipsec_nat_port (str): NONE for passthrough tunnels

Return type

dict

get_appliance_all_3rdparty_tunnel_ids(state_match: Optional[str] = None) list

Get the current list of all passthrough tunnels

Swagger Section

Method

Endpoint

thirdPartyTunnel

GET

/thirdPartyTunnels/allIDs

Parameters

state_match (str) – Regular expression used to match tunnels state, e.g. Idle or Up would match all tunnels with status of Up - Idle

Returns

Returns list of all tunnel ids e.g. ["passThrough_320","passThrough_321",...]

Return type

list

get_appliance_multiple_3rdparty_tunnels_config(tunnel_list: list[str]) dict

Get the configuration of multiple passthrough tunnels from appliance

Swagger Section

Method

Endpoint

thirdPartyTunnel

POST

/thirdPartyTunnels/getMultiple

Parameters

tunnel_list (list[str]) – List of tunnel id’s to query for

Returns

Returns dictionary of specified tunnels queried

  • keyword <tunnel_id> (dict): Tunnel id and object

    • keyword admin (str): Admin state of the tunnel - takes two values: up or down

    • keyword alias (str): Tunnel alias/name, e.g. AWS_<TGNM_NAME>_Primary_TGNM1 for AWS TGNM, <EC_HOSTNAME>_<LABEL>@<REMOTE_IP_ADDRESS> for Serivce Orchestration endpoint, ThirdParty_Zscaler_<LABEL>_<Primary/Secondary>_Z# for ZScaler etc.

    • keyword auto_mtu (bool): Determines if the tunnel should have auto MTU detection

    • keyword ctrl_pkt (dict): Tunnel health packet marking

      • keyword dscp (str): DSCP marking to be used on tunnel keepalive packets to determine if tunnel remote IP address is reachable

    • keyword gms_marked (bool): True if configured by Orchestrator

    • keyword gre_proto (int): GRE protocol in the GRE header

    • keyword id2 (int): NEEDS DESCRIPTION

    • keyword ipsec_arc_window (str): IPSec ARC Window, not configurable

    • keyword ipsec_enable (bool): True if IPSec tunnel

    • keyword presharedkey (str): Tunnel preshared key

    • keyword ipsec_udp_sport (str): IPSec UDP tunnel source port

    • keyword ipsec_udp_dport (str): IPSec UDP tunnel destination port

    • keyword orch_tid (list[int]): NEEDS DESCRIPTION

    • keyword ipsec (dict): IPSec Configuration object

      • keyword security (dict): security settings

        • keyword ah (dict):

          • keyword algorithm (str): e.g. sha1

        • keyword esp (dict):

          • keyword algorithm (str): e.g. sha1

      • keyword mode (str): e.g. transport

      • keyword exchange_mode (str): e.g. main

      • keyword ike_aalg (str): IKE Algo, e.g. sha1

      • keyword ike_ealg (str): e.g. default

      • keyword dhgroup (int): Diffie-Hellman Group, e.g. 14

      • keyword pfs (bool): e.g. true

      • keyword pfsgroup (str): e.g. 14

      • keyword id_type (str): e.g. address

      • keyword ike_version (int): IKE version, e.g. 1

      • keyword esn (bool): e.g. true

      • keyword id_str (str): “”,

      • keyword dpd_delay (int): e.g. 10

      • keyword dpd_retry (int): e.g. 3

      • keyword ike_lifetime (int): e.g. 360

      • keyword lifetime (int): e.g. 360

      • keyword lifebytes (int): e.g. 0

      • keyword ike_id_local (str): Local IKE ID

      • keyword ike_id_remote (str): Remote IKE ID

    • keyword max_bw (int): If the tunnel max bandwidth is manually configured, use this field and set max_bw_auto to false

    • keyword max_bw_auto (bool): If the tunnel max bandwidth needs to be set to auto, this field must be true

    • keyword max_bw_unshaped (bool): false,

    • keyword min_bw (int): Tunnel minimum bandwidth

    • keyword mode (str): Tunnel mode, e.g. ipsec_udp, ipsec_ip, or no_encap

    • keyword mtu (str): Tunnel MTU, e.g. 1488

    • keyword peername (str): Tunnel peer name, often blank, but for BIO local breakout will take form of e.g. Overlay_RealTime_Primary

    • keyword nat_mode (str): Tunnel NAT mode, e.g. auto, none

    • keyword pkt (dict): Packet settings object

      • keyword coalesce_enable (bool): Packet coalescing enabled

      • keyword coalesce_wait (int): Packet coalescing wait timer

      • keyword fec_enable_str (str): FEC enabled, e.g. enable, disable, or auto

      • keyword fec_reset_intvl (int): FEC reset interval, e.g. 1, 2, 5, 10, or 20

      • keyword fec_max_ratio (int): FEC auto maximum ration, e.g. 10

      • keyword fec_min_ratio (int): FEC auto minimum ration, e.g. 0

      • keyword frag_enable (bool): Enable tunnel packet fragmentation and reassembly

      • keyword reorder_wait (int): Amount of time in ms to wait for Packet Order Correction algorithm

    • keyword tag_name (str): Varies by tunnel type, can have label id’s (25-5), tunnel names for ThirdParty name Zscaler_25_Primary_Z2, or interface name for local passthrough, lan0 or wan0

    • keyword threshold (dict): Tunnel fail thresholds

      • keyword fastfail (int): Enable fast fail, increasing the frequency of tunnel health packets, e.g. 0, 1, or 2

      • keyword fastfail-wait-base (int): 150,

      • keyword fastfail-wait-rtt (int): 5,

      • keyword jitter (int): Jitter threshold, 0 if not configured

      • keyword latency (int): Latency threshold, 0 if not configured

      • keyword loss (int): Loss threshold, 0 if not configured

      • keyword retry_count (int): How many packets which are sent once per second should be missed before a tunnel is declared down, e.g. 3

    • keyword type (str): NEEDS DESCRIPTION

    • keyword local_vrf (int): Local VRF ID, Default segment would be 0

    • keyword source (str): Source IP address of tunnel

    • keyword destination (str): Destination IP address of tunnel, 0.0.0.0/0 for passthrough breakout tunnels

Return type

dict

get_appliance_multiple_3rdparty_tunnels_state(tunnel_list: list[str]) dict

Get the state of multiple passthrough tunnels from appliance

Swagger Section

Method

Endpoint

thirdPartyTunnel

POST

/thirdPartyTunnels/getStateMultiple

Parameters

tunnel_list (list[str]) – List of tunnel id’s to query for

Returns

Returns dictionary of specified tunnels queried

  • keyword <tunnel_id> (dict): Tunnel id and object

    • keyword self (str): Tunnel id, e.g. passThrough_199

    • keyword oper (str): Status, e.g. Up - Active

    • keyword uptime (int): Tunnel uptime in ms

    • keyword cur_mtu (str): Tunnel MTU, e.g. 1500

    • keyword cur_max_bw (str): Current tunnel maximum bandwidth. Units in Kbps, e.g. 50000 for 50Mbps

    • keyword rem_sys_bw (str): Remaining system bandwidth

    • keyword quiescence (bool): True if tunnel is in Idle state / quiescence mode

    • keyword remote_id (int): NEEDS DESCRIPTION

    • keyword state_bin (dict):

      • keyword tun_state (str): Tunnel status, e.g. Up - Active

      • keyword uptime (int): Tunnel uptime in ms

      • keyword cur_mtu (str): Tunnel MTU, e.g. 1500

      • keyword local_id (int): Local ID

      • keyword bonded (bool): Tunnel bonded state, False for passthrough tunnels

      • keyword ipsec_nat_addr (str): NONE for passthrough tunnels

      • keyword ipsec_nat_port (str): NONE for passthrough tunnels

Return type

dict

get_appliance_single_3rdparty_tunnel_config(tunnel_id: str) dict

Get specific passthrough tunnel configuration by tunnel id from appliance

Swagger Section

Method

Endpoint

thirdPartyTunnel

GET

/thirdPartyTunnels/config/{id}

Parameters

tunnel_id (str) – Tunnel id of tunnel to retrieve information for, e.g. passThrough_385

Returns

Returns dictionary of tunnel configuration for specific tunnel

  • keyword admin (str): Admin state of the tunnel - takes two values: up or down

  • keyword alias (str): Tunnel alias/name, e.g. AWS_<TGNM_NAME>_Primary_TGNM1 for AWS TGNM, <EC_HOSTNAME>_<LABEL>@<REMOTE_IP_ADDRESS> for Serivce Orchestration endpoint, ThirdParty_Zscaler_<LABEL>_<Primary/Secondary>_Z# for ZScaler etc.

  • keyword auto_mtu (bool): Determines if the tunnel should have auto MTU detection

  • keyword ctrl_pkt (dict): Tunnel health packet marking

    • keyword dscp (str): DSCP marking to be used on tunnel keepalive packets to determine if tunnel remote IP address is reachable

  • keyword gms_marked (bool): True if configured by Orchestrator

  • keyword gre_proto (int): GRE protocol in the GRE header

  • keyword id2 (int): NEEDS DESCRIPTION

  • keyword ipsec_arc_window (str): IPSec ARC Window, not configurable

  • keyword ipsec_enable (bool): True if IPSec tunnel

  • keyword presharedkey (str): Tunnel preshared key

  • keyword ipsec_udp_sport (str): IPSec UDP tunnel source port

  • keyword ipsec_udp_dport (str): IPSec UDP tunnel destination port

  • keyword orch_tid (list[int]): NEEDS DESCRIPTION

  • keyword ipsec (dict): IPSec Configuration object

    • keyword security (dict): security settings

      • keyword ah (dict):

        • keyword algorithm (str): e.g. sha1

      • keyword esp (dict):

        • keyword algorithm (str): e.g. sha1

    • keyword mode (str): e.g. transport

    • keyword exchange_mode (str): e.g. main

    • keyword ike_aalg (str): IKE Algo, e.g. sha1

    • keyword ike_ealg (str): e.g. default

    • keyword dhgroup (int): Diffie-Hellman Group, e.g. 14

    • keyword pfs (bool): e.g. true

    • keyword pfsgroup (str): e.g. 14

    • keyword id_type (str): e.g. address

    • keyword ike_version (int): IKE version, e.g. 1

    • keyword esn (bool): e.g. true

    • keyword id_str (str): “”,

    • keyword dpd_delay (int): e.g. 10

    • keyword dpd_retry (int): e.g. 3

    • keyword ike_lifetime (int): e.g. 360

    • keyword lifetime (int): e.g. 360

    • keyword lifebytes (int): e.g. 0

    • keyword ike_id_local (str): Local IKE ID

    • keyword ike_id_remote (str): Remote IKE ID

  • keyword max_bw (int): If the tunnel max bandwidth is manually configured, use this field and set max_bw_auto to false

  • keyword max_bw_auto (bool): If the tunnel max bandwidth needs to be set to auto, this field must be true

  • keyword max_bw_unshaped (bool): false,

  • keyword min_bw (int): Tunnel minimum bandwidth

  • keyword mode (str): Tunnel mode, e.g. ipsec_udp, ipsec_ip, or no_encap

  • keyword mtu (str): Tunnel MTU, e.g. 1488

  • keyword peername (str): Tunnel peer name, often blank, but for BIO local breakout will take form of e.g. Overlay_RealTime_Primary

  • keyword nat_mode (str): Tunnel NAT mode, e.g. auto, none

  • keyword pkt (dict): Packet settings object

    • keyword coalesce_enable (bool): Packet coalescing enabled

    • keyword coalesce_wait (int): Packet coalescing wait timer

    • keyword fec_enable_str (str): FEC enabled, e.g. enable, disable, or auto

    • keyword fec_reset_intvl (int): FEC reset interval, e.g. 1, 2, 5, 10, or 20

    • keyword fec_max_ratio (int): FEC auto maximum ration, e.g. 10

    • keyword fec_min_ratio (int): FEC auto minimum ration, e.g. 0

    • keyword frag_enable (bool): Enable tunnel packet fragmentation and reassembly

    • keyword reorder_wait (int): Amount of time in ms to wait for Packet Order Correction algorithm

  • keyword tag_name (str): Varies by tunnel type, can have label id’s (25-5), tunnel names for ThirdParty name Zscaler_25_Primary_Z2, or interface name for local passthrough, lan0 or wan0

  • keyword threshold (dict): Tunnel fail thresholds

    • keyword fastfail (int): Enable fast fail, increasing the frequency of tunnel health packets, e.g. 0, 1, or 2

    • keyword fastfail-wait-base (int): 150,

    • keyword fastfail-wait-rtt (int): 5,

    • keyword jitter (int): Jitter threshold, 0 if not configured

    • keyword latency (int): Latency threshold, 0 if not configured

    • keyword loss (int): Loss threshold, 0 if not configured

    • keyword retry_count (int): How many packets which are sent once per second should be missed before a tunnel is declared down, e.g. 3

  • keyword type (str): NEEDS DESCRIPTION

  • keyword local_vrf (int): Local VRF ID, Default segment would be 0

  • keyword source (str): Source IP address of tunnel

  • keyword destination (str): Destination IP address of tunnel, 0.0.0.0/0 for passthrough breakout tunnels

Return type

dict

get_appliance_time() dict

Get the current time on the appliance

Swagger Section

Method

Endpoint

time

GET

/time

Returns

Returns dictionary of current appliance time

  • keyword current (int): Current unix epoch time in milliseconds

  • keyword gmtOffset (int): Hours offset from GMT

Return type

dict

apply_appliance_tunnel_template(tunnel_configuration: dict) bool

Use this method to set a group of properties across all existing tunnels on the system. There is an additional property called: apply_to_default which can be used to change the settings of ‘default’ tunnel as well. This allows automatically established tunnels to come up with these settings.

Important

You can omit fields from the schema which you do not want to change.

Swagger Section

Method

Endpoint

tunnel

POST

/applyTunnelTemplate

Parameters

tunnel_configuration (dict) –

Dictionary structure for configuring tunnel template settings on EdgeConnect appliance.

Example data structure:

tunnel_configuration = {
    "min_bw": 0,
    "max_bw_auto": false,
    "max_bw": 0,
    "admin": "",
    "ipsec_arc_window": "",
    "mode": "",
    "ctrl_pkt": {
        "dscp": ""
    },
    "destination": "",
    "pkt": {
        "frag_enable": false,
        "fec_enable_str": "",
        "fec_reset_intvl": 0,
        "fec_min_ratio": 0,
        "fec_max_ratio": 0,
        "reorder_wait": 0
    },
    "auto_mtu": false,
    "threshold": {
        "dbw_aimd": false,
        "dbw_rserc": false,
        "retry_count": 0,
        "fastfail": 0
    },
    "gre_proto": 0,
    "udp_dest_port": 0,
    "source": "",
    "ipsec_enable": false,
    "mtu": 0,
    "options": 0,
    "type": "",
    "udp_flows": 0,
    "local_vrf": 0,
    "ipsec": {
        "security": {
        "ah": {
            "algorithm": ""
        },
        "esp": {
            "algorithm": ""
        }
        },
        "lifetime": 0,
        "lifebytes": 0,
        "pfsgroup": "",
        "pfs": false,
        "ike_aalg": "",
        "ike_ealg": "",
        "dhgroup": "",
        "dpd_delay": 0,
        "dpd_retry": 0,
        "id_type": "",
        "id_str": "",
        "exchange_mode": "",
        "ike_version": 0,
        "esn": false
        }
    }

Returns

Returns True/False based on successful call

Return type

bool

configure_appliance_all_tunnels(tunnel_configuration: dict) bool

Add/delete/modify tunnels

Warning

This function would update all tunnels. Existing tunnel IDs will be updated, New tunnel IDs will be created, missing tunnel IDs will be deleted!

Use get_appliance_tunnels_config() to get current tunnel configuration

Use configure_appliance_multiple_tunnels() to only add net-new tunnels without having to include existing tunnels and avoid accidental tunnel deletions

Swagger Section

Method

Endpoint

tunnel

POST

/tunnels

Parameters

tunnel_configuration (dict) – Dictionary structure for configuring tunnels on EdgeConnect appliance. See response from get_appliance_tunnels_config() for documentation of data structure

Returns

Returns True/False based on successful call

Return type

bool

configure_appliance_multiple_tunnels(tunnel_configuration: dict) bool

Add/modify multiple tunnels at once. Use get_appliance_tunnels_config() to get current tunnel configuration for example data structure.

Swagger Section

Method

Endpoint

tunnel

POST

/addMultipleTunnels

Parameters

tunnel_configuration (dict) – Dictionary structure for configuring multiple tunnels on EdgeConnect appliance. See response from get_appliance_tunnels_config() for documentation of data structure

Returns

Returns True/False based on successful call

Return type

bool

configure_appliance_single_tunnel(tunnel_id: str, tunnel_configuration: dict) bool

Modify or Add single tunnel configuration by tunnel id

Swagger Section

Method

Endpoint

tunnel

POST

/tunnels/{id}

Parameters
  • tunnel_id (str) – Tunnel id of tunnel to retrieve information for, e.g. tunnel_385

  • tunnel_configuration (dict) – Dictionary structure for configuring tunnel on EdgeConnect appliance. See response from get_appliance_single_tunnel_config() for documentation of data structure

Returns

Returns True/False based on successful call

Return type

bool

delete_appliance_multiple_tunnels(tunnel_list: list[str]) bool

Delete multiple tunnels from appliance

Swagger Section

Method

Endpoint

tunnel

POST

/deleteMultipleTunnels

Parameters

tunnel_list (list[str]) – List of tunnel id’s to query for

Returns

Returns True/False based on successful call

Return type

bool

delete_appliance_single_tunnel(tunnel_id: str) bool

Delete specific tunnel configuration by tunnel id from appliance

Swagger Section

Method

Endpoint

tunnel

DELETE

/tunnels/{id}

Parameters

tunnel_id (str) – Tunnel id of tunnel to retrieve information for, e.g. tunnel_385

Returns

Returns True/False based on successful call

Return type

bool

get_appliance_all_tunnel_ids(state_match: Optional[str] = None) list

Get the current list of all physical tunnels

Swagger Section

Method

Endpoint

tunnel

GET

/tunnelAllIDs

Parameters

state_match (str) – Regular expression used to match tunnels state, e.g. Idle or Up would match all tunnels with status of Up - Idle

Returns

Returns list of all tunnel ids e.g. ["tunnel_385","default","pass-through",...]

Return type

list

get_appliance_multiple_tunnels_config(tunnel_list: list[str]) dict

Get the configuration of multiple tunnels from appliance

Swagger Section

Method

Endpoint

tunnel

POST

/getMultipleTunnels

Parameters

tunnel_list (list[str]) – List of tunnel id’s to query for

Returns

Returns dictionary of specified tunnels queried

  • keyword <tunnel_id> (dict): Tunnel id and object

    • keyword admin (str): Admin state of the tunnel - takes two values: up or down

    • keyword alias (str): Tunnel alias/name, e.g. to_<REMOTE_EC_HOSTNAME>_<LOCAL_LABEL>_<REMOTE_LABEL>

    • keyword auto_mtu (bool): Determines if the tunnel should have auto MTU detection

    • keyword ctrl_pkt (dict): Tunnel health packet marking

      • keyword dscp (str): DSCP marking to be used on tunnel keepalive packets to determine if tunnel remote IP address is reachable

    • keyword gms_marked (bool): True if configured by Orchestrator

    • keyword gre_proto (int): GRE protocol in the GRE header

    • keyword id2 (int): NEEDS DESCRIPTION

    • keyword ipsec_arc_window (str): IPSec ARC Window, not configurable

    • keyword ipsec_enable (bool): True if IPSec tunnel

    • keyword presharedkey (str): Tunnel preshared key

    • keyword ipsec_udp_sport (str): IPSec UDP tunnel source port

    • keyword ipsec_udp_dport (str): IPSec UDP tunnel destination port

    • keyword orch_tid (list[int]): NEEDS DESCRIPTION

    • keyword ipsec (dict): IPSec Configuration object

      • keyword security (dict): security settings

        • keyword ah (dict):

          • keyword algorithm (str): e.g. sha1

        • keyword esp (dict):

          • keyword algorithm (str): e.g. sha1

      • keyword mode (str): e.g. transport

      • keyword exchange_mode (str): e.g. main

      • keyword ike_aalg (str): IKE Algo, e.g. sha1

      • keyword ike_ealg (str): e.g. default

      • keyword dhgroup (int): Diffie-Hellman Group, e.g. 14

      • keyword pfs (bool): e.g. true

      • keyword pfsgroup (str): e.g. 14

      • keyword id_type (str): e.g. address

      • keyword ike_version (int): IKE version, e.g. 1

      • keyword esn (bool): e.g. true

      • keyword id_str (str): “”,

      • keyword dpd_delay (int): e.g. 10

      • keyword dpd_retry (int): e.g. 3

      • keyword ike_lifetime (int): e.g. 360

      • keyword lifetime (int): e.g. 360

      • keyword lifebytes (int): e.g. 0

      • keyword ike_id_local (str): Local IKE ID

      • keyword ike_id_remote (str): Remote IKE ID

    • keyword max_bw (int): If the tunnel max bandwidth is manually configured, use this field and set max_bw_auto to false

    • keyword max_bw_auto (bool): If the tunnel max bandwidth needs to be set to auto, this field must be true

    • keyword max_bw_unshaped (bool): false,

    • keyword min_bw (int): Tunnel minimum bandwidth

    • keyword mode (str): Tunnel mode, e.g. ipsec_udp

    • keyword mtu (str): Tunnel MTU, e.g. 1488

    • keyword peername (str): Tunnel peer name

    • keyword nat_mode (str): Tunnel NAT mode, e.g. auto, none

    • keyword pkt (dict): Packet settings object

      • keyword coalesce_enable (bool): Packet coalescing enabled

      • keyword coalesce_wait (int): Packet coalescing wait timer

      • keyword fec_enable_str (str): FEC enabled, e.g. enable, disable, or auto

      • keyword fec_reset_intvl (int): FEC reset interval, e.g. 1, 2, 5, 10, or 20

      • keyword fec_max_ratio (int): FEC auto maximum ration, e.g. 10

      • keyword fec_min_ratio (int): FEC auto minimum ration, e.g. 0

      • keyword frag_enable (bool): Enable tunnel packet fragmentation and reassembly

      • keyword reorder_wait (int): Amount of time in ms to wait for Packet Order Correction algorithm

    • keyword tag_name (str): Label ID pairs in string of <local_label_id>-<remote_label_id> e.g. if INET1 has a label id of 5 then a tunnel between INET1 and INET1 would have tag_name of 5-5

    • keyword threshold (dict): Tunnel fail thresholds

      • keyword fastfail (int): Enable fast fail, increasing the frequency of tunnel health packets, e.g. 0, 1, or 2

      • keyword fastfail-wait-base (int): 150,

      • keyword fastfail-wait-rtt (int): 5,

      • keyword jitter (int): Jitter threshold, 0 if not configured

      • keyword latency (int): Latency threshold, 0 if not configured

      • keyword loss (int): Loss threshold, 0 if not configured

      • keyword retry_count (int): How many packets which are sent once per second should be missed before a tunnel is declared down, e.g. 3

    • keyword type (str): NEEDS DESCRIPTION

    • keyword udp_dest_port (int): If the tunnel is of type ‘udp’, the udp port to use, e.g. 4163

    • keyword udp_flows (int): If tunnel mode is udp, this field determines how many different udp flows are used to distribute tunnel traffic, e.g. 256

    • keyword local_vrf (int): Local VRF ID, Default segment would be 0

    • keyword source (str): Source IP address of tunnel

    • keyword destination (str): Destination IP address of tunnel

Return type

dict

get_appliance_multiple_tunnels_state(tunnel_list: list[str]) dict

Get the state of multiple tunnels from appliance

Swagger Section

Method

Endpoint

tunnel

POST

/getStateMultipleTunnels

Parameters

tunnel_list (list[str]) – List of tunnel id’s to query for

Returns

Returns dictionary of specified tunnels queried

  • keyword <tunnel_id> (dict): Tunnel id and object

    • keyword self (str): Tunnel id, e.g. tunnel_385

    • keyword oper (str): Status, e.g. Up - Idle

    • keyword uptime (int): Tunnel uptime in ms

    • keyword cur_mtu (str): Tunnel MTU, e.g. 1488

    • keyword cur_max_bw (str): Tunnel max bw, Kbps

    • keyword rem_sys_bw (str): Remaining system bandwidth

    • keyword quiescence (bool): true,

    • keyword remote_id (int): Remote ID

    • keyword state_bin (dict):

      • keyword tun_state (str): Tunnel status, e.g. Up - Idle

      • keyword uptime (int): Tunnel uptime in ms

      • keyword cur_mtu (str): Tunnel MTU, e.g. 1488

      • keyword local_id (int): Local ID

      • keyword bonded (bool): Tunnel bonded state

      • keyword ipsec_nat_addr (str): Remote NAT address

      • keyword ipsec_nat_port (str): Remote NAT port

Return type

dict

get_appliance_passthrough_tunnel_source_endpoints() list

Get a list of interface IP addresses which can be used as passthrough tunnel source IP addresses on this appliance.

Swagger Section

Method

Endpoint

tunnel

GET

/passThroughTunnelSourceEndpoints

Returns

Returns list of possible passthrough tunnel source IP addresses

  • [list[list[str,int,int]]]: Tunnel endpoint array

    • [list[str,int,int]]: Available tunnel endpoint array

      • [0] (str): IP Address string, e.g. 192.168.1.1

      • [1] (int): CIDR mask, e.g. 30

      • [2] (int): VRF/Segment ID, e.g. 0 for Default

Return type

list

get_appliance_single_tunnel_config(tunnel_id: str) dict

Get specific tunnel configuration by tunnel id from appliance

Swagger Section

Method

Endpoint

tunnel

GET

/tunnels/{id}

Parameters

tunnel_id (str) – Tunnel id of tunnel to retrieve information for, e.g. tunnel_385

Returns

Returns dictionary of tunnel configuration for specific tunnel

  • keyword admin (str): Admin state of the tunnel - takes two values: up or down

  • keyword alias (str): Tunnel alias/name, e.g. to_<REMOTE_EC_HOSTNAME>_<LOCAL_LABEL>_<REMOTE_LABEL>

  • keyword auto_mtu (bool): Determines if the tunnel should have auto MTU detection

  • keyword ctrl_pkt (dict): Tunnel health packet marking

    • keyword dscp (str): DSCP marking to be used on tunnel keepalive packets to determine if tunnel remote IP address is reachable

  • keyword gms_marked (bool): True if configured by Orchestrator

  • keyword gre_proto (int): GRE protocol in the GRE header

  • keyword id2 (int): NEEDS DESCRIPTION

  • keyword ipsec_arc_window (str): IPSec ARC Window, not configurable

  • keyword ipsec_enable (bool): True if IPSec tunnel

  • keyword presharedkey (str): Tunnel preshared key

  • keyword ipsec_udp_sport (str): IPSec UDP tunnel source port

  • keyword ipsec_udp_dport (str): IPSec UDP tunnel destination port

  • keyword orch_tid (list[int]): NEEDS DESCRIPTION

  • keyword ipsec (dict): IPSec Configuration object

    • keyword security (dict): security settings

      • keyword ah (dict):

        • keyword algorithm (str): e.g. sha1

      • keyword esp (dict):

        • keyword algorithm (str): e.g. sha1

    • keyword mode (str): e.g. transport

    • keyword exchange_mode (str): e.g. main

    • keyword ike_aalg (str): IKE Algo, e.g. sha1

    • keyword ike_ealg (str): e.g. default

    • keyword dhgroup (int): Diffie-Hellman Group, e.g. 14

    • keyword pfs (bool): e.g. true

    • keyword pfsgroup (str): e.g. 14

    • keyword id_type (str): e.g. address

    • keyword ike_version (int): IKE version, e.g. 1

    • keyword esn (bool): e.g. true

    • keyword id_str (str): “”,

    • keyword dpd_delay (int): e.g. 10

    • keyword dpd_retry (int): e.g. 3

    • keyword ike_lifetime (int): e.g. 360

    • keyword lifetime (int): e.g. 360

    • keyword lifebytes (int): e.g. 0

    • keyword ike_id_local (str): Local IKE ID

    • keyword ike_id_remote (str): Remote IKE ID

  • keyword max_bw (int): If the tunnel max bandwidth is manually configured, use this field and set max_bw_auto to false

  • keyword max_bw_auto (bool): If the tunnel max bandwidth needs to be set to auto, this field must be true

  • keyword max_bw_unshaped (bool): false,

  • keyword min_bw (int): Tunnel minimum bandwidth

  • keyword mode (str): Tunnel mode, e.g. ipsec_udp

  • keyword mtu (str): Tunnel MTU, e.g. 1488

  • keyword peername (str): Tunnel peer name

  • keyword nat_mode (str): Tunnel NAT mode, e.g. auto, none

  • keyword pkt (dict): Packet settings object

    • keyword coalesce_enable (bool): Packet coalescing enabled

    • keyword coalesce_wait (int): Packet coalescing wait timer

    • keyword fec_enable_str (str): FEC enabled, e.g. enable, disable, or auto

    • keyword fec_reset_intvl (int): FEC reset interval, e.g. 1, 2, 5, 10, or 20

    • keyword fec_max_ratio (int): FEC auto maximum ration, e.g. 10

    • keyword fec_min_ratio (int): FEC auto minimum ration, e.g. 0

    • keyword frag_enable (bool): Enable tunnel packet fragmentation and reassembly

    • keyword reorder_wait (int): Amount of time in ms to wait for Packet Order Correction algorithm

  • keyword tag_name (str): Label ID pairs in string of <local_label_id>-<remote_label_id> e.g. if INET1 has a label id of 5 then a tunnel between INET1 and INET1 would have tag_name of 5-5

  • keyword threshold (dict): Tunnel fail thresholds

    • keyword fastfail (int): Enable fast fail, increasing the frequency of tunnel health packets, e.g. 0, 1, or 2

    • keyword fastfail-wait-base (int): 150,

    • keyword fastfail-wait-rtt (int): 5,

    • keyword jitter (int): Jitter threshold, 0 if not configured

    • keyword latency (int): Latency threshold, 0 if not configured

    • keyword loss (int): Loss threshold, 0 if not configured

    • keyword retry_count (int): How many packets which are sent once per second should be missed before a tunnel is declared down, e.g. 3

  • keyword type (str): NEEDS DESCRIPTION

  • keyword udp_dest_port (int): If the tunnel is of type ‘udp’, the udp port to use, e.g. 4163

  • keyword udp_flows (int): If tunnel mode is udp, this field determines how many different udp flows are used to distribute tunnel traffic, e.g. 256

  • keyword local_vrf (int): Local VRF ID, Default segment would be 0

  • keyword source (str): Source IP address of tunnel

  • keyword destination (str): Destination IP address of tunnel

Return type

dict

get_appliance_tunnel_aliases(limit: int, alias_match: Optional[str] = None, state_match: Optional[str] = None) list

Find tunnels with matching aliases on appliance

Swagger Section

Method

Endpoint

tunnel

GET

/tunnelAliases

Parameters
  • limit (int) – Max number of tunnels to return from query

  • alias_match (str) – Match text of tunnel’s alias, paramter is case insensitive

  • state_match (str) – Regular expression used to match tunnels state, e.g. Idle or Up would match all tunnels with status of Up - Idle

Returns

Returns list of matching tunnels with tunnel ID and alias

  • [dict]: List of tunnel alias/id pairs

    • keyword alias (str): Tunnel alias

    • keyword id (str): Tunnel id

Return type

list

get_appliance_tunnel_source_endpoints() list

Get a list of interface IP addresses which can be used as tunnel source IP addresses on this appliance.

Swagger Section

Method

Endpoint

tunnel

GET

/tunnelSourceEndpoints

Returns

Returns list of possible tunnel source IP addresses

  • [list[list[str,int,int]]]: Tunnel endpoint array

    • [list[str,int,int]]: Available tunnel endpoint array

      • [0] (str): IP Address string, e.g. 192.168.1.1

      • [1] (int): CIDR mask, e.g. 30

      • [2] (int): VRF/Segment ID, e.g. 0 for Default

Return type

list

Example response:

[
    [
        "192.168.1.1",
        30,
        0,
    ],
]
get_appliance_tunnels_config(state_match: Optional[str] = None) dict

Get the current list of tunnels and their configuration

Swagger Section

Method

Endpoint

tunnel

GET

/tunnels

Parameters

state_match (str) – Regular expression used to match tunnels state, e.g. Idle or Up would match all tunnels with status of Up - Idle

Returns

Returns dictionary of tunnels with status matched from the state_match parameter

  • keyword <tunnel_id> (dict): Tunnel id and object

    • keyword admin (str): Admin state of the tunnel - takes two values: up or down

    • keyword alias (str): Tunnel alias/name, e.g. to_<REMOTE_EC_HOSTNAME>_<LOCAL_LABEL>_<REMOTE_LABEL>

    • keyword auto_mtu (bool): Determines if the tunnel should have auto MTU detection

    • keyword ctrl_pkt (dict): Tunnel health packet marking

      • keyword dscp (str): DSCP marking to be used on tunnel keepalive packets to determine if tunnel remote IP address is reachable

    • keyword gms_marked (bool): True if configured by Orchestrator

    • keyword gre_proto (int): GRE protocol in the GRE header

    • keyword id2 (int): NEEDS DESCRIPTION

    • keyword ipsec_arc_window (str): IPSec ARC Window, not configurable

    • keyword ipsec_enable (bool): True if IPSec tunnel

    • keyword presharedkey (str): Tunnel preshared key

    • keyword ipsec_udp_sport (str): IPSec UDP tunnel source port

    • keyword ipsec_udp_dport (str): IPSec UDP tunnel destination port

    • keyword orch_tid (list[int]): NEEDS DESCRIPTION

    • keyword ipsec (dict): IPSec Configuration object

      • keyword security (dict): security settings

        • keyword ah (dict):

          • keyword algorithm (str): e.g. sha1

        • keyword esp (dict):

          • keyword algorithm (str): e.g. sha1

      • keyword mode (str): e.g. transport

      • keyword exchange_mode (str): e.g. main

      • keyword ike_aalg (str): IKE Algo, e.g. sha1

      • keyword ike_ealg (str): e.g. default

      • keyword dhgroup (int): Diffie-Hellman Group, e.g. 14

      • keyword pfs (bool): e.g. true

      • keyword pfsgroup (str): e.g. 14

      • keyword id_type (str): e.g. address

      • keyword ike_version (int): IKE version, e.g. 1

      • keyword esn (bool): e.g. true

      • keyword id_str (str): “”,

      • keyword dpd_delay (int): e.g. 10

      • keyword dpd_retry (int): e.g. 3

      • keyword ike_lifetime (int): e.g. 360

      • keyword lifetime (int): e.g. 360

      • keyword lifebytes (int): e.g. 0

      • keyword ike_id_local (str): Local IKE ID

      • keyword ike_id_remote (str): Remote IKE ID

    • keyword max_bw (int): If the tunnel max bandwidth is manually configured, use this field and set max_bw_auto to false

    • keyword max_bw_auto (bool): If the tunnel max bandwidth needs to be set to auto, this field must be true

    • keyword max_bw_unshaped (bool): false,

    • keyword min_bw (int): Tunnel minimum bandwidth

    • keyword mode (str): Tunnel mode, e.g. ipsec_udp

    • keyword mtu (str): Tunnel MTU, e.g. 1488

    • keyword peername (str): Tunnel peer name

    • keyword nat_mode (str): Tunnel NAT mode, e.g. auto, none

    • keyword pkt (dict): Packet settings object

      • keyword coalesce_enable (bool): Packet coalescing enabled

      • keyword coalesce_wait (int): Packet coalescing wait timer

      • keyword fec_enable_str (str): FEC enabled, e.g. enable, disable, or auto

      • keyword fec_reset_intvl (int): FEC reset interval, e.g. 1, 2, 5, 10, or 20

      • keyword fec_max_ratio (int): FEC auto maximum ration, e.g. 10

      • keyword fec_min_ratio (int): FEC auto minimum ration, e.g. 0

      • keyword frag_enable (bool): Enable tunnel packet fragmentation and reassembly

      • keyword reorder_wait (int): Amount of time in ms to wait for Packet Order Correction algorithm

    • keyword tag_name (str): Label ID pairs in string of <local_label_id>-<remote_label_id> e.g. if INET1 has a label id of 5 then a tunnel between INET1 and INET1 would have tag_name of 5-5

    • keyword threshold (dict): Tunnel fail thresholds

      • keyword fastfail (int): Enable fast fail, increasing the frequency of tunnel health packets, e.g. 0, 1, or 2

      • keyword fastfail-wait-base (int): 150,

      • keyword fastfail-wait-rtt (int): 5,

      • keyword jitter (int): Jitter threshold, 0 if not configured

      • keyword latency (int): Latency threshold, 0 if not configured

      • keyword loss (int): Loss threshold, 0 if not configured

      • keyword retry_count (int): How many packets which are sent once per second should be missed before a tunnel is declared down, e.g. 3

    • keyword type (str): NEEDS DESCRIPTION

    • keyword udp_dest_port (int): If the tunnel is of type ‘udp’, the udp port to use, e.g. 4163

    • keyword udp_flows (int): If tunnel mode is udp, this field determines how many different udp flows are used to distribute tunnel traffic, e.g. 256

    • keyword local_vrf (int): Local VRF ID, Default segment would be 0

    • keyword source (str): Source IP address of tunnel

    • keyword destination (str): Destination IP address of tunnel

Return type

dict

get_appliance_tunnels_config_and_state(state_match: Optional[str] = None) dict

Get the current list of tunnels and their configuration as well as some state information like uptime and operational state

Swagger Section

Method

Endpoint

tunnel

GET

/tunnelsConfigAndState

Parameters

state_match (str) – Regular expression used to match tunnels state, e.g. Idle or Up would match all tunnels with status of Up - Idle

Returns

Returns dictionary of tunnels with status matched from the state_match parameter

  • keyword <tunnel_id> (dict): Tunnel id and object

    • keyword admin (str): Admin state of the tunnel - takes two values: up or down

    • keyword alias (str): Tunnel alias/name, e.g. to_<REMOTE_EC_HOSTNAME>_<LOCAL_LABEL>_<REMOTE_LABEL>

    • keyword auto_mtu (bool): Determines if the tunnel should have auto MTU detection

    • keyword ctrl_pkt (dict): Tunnel health packet marking

      • keyword dscp (str): DSCP marking to be used on tunnel keepalive packets to determine if tunnel remote IP address is reachable

    • keyword gms_marked (bool): True if configured by Orchestrator

    • keyword gre_proto (int): GRE protocol in the GRE header

    • keyword id2 (int): NEEDS DESCRIPTION

    • keyword ipsec_arc_window (str): IPSec ARC Window, not configurable

    • keyword ipsec_enable (bool): True if IPSec tunnel

    • keyword presharedkey (str): Tunnel preshared key

    • keyword ipsec_udp_sport (str): IPSec UDP tunnel source port

    • keyword ipsec_udp_dport (str): IPSec UDP tunnel destination port

    • keyword orch_tid (list[int]): NEEDS DESCRIPTION

    • keyword ipsec (dict): IPSec Configuration object

      • keyword security (dict): security settings

        • keyword ah (dict):

          • keyword algorithm (str): e.g. sha1

        • keyword esp (dict):

          • keyword algorithm (str): e.g. sha1

      • keyword mode (str): e.g. transport

      • keyword exchange_mode (str): e.g. main

      • keyword ike_aalg (str): IKE Algo, e.g. sha1

      • keyword ike_ealg (str): e.g. default

      • keyword dhgroup (int): Diffie-Hellman Group, e.g. 14

      • keyword pfs (bool): e.g. true

      • keyword pfsgroup (str): e.g. 14

      • keyword id_type (str): e.g. address

      • keyword ike_version (int): IKE version, e.g. 1

      • keyword esn (bool): e.g. true

      • keyword id_str (str): “”,

      • keyword dpd_delay (int): e.g. 10

      • keyword dpd_retry (int): e.g. 3

      • keyword ike_lifetime (int): e.g. 360

      • keyword lifetime (int): e.g. 360

      • keyword lifebytes (int): e.g. 0

      • keyword ike_id_local (str): Local IKE ID

      • keyword ike_id_remote (str): Remote IKE ID

    • keyword max_bw (int): If the tunnel max bandwidth is manually configured, use this field and set max_bw_auto to false

    • keyword max_bw_auto (bool): If the tunnel max bandwidth needs to be set to auto, this field must be true

    • keyword max_bw_unshaped (bool): false,

    • keyword min_bw (int): Tunnel minimum bandwidth

    • keyword mode (str): Tunnel mode, e.g. ipsec_udp

    • keyword mtu (str): Tunnel MTU, e.g. 1488

    • keyword peername (str): Tunnel peer name

    • keyword nat_mode (str): Tunnel NAT mode, e.g. auto, none

    • keyword pkt (dict): Packet settings object

      • keyword coalesce_enable (bool): Packet coalescing enabled

      • keyword coalesce_wait (int): Packet coalescing wait timer

      • keyword fec_enable_str (str): FEC enabled, e.g. enable, disable, or auto

      • keyword fec_reset_intvl (int): FEC reset interval, e.g. 1, 2, 5, 10, or 20

      • keyword fec_max_ratio (int): FEC auto maximum ration, e.g. 10

      • keyword fec_min_ratio (int): FEC auto minimum ration, e.g. 0

      • keyword frag_enable (bool): Enable tunnel packet fragmentation and reassembly

      • keyword reorder_wait (int): Amount of time in ms to wait for Packet Order Correction algorithm

    • keyword tag_name (str): Label ID pairs in string of <local_label_id>-<remote_label_id> e.g. if INET1 has a label id of 5 then a tunnel between INET1 and INET1 would have tag_name of 5-5

    • keyword threshold (dict): Tunnel fail thresholds

      • keyword fastfail (int): Enable fast fail, increasing the frequency of tunnel health packets, e.g. 0, 1, or 2

      • keyword fastfail-wait-base (int): 150,

      • keyword fastfail-wait-rtt (int): 5,

      • keyword jitter (int): Jitter threshold, 0 if not configured

      • keyword latency (int): Latency threshold, 0 if not configured

      • keyword loss (int): Loss threshold, 0 if not configured

      • keyword retry_count (int): How many packets which are sent once per second should be missed before a tunnel is declared down, e.g. 3

    • keyword type (str): NEEDS DESCRIPTION

    • keyword udp_dest_port (int): If the tunnel is of type ‘udp’, the udp port to use, e.g. 4163

    • keyword udp_flows (int): If tunnel mode is udp, this field determines how many different udp flows are used to distribute tunnel traffic, e.g. 256

    • keyword local_vrf (int): Local VRF ID, Default segment would be 0

    • keyword source (str): Source IP address of tunnel

    • keyword destination (str): Destination IP address of tunnel

    • keyword uptime (int): Tunnel uptime in ms

    • keyword status (str): Tunnel status, e.g. Up - Idle

    • keyword isRediscoveringMTU (bool): This flag is true if auto-mtu discovery is in progress

    • keyword cur_max_bw (str): Tunnel maximum bandwidth can be lower than configured when using dynamic tunnel bandwidth feature. This field shows the current tunnel bandwidth. It can change every second. Units in Kbps, e.g. 50000 for 50Mbps

    • keyword state_bin (dict): Remote NAT

      • keyword ipsec_nat_addr (str): Remote NAT address

      • keyword ipsec_nat_port (str): Remote NAT port

Return type

dict

set_appliance_tunnels_ipsec_psk(tunnels_psk: dict) bool

Set the ipsec preshared key for multiple tunnels

Important

You can omit fields from the schema which you do not want to change.

Swagger Section

Method

Endpoint

tunnel

POST

/tunnelsIpsecKey

Parameters

tunnels_psk – Dictionary structure for configuring tunnel pre-shared key settings.

Returns

Returns True/False based on successful call

Return type

bool

start_appliance_tunnel_mtu_discovery(tunnel_list: list[str]) bool

Start MTU discovery on list of of specified tunnels on appliance

Swagger Section

Method

Endpoint

tunnel

POST

/tunnelsAutoDiscoverMtu

Parameters

tunnel_list (list[str]) – List of tunnel id’s to query for

Returns

Returns True/False based on successful call

Return type

bool