{
  "ieee802-dot1ab-lldp:lldp": {
    "infix-lldp:enabled": true
  },
  "ietf-hardware:hardware": {
    "component": [
      {
        "name": "USB",
        "class": "infix-hardware:usb",
        "state": {
          "admin-state": "unlocked"
        }
      }
    ]
  },
  "ietf-interfaces:interfaces": {
    "interface": [
      {
        "name": "lo",
        "type": "infix-if-type:loopback",
        "ietf-ip:ipv4": {
          "address": [
            {
              "ip": "127.0.0.1",
              "prefix-length": 8
            }
          ]
        },
        "ietf-ip:ipv6": {
          "address": [
            {
              "ip": "::1",
              "prefix-length": 128
            }
          ]
        }
      },
      {
        "name": "eth0",
        "type": "infix-if-type:ethernet",
        "ietf-ip:ipv4": {
          "infix-dhcp-client:dhcp": {
            "option": [
              {
                "id": "netmask"
              },
              {
                "id": "broadcast"
              },
              {
                "id": "router"
              },
              {
                "id": "domain"
              },
              {
                "id": "hostname"
              },
              {
                "id": "dns-server"
              },
              {
                "id": "ntp-server"
              },
              {
                "id": "vendor-class",
                "value": "Raspberry Pi 2 Model B"
              }
            ]
          }
        }
      }
    ]
  },
  "ietf-keystore:keystore": {
    "asymmetric-keys": {
      "asymmetric-key": [
        {
          "name": "genkey",
          "public-key-format": "infix-crypto-types:ssh-public-key-format",
          "public-key": "",
          "private-key-format": "infix-crypto-types:rsa-private-key-format",
          "cleartext-private-key": "",
          "certificates": {}
        }
      ]
    }
  },
  "ietf-netconf-acm:nacm": {
    "enable-nacm": true,
    "read-default": "permit",
    "write-default": "permit",
    "exec-default": "permit",
    "groups": {
      "group": [
        {
          "name": "admin",
          "user-name": [
            "admin"
          ]
        },
        {
          "name": "operator",
          "user-name": []
        },
        {
          "name": "guest",
          "user-name": []
        }
      ]
    },
    "rule-list": [
      {
        "name": "admin-acl",
        "group": [
          "admin"
        ],
        "rule": [
          {
            "name": "permit-all",
            "module-name": "*",
            "access-operations": "*",
            "action": "permit",
            "comment": "Allow 'admin' group complete access to all operations and data."
          }
        ]
      },
      {
        "name": "operator-acl",
        "group": [
          "operator"
        ],
        "rule": [
          {
            "name": "permit-system-rpcs",
            "module-name": "ietf-system",
            "rpc-name": "*",
            "access-operations": "exec",
            "action": "permit",
            "comment": "Operators can reboot, shutdown, and set system time."
          }
        ]
      },
      {
        "name": "guest-acl",
        "group": [
          "guest"
        ],
        "rule": [
          {
            "name": "deny-all-write+exec",
            "module-name": "*",
            "access-operations": "create update delete exec",
            "action": "deny",
            "comment": "Guests cannot change anything or exec rpcs."
          }
        ]
      },
      {
        "name": "default-deny-all",
        "group": [
          "*"
        ],
        "rule": [
          {
            "name": "deny-password-access",
            "path": "/ietf-system:system/authentication/user/password",
            "access-operations": "*",
            "action": "deny",
            "comment": "No user except admins can access password hashes."
          },
          {
            "name": "deny-keystore-access",
            "module-name": "ietf-keystore",
            "access-operations": "*",
            "action": "deny",
            "comment": "No user except admins can access cryptographic keys."
          },
          {
            "name": "deny-truststore-access",
            "module-name": "ietf-truststore",
            "access-operations": "*",
            "action": "deny",
            "comment": "No user except admins can access trust store."
          }
        ]
      }
    ]
  },
  "ietf-netconf-server:netconf-server": {
    "listen": {
      "endpoints": {
        "endpoint": [
          {
            "name": "default-ssh",
            "ssh": {
              "tcp-server-parameters": {
                "local-bind": [
                  {
                    "local-address": "::"
                  }
                ]
              },
              "ssh-server-parameters": {
                "server-identity": {
                  "host-key": [
                    {
                      "name": "default-key",
                      "public-key": {
                        "central-keystore-reference": "genkey"
                      }
                    }
                  ]
                }
              }
            }
          }
        ]
      }
    }
  },
  "ietf-system:system": {
    "hostname": "rpi-%m",
    "ntp": {
      "enabled": true,
      "server": [
        {
          "name": "ntp.org",
          "udp": {
            "address": "pool.ntp.org"
          },
          "iburst": true
        }
      ]
    },
    "authentication": {
      "user": [
        {
          "name": "admin",
          "password": "$factory$",
          "infix-system:shell": "bash"
        }
      ]
    },
    "infix-system:motd-banner": "Li0tLS0tLS0uCnwgIC4gLiAgfCBJbmZpeCBPUyDigJQgSW1tdXRhYmxlLkZyaWVuZGx5LlNlY3VyZQp8LS4gdiAuLXwgaHR0cHM6Ly9rZXJuZWxraXQub3JnCictJy0tLSctJwo="
  },
  "infix-meta:meta": {
    "version": "1.7"
  },
  "infix-services:mdns": {
    "enabled": true
  },
  "infix-services:web": {
    "enabled": true,
    "console": {
      "enabled": true
    },
    "netbrowse": {
      "enabled": true
    },
    "restconf": {
      "enabled": true
    }
  },
  "infix-services:ssh": {
    "enabled": true,
    "hostkey": [
      "genkey"
    ],
    "listen": [
      {
        "name": "ipv4",
        "address": "0.0.0.0",
        "port": 22
      },
      {
        "name": "ipv6",
        "address": "::",
        "port": 22
      }
    ]
  }
}
