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 json yaml xml text |
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 http or https |
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 password
Given 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: http
Header 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