### Start netconfd-pro with Production Settings Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Use this command to start the netconfd-pro server with essential production configurations. Ensure log files and directories are correctly set up. ```bash netconfd-pro \ --log=/var/log/netconfd-pro.log \ --log-level=info \ --audit-log=/var/log/netconfd-pro-audit.log \ --access-control=enforcing \ --superuser=admin \ --home=/var/lib/netconfd-pro \ --confdir=/etc/netconfd-pro/conf.d \ --module=ietf-interfaces \ --module=ietf-ip \ --with-callhome=true \ --callhome-server=nms.example.com \ --fileloc-fhs=true \ --tls-v1.3-only=true \ --with-nmda=true \ --with-factory-datastore=true \ --with-yumaworks-compare=true ``` -------------------------------- ### RESTCONF GET with depth and content query parameters Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Example of a RESTCONF GET request to retrieve configuration data for interfaces, limited to 'config' nodes and a depth of 2. Requires 'Accept: application/yang-data+json' header. ```http # RESTCONF GET with depth and content query parameters # Retrieve only config nodes, 2 levels deep GET /restconf/data/ietf-interfaces:interfaces?content=config&depth=2 Accept: application/yang-data+json Authorization: Basic YWRtaW46YWRtaW4= ``` ```json # Response (HTTP 200) { "ietf-interfaces:interfaces": { "interface": [ { "name": "eth0", "type": "iana-if-type:ethernetCsmacd", "enabled": true } ] } } ``` -------------------------------- ### netconfd-pro Configuration File Equivalent Source: https://context7.com/yumaworks/yumapro-yang/llms.txt This XML configuration file provides an equivalent setup for netconfd-pro as specified by the command-line arguments. It is useful for managing configuration declaratively. ```xml /var/log/netconfd-pro.log info /var/log/netconfd-pro-audit.log enforcing admin true nms.example.com true true true ``` -------------------------------- ### Get Server Version with yumaworks-system Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Retrieve the current server version and build date. The response contains 'version' and 'build-date' elements. ```xml 25.10-3 2025-11-24 ``` -------------------------------- ### NETCONF with subtree filter Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Example of a NETCONF get-config RPC using a subtree filter to retrieve specific interface configuration. Requires the 'urn:ietf:params:xml:ns:netconf:base:1.0' namespace. ```xml ``` ```xml eth0 ianaift:ethernetCsmacd true ``` -------------------------------- ### Subscribe to NETCONF Notifications with Replay Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Subscribe to NETCONF notifications, including historical events from a specified start time, using the `` RPC. This allows for replaying past events. ```xml NETCONF 2025-01-01T00:00:00Z ``` -------------------------------- ### RESTCONF GET with NMDA datastore and with-origin Source: https://context7.com/yumaworks/yumapro-yang/llms.txt RESTCONF GET request to access the operational datastore with the 'with-origin' parameter to include data origin information. Ensure the correct datastore and namespace are used. ```http # RESTCONF GET with NMDA datastore and with-origin GET /restconf/ds/ietf-datastores:operational/ietf-interfaces:interfaces?with-origin Accept: application/yang-data+json ``` -------------------------------- ### Enable/Disable Protocol with yumaworks-system Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Control the runtime status of network protocols. This example disables the 'restconf' protocol. ```xml disable restconf ``` -------------------------------- ### XPath-Filtered Bulk List Retrieval with yumaworks-getbulk Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Retrieve a subset of YANG list entries based on an XPath filter. This example fetches only enabled interfaces. ```xml /ietf-interfaces:interfaces/interface 10 enabled = 'true' ``` -------------------------------- ### Set Server Log Level with yumaworks-system Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Control the logging verbosity for specific streams. This example sets the 'audit' stream to 'debug2' level. ```xml debug2 audit ``` -------------------------------- ### Get HA Status with yumaworks-system Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Query the high-availability status of the server. This RPC returns the current HA state. ```xml ``` -------------------------------- ### RESTCONF event streams retrieval Source: https://context7.com/yumaworks/yumapro-yang/llms.txt RESTCONF GET request to retrieve available event streams. Requires 'Accept: application/yang-data+json' header. ```http # RESTCONF event streams GET /restconf/streams Accept: application/yang-data+json ``` -------------------------------- ### RESTCONF YANG schema retrieval Source: https://context7.com/yumaworks/yumapro-yang/llms.txt RESTCONF GET request to retrieve YANG schema definitions for a specific module and revision. Requires 'Accept: application/yang' header. ```http # RESTCONF YANG schema retrieval GET /restconf/yang/ietf-interfaces@2018-02-20 Accept: application/yang ``` -------------------------------- ### Configure Call Home Server Entry (NETCONF) Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Configure Call Home server entries using NETCONF `edit-config`. Entries are create/delete only and immutable after creation. Supports both NETCONF-SSH and NETCONF-TLS protocols. ```xml nms-primary
192.0.2.100
4334 netconf-ssh
nms-backup
nms-backup.example.com
netconf-tls
``` -------------------------------- ### Backup Running Configuration with yumaworks-system Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Use this RPC to create a backup of the current server configuration. Specify the filename and whether to overwrite existing backups. ```xml backup-2025-01 false ``` -------------------------------- ### Configure Event Filtering Rules (NETCONF) Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Enable the event filtering service and configure per-event rules using NETCONF `edit-config`. Specify module, event, and whether to enable or suppress events, along with logging behavior for dropped events. ```xml ietf-interfaces link-up true false ietf-interfaces link-down false true ``` -------------------------------- ### Bulk List Retrieval Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Provides the `` RPC for paginated iteration over large YANG list instances. Supports datastore selection, depth limiting, XPath filtering, key-value constraints, and `with-defaults`. Returns a cursor (`last-keys`) for stateless pagination. ```APIDOC ## get-bulk ### Description Retrieves a paginated list of entries from a YANG list instance. ### Method POST ### Endpoint /restconf/operations/yumaworks-getbulk:get-bulk ### Parameters #### Request Body - **list-target** (string) - Required - The XPath to the list instance (e.g., `/ietf-interfaces:interfaces/interface`). - **count** (integer) - Required - The number of entries to retrieve per page. - **content** (string) - Optional - Specifies the content to retrieve. Possible values include 'all'. - **depth** (string) - Optional - Limits the depth of the data to retrieve. Possible values include 'unbounded'. - **list-test** (string) - Optional - An XPath filter to apply to the list entries. - **fixed-keys** (object) - Optional - Constraints for key-value pairs. - **with-defaults** (string) - Optional - Specifies how to handle default values. - **last-keys** (object) - Optional - Used for pagination, providing the keys of the last entry from the previous page. ### Request Example (First Page) ```xml /ietf-interfaces:interfaces/interface 3 all unbounded ``` ### Response #### Success Response (200) - **last-keys** (object) - Contains the keys of the last entry retrieved, used for subsequent pagination. - **data** (object) - Contains the retrieved list data. ### Response Example ```xml eth2 eth0true eth1true eth2false ``` ### Request Example (Next Page) ```xml /ietf-interfaces:interfaces/interface 3 eth2 ``` ### Request Example (XPath-filtered) ```xml /ietf-interfaces:interfaces/interface 10 enabled = 'true' ``` ``` -------------------------------- ### Configure Call Home Server Entry (RESTCONF) Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Configure Call Home server entries using RESTCONF with JSON payload. This provides an alternative to NETCONF for managing Call Home connections. ```json # POST /restconf/data/yumaworks-callhome:callhome/server # Content-Type: application/yang-data+json { "yumaworks-callhome:server": [ { "name": "nms-primary", "address": "192.0.2.100", "port": 4334, "protocol": "netconf-ssh" } ] } ``` -------------------------------- ### Dynamically Load YANG Module with yumaworks-system Source: https://context7.com/yumaworks/yumapro-yang/llms.txt This RPC allows for the dynamic loading of YANG modules at runtime. Specify the module name and whether to save the configuration changes. ```xml my-vendor-module true 2024-06-01 ``` -------------------------------- ### NETCONF using YumaPro delete-all operation Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Demonstrates a NETCONF edit-config RPC utilizing the YumaPro-specific 'delete-all' operation to remove all interfaces. Ensure the 'nc:operation' attribute is correctly namespaced. ```xml ``` -------------------------------- ### YumaPro YANG Extensions for SIL Annotations Source: https://context7.com/yumaworks/yumapro-yang/llms.txt This YANG module demonstrates the use of yumaworks-extensions for SIL annotations. It shows how to define all-in-one GET2 callbacks, custom XPath functions, and sorting for lists. ```yang // Using yumaworks-extensions in a SIL annotation file module my-vendor-annot { yang-version 1.1; namespace "http://example.com/ns/my-vendor-annot"; prefix "mva"; import ietf-interfaces { prefix if; } import yumaworks-extensions { prefix ywx; } // Use all-in-one GET2 callback for interface stats deviation /if:interfaces-state/if:interface/if:statistics { deviate add { ywx:sil-aio-get2 "get_interface_stats"; } } // Custom XPath function for SIL ywx:sil-xpath-function "my-custom-function" { ywx:errmsg "Custom function evaluation failed"; } // Sort interface list by name deviation /if:interfaces/if:interface { deviate add { ywx:sort-type "system"; } } } ``` -------------------------------- ### Using YumaPro Common Types in a YANG Module Source: https://context7.com/yumaworks/yumapro-yang/llms.txt This YANG module illustrates the usage of common YumaPro types like NcxName, NcDebugType, NcxFileName, transport-type, and access-control-mode. These types provide standardized data formats. ```yang // Using YumaPro types in a custom module module my-device-config { yang-version 1.1; namespace "http://example.com/ns/my-device-config"; prefix "mdc"; import yumaworks-types { prefix ywt; } import yuma-types { prefix yt; } container device { leaf name { // NcxName: [a-z,A-Z][a-z,A-Z,0-9,_,-,.]* up to 64 chars type yt:NcxName; mandatory true; } leaf log-level { // off | error | warn | info | debug | debug2 | debug3 | debug4 type yt:NcDebugType; default "info"; } leaf backup-file { // Simple filename with no path components type ywt:NcxFileName; } leaf transport { // netconf-ssh | netconf-tls | restconf-http | restconf-https | gnmi type ywt:transport-type; } leaf access-mode { // off | disabled | permissive | enforcing type ywt:access-control-mode; default "enforcing"; } } } ``` -------------------------------- ### Lock All Datastores Atomically Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Use the `` RPC to atomically lock all configuration datastores. An `` reply indicates success. An error reply, such as 'in-use', signifies that another session holds a lock. ```xml protocol in-use error candidate datastore is locked by session 42 ``` -------------------------------- ### Restore Configuration with yumaworks-system Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Use this RPC to restore a previously saved configuration. Ensure the specified filename exists on the server. ```xml backup-2025-01 ``` -------------------------------- ### RESTCONF Query Parameter Models Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Augments the IETF RESTCONF root with YumaPro-specific entry points and reusable groupings for standard RESTCONF query parameters. ```APIDOC ## RESTCONF GET with depth and content query parameters ### Description Retrieves configuration data for interfaces, limited to 2 levels deep. ### Method GET ### Endpoint /restconf/data/ietf-interfaces:interfaces?content=config&depth=2 ### Parameters #### Query Parameters - **content** (string) - Optional - Specifies the type of data to retrieve (e.g., 'config'). - **depth** (integer) - Optional - Specifies the maximum depth of the data to retrieve. ### Request Example ```http GET /restconf/data/ietf-interfaces:interfaces?content=config&depth=2 Accept: application/yang-data+json Authorization: Basic YWRtaW46YWRtaW4= ``` ### Response #### Success Response (200) ```json { "ietf-interfaces:interfaces": { "interface": [ { "name": "eth0", "type": "iana-if-type:ethernetCsmacd", "enabled": true } ] } } ``` ## RESTCONF GET with NMDA datastore and with-origin ### Description Retrieves operational data for interfaces, including origin information for NMDA compliance. ### Method GET ### Endpoint /restconf/ds/ietf-datastores:operational/ietf-interfaces:interfaces?with-origin ### Parameters #### Query Parameters - **with-origin** (boolean) - Optional - If present, includes origin information. ### Response #### Success Response (200) (Response body not provided in source) ## RESTCONF event streams ### Description Retrieves available event streams from the RESTCONF server. ### Method GET ### Endpoint /restconf/streams ### Response #### Success Response (200) (Response body not provided in source) ## RESTCONF YANG schema retrieval ### Description Retrieves the YANG schema for a specified module and revision. ### Method GET ### Endpoint /restconf/yang/ietf-interfaces@2018-02-20 ### Parameters #### Path Parameters - **module@revision** (string) - Required - The module name and revision (e.g., 'ietf-interfaces@2018-02-20'). ### Response #### Success Response (200) (Response body not provided in source, expected to be YANG schema content) ``` -------------------------------- ### First Page Bulk List Retrieval with yumaworks-getbulk Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Initiate a paginated retrieval of a YANG list. Specify the target list, desired count per page, content type, and depth. The response includes 'last-keys' for subsequent pagination. ```xml /ietf-interfaces:interfaces/interface 3 all unbounded eth2 eth0true eth1true eth2false ``` -------------------------------- ### Atomic Datastore Locking Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Provides RPCs for atomic all-or-nothing locking of all configuration datastores. ```APIDOC ## Atomic Datastore Locking — `yumaworks-lock` Provides `` and `` RPCs for atomic all-or-nothing locking of all configuration datastores (running, candidate, startup) in a single operation. ### Lock All Datastores ```xml ``` ### Unlock All Datastores ```xml ``` ### Error Example (Lock Held) ```xml protocol in-use error candidate datastore is locked by session 42 ``` ``` -------------------------------- ### Unlock All Datastores Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Use the `` RPC to release locks on all configuration datastores. This operation is typically paired with `` to ensure atomic operations. ```xml ``` -------------------------------- ### Call Home Configuration Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Defines configuration for RFC 8071 NETCONF Call Home connections using SSH and TLS protocols. ```APIDOC ## Call Home Configuration — `yumaworks-callhome` Defines the `/callhome/server` configuration list for RFC 8071 NETCONF Call Home connections. Supports SSH and TLS protocols. Entries are create/delete only (immutable after creation). ### Configure Call Home Server (NETCONF) ```xml nms-primary
192.0.2.100
4334 netconf-ssh
nms-backup
nms-backup.example.com
netconf-tls
``` ### Configure Call Home Server (RESTCONF) ```bash # POST /restconf/data/yumaworks-callhome:callhome/server # Content-Type: application/yang-data+json { "yumaworks-callhome:server": [ { "name": "nms-primary", "address": "192.0.2.100", "port": 4334, "protocol": "netconf-ssh" } ] } ``` ``` -------------------------------- ### YP-HA Standby Registration via YControl Source: https://context7.com/yumaworks/yumapro-yang/llms.txt This XML payload demonstrates how a standby YP-HA server registers with the active server using YControl. This is the initial step for establishing a high-availability pair. ```xml standby-node-1 ``` -------------------------------- ### Next Page Bulk List Retrieval with yumaworks-getbulk Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Continue paginated retrieval by providing the 'last-keys' from the previous response. This allows for stateless iteration over large lists. ```xml /ietf-interfaces:interfaces/interface 3 eth2 ``` -------------------------------- ### Core NETCONF Protocol Types Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Defines base NETCONF data types, capabilities, and standard RPC operations. Extended by YumaPro for additional edit operations. ```APIDOC ## NETCONF get-config with subtree filter ### Description Example of a NETCONF get-config RPC using a subtree filter to retrieve interface data. ### Method POST ### Endpoint /restconf/operations/netconf ### Request Body ```xml ``` ### Response #### Success Response (200) ```xml eth0 ianaift:ethernetCsmacd true ``` ## NETCONF edit-config with YumaPro delete-all operation ### Description Example of a NETCONF edit-config RPC using the YumaPro-specific `delete-all` operation to remove all interfaces. ### Method POST ### Endpoint /restconf/operations/netconf ### Request Body ```xml ``` ``` -------------------------------- ### YP-HA Active Server Pushing Configuration Update Source: https://context7.com/yumaworks/yumapro-yang/llms.txt This XML payload shows the active YP-HA server sending a configuration update to the standby server. The actual YANG Patch payload would detail the configuration changes. ```xml ``` -------------------------------- ### Notification Event Filtering Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Defines configuration for filtering YANG notification events from the replay buffer. ```APIDOC ## Notification Event Filtering — `yumaworks-event-filter` Defines the `/event-filters` configuration container for suppressing or enabling specific YANG notification events from being buffered in the replay buffer. When the container is present, the event filtering service is active. ### Configure Event Filtering (NETCONF) ```xml ietf-interfaces link-up true false ietf-interfaces link-down false true ``` ### Subscribe to Notifications with Replay (NETCONF) ```xml NETCONF 2025-01-01T00:00:00Z ``` ``` -------------------------------- ### Server System Operations Source: https://context7.com/yumaworks/yumapro-yang/llms.txt Provides YumaPro-specific RPC operations for server administration, including configuration backup/restore, dynamic module load/unload, log-level control, high-availability status query, protocol enable/disable, and NETCONF subscription management. ```APIDOC ## backup ### Description Backs up the running configuration to a specified file. ### Method POST ### Endpoint /restconf/operations/yumaworks-system:backup ### Parameters #### Request Body - **filename** (string) - Required - The name of the file to save the backup to. - **overwrite** (boolean) - Optional - Whether to overwrite the file if it already exists. Defaults to false. ### Request Example ```xml backup-2025-01 false ``` ## restore ### Description Restores a saved configuration from a specified file. ### Method POST ### Endpoint /restconf/operations/yumaworks-system:restore ### Parameters #### Request Body - **filename** (string) - Required - The name of the file to restore the configuration from. ### Request Example ```xml backup-2025-01 ``` ## load ### Description Loads a YANG module dynamically. ### Method POST ### Endpoint /restconf/operations/yumaworks-system:load ### Parameters #### Request Body - **module** (string) - Required - The name of the module to load. - **save-config** (boolean) - Optional - Whether to save the configuration after loading the module. Defaults to false. ### Request Example ```xml my-vendor-module true ``` ### Response #### Success Response (200) - **mod-revision** (string) - The revision date of the loaded module. ### Response Example ```xml 2024-06-01 ``` ## set-log-level ### Description Sets the server log level for a specific log stream. ### Method POST ### Endpoint /restconf/operations/yumaworks-system:set-log-level ### Parameters #### Request Body - **log-level** (string) - Required - The desired log level (e.g., debug2). - **log-stream** (string) - Required - The log stream to apply the level to (e.g., audit). ### Request Example ```xml debug2 audit ``` ## get-server-version ### Description Retrieves the server version and build date. ### Method GET ### Endpoint /restconf/operations/yumaworks-system:get-server-version ### Response #### Success Response (200) - **version** (string) - The server version. - **build-date** (string) - The build date of the server. ### Response Example ```xml 25.10-3 2025-11-24 ``` ## protocol-control ### Description Enables or disables a protocol at runtime. ### Method POST ### Endpoint /restconf/operations/yumaworks-system:protocol-control ### Parameters #### Request Body - **action** (string) - Required - The action to perform (e.g., disable). - **protocol** (string) - Required - The protocol to control (e.g., restconf). ### Request Example ```xml disable restconf ``` ## get-ha-status ### Description Retrieves the high-availability status of the server. ### Method GET ### Endpoint /restconf/operations/yumaworks-system:get-ha-status ### Response #### Success Response (200) - (No specific fields documented in the source for success response) ### Response Example ```xml ``` ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.