The libtoaster source code is available in yumapro-dev and yumapro-source packages.
The SIL library for the toaster.yang will be loaded dynamically by the server (--module=test or load test)
mydir> netconfd-pro --module=toaster OR yangcli-pro> load toaster
If you want to Receive RESTCONF Notifications subscribe to event stream by GET request via curl or any web browser:
> curl http://restconf-dev/restconf/stream -H "Accept:text/event-stream" data: data: <notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0"> data: <eventTime>2016-04-21T21:04:51Z</eventTime> data: <netconf-config-change xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-notifications"> data: <changed-by> data: <username>yumaworks</username> data: <session-id>4</session-id> data: <source-host>127.0.0.1</source-host> data: </changed-by> data: <datastore>running</datastore> data: <edit> data: <target data: xmlns:t="http://netconfcentral.org/ns/toaster">/toast:toaster</target> data: <operation>create</operation> data: </edit> data: </netconf-config-change> data: </notification>
Now, you can utilize toaster SIL library. In order to enable a toaster service create a new toaster:
yangcli> create /toaster
The toaster will be initialized with the following parameters:
yangcli> sget /toaster yuma-netconf:rpc-reply { data { toaster:toaster { toasterManufacturer 'Acme, Inc.' toasterModelNumber 'Super Toastamatic 2000' toasterStatus up } } }
Now, you can run RPC 'make-toast':
yangcli>make-toast
By default make-toast timer is set to 60 seconds. To change it:
yangcli>make-toast toasterDoneness=8
To stop making toasts, run the following RPC 'cancel-toast':
yangcli>cancel-toast
To disable the toaster:
yangcli> delete /toaster