module yumaworks-yangpush-dev {

    namespace "http://yumaworks.com/ns/yumaworks-yangpush-dev";
    prefix "ypdev";

    import ietf-subscribed-notifications { prefix sn; }
    import ietf-yang-push { prefix yp; }

    organization "YumaWorks, Inc.";

    contact
        "Support <support@yumaworks.com>";

    description
         "YumaPro Deviations for YANG-PUSH implementation

     Copyright (c) 2019 - 2025, YumaWorks, Inc. All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the BSD 3-Clause License
     http://opensource.org/licenses/BSD-3-Clause";

   revision 2025-09-19 {
       description
         "25.10-1: remove deviations for anchor-time";
   }

   revision 2019-11-22 {
       description
         "Initial version: leave out /subscriptions container
          for now.";
    }

   deviation "/sn:subscriptions" {
     description
       "The dynamic subscription monitoring can only be monitored
        using NMDA to include the operational values. This is not
        supported yet.";
     deviate not-supported;
   }

   deviation "/sn:modify-subscription/sn:input/sn:target" {
     description
       "The YANG module is wrong because it incorrectly treats
        the target choice as a mandatory parameter. This is a bug
        in RFC 8639. The target choice is not required to change
        or be presented in the modify-subscription operation.";
     deviate replace {
        mandatory false;
     }
   }

   deviation "/sn:modify-subscription/sn:input/sn:target/yp:datastore" +
             "/yp:datastore" {
     description
       "The YANG module is wrong because it incorrectly treats
        the datastore leaf as a mandatory parameter. This is a bug
        in YANG Push. The datastore leaf is not required to change
        or be presented in the modify-subscription operation.";
     deviate replace {
        mandatory false;
     }
   }

   deviation "/sn:modify-subscription/sn:input/yp:update-trigger" +
             "/yp:periodic/yp:periodic/yp:period" {
     description
       "The YANG module is wrong because it incorrectly treats
        the period leaf as a mandatory parameter. This is a bug
        in YANG Push. The period leaf is not required to change
        or be presented in the modify-subscription operation.";
     deviate replace {
        mandatory false;
     }
   }

   deviation "/sn:modify-subscription/sn:input/sn:stop-time" {
     description
       "Modification of the stop-time parameter is not supported yet.";
     deviate not-supported;
   }

}
