{
  "type": "object",
  "$schema": "http://json-schema.org/draft-04/schema",
  "title": "Input Parameters",
  "properties": {
    "user-authorized-key": {
      "title": "User Authorized Key",
      "description": "SSH public key in order to connect to the SSH server of this instance.",
      "textarea": true,
      "type": "string"
    },
    "enb_id": {
      "title": "eNB ID",
      "description": "eNB ID. (must be set if there are LTE cells)",
      "type": "string"
    },
    "gtp_addr": {
      "title": "GTP Address",
      "description": "String. Set the IP address (and optional port) on which the GTP-U packets are received. The default port is 2152. It is normally the IP address of the network interface connected to the core network.",
      "type": "string",
      "default": "127.0.1.1"
    },
    "mme_list": {
      "title": "MME list",
      "description": "List of MME to which the eNodeB is connected. (must be set if there are LTE cells)",
      "patternProperties": {
        ".*": {
          "properties": {
            "mme_addr": {
              "title": "MME Address",
              "description": "IP address (and optional port) of S1AP SCTP connection to the MME. The default port is 36412.",
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "plmn_list": {
      "title": "PLMN list (4G)",
      "description": "List of PLMNs broadcasted by the eNodeB, at most 6. (must be set if there are LTE cells)",
      "patternProperties": {
        ".*": {
          "properties": {
            "plmn": {
              "title": "Public Land Mobile Network",
              "description": "Public Land Mobile Network",
              "type": "string"
            },
            "attach_without_pdn": {
              "default": false,
              "title": "Attach Without PDN",
              "description": "Optional boolean. Indicates if PLMN supports attach without PDN connectivity.",
              "type": "boolean"
            },
            "reserved": {
              "default": false,
              "title": "Reserved",
              "description": "True if the cell is reserved for operator use.",
              "type": "boolean"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "gnb_id": {
      "title": "gNB ID",
      "description": "gNB ID. (must be set if there are NR cells)",
      "type": "string"
    },
    "gnb_id_bits": {
      "title": "gNB ID bits",
      "description": "Number of bits for the gNodeB global identifier. (range 22 to 32)",
      "type": "number",
      "default": 28
    },
    "amf_list": {
      "title": "AMF list",
      "description": "List of AMF to which the gNodeB is connected. (must be set if there are NR cells)",
      "patternProperties": {
        ".*": {
          "properties": {
            "amf_addr": {
              "title": "AMF Address",
              "description": "IP address (and optional port) of NGAP SCTP connection to the AMF. The default port is 38412.",
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "plmn_list_5g": {
      "title": "PLMN list (5G)",
      "description": "List of PLMNs broadcasted by the gNodeB, at most 12. (must be set if there are NR cells)",
      "patternProperties": {
        ".*": {
          "properties": {
            "plmn": {
              "title": "Public Land Mobile Network",
              "description": "Public Land Mobile Network",
              "type": "string"
            },
            "tac": {
              "$ref": "cell/nr/input-schema.json#/$defs/tac"
            },
            "ranac": {
              "title": "Optional integer (range 0 to 255)",
              "description": "RAN Area Code",
              "type": "number"
            },
            "reserved": {
              "default": false,
              "title": "Reserved",
              "description": "True if the cell is reserved for operator use.",
              "type": "boolean"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "nssai": {
      "title": "AMF slices configuration",
      "description": "AMF slices configuration.",
      "patternProperties": {
        ".*": {
          "properties": {
            "sst": {
              "default": 1,
              "title": "Slice Service Type",
              "description": "Integer (range 1 to 255).",
              "type": "number"
            },
            "sd": {
              "default": "0x000032",
              "title": "Slice Differentiator",
              "description": "Optional integer (range 0 to 0xFFFFFE)",
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object",
      "default": {}
    },
    "websocket_password": {
      "title": "Websocket password",
      "description": "Activates websocket for remote control and sets password",
      "type": "string"
    },
    "log_phy_debug": {
      "title": "Physical layer log debug",
      "description": "Enable debug mode for physical layer logs",
      "type": "boolean",
      "default": false
    },
    "gps_sync": {
      "default": false,
      "title": "GPS synchronisation",
      "description": "True if GPS should be used for synchronisation",
      "type": "boolean"
    },
    "use_ipv4": {
      "default": false,
      "title": "Use IPv4",
      "description": "Set to true to use IPv4 for AMF / MME addresses",
      "type": "boolean"
    },
    "enb_stats_fetch_period": {
      "title": "eNB/gNB statistics fetch period (seconds)",
      "description": "Describes how often a call to Amarisoft remote API is made to get eNB/gNB statistics",
      "type": "number",
      "default": 60
    },
    "enb_drb_stats_enabled": {
      "title": "Enable eNB/gNB drb statistics",
      "description": "Enable eNB/gNB drb statistics through 100Hz polling, needed for E-UTRAN IP Throughput KPI",
      "type": "boolean",
      "default": true
    },
    "max_rx_sample_db": {
      "title": "Maximum RX sample value (dB)",
      "description": "Maximum RX sample threshold above which RX saturated promise will fail",
      "type": "number",
      "default": 0
    },
    "min_rxtx_delay": {
      "title": "Minimum available time for radio front end processing (ms)",
      "description": "Baseband latency promise will fail if minimum TX/RX diff reaches threshold (lower than this value)",
      "type": "number",
      "default": 0
    },
    "xlog_fluentbit_forward_host": {
      "title": "Address to Forward Xlog by Fluenbit",
      "description": "Address of Remote Fluentd or Fluentbit Server to Forward Xlog",
      "type": "string"
    },
    "xlog_fluentbit_forward_port": {
      "title": "Port to Forward Xlog by Fluentbit",
      "description": "Optional Port of Remote Fluentd or Fluentbit Server to Forward Xlog",
      "type": "string"
    },
    "xlog_fluentbit_forward_shared_key": {
      "title": "Shared Key to Forward Xlog by Fluentbit",
      "description": "Secret Key Shared with Remote Fluentd or Fluentbit Server for Authentication when Forwarding Xlog",
      "type": "string"
    }
  }
}
