module augment-topology6 {

    yang-version 1;

    namespace "ydt.augment-topology6";

    prefix "aug5";

    import yms-ietf-network {
        prefix nd;
    }

    import augment-topology1 {
        prefix aug1;
    }

    import augment-topology2 {
        prefix aug2;
    }

    import augment-topology3 {
        prefix aug3;
    }

    import augment-topology4 {
        prefix aug4;
    }

    import augment-topology5 {
        prefix aug5;
    }

    import yms-network-topology {
        prefix topo;
    }

    organization "ON-LAB";

    description "This module defines for augment-topology6 classifier.";

    revision "2016-05-24" {
        description "Initial revision.";
    }

    augment "/nd:networks/nd:network/topo:link/aug2:augment2/aug3:augment3" {
        description
        "Add augment6 to the augment3 model.";
        container augment6 {
            config true;
            leaf value6 {
                  type int8;
            }
        }
    }

    augment "/nd:networks/nd:network/topo:link/aug2:augment2/aug3:augment3/" +
    "aug5:augment5" {
        description
        "Add leaf6 to the augment5 model.";
        leaf leaf6 {
            type string;
        }

    }

    augment "/nd:networks/nd:network/topo:link/aug2:augment2/aug5:augment5" {
        description
        "Add list to the augment5 model.";
        leaf-list augment6leafList {
            type string;
        }
    }
}