hyperglass supports collecting output from a generic HTTP endpoint.
HTTP Configuration
| Parameter | Type | Default Value | Description | 
|---|---|---|---|
| http.attribute_map | Mapping | Mapping/dict of hyperglass query fields as keys, and hyperglass query field replacements as values. | |
| http.basic_auth | Mapping | If basic authentication is required, provide a mapping/dict containing the basic authentication username and password. | |
| http.body_format | String | json | Body format, options are jsonyamlxmltext | 
| http.follow_redirects | Boolean | false | Follow HTTP redirects from server. | 
| http.headers | Mapping | Mapping/dict of http headers to append to requests. | |
| http.method | String | GET | HTTP method to use for requests. | 
| http.path | String | / | HTTP URI/Path. | 
| http.query | Mapping | Mapping/Dict of URL Query Parameters. | |
| http.retries | Number | 0 | Number of retries to perform before request failure. | 
| http.scheme | String | https | HTTP schema, must be httporhttps | 
| http.source | String | Request source IP address. | |
| http.ssl_ca | String | Path to SSL CA certificate file for SSL validation. | |
| http.ssl_client | String | Path to client SSL certificates for request. | |
| http.timeout | Number | 5 | Request timeout in seconds. | 
| http.verify_ssl | Boolean | true | If false, invalid certificates for HTTPS hosts will be ignored. | 
Example
Basic
The following example will send an HTTP POST request to https://192.0.2/path/to/query/device with HTTP basic authentication, and will not verify the SSL certificate.
devices.yaml
devices:
    - name: New York, NY
      address: 192.0.2.1
      http:
          path: /path/to/query/device
          method: POST
          verify_ssl: false
          basic_auth:
              username: you
              password: your passwordGiven the following hyperglass query:
| Field | Value | 
|---|---|
| Query Target | 192.0.2.0/24 | 
| Query Location | your_location | 
| Query Type | example_directive | 
The body of the request will be:
{
    "query_target": "192.0.2.0/24",
    "query_location": "your_location",
    "query_type": "example_directive"
}Non-HTTPS Request
The following example will send an HTTP GET request to http://192.0.2.1/path/to/query/device:
devices.yaml
devices:
    - name: New York, NY
      address: 192.0.2.1
      http:
          path: /path/to/query/device
          scheme: httpHeader Authentication
The following example will send an HTTP GET request to https://192.0.2.1/path/to/query/device with an Authorization header:
devices.yaml
devices:
    - name: New York, NY
      address: 192.0.2.1
      http:
          path: /path/to/query/device
          headers:
              Authorization: your special token