Blob Blame History Raw
module mod4 {

    prefix abc;
    namespace "urn:cesnet:mod4";

    container ccc {
        typedef my {
            type string {
                length "1..8";
            }
            description test;
        }

        leaf leaf1 {
            type my;
            default "password";
        }

        leaf leaf2 {
            type default;
            mandatory true;
        }

        leaf leaf3 {
            type default;
            default "User";
        }
    }

    leaf test {
        type boolean;
        default true;
    }

    typedef default {
        type string {
            pattern '[a-zA-Z]+[0-9]*';
            length "1..25";
        }
        default AdminMod;
    }

    container cont {
        choice ch1 {
            case abc {
                leaf leaf5 {
                    type default;
                    default "abv";
                }

                container presence {
                    presence "enable";
                }
            }

            case abb {
                leaf leaf6 {
                    type uint8;
                }

                leaf leaf7 {
                    type empty;
                }
            }
        }

        choice ch2 {
            default bbb;

            case aaa {
                leaf leaf8 {
                    type string;
                }
            }

            case bbb {
                leaf leaf9 {
                    type default;
                }

                leaf leaf10 {
                    type default;
                    default AdminMod4;
                }
            }
        }
    }

    choice ch3 {
        case abc {
            leaf leaf21 {
                type string;
            }

            leaf eth0 {
                type boolean;
                default true;
            }
        }

        case abb {
            leaf optic {
                type boolean;
                default false;
            }
        }
    }
}