# Version 9.2.2.20240415 # # This file contains possible attribute/value pairs for creating new # Representational State Transfer (REST) endpoints. # There is a restmap.conf in $SPLUNK_HOME/etc/system/default/. To set custom # configurations, place a restmap.conf in $SPLUNK_HOME/etc/system/local/. For # examples, see restmap.conf.example. You must restart Splunk software to # enable configurations. # # To learn more about configuration files (including precedence), see # the documentation located at # http://docs.splunk.com/Documentation/Splunk/latest/Admin/Aboutconfigurationfiles. # # NOTE: You must register every REST endpoint using this file to make it available. #### # GLOBAL SETTINGS #### # Use the [global] stanza to define any global settings. # * You can also define global settings outside of any stanza at the top # of the file. # * Each .conf file should have at most one global stanza. If there are # multiple global stanzas, attributes are combined. In the case of # multiple definitions of the same attribute, the last definition in # the file takes precedence. # * If an attribute is defined at both the global level and in a specific # stanza, the value in the specific stanza takes precedence. [global] allowGetAuth = * Allows the username/password to be passed as a GET parameter to endpoint services/authorization/login. * Setting to "true" might result in your username and password being logged as cleartext in Splunk logs and any proxy servers in between. * Default: false allowRestReplay = * Allows POST/PUT/DELETE requests to be replayed on other nodes in the deployment. * Setting to "true" enables centralized management. * You can also control replay at each endpoint level. * CAUTION: This feature is currently internal. Do not enable it without consulting Splunk support. * Default: false defaultRestReplayStanza = * Points to the default or global REST replay configuration stanza. * This setting is related to the 'allowRestReplay' setting. * Default: restreplayshc pythonHandlerPath = * Path to the 'main' python script handler. * Used by the script handler to determine where the actual 'main' script is located. * Typically you do not need to edit this setting. * Default: $SPLUNK_HOME/bin/rest_handler.py v1APIBlockGETSearchLaunch = * Triggers breaking changes in default and v1 variants of the endpoints: * /search/jobs/export * /search/jobs/{sid}/(events|results|results_preview) * /search/jobs/oneshot * /search/parser * These changes involve removing the abilty to launch searches using HTTP GET requests. * Default: false [:] * Settings under this stanza are applicable to all REST stanzas. * Settings in other stanzas might supply additional information. match = * Specify the URI that calls the handler. * For example, if match=/foo then https: //$SERVER:$PORT/services/foo calls this handler. * NOTE: You must start your path with a "/". requireAuthentication = * Determines if this endpoint requires authentication. * (OPTIONAL) * Default: true authKeyStanza = * A list of comma or space separated stanza names that specifies the location of the pass4SymmKeys in the server.conf file to use for endpoint authentication. * Tries to authenticate with all configured pass4SymmKeys. * If no pass4SymmKey is available, authentication is done using the pass4SymmKey in the [general] stanza. * This setting applies only if the 'requireAuthentication' setting is set to "true". * (OPTIONAL) When not set, the endpoint will not be authenticated using pass4SymmKeys. * Default: not set restReplay = * Enables REST replay on this endpoint group. * (OPTIONAL) * Related to the 'allowRestReplay' setting. * CAUTION: This feature is currently internal. Do not enable it without consulting Splunk support. * Default: false restReplayStanza = * This setting points to a stanza that can override the [global]/defaultRestReplayStanza value on a per-endpoint/regex basis. * Default: empty string capability = capability. = * Depending on the HTTP method, check capabilities on the authenticated session user. * If you use the 'capability.' setting, the associated method is checked against the authenticated user's role. * If you use the capability' setting, all calls are checked against this capability regardless of the HTTP method. * You can also express capabilities as a boolean expression. Supported operators include: or, and, () acceptFrom = * A list of networks or addresses from which to allow this endpoint to be accessed. * Do not confuse this setting with the identical setting in the [httpServer] stanza of server.conf which controls whether a host can make HTTP requests at all. * Each rule can be in the following forms: 1. A single IPv4 or IPv6 address (examples: "10.1.2.3", "fe80::4a3") 2. A CIDR block of addresses (examples: "10/8", "fe80:1234/32") 3. A DNS name, possibly with a '*' used as a wildcard (examples: "myhost.example.com", "*.splunk.com") 4. A single '*' which matches anything. * You can also prefix entries with '!' to cause the rule to reject the connection. Rules are applied in order, and the first one to match is used. For example, "!10.1/16, *" allows connections from everywhere except the 10.1.*.* network. * Default: "*" (accept from anywhere) includeInAccessLog = * Whether to include requests to this endpoint in the splunkd_access.log. * If set to "true", requests appear in splunkd_access.log. * If set to "false", requests do not appear in splunkd_access.log. * Default: true [script:] * Per-endpoint stanza. * Use this stanza to specify a handler and other handler-specific settings. * The handler is responsible for implementing arbitrary namespace underneath each REST endpoint. * NOTE: The uniqueName must be different for each handler. * Call the specified handler when executing this endpoint. * The attribute/value pairs below support the script handler. scripttype = * Tells the system what type of script to run when using this endpoint. * If set to "persist", it runs the script using a persistent process that uses the protocol from persistconn/appserver.py. * Default: python python.version={default|python|python2|python3|python3.7|python3.9|latest} * For Python scripts only, selects which Python version to use. * Set to either "default" or "python" to use the system-wide default Python version. * Set to "python3" or "python3.7" to use the Python 3.7 version. * Set to "python3.9" to use the Python 3.9 version. * In the context of configuring apps, the "latest" value is not currently supported. It is related to a feature that is still under development. * (OPTIONAL) * Default: Not set (Uses the system-wide Python version.) handler=