{   
    "transforms":[
        {
            "srcFactory"  : "Huawei",
            "srcType"     : "",
            "srcVersion"  : "default",
            "destFactory" : "ruijie",
            "destType"    : "",
            "destVersion" : "default",
            "commands"    : [
                {
                    "layer"   : "",
                    "src"     : "#",
                    "dst"     : "!"
                },
                {
                    "layer"   : "global",
                    "src"     : "sysname @a1",
                    "dst"     : "hostname @a1"
                },
                {
                    "layer"   : "global",
                    "src"     : "vlan batch z1 z2 z3 z4 z5",
                    "dst"     : "vlan range zz1,zz2,zz3,zz4,zz5"
                },
                {
                    "layer"   : "global",
                    "src"     : "vlan batch @a1 @a2 @a3 @a4 @a5",
                    "dst"     : "vlan range @a1,@a2,@a3,@a4,@a5"
                },
                {
                    "layer"   : "global",
                    "src"     : "vlan batch z1 z2 z3 z4 @a3",
                    "dst"     : "vlan range zz1,@a3"
                },
                {
                    "layer"   : "global",
                    "src"     : "ntp-service source-interface @#intfname",
                    "dst"     : "ntp server @getParam(interface @a1, ip address @ret @l) source @#intfname"
                },
                {
                    "layer"   : "global",
                    "src"     : "vlan batch @a2 @a3 z4",
                    "dst"     : "vlan range @a2,@a3,zz4"
                },
                {
                    "layer"   : "global",
                    "src"     : "vlan batch @#vlan",
                    "dst"     : "vlan range @#vlan"
                },
                {
                    "layer"   : "global",
                    "src"     : "vlan batch @a2 z2 z4",
                    "dst"     : "vlan range @a2,zz2,zz4"
                },
                {
                    "layer"   : "global",
                    "src"     : "vlan batch @a2 @a3",
                    "dst"     : "vlan range @a2+3,@a2,@a3-12"
                },
                {
                    "layer"   : "global",
                    "src"     : "return",
                    "dst"     : "end"
                },              
                {
                    "layer"   : "global",
                    "src"     : "ip route-static @a6 @a7 @a8",
                    "dst"     : "ip route @a6 @a7 @a8"
                },
                {
                    "layer"   : "global",
                    "src"     : "ip address @l",
                    "dst"     : "my ip address @l"
                },
                {
                    "layer"   : "ip desc @l",
                    "src"     : "description @a37",
                    "dst"     : "my description @a37 @l"
                },
                {
                    "layer"   : "interface Vlanif@b1 @b2",
                    "src"     : "ip address x1 x2",
                    "dst"     : "ip address xx1 @b1-0 xx2 @b2+11"
                },
                {
                    "layer"   : "interface Vlanif@b1",
                    "src"     : "ip address x1 @a11",
                    "dst"     : "ip address xx1 @a11+10 @b1+10"
                },{
                    "layer"   : "interface Vlanif@b1",
                    "src"     : "ip address @a10 x2",
                    "dst"     : "ip address @a10-10 xx2 @b1-10"
                },{
                    "layer"   : "interface Vlanif@b1",
                    "src"     : "ip address @a10 x2 @a12",
                    "dst"     : "ip address @a10-10 xx2 @b1-10"
                },{
                    "layer"   : "interface Vlanif@b1",
                    "src"     : "ip address @a10 @a11",
                    "dst"     : "ip address @a11+4 @b1+12 @a10-10"
                },
                {
                    "layer"   : "interface Vlanif@b1",
                    "src"     : "description @a37",
                    "dst"     : "description @a37"
                },
                {
                    "layer"   : "interface Vlanif@b1",
                    "src"     : "description @a38 @a39",
                    "dst"     : "description @a38 @a39"
                },
                {
                    "layer"   : "interface Vlanif@b1",
                    "src"     : "vrrp vrid @a48 virtual-ip @a49",
                    "dst"     : "vrrp @a48+3 ip @a49+11"
                },
                {
                    "layer"   : "global",
                    "src"     : "interface Vlanif@a9",
                    "dst"     : "interface VLAN @a9+12"
                },
                {
                    "layer"   : "global",
                    "src"     : "interface Vlanif@a9 @a10",
                    "dst"     : "interface VLAN @a9+12 @a10+2"
                },
                {
                    "layer"   : "global",
                    "src"     : "interface GigabitEthernet@a13",
                    "dst"     : "interface GigabitEthernet @a13"
                },
                {
                    "layer"   : "interface GigabitEthernet@b2",
                    "src"     : "shutdown",
                    "dst"     : "shutdown"
                },
                {
                    "layer"   : "interface GigabitEthernet@b2",
                    "src"     : "eth-trunk @a14",
                    "dst"     : "port-group @a14"
                },
                {
                    "layer"   : "interface GigabitEthernet@b2",
                    "src"     : "port link-type @a16",
                    "dst"     : "switchport mode @a16"
                },
                {
                    "layer"   : "interface GigabitEthernet@b2",
                    "src"     : "port default vlan @a21",
                    "dst"     : "switchport access vlan @a21"
                },
                {
                    "layer"   : "global",
                    "src"     : "interface Eth-Trunk@a15",
                    "dst"     : "interface AggregatePort @a15"
                },
                {
                    "layer"   : "interface Eth-Trunk@b3",
                    "src"     : "port trunk allow-pass vlan @a17 to @a18",
                    "dst"     : "switchport trunk allowed vlan add @a17-@a18"
                },
                {
                    "layer"   : "interface Eth-Trunk@b3",
                    "src"     : "port link-type @a20",
                    "dst"     : "switchport mode @a20"
                },
                {
                    "layer"   : "global",
                    "src"     : "interface MEth0/0/@a22",
                    "dst"     : "interface Mgmt @a22/0"
                },
                {
                    "layer"   : "global",
                    "src"     : "interface MEth0/0/@a22",
                    "dst"     : "interface Mgmt @a22/0"
                },
                {
                    "layer"   : "global",
                    "src"     : "aaa",
                    "dst"     : "aaa new-model"
                },
                {
                    "layer"   : "aaa",
                    "src"     : "domain default",
                    "dst"     : "aaa domain default"
                },
                {
                    "layer"   : "aaa",
                    "src"     : "domain @a25",
                    "dst"     : "aaa domain @a25"
                },
                {
                    "layer"   : "global",
                    "src"     : "dhcp server ip-pool @a26",
                    "dst"     : "ip dhcp pool @a26"
                },
                {
                    "layer"   : "dhcp server ip-pool @b4",
                    "src"     : "network @a27 mask @a28",
                    "dst"     : "network @a27 mask @a28"
                },
                {
                    "layer"   : "dhcp server ip-pool @b4",
                    "src"     : "gateway-list @a29",
                    "dst"     : "default-router @a29"
                },
                {
                    "layer"   : "dhcp server ip-pool @b4",
                    "src"     : "dhcp server forbidden-ip @a30",
                    "dst"     : "ip dhcp excluded-address @a30"
                },
                {
                    "layer"   : "global",
                    "src"     : "mac-address aging-time @a31",
                    "dst"     : "mac-address-table aging-time @a31"
                },
                {
                    "layer"   : "global",
                    "src"     : "vlan @a32",
                    "dst"     : "vlan @a32"
                },
                {
                    "layer"   : "vlan @b5",
                    "src"     : "description @a33",
                    "dst"     : "name @a33"
                },
                {
                    "layer"   : "vlan @b5",
                    "src"     : "description @a34 @a35",
                    "dst"     : "name @a34_@a35"
                },
                {
                    "layer"   : "vlan @b5",
                    "src"     : "description @a36 @a37 @a38",
                    "dst"     : "name @a36_@a37_@a38"
                },
                {
                    "layer"   : "global",
                    "src"     : "FTP server enable",
                    "dst"     : "ftp-server enable"
                },
                {
                    "layer"   : "global",
                    "src"     : "FTP timeout @a39",
                    "dst"     : "ftp-server timeout @a39"
                },
                {
                    "layer"   : "global",
                    "src"     : "info-center loghost source LoopBack@a40",
                    "dst"     : "logging source loopback @a40"
                },
                {
                    "layer"   : "global",
                    "src"     : "info-center loghost @a41",
                    "dst"     : "logging server @a41"
                },
                {
                    "layer"   : "global",
                    "src"     : "undo http server enable",
                    "dst"     : "no enable service web-server http"
                },
                {
                    "layer"   : "global",
                    "src"     : "undo http secure-server enable",
                    "dst"     : "no enable service web-server https"
                },
                {
                    "layer"   : "global",
                    "src"     : "acl number @a41",
                    "dst"     : "ip access-list standard @a41"
                },
                {
                    "layer"   : "acl number @b6",
                    "src"     : "rule @a42 permit source @a43 @a44",
                    "dst"     : "@a42 permit source @a43 @a44"
                },
                {
                    "layer"   : "acl number @b6",
                    "src"     : "rule @a45 deny",
                    "dst"     : "@a45 deny any"
                },
                {
                    "layer"   : "global",
                    "src"     : "ntp-service source-interface LoopBack@a46",
                    "dst"     : "ntp server 1.1.1.1 source loopback @a46"
                },
                {
                    "layer"   : "global",
                    "src"     : "ntp-service unicast-server @a47",
                    "dst"     : "ntp server @a47"
                },
                {
                    "layer"   : "global",
                    "src"     : "ntp-service unicast-server @a48 preference",
                    "dst"     : "ntp server @a48 prefer"
                },
                {
                    "layer"   : "global",
                    "src"     : "user-interface con 0",
                    "dst"     : "line console 0"
                },
                {
                    "layer"   : "user-interface con 0",
                    "src"     : "idle-timeout @a48 @a49",
                    "dst"     : "exec-timeout @a48 @a49"
                },
                {
                    "layer"   : "user-interface con 0",
                    "src"     : "acl @a51 inbound",
                    "dst"     : "access-class @a51 in"
                },
                {
                    "layer"   : "user-interface con 0",
                    "src"     : "acl @a52 outbound",
                    "dst"     : "access-class @a52 out"
                },
                {
                    "layer"   : "user-interface con 0",
                    "src"     : "screen-length @a53",
                    "dst"     : "length @a53"               
                },
                {
                    "layer"   : "global",
                    "src"     : "user-interface vty @a4 @a5",
                    "dst"     : "line vty @a4 @a5"
                },
                {
                    "layer"   : "user-interface vty @b7 @b8",
                    "src"     : "acl @a54 inbound",
                    "dst"     : "access-class @a54 in"
                },
                {
                    "layer"   : "user-interface vty @b7 @b8",
                    "src"     : "acl @a55 outbound",
                    "dst"     : "access-class @a55 out"
                },
                {
                    "layer"   : "user-interface vty @b7 @b8",
                    "src"     : "screen-length @a56",
                    "dst"     : "length @a56"               
                },
                {
                    "layer"   : "user-interface vty @b7 @b8",
                    "src"     : "authentication-mode aaa",
                    "dst"     : "login authentication default"              
                },
                {
                    "layer"   : "user-interface vty @b7 @b8",
                    "src"     : "idle-timeout @a48 @a49",
                    "dst"     : "exec-timeout @a48 @a49"
                }
            ]
        }
    ]
}
