{
  "name": "netbox",
  "title": "NetBox",
  "version": "0.1.1",
  "release": "beta",
  "source": {
    "license": "Elastic-2.0"
  },
  "description": "Collect logs from NetBox with Elastic Agent",
  "type": "integration",
  "download": "/epr/netbox/netbox-0.1.1.zip",
  "path": "/package/netbox/0.1.1",
  "icons": [
    {
      "src": "/img/netbox-logo.svg",
      "path": "/package/netbox/0.1.1/img/netbox-logo.svg",
      "title": "Sample logo",
      "size": "32x32",
      "type": "image/svg+xml"
    }
  ],
  "conditions": {
    "kibana": {
      "version": "^9.2.1"
    },
    "elastic": {
      "subscription": "basic"
    }
  },
  "owner": {
    "type": "elastic",
    "github": "elastic/obs-infraobs-integrations"
  },
  "categories": [
    "network",
    "security",
    "web"
  ],
  "signature_path": "/epr/netbox/netbox-0.1.1.zip.sig",
  "format_version": "3.4.1",
  "readme": "/package/netbox/0.1.1/docs/README.md",
  "license": "basic",
  "screenshots": [
    {
      "src": "/img/devices-dashboard-overview.png",
      "path": "/package/netbox/0.1.1/img/devices-dashboard-overview.png",
      "title": "Devices overview",
      "size": "600x600",
      "type": "image/png"
    },
    {
      "src": "/img/ips-dashboard-overview.png",
      "path": "/package/netbox/0.1.1/img/ips-dashboard-overview.png",
      "title": "IP Addresses overview",
      "size": "600x600",
      "type": "image/png"
    }
  ],
  "assets": [
    "/package/netbox/0.1.1/LICENSE.txt",
    "/package/netbox/0.1.1/changelog.yml",
    "/package/netbox/0.1.1/manifest.yml",
    "/package/netbox/0.1.1/docs/README.md",
    "/package/netbox/0.1.1/img/devices-dashboard-overview.png",
    "/package/netbox/0.1.1/img/ips-dashboard-overview.png",
    "/package/netbox/0.1.1/img/netbox-logo.svg",
    "/package/netbox/0.1.1/data_stream/devices/manifest.yml",
    "/package/netbox/0.1.1/data_stream/devices/sample_event.json",
    "/package/netbox/0.1.1/data_stream/ips/manifest.yml",
    "/package/netbox/0.1.1/data_stream/ips/sample_event.json",
    "/package/netbox/0.1.1/kibana/dashboard/netbox-2dc3e91a-bc6e-48f5-8fb2-b77df217c722.json",
    "/package/netbox/0.1.1/kibana/dashboard/netbox-dfcd0726-e2b0-4cb8-bdb4-2155e7bdf996.json",
    "/package/netbox/0.1.1/data_stream/devices/fields/base-fields.yml",
    "/package/netbox/0.1.1/data_stream/devices/fields/fields.yml",
    "/package/netbox/0.1.1/data_stream/ips/fields/base-fields.yml",
    "/package/netbox/0.1.1/data_stream/ips/fields/fields.yml",
    "/package/netbox/0.1.1/data_stream/devices/agent/stream/httpjson.yml.hbs",
    "/package/netbox/0.1.1/data_stream/devices/elasticsearch/ingest_pipeline/default.yml",
    "/package/netbox/0.1.1/data_stream/ips/agent/stream/httpjson.yml.hbs",
    "/package/netbox/0.1.1/data_stream/ips/elasticsearch/ingest_pipeline/default.yml"
  ],
  "policy_templates": [
    {
      "name": "netbox",
      "title": "NetBox logs",
      "description": "Collect logs from NetBox",
      "inputs": [
        {
          "type": "httpjson",
          "vars": [
            {
              "name": "url",
              "type": "text",
              "title": "URL of NetBox API Server",
              "description": "The url of your NetBox API Server",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "https://localhost:8000"
            },
            {
              "name": "enable_request_tracer",
              "type": "bool",
              "title": "Enable request tracing",
              "description": "The request tracer logs requests and responses to the agent's local file-system for debugging configurations. Enabling this request tracing compromises security and should only be used for debugging. See [documentation](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-httpjson.html#_request_tracer_filename) for details.",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "token",
              "type": "password",
              "title": "Netbox Authorization Token",
              "description": "Token, e.g. \"eyJhbGciO...\"\n",
              "multi": false,
              "required": true,
              "show_user": true
            },
            {
              "name": "http_client_timeout",
              "type": "text",
              "title": "HTTP Client Timeout",
              "description": "Duration before declaring that the HTTP client connection has timed out. Valid time units are ns, us, ms, s, m, h.",
              "multi": false,
              "required": false,
              "show_user": true
            },
            {
              "name": "proxy_url",
              "type": "text",
              "title": "Proxy URL",
              "description": "URL to proxy connections in the form of http\\[s\\]://<user>:<password>@<server name/ip>:<port>",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "ssl",
              "type": "yaml",
              "title": "SSL Configuration",
              "description": "SSL configuration options. See [documentation](https://www.elastic.co/guide/en/beats/filebeat/current/configuration-ssl.html#ssl-common-config) for details.",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "disable_keep_alive",
              "type": "bool",
              "title": "Disable HTTP Keep-Alives",
              "description": "Controls whether HTTP keep-alives are disabled.",
              "multi": false,
              "required": true,
              "show_user": false,
              "default": false
            }
          ],
          "title": "Collect logs from NetBox API",
          "description": "Collecting assets from the NetBox API"
        }
      ],
      "multiple": true
    }
  ],
  "data_streams": [
    {
      "type": "logs",
      "dataset": "netbox.devices",
      "title": "Devices",
      "release": "beta",
      "ingest_pipeline": "default",
      "streams": [
        {
          "input": "httpjson",
          "vars": [
            {
              "name": "initial_interval",
              "type": "text",
              "title": "Initial Interval",
              "description": "How far back to pull data from NetBox on the first request. Supports Go duration syntax (e.g., 24h, 7d).",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "24h"
            },
            {
              "name": "limit",
              "type": "integer",
              "title": "Limit",
              "description": "Number of events to fetch on each request",
              "multi": false,
              "required": true,
              "show_user": false,
              "default": 50
            },
            {
              "name": "interval",
              "type": "text",
              "title": "Interval to query NetBox API",
              "description": "Go Duration syntax (eg. 10s)",
              "multi": false,
              "required": true,
              "show_user": false,
              "default": "1h"
            },
            {
              "name": "tags",
              "type": "text",
              "title": "Tags",
              "multi": true,
              "required": false,
              "show_user": false,
              "default": [
                "forwarded",
                "netbox-devices"
              ]
            },
            {
              "name": "preserve_original_event",
              "type": "bool",
              "title": "Preserve original event",
              "description": "Preserves a raw copy of the original event, added to the field `event.original`",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": false
            },
            {
              "name": "processors",
              "type": "yaml",
              "title": "Processors",
              "description": "Processors are used to reduce the number of fields in the exported event or to enhance the event with metadata. This executes in the agent before the logs are parsed. See [Processors](https://www.elastic.co/guide/en/beats/filebeat/current/filtering-and-enhancing-data.html) for details.",
              "multi": false,
              "required": false,
              "show_user": false
            }
          ],
          "template_path": "httpjson.yml.hbs",
          "title": "Collect NetBox devices",
          "description": "Collect devices from NetBox via the NetBox API",
          "enabled": true,
          "ingestion_method": "API"
        }
      ],
      "package": "netbox",
      "path": "devices"
    },
    {
      "type": "logs",
      "dataset": "netbox.ips",
      "title": "IPs",
      "release": "beta",
      "ingest_pipeline": "default",
      "streams": [
        {
          "input": "httpjson",
          "vars": [
            {
              "name": "initial_interval",
              "type": "text",
              "title": "Initial Interval",
              "description": "How far back to pull data from NetBox on the first request. Supports Go duration syntax (e.g., 24h, 7d).",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "24h"
            },
            {
              "name": "limit",
              "type": "integer",
              "title": "Limit",
              "description": "Number of events to fetch on each request",
              "multi": false,
              "required": true,
              "show_user": false,
              "default": 50
            },
            {
              "name": "interval",
              "type": "text",
              "title": "Interval to query NetBox API",
              "description": "Go Duration syntax (eg. 10s)",
              "multi": false,
              "required": true,
              "show_user": false,
              "default": "1h"
            },
            {
              "name": "tags",
              "type": "text",
              "title": "Tags",
              "multi": true,
              "required": false,
              "show_user": false,
              "default": [
                "forwarded",
                "netbox-ips"
              ]
            },
            {
              "name": "preserve_original_event",
              "type": "bool",
              "title": "Preserve original event",
              "description": "Preserves a raw copy of the original event, added to the field `event.original`",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": false
            },
            {
              "name": "processors",
              "type": "yaml",
              "title": "Processors",
              "description": "Processors are used to reduce the number of fields in the exported event or to enhance the event with metadata. This executes in the agent before the logs are parsed. See [Processors](https://www.elastic.co/guide/en/beats/filebeat/current/filtering-and-enhancing-data.html) for details.",
              "multi": false,
              "required": false,
              "show_user": false
            }
          ],
          "template_path": "httpjson.yml.hbs",
          "title": "Collect NetBox IP Addresses",
          "description": "Collect ip addresses from NetBox via the NetBox API",
          "enabled": true,
          "ingestion_method": "API"
        }
      ],
      "package": "netbox",
      "path": "ips"
    }
  ]
}
