+++ /dev/null
-module tr069-operations {
- yang-version 1;
- namespace "urn:tr069rpc:1.0";
- prefix cr;
-
- organization
- "CommScope";
- contact
- "Radio access OneCell <5g@commscope.com>
-
- CommScope Inc
- 1100 10th Ave Ct SE,
- Hickory,
- NC 28602,
- USA";
- description
- "This module contains a YANG definition for the TR069 device operations.";
-
- revision 2020-08-07 {
- description
- "PLEASE READ BELOW NOTES BEFORE USING THE RPCs:
- 1) All the RPCs supported by TR-069 protocol are translated to NETCONF
- RPCs except following RPCs.
- i. GetRPCMethods
- ii. GetParameterNames
- iii. InitiateCR
- iv. Download
- v. ScheduleDownload
- vi. Upload
- ";
- reference
- "Subset of TR-069 protocol RPCs mapped to NETCONF RPCs";
- }
-
- grouping add-object-output {
- description
- "Grouping for add-object rpc output";
- leaf status {
- type enumeration {
- enum 0 {
- description
- "The Object has been created.";
- }
- enum 1 {
- description
- "The Object creation has been validated and committed, but not yet applied (for example, if a reboot is required before the new Object can be applied).";
- }
- }
- mandatory true;
- description
- "Status of the addObject";
- }
-
- leaf instance-number {
- type int32;
- description
- "Instance Number when the status is passed.";
- }
- leaf label {
- type string;
- description
- "label attribute for add-object output.";
- }
- }
-
- grouping delete-object-output {
- description
- "Grouping for add-object rpc output";
- leaf status {
- type enumeration {
- enum 0 {
- description
- "The Object has been deleted.";
- }
- enum 1 {
- description
- "The Object deletion has been validated and committed, but not yet applied (for example, if a reboot is required before the Object can be deleted).";
- }
- }
- mandatory true;
- description
- "Status of the addObject";
- }
- }
-
- grouping set-parameter-attributes-input {
- description
- "Grouping for set-parameter-attributes rpc input";
- list config {
- key "keyindex";
- description
- "config container object for set parameter attributes RPC.";
- leaf keyindex {
- type uint16;
- description
- "keyindex for each set parameter attribute";
- }
- anyxml parameter {
- description
- "parameter attribute";
- }
- leaf notification {
- type int32;
- mandatory true;
- description
- "notification attribute for a set parameter attribute";
- }
- leaf notification-change {
- type boolean;
- description
- "notification change attribute for a set parameter attribute";
- }
- leaf-list access-list {
- type string;
- description
- "access list attributes for a set parameter attribute";
- }
- leaf access-list-change {
- type boolean;
- description
- "access list change attribute for a set parameter attribute";
- }
- }
- }
-
- grouping get-parameter-attributes-output {
- description
- "Grouping for get-parameter-attributes rpc output";
- list data {
- key "keyindex";
- description
- "get parameter attribute configuration Object";
- leaf keyindex {
- type uint16;
- description
- "keyindex attribute";
- }
- leaf parameter {
- type string;
- description
- "parameter attribute";
- }
- leaf notification {
- type int32;
- mandatory true;
- description
- "notification parameter";
- }
- leaf-list access-list {
- type string;
- description
- "access list of a attribute";
- }
- }
- }
-
- grouping download-input {
- description
- "Grouping for download rpc input";
- leaf command-key {
- type string;
- description
- "command key";
- }
- leaf file-type {
- type string;
- description
- "file type";
- }
- leaf url {
- type string;
- description
- "url string";
- }
- leaf username {
- type string;
- description
- "Username";
- }
- leaf password {
- type string;
- description
- "password";
- }
- leaf file-size {
- type int32;
- description
- "file size";
- }
- leaf target-file-name {
- type string;
- description
- "target file name";
- }
- leaf delay-in-seconds {
- type int32;
- description
- "delay in seconds";
- }
- leaf success-url {
- type string;
- description
- "success url";
- }
- leaf failure-url {
- type string;
- description
- "failure url";
- }
- }
-
- rpc add-object {
- description
- "adds object for parameter on the device.";
- input {
- anyxml parameter {
- description
- "parameter attribute for add-object";
- }
- }
- output {
- uses add-object-output;
- }
- }
-
- rpc delete-object {
- description
- "adds object for parameter on the device.";
- input {
- anyxml parameter {
- description
- "access container Object";
- }
- }
- output {
- uses delete-object-output;
- }
- }
-
- rpc set-parameter-attributes {
- description
- "SPA for parameter on the device.";
- input {
- uses set-parameter-attributes-input;
- }
- }
-
- rpc get-parameter-attributes {
- description
- "GPA for parameter on the device.";
- input {
- list filter {
- key "keyindex";
- description
- "get-parameter-attributes Object as rpc input";
- leaf keyindex {
- type uint16;
- description
- "keyindex attribute for a get parameter attribute";
- }
- anyxml parameter {
- description
- "parameter GPA RPC input";
- }
- }
- }
- output {
- uses get-parameter-attributes-output;
- }
- }
-
- rpc reboot {
- description
- "Reboots the device.";
- }
-
- rpc reset {
- description
- "resets the device.";
- }
-
- rpc connection-status {
- description
- "device connection status.";
- output {
- leaf last-contact-time {
- type string;
- mandatory true;
- description
- "when device has last contacted the ONAP.";
- }
- leaf last-failure-attempt-time {
- type string;
- mandatory true;
- description
- "when the last access attempt has failed from ONAP.";
- }
- leaf last-access-status {
- type enumeration {
- enum SUCCESS {
- description
- "Last connection was successful.";
- }
- enum FAILED {
- description
- "Last device access was failed.";
- }
- }
- mandatory true;
- description
- "Status of last device access.";
- }
- leaf error-message {
- when "../current-status = 'FAILED'";
- type string;
- description
- "Detailed error Message when the status is failed.";
- }
- }
- }
- rpc download {
- description
- "download.";
- input {
- uses download-input;
- }
- }
-}